Integración DeCA · SAP

Integrar DeCA con SAP — Emite el documento al expedir

Si gestionas las expediciones en SAP, los datos que el DeCA exige —cargador, mercancía, origen, destino, transporte— ya están en tu sistema. La integración consiste en que tu SAP avise a DeCA en el momento exacto de la salida de mercancía, con una llamada a la API.

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?

Desde el 5 de octubre de 2026 el DeCA debe ser exclusivamente digital (Ley 9/2025, Disposición Transitoria 8ª), y el responsable de generarlo es el cargador (art. 7.2 de la Orden FOM/2861/2012). Si tu equipo expide decenas de cargas al día, darlas de alta a mano en otra plataforma duplica el trabajo y multiplica los errores tipográficos en NIF, matrículas y pesos.

Y el coste de no llevarlo va por envío: entre 401 y 600 € por cada transporte sin DeCA (LOTT, art. 141.17 y 143.1.d). Una tarde mala de expediciones sin documento son varios miles de euros en riesgo.

Con la API de DeCA, tu SAP no cambia: sigue siendo el sistema donde se decide la expedición. Solo añade una llamada de salida cuando la mercancía sale al muelle.

Lo que gana tu integración

Cómo funciona, en tres pasos

1. Genera tu API key

Contrata el add-on API REST desde Mi Plan y genera la clave en Mi Cuenta → pestaña API. Se muestra una sola vez y viaja en la cabecera X-API-Key de cada petición.

2. Tu sistema SAP envía la expedición al expedir

En la salida de mercancía, tu sistema envía los datos de la expedición (referencia, origen, destino, mercancía, transportista efectivo y matrícula). Con emit: true, el DeCA se emite en la misma llamada.

3. DeCA emitido, con QR y PDF

La respuesta devuelve el identificador del expediente, el token público del documento y la URL de descarga del PDF. El transportista cierra el DeCA escaneando el QR; tu sistema puede consultar el estado cuando quiera.

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 El atajo: recogida + expediente + emisión en una llamada, ideal para la salida de mercancía.
POST /api/v1/shipments Crear la recogida por separado, si tu flujo la gestiona antes de expedir.
PATCH /api/v1/regulatory_records/:id Completar el expediente: destino, transportista efectivo, fechas, vehículo y partidas de mercancía.
POST /api/v1/regulatory_records/:id/emit Emitir el DeCA provisional con QR (consume cupo).
GET /api/v1/regulatory_records/:id/status Sondear el estado (emitido, cerrado) desde tu sistema.
POST /api/v1/transport_routes Rutas con varias paradas: un DeCA agrupado, un solo cupo consumido.

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

Ejemplo: emitir el DeCA desde una entrega de SAP

En la salida de mercancía, tu integración SAP (ABAP, middleware como SAP CPI, o un job que lea las entregas de salida) envía esta llamada con los datos de la entrega. El campo source_reference guarda el número de entrega de SAP, de modo que reintentar la llamada nunca emite dos documentos para la misma expedición.

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": "SAP-88001234",
    "pickup_client_id": "ef12…",
    "planned_pickup": "2026-10-05T09:30:00+02:00",
    "emit": true,
    "deca": {
      "locations": { "unloading_place": { "street": "Pol. Ind. La Vega, Nave 7", "city": "Zaragoza", "postal_code": "50011", "country": "ES" } },
      "economic_operators": { "effective_carrier": { "legal_name": "Transportes Rodríguez SA", "tax_id": "B46612345" } },
      "transport_means": { "tractor_plate": "1234ABC" },
      "goods_items": [ { "description": "Perfilado de aluminio", "nature": "Materiales", "gross_weight_kg": 3200, "quantity": 24, "package_type": "palets" } ]
    }
  }'

Casos de uso reales

Salidas de fábrica o centro logístico

Cada confirmación de salida de mercancía dispara la emisión del DeCA con los datos de la propia expedición. El documento existe antes de que el camión salga del muelle.

Flotas de transportistas habituales

Los transportistas con contrato ya están dados de alta en tu cuenta: la API los asigna como transportista efectivo y ellos cierran cada DeCA con el QR, sin llamadas de aviso.

Rutas de reparto multi-entrega

Si cargas una vez y entregas en varios destinos, creas la ruta con sus paradas y emites un único DeCA agrupado. La Resolución de 5 de junio de 2026 (apartado Sexto) lo admite y consume un solo DeCA del plan.

Auditoría e inspecciones

Cada documento queda con su registro de auditoría consultable por API (GET /audit). Ante la Inspección de Transporte Terrestre, acreditas la emisión con el registro sellado (art. 7.1).

Delegaciones con maestros compartidos

Las direcciones de carga y descarga de todas tus delegaciones se gestionan como maestros en DeCA y la API los consulta. Cada centro expide con sus datos correctos sin mantener listas paralelas en cada SAP.

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é datos envía mi SAP y qué datos rellena DeCA?

Tu sistema envía los datos que ya conoce: referencia de la expedición, origen, destino, mercancía (descripción, naturaleza, peso, bultos), transportista efectivo y matrícula. DeCA no inventa nada: lo que falta por completar lo declara tu integración. Sin valores por defecto ocultos, para que el documento siempre refleje la expedición real.

¿Desde qué punto de SAP se lanza la llamada?

Desde el que decida tu consultor: lo habitual es la salida de mercancía (entrega saliente) o la confirmación del transporte. Lo que DeCA necesita es una llamada HTTPS con los datos de la expedición; el disparador es indiferente para la plataforma.

¿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.

¿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.