DeCA-AB DeCAAB
Cómo funciona Precios Preguntas frecuentes Integraciones API Soporte Crear cuenta gratis
API · para tu programa de facturación

Conecta tu facturación
con DeCA-AB

Tus albaranes de facturación emitidos en DeCA-AB llegan solos a tu programa de facturación (por ejemplo, FastInvoice), con su cliente, sus viajes y su importe. Sin teclearlos, sin duplicados y sin perder ninguno.

Solo los albaranes de tu empresa REST + JSON Flujo a prueba de fallos

Cómo empezar

Tu clave la creas tú mismo en DeCA-AB, en un minuto. No hay que registrarse en ningún otro sitio ni esperar a que nadie la apruebe.

1

Entra en DeCA-AB

Con un usuario administrador de tu empresa, ve a Configuración → Integraciones.

2

Crea una clave

Ponle un nombre (el del programa que la va a usar) y confirma con tu contraseña. La clave empieza por dei_ y solo se muestra una vez: cópiala.

3

Pégala en tu programa

Junto con la dirección de la API que ves en esa misma pantalla. Desde ese momento, tu programa recoge los albaranes que emitas.

Autenticación

Todas las peticiones llevan la clave en la cabecera. La dirección base es https://aplicativo.deca-ab.es/api/integracion.

Authorization: Bearer dei_…

Cada clave es de una sola empresa y solo ve los albaranes de esa empresa. Es secreta: úsala solo desde un servidor o un programa de escritorio, nunca en una web pública. Si se filtra, revócala en Configuración → Integraciones (deja de funcionar al momento) y crea otra. Puedes tener una clave por programa, hasta 10.

Para comprobar la conexión: GET /prueba devuelve { "ok": true, "clave": "…", "empresa": { "nombre", "nif" } }. Límite: 120 peticiones por minuto.

El flujo, en dos pasos

A prueba de fallos: pides los pendientes, los guardas y los confirmas. Mientras no confirmes, un albarán seguirá saliendo, así que un corte de red nunca te hace perder ninguno. Solo salen albaranes emitidos (firmados y numerados), que siempre tienen importe.

1 · Pedir los albaranes pendientes

GET /api/integracion/albaranes/pendientes?limite=100

curl -s -H "Authorization: Bearer $CLAVE" \ "https://aplicativo.deca-ab.es/api/integracion/albaranes/pendientes"

Respuesta (los más antiguos primero; limite de 1 a 200; quedan es el total pendiente, no el tamaño de la página):

{ "albaranes": [ { "id": "6712a…", "numero": 37, "estado": "emitido", "fecha": "2026-10-13", "periodicidad": "semanal", "periodo": { "desde": "2026-10-13", "hasta": "2026-10-19" }, "emitidoEn": "2026-10-20T08:12:00.000Z", "anulacion": null, "modoPrecio": "deca", "importe": 1240.00, "impuesto": "igic", "moneda": "EUR", "observaciones": "", "emisor": { "nombre": "Transportes Ejemplo SL", "nif": "B…", "direccion": "…", … }, "cliente": { "id": "…", "nombre": "Áridos Pérez SL", "nif": "B…", "codigoCliente": "C-042", … }, "obra": null, "totales": { "documentos": 4, "viajes": 7, "bultos": 0, "pesoKg": 88020, "pesoAproximado": false, "horas": 0 }, "detalle": { "texto": "Albarán nº 37 · Transportes de la semana del …", "delta": [ … ] }, "lineas": [ { "deca": 1532, "decaId": "…", "viaje": 1, "fecha": "2026-10-14", "hora": "08:30", "origen": "Cantera Norte", "destino": "Obra Sur", "matriculas": ["1234 ABC"], "mercancia": [{ "referencia": "GR-20", "descripcion": "Grava 20/40", "bultos": null, "peso": "15 t" }], "peso": "15 t", "referenciaCliente": "PED-77", "horas": "", "precio": 310.00 } ] } ], "quedan": 0 }

2 · Confirmar los que ya has guardado

POST /api/integracion/albaranes/confirmar

curl -s -X POST -H "Authorization: Bearer $CLAVE" \ -H "Content-Type: application/json" \ -d '{"ids":["6712a…","6712b…"]}' \ "https://aplicativo.deca-ab.es/api/integracion/albaranes/confirmar" # → {"confirmados": 2, "ignorados": []}

Máximo 500 ids por llamada. Es idempotente: confirmar uno ya confirmado no pasa nada. Los ids que no son de tu empresa o no existen vuelven en ignorados. Cada clave lleva su propia cola: si tu empresa conecta dos programas, no se quitan los albaranes el uno al otro.

Albaranes anulados

Si en DeCA-AB se anula un albarán que ya confirmaste, vuelve a salir una vez en /pendientes con "estado": "anulado" y su anulacion (motivo, anuladoEn). Si aún no lo has facturado, quítalo; si ya lo has facturado, toca una factura rectificativa. Confírmalo y no vuelve a salir. En DeCA-AB se ve como «Anulación sin recoger» hasta que lo hagas.

Recuperar un albarán concreto y su PDF

GET /api/integracion/albaranes/:id

GET /api/integracion/albaranes/:id/pdf

El primero devuelve el mismo objeto que en /pendientes (emitido o anulado), más exportado: null o { estado, en } para tu clave. No cambia nada. El segundo devuelve el PDF del albarán, el mismo que recibe el cliente, para adjuntarlo a la factura. Si no existe o no es de tu empresa: 404.

Devolver albaranes a pendientes

El espejo de confirmar: si los borras en tu programa y quieres que vuelvan a llegar, desmárcalos y saldrán de nuevo en /pendientes en la siguiente sincronización.

POST /api/integracion/albaranes/desmarcar

curl -s -X POST -H "Authorization: Bearer $CLAVE" \ -H "Content-Type: application/json" \ -d '{"ids":["6712b…"]}' \ "https://aplicativo.deca-ab.es/api/integracion/albaranes/desmarcar" # → {"desmarcados": 1}

Cómo facturarlo: una sola línea por albarán

Lo recomendado es que cada albarán sea una línea de factura, con el detalle de los viajes en su descripción. Te lo damos ya preparado.

En la línea de facturaDel albarán
Cantidad1
Precio unitarioimporte: sin impuestos, como lo guarda DeCA-AB.
ImpuestoEl tuyo (IGIC 7 %, IVA 21 %…). impuesto dice cuál indica la empresa (iva, igic o vacío), sin porcentaje.
Descripcióndetalle.texto: texto plano, una fila por línea y los viajes empezando por «- ».
Descripción con formatodetalle.delta: el mismo texto como Delta de Quill, con solo negrita, cursiva, tamaño pequeño y viñetas. Se guarda tal cual en editores enriquecidos.
Clientecliente: id (estable en DeCA-AB), nif, nombre, dirección y codigoCliente, el código que la empresa le da en su propio programa.

Así queda detalle:

Albarán nº 37 · Transportes de octubre de 2026 Obra: 1024 · Reforma Polígono Sur 4 DeCA · 7 viajes · 88.020 kg (88,02 t) • 17/10 · DeCA nº 1 · Cantera → Supermercados del Sur · Cemento (10 t) · 1234 BBB · 1.100,00 € (los 2 viajes) • 17/10 · DeCA nº 1 (viaje 2) · Cantera → Obra Polígono Sur · Grava 20/40 (15 t) + Tierras (8 t) · 1234 BBB • … Observaciones: …

Si prefieres montar tu propio texto, tienes todos los datos de cada viaje en lineas.

Campos de un albarán

CampoTipoDescripción
idstringIdentificador estable del albarán. Úsalo para no duplicar.
numeronúmeroNº de albarán de la empresa, para mostrarlo. Puede repetirse con los años si la empresa reinicia su numeración.
estadostringemitido o anulado.
fecha, periodicidad, periodoAAAA-MM-DDDía, semana o mes que cubre (diaria, semanal o mensual) y sus días desde y hasta.
emitidoEnISO 8601Cuándo se firmó y emitió.
anulacionobjeto / null{ motivo, anuladoEn } si está anulado.
modoPreciostringCómo se cobra a ese cliente: deca (precio por DeCA, en su primer viaje), viaje (cada viaje el suyo) o albaran (importe cerrado; los viajes no llevan precio).
importe, monedanúmero, stringImporte sin impuestos y EUR.
impuestostringiva, igic o vacío.
emisorobjetoLa empresa de transporte: nombre, nif, tipoEntidad, dirección, telefono, email.
clienteobjetoA quién se factura (ver la tabla de arriba). Sale aunque el cliente se haya dado de baja después.
obraobjeto / null{ nombre, codigo } si el albarán es de una obra.
totalesobjetodocumentos, viajes, bultos, pesoKg, pesoAproximado y horas.
detalleobjeto{ texto, delta }: la línea de factura ya preparada.
lineasarrayUna por viaje: deca, viaje, fecha, hora, origen, destino (y sus direcciones), matriculas, mercancia, peso, referenciaCliente, horas y precio.

Buenas prácticas

¿Listo para integrar?

Entra en DeCA-AB como administrador, crea tu clave en Configuración → Integraciones y pégala en tu programa de facturación.

Crear mi clave →