Integración DeCA · API REST

API REST de DeCA — Motor de documentos para tu ERP y TMS

DeCA funciona como motor de documentos: tu sistema (ERP, TMS, WMS, portal de cliente o incluso una hoja de cálculo automatizada) envía la expedición por API y recibe el DeCA emitido, con su QR verificable y su PDF descargable.

API REST como add-on: 50 €/mes o 480 €/año sobre cualquier plan base, incluido Free · Incluida en el plan Enterprise

¿Te suena esta situación?

No todos los cargadores operan con un ERP estándar: hay TMS propios, portales desarrollados a medida, plataformas de venta que expeden mercancía de terceros. Todos ellos tienen algo en común: conocen la expedición antes de que el camión cargue.

Desde el 5 de octubre de 2026, ese conocimiento debe acabar en un DeCA digital (Ley 9/2025, Disposición Transitoria 8ª). Emitirlo es responsabilidad del cargador (art. 7.2 de la Orden FOM/2861/2012) y la multa por envío sin documento va de 401 a 600 € (LOTT, art. 141.17 y 143.1.d).

La API REST de DeCA convierte ese dato en documento de forma automática y auditable: una llamada REST sobre HTTPS, JSON de ida y vuelta, autenticación por cabecera X-API-Key y reintentos idempotentes para no duplicar documentos cuando la red falla.

Lo que gana tu integración

Cómo funciona, en tres pasos

1. Contrata el add-on y genera tu clave

El add-on API REST (50 €/mes o 480 €/año) se contrata desde Mi Plan sobre cualquier plan base, incluido Free, y en Enterprise va incluido. La API key se genera en Mi Cuenta → pestaña API.

2. Tu sistema llama a la API

Envías la expedición en JSON (referencia, origen, destino, partidas, transportista) con la cabecera X-API-Key. Puedes crear solo la recogida, el expediente completo, o emitir en una sola llamada con emit: true.

3. Documento emitido, trazable y descargable

Recibes los IDs, el token público del documento y la URL del PDF. Tu sistema consulta el estado (emitido, cerrado, cancelado) y la auditoría siempre que lo necesite.

La API, de un vistazo

Estos son los endpoints principales que usaría tu integración. Todos son REST sobre HTTPS, devuelven JSON y se autentican con la cabecera X-API-Key.

Método Ruta Para qué sirve
POST /api/v1/deca_requests Recogida + expediente + detalles (+ emisión) en una sola llamada.
GET/POST/PATCH/DELETE /api/v1/shipments Gestión completa de recogidas: listar, crear, actualizar, cancelar.
POST/PATCH/GET /api/v1/regulatory_records Expedientes DeCA: crear, completar, consultar, emitir, PDF, eFTI, auditoría.
POST/GET/PATCH /api/v1/transport_routes Rutas multi-parada y cambio de medio de transporte en curso.
GET /api/v1/clients, /addresses, /vehicles Maestros en lectura de tu cuenta, referenciables al crear expediciones.
GET /api/v1/regulatory_records/:id/status Estado resumido del documento, idóneo para sondear el cierre.

La documentación completa para integradores: app.deca.cangopal.com/docs/api (requiere iniciar sesión).

Así de simple es emitir un DeCA desde tu sistema

Una sola llamada crea la recogida, abre el expediente y emite el DeCA con QR y PDF. El campo source_reference guarda tu referencia de ERP para reintentos idempotentes: si la conexión se corta, reenviar la misma llamada no emite dos documentos. La respuesta devuelve el identificador del expediente y la URL de descarga del PDF.

curl -X POST https://app.deca.cangopal.com/api/v1/deca_requests \
  -H "X-API-Key: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "legal_shipper_id": "c4d5…",
    "reference": "EXP-2026-0043",
    "source_reference": "ERP-8843",
    "pickup_client_id": "ef12…",
    "planned_pickup": "2026-08-10T09:30:00+02:00",
    "emit": true,
    "deca": {
      "locations": { "unloading_place": { "street": "ZAL 1, Muelle 4", "city": "Barcelona", "postal_code": "08040", "country": "ES" } },
      "economic_operators": { "effective_carrier": { "legal_name": "Transportes Rodríguez SA", "tax_id": "B46612345" } },
      "transport_means": { "tractor_plate": "1234ABC" },
      "goods_items": [ { "description": "Componentes electrónicos", "nature": "Electrónica", "gross_weight_kg": 250, "quantity": 15, "package_type": "cajas" } ]
    }
  }'

Casos de uso reales

TMS y software propio de logística

Tu TMS planifica y tu expide: cada servicio con carga emite su DeCA desde la misma pantalla, sin tercera herramienta ni doble captura.

Portales y marketplaces B2B

Si tu plataforma organiza transporte para terceros, cada operación genera su DeCA con tu cuenta como cargador legal y el documento disponible por token público.

Automatizaciones ligeras

Hojas de cálculo automatizadas, scripts de operación o flujos de automatización: si puede hacer una llamada HTTPS, puede emitir DeCAs.

Integración con CANGOPAL

Además de la API de DeCA, podemos integrar tu sistema con CANGOPAL de extremo a extremo (recogidas, seguimiento, incidencias). Cuéntanos tu caso y lo presupuestamos.

Preguntas frecuentes

¿Qué plan necesito para usar la API?

La API se contrata como add-on API REST: 50 €/mes (o 480 €/año con el descuento anual) sobre cualquier plan base, incluido Free. En el plan Enterprise va incluida. Los DeCAs emitidos por API comparten el límite mensual de tu plan con los creados desde la web.

¿Qué límites tiene la API?

Un expediente admite hasta 20 partidas de mercancía (es un límite del dominio, no del plan). Los DeCAs por API comparten el límite mensual de tu plan con los de la web. Hay límites de tasa por clave (1.000 peticiones cada 5 minutos) y por IP (100 cada 5 minutos); al superarlos, la API responde 429.

¿Quién desarrolla la integración?

La API es REST sobre HTTPS, devuelve JSON y se autentica con una cabecera X-API-Key: cualquier equipo de IT o integrador habitual de tu ERP puede conectarla. También podemos desarrollar la integración a medida para tu negocio: escríbenos a support@cangopal.com y lo presupuestamos.

¿Qué no se puede hacer por API?

Las contrapartes (clientes de recogida y transportistas con contrato) y los maestros (direcciones, vehículos, catálogo) se gestionan desde la aplicación: por API se consultan, no se crean. Tampoco hay webhooks de salida hoy: tu sistema consulta la API. Todo lo demás del ciclo de vida del DeCA está disponible por API, incluida la cancelación con registro regulatorio.

¿Los DeCAs emitidos por API consumen el cupo de mi plan?

Sí. Web y API comparten el mismo contador mensual. La emisión es atómica (si dos emisiones compiten por el último DeCA disponible, solo una entra) y el cupo se consume al emitir. En las rutas multi-parada, el DeCA agrupado consume una sola unidad, no una por parada.

¿Hay notificaciones automáticas (webhooks)?

Sí. Puedes dar de alta webhooks de salida que avisan a tu sistema de cada cambio de tus expedientes DeCA (deca.created, deca.emitted, deca.closed, deca.modified, deca.finalized, deca.cancelled y deca.superseded) y de la confirmación de tus recogidas (pickup.confirmed). Cada entrega es un POST firmado con HMAC-SHA256 (cabeceras X-DeCA-Event, X-DeCA-Delivery y X-DeCA-Signature) que se reintenta solo si tu endpoint falla o no responde en 10 s; cada intento queda registrado y se puede reintentar a mano. Los gestionas desde Mi Cuenta → Webhooks o por API REST (/api/v1/webhooks).

Otras integraciones

¿Hablamos de tu integración?

Crea tu cuenta, contrata el add-on API y empieza a emitir. Si prefieres que desarrollemos la integración por ti, cuéntanos qué ERP usas.