DECA API · Consola de pruebas

Ejemplos guiados para integrar ERP, facturación y gestores de flota.

Power Automate, IA y automatizadores

Guía de conexión, cabeceras, cuerpo JSON y gestión de reintentos. Los documentos DeCA admiten idExterno de hasta 512 caracteres; los maestros mantienen 80.

Configurar Power Automate

Consola de pruebas

Las llamadas se hacen contra la API real. Use una clave de pruebas para ensayar altas o modificaciones.

Abrir documentación y pruebas en Swagger

En los ejemplos que usan maestros, sustituya los identificadores de cliente, vehículo o conductor por los devueltos previamente por su empresa.

Las fechas son opcionales. Puede indicar solo desde, solo hasta, ambas o ninguna.

Abrir Swagger UI
Preparado.

Respuesta

{}

Resumen para integradores

La URL principal de la API es https://decaerp.com. Las integraciones existentes pueden seguir usando https://deca.netsistemas.com con los mismos endpoints y claves, sin redirigir sus peticiones.

Las altas de api.php, api_repartos.php y api_nts.php devuelven idDeca, el ID global del DeCA. También incluyen numeroEmpresa, el número visible y consecutivo dentro de cada empresa. Use idDeca en el campo Id interno; numeroEmpresa no lo sustituye. Los enlaces existentes no cambian.

La clave viaja siempre en cabecera HTTP: X-Api-Key: tu_clave. No se admite por URL ni en el cuerpo.

Esta consola simplifica las pruebas más habituales. Para consultar todos los esquemas, ejemplos y respuestas, utilice el Swagger UI oficial.

El formato NTS admite actualizaciones con versiones mediante POST api_nts.php, accion: actualizar y doc_Id. Guía y ejemplo · Swagger NTS.

Endpoints disponibles para documentos y maestros: crear actualizar consultar listar buscar enlace privado historial de versiones repartos multipunto clientes y transportistas vehículos conductores

UsoMetodoParametros clave
CrearPOST JSONaccion=crear, datos del viaje, lineas[]
ActualizarPOST JSONaccion=actualizar, id, campos a cambiar
ConsultarGETaccion=consultar&id=12; devuelve también matriculaTractora y matriculaRemolque (pueden ser null)
Obtener enlace privadoGETaccion=enlace_edicion&id=12; devuelve el mismo enlace activo o lo crea
ListarGETfechaCampo, fechaDesde, fechaHasta, noPlanificados=1
BuscarGETaccion=buscar&origen=ERP_CLIENTE&idExterno=12345
Historial / PDFGET/api_versiones.php?id=12; para el PDF vigente: &actual=1
Descarga masiva PDFPOST / GET/api_descargas.php; crea un lote, consulta el progreso y descarga un ZIP temporal
Crear o actualizar repartoPOST JSON/api_repartos.php con envios[]; cada envío incluye origen, destino y líneas
Sincronizar maestroPOST JSONaccion=guardar y referencia origenRegistro + idExterno
Importar clientesPOST JSON/api_clientes_importar.php; primero validar y después importar
Usuarios APIGET / POST JSON/api_usuarios.php; importación, generación y revocación de claves personales
Identidad de clave personalGET/api_usuario_actual.php; devuelve el usuario y la empresa de X-User-Api-Key
Lugares habitualesGET / POST JSON/api_lugares.php; granjas, almacenes y puntos de origen o destino
Conductor en PDFPOST JSONidConductor o conductores[], incluirConductorPdf, notaDeca y mostrarNotaDeca
Zonas de firma en PDFConfiguración de empresa / clientefirmaExpedidorPdf, firmaDestinatarioPdf y firmaTransportistaPdf. Las preferencias de empresa se suman a las del cliente al crear el DeCA; los anteriores no cambian.
Consultar maestroGETid, referencia ERP, q, activo, limit y offset
La descarga masiva es asíncrona: POST /api_descargas.php devuelve HTTP 202 e idLote. Consulte ?accion=estado&idLote=... hasta que esté disponible y descargue después desde ?accion=descargar&idLote=.... Límite: 10.000 PDF o 512 MB. El ZIP caduca en 24 horas.
X-User-Api-Key sustituye, no acompaña, a X-Api-Key. La clave personal asigna el DeCA al usuario autenticado y permite aplicar sus permisos. La administración masiva de usuarios requiere la clave general de empresa.
Para comprobar a quién pertenece una clave personal, llame a GET /api_usuario_actual.php con la cabecera X-User-Api-Key. Devuelve idUsuario, usuario, idEmpresa, nombreEmpresa (login de empresa) y nombreComercial. No admite la clave general ni devuelve contraseñas o claves. Responde 401 si la clave falta o no es válida, 403 si la empresa ha caducado y 405 para métodos distintos de GET. Tras 20 claves erróneas desde la misma IP en 10 minutos, responde 429 con Retry-After; no se almacenan claves ni direcciones IP en claro.
curl -H "X-User-Api-Key: du_SU_CLAVE_PERSONAL" https://decaerp.com/api_usuario_actual.php
Los usuarios nuevos creados por API o importación ven por defecto solo sus propios DeCA. Los catálogos de otros usuarios requieren autorización expresa cuando la empresa tiene aislamiento activo. Al actualizar un usuario por API, los permisos omitidos conservan su valor.
En empresas nuevas, cada usuario ve inicialmente sus propias fichas de conductores. El administrador puede autorizar desde Usuarios el acceso a las fichas de otros. Los permisos anteriores de empresas existentes se conservan; la clave general de empresa mantiene acceso administrativo.
Los usuarios también pueden importarse desde CSV o Excel en la aplicación web. Al generar o exportar claves personales, su valor completo se muestra una sola vez; una nueva exportación regenera y revoca la clave anterior.
Los maestros son opcionales. Puede sincronizar clientes, transportistas, vehículos y conductores para compartirlos con la aplicación web, o enviar directamente en cada DeCA la fotografía contractual del viaje: cargadorNombre, cargadorNif, cargadorDomicilio, matriculaTractora, matriculaRemolque y las lineas de mercancia. El enlace con el ERP se conserva con origenRegistro e idExterno. Al crear el DeCA puede enviar idCliente e idTransportista; los textos se copian al documento para conservar el dato histórico. La respuesta del alta incluye urlEdicion. El permiso modoEdicionTransportista puede ser operativo (fecha y matrículas), ruta (añade origen y destino), carga (añade descripción, cantidad, unidad y peso) o completo (permite ambas cosas). Los datos de empresas y los estados administrativos permanecen protegidos. Puede asociar hasta dos conductores. La preferencia del cliente propone si aparecen en el PDF, pero cada viaje puede cambiarla. Solo se publican el nombre y la nota autorizada; nunca DNI, teléfono ni correo.

Conductores puntuales y compatibilidad

POST api.php y POST api_repartos.php, con accion: crear o actualizar, admiten hasta dos conductores. Las llamadas anteriores con idConductor o conductores: [{idConductor: 32}] siguen admitidas; no necesitan los nuevos campos.

Conductor puntual sin crear ficha

{
  "accion": "crear",
  "fechaTransporte": null,
  "conductores": [{
    "nombre": "Conductor puntual",
    "telefono": "600123456",
    "email": "conductor@example.com",
    "notificarEmail": true
  }]
}

En repartos añada la colección envios. Puede omitir idConductor o indicar null o 0. El nombre es obligatorio; el teléfono es opcional. Para un conductor puntual, el aviso se propone activado: facilite un correo válido o envíe notificarEmail: false. Un borrador sin PDF no envía avisos automáticamente.

Se conserva exactamente el texto recibido, sin añadir prefijos ni eliminar espacios, signos o guiones. Máximo 20 caracteres.

Cambiar el contacto solo para este viaje

{
  "accion": "actualizar",
  "id": 123,
  "conductores": [{
    "idConductor": 32,
    "nombre": "Nombre para este viaje",
    "telefono": "600123456",
    "email": "contacto-viaje@example.com",
    "notificarEmail": true
  }]
}

La ficha debe pertenecer a la empresa. Los campos omitidos dentro del conductor se copian de su ficha. Los valores enviados quedan en el DeCA; no cambian la ficha general ni otros documentos. En la actualización, omitir toda la propiedad conductores conserva las asignaciones; conductores: [] las elimina. Una lista enviada sustituye la asignación completa.

Guardar o actualizar la ficha general

Use el endpoint existente api_conductores.php, con sus permisos habituales, y después asigne su idConductor al DeCA. guardarFicha no se admite en el alta o modificación del documento. La API no modifica el catálogo de forma implícita.

Respuestas y otros formatos

Las respuestas autenticadas de alta, modificación y consulta incluyen telefono, email y notificarEmail por conductor. idConductor sigue siendo entero para fichas existentes y es null para puntuales. Se conservan nombres de endpoints y campos anteriores; los nuevos campos de entrada son opcionales para las integraciones existentes. Los clientes que consulten documentos puntuales deben admitir el identificador nulo.

El PDF sigue mostrando únicamente nombre y nota autorizada según incluirConductorPdf; no publica teléfono ni correo. El formato api_nts.php conserva su contrato y gestión de catálogo: no se le aplica automáticamente este objeto REST. En MCP, deca_actualizar admite estos campos dentro de cambiosJson; la creación abreviada de borradores no incluye un parámetro de conductores.