API v1.0 — Online

Documentación API DM360

Conecta tu software con nuestro catálogo de más de 180.000 piezas, gestiona pedidos, genera enlaces de pago y accede a tus facturas. API REST documentada, ejemplos en múltiples lenguajes y colección Postman lista para usar.

Inicio Rápido

PASO 1

Obtén tu API Key

Solicita tu clave a nuestro equipo de soporte > Claves API.

PASO 2

Autentícate

Incluye tu API key en el header Authorization: Bearer <tu-api-key> en cada petición.

PASO 3

Haz llamadas

Comienza a consultar nuestro catálogo de 180.000+ piezas desde tu software.

Autenticación

Header de Autorización

Todas las llamadas a la API deben incluir el header de autorización con tu API key.

HTTP Header
Authorization: Bearer dm360_tu_clave_aqui
Alternativa: X-API-Key: dm360_tu_clave_aqui
URL Base
https://api.desguacesmora.com

Seguridad

Mantén tu API key segura. No la incluyas en código frontend ni repositorios públicos.

📦

Catálogo

7 endpoints

Haz clic en cada endpoint para ver sus parámetros

Consultar piezas disponibles con filtros y búsqueda amplia por referencias, IDs, descripción y vehículo origen

ParámetroTipoDescripciónRequerido
pagenumberNúmero de página (por defecto: 1)No
limitnumberResultados por página (máximo: 100)No
searchstringBúsqueda amplia por id, dm360Id, seintoId, slug, nombre, descripción, referencias, categoría, marca/modelo y vehículo origenNo
categorystringFiltrar por categoríaNo
brandstringFiltrar por marca del vehículoNo
modelstringFiltrar por modelo del vehículoNo
minPricenumberPrecio mínimoNo
maxPricenumberPrecio máximoNo
availablebooleanSolo piezas disponiblesNo
🛒

Pedidos

6 endpoints

Haz clic en cada endpoint para ver sus parámetros

📄

Facturas

3 endpoints

Haz clic en cada endpoint para ver sus parámetros

Ejemplos de Código

const apiKey = 'dm360_tu_clave_aqui';
const baseUrl = 'https://api.desguacesmora.com';
const headers = { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' };

// 1. Buscar piezas
const partsRes = await fetch(`${baseUrl}/public/parts?search=motor+golf&limit=10`, { headers });
const parts = await partsRes.json();
console.log('Piezas:', parts.data);

// 2. Crear pedido con una pieza
const orderRes = await fetch(`${baseUrl}/public/orders`, {
  method: 'POST', headers,
  body: JSON.stringify({
    userId: 'user-id-aqui',
    items: [{ productId: parts.data[0].id, name: parts.data[0].nombre, quantity: 1, price: parts.data[0].precio, type: 'part' }],
    shippingAddress: { street: 'Calle Mayor 1', city: 'Valencia', postalCode: '46001', country: 'España', state: 'Valencia' },
    customerInfo: { email: 'cliente@empresa.com', taxId: 'B12345678', companyName: 'Mi Taller SL', phone: '600000000' },
    totalAmount: parts.data[0].precio,
  }),
});
const order = await orderRes.json();
console.log('Pedido creado:', order.data.numeroPedido);

// 3. Generar enlace público de pago
const payRes = await fetch(`${baseUrl}/public/orders/${order.data.id}/payment-link`, { method: 'POST', headers });
const payment = await payRes.json();
console.log('URL pública de pago:', payment.data.urlPago);

// 4. Consultar facturas del cliente
const invoicesRes = await fetch(`${baseUrl}/public/invoices?customerId=id-cliente`, { headers });
const invoices = await invoicesRes.json();
console.log('Facturas:', invoices.data);

// 5. Descargar PDF de factura
const pdfRes = await fetch(`${baseUrl}/public/invoices/${invoices.data[0]?.id}/pdf`, { headers });
const blob = await pdfRes.blob(); // PDF binary

Formato de Respuesta

Respuesta Exitosa

{
  "success": true,
  "data": [
    {
      "id": "string",
      "nombre": "string",
      "referencia": "string",
      "precio": 1250.00,
      "disponible": true,
      "categoria": "Motores",
      "marca": "Volkswagen",
      "peso": 200,
      "imagenes": ["url"],
      "createdAt": "ISO 8601",
      "updatedAt": "ISO 8601"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 180000,
    "pages": 9000
  }
}

Respuesta de Error

{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "API key inválida",
    "details": null
  }
}

Códigos HTTP

200Petición exitosa
400Parámetros inválidos
401API key inválida o ausente
404Recurso no encontrado
429Límite de tasa excedido
500Error interno del servidor

Límites de Tasa

Política de Consumo

Límite diario por clave (configurado por contrato)
Protección automática anti-abuso
Control dinámico para estabilidad del servicio

Respuesta al límite

// Ejemplo de error de cuota diaria
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
{"message":"Daily API request limit exceeded"}

Si necesitas ampliar capacidad, solicita ajuste de cuota para tu clave.

Colección Postman

Prueba la API al instante

Descarga nuestra colección oficial de Postman con todos los endpoints preconfigurados, variables de entorno y ejemplos de respuesta. Solo necesitas tu API Key para empezar.

Catálogo completo

Consulta, búsqueda y filtrado de piezas, categorías, marcas y vehículos.

Gestión de pedidos

Crear pedidos, consultar estado, actualizar tracking y generar enlaces de pago Stripe.

Facturas y PDF

Listar facturas, consultar detalle y descargar PDF directamente desde la API.

Variables de entorno

base_url y api_key como variables para cambiar fácilmente entre entornos.

Soporte Técnico

Horario de Soporte

Lunes - Viernes Tarde: 08:00 - 14:00

Lunes - Viernes Tarde: 16:00 - 19:00

Sábados: Cerrado

Domingos: Cerrado