/openapi.yamlsin claveEsta especificación
Respuestas
200El documento OpenAPI en YAML.
Todas las rutas, con sus parámetros, cuerpos y respuestas. Si es la primera vez que la usa, empiece por la guía: explica cómo obtener una clave y emite un primer documento.
https://app.decamio.com/api/v1Authorization: Bearer <clave>/openapi.yamlsin clave200El documento OpenAPI en YAML./cuentaLa primera llamada para comprobar que la clave funciona.
{
"message": "Clave de API ausente, inválida, caducada o revocada.",
"codigo": "no_autenticado"
}{
"message": "La clave de API no tiene concedido ese permiso.",
"codigo": "clave_sin_permiso",
"detalle": {
"permiso": "crear-documentos"
}
}/documentosRequiere el permiso ver-documentos. Ordenados del más reciente al más antiguo.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| q | query | string | Busca en referencia, cargador, transportista, destinatario, matrículas, origen y destino. |
| desde | query | string (date) | Fecha de carga mínima. |
| hasta | query | string (date) | Fecha de carga máxima. |
| situacion | query | «vigente» | «anulado» | |
| estadoEnvio | query | «pendiente» | «encolado» | «enviado» | «error» | |
| por_pagina | query | integer | |
| page | query | integer |
{
"message": "Clave de API ausente, inválida, caducada o revocada.",
"codigo": "no_autenticado"
}{
"message": "La clave de API no tiene concedido ese permiso.",
"codigo": "clave_sin_permiso",
"detalle": {
"permiso": "crear-documentos"
}
}/documentosRequiere crear-documentos (y enviar-documentos si envio.enviar es true). Cada parte admite el id de un maestro de su empresa, los datos escritos, o ambos; lo escrito gana campo a campo. El documento se numera, se genera su PDF y queda publicado en su URL del QR en la misma llamada.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| Idempotency-Key | header | string | Valor único por operación. Muy recomendable en toda emisión. |
| Campo | Tipo | Descripción |
|---|---|---|
| cargador | objeto | |
| cargador.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| cargador.nombre | string | null | Máximo 255 caracteres. |
| cargador.nif | string | null | Máximo 20 caracteres. |
| cargador.domicilio | string | null | Máximo 255 caracteres. |
| transportista | objeto | |
| transportista.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| transportista.nombre | string | null | Máximo 255 caracteres. |
| transportista.nif | string | null | Máximo 20 caracteres. |
| transportista.domicilio | string | null | Máximo 255 caracteres. |
| transportista.autorizacion | string | null | Número de autorización de transporte. Máximo 50 caracteres. |
| destinatario | objeto | |
| destinatario.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| destinatario.nombre | string | null | Máximo 255 caracteres. |
| destinatario.nif | string | null | Máximo 20 caracteres. |
| destinatario.domicilio | string | null | Máximo 255 caracteres. |
| conductor | objeto | |
| conductor.conductor_id | integer | null | |
| conductor.nombre | string | null | Máximo 255 caracteres. |
| vehiculo | objeto | |
| vehiculo.tractor_id | integer | null | Vehículo de su empresa del que tomar la matrícula. |
| vehiculo.remolque_id | integer | null | |
| vehiculo.matricula_tractor | string | null | Máximo 20 caracteres. |
| vehiculo.matricula_remolque | string | null | Máximo 20 caracteres. |
| servicio | objeto | |
| servicio.origen | string | Máximo 255 caracteres. |
| servicio.destino | string | Máximo 255 caracteres. |
| servicio.naturaleza_mercancia | string | Máximo 1000 caracteres. |
| servicio.peso | number | null | En kilogramos. Mínimo 0. |
| servicio.bultos | integer | null | Mínimo 0. |
| servicio.fecha_envio | string (date) | Fecha de carga. |
| servicio.fecha_entrega | string (date) | null | No anterior a la de carga. |
| servicio.observaciones | string | null | Máximo 2000 caracteres. |
| servicio.precio_porte | number | null | Precio del porte en euros, con dos decimales como máximo. Opcional: no es un dato del artículo 6 de la Orden FOM/2861/2012. Si se informa, se imprime en el PDF, que cualquiera con el código QR puede descargar. Mínimo 0. |
| servicio.otros_envios | array de EnvioAdicional | Envíos del 2 en adelante de un DeCA agrupado (Resolución de 5 de junio de 2026, apartado sexto): sólo si el cargador contractual y el transportista efectivo son los mismos en todos. Los campos de arriba son el envío 1, y su peso pasa a ser obligatorio. La fecha de carga es común. En una modificación, si se envía, sustituye entera a la lista actual; vacía, convierte el DeCA en uno de un solo envío. Un DeCA agrupado cuenta como una emisión. |
| envio | objeto | |
| envio.email | string (email) | null | |
| envio.enviar | boolean | Encolar el envío al emitir. Exige el permiso enviar-documentos. Por defecto, false. |
{
"cargador": {
"cliente_id": 12
},
"transportista": {
"cliente_id": 3
},
"destinatario": {
"cliente_id": 8
},
"conductor": {
"conductor_id": 7
},
"vehiculo": {
"tractor_id": 2,
"remolque_id": 5
},
"servicio": {
"origen": "Sevilla",
"destino": "Madrid",
"naturaleza_mercancia": "Palés de material de construcción",
"peso": 12500,
"bultos": 24,
"fecha_envio": "2026-10-05"
},
"envio": {
"email": "recepcion@almacen.es",
"enviar": true
}
}{
"cargador": {
"nombre": "Cargadora del Sur, S.L.",
"nif": "B12345678",
"domicilio": "Calle Mayor 1, 41001 Sevilla"
},
"transportista": {
"nombre": "Transportes Rápidos, S.A.",
"nif": "A87654321",
"autorizacion": "MDP-123456"
},
"vehiculo": {
"matricula_tractor": "1234ABC"
},
"servicio": {
"origen": "Sevilla",
"destino": "Madrid",
"naturaleza_mercancia": "Palés de material de construcción",
"fecha_envio": "2026-10-05"
}
}{
"message": "Ha agotado los 500 DeCA que incluye el plan Autónomo para 2026.",
"codigo": "cupo_agotado",
"accion": "Cambiar de plan",
"detalle": {
"usados": 500,
"limite": 500,
"anio": 2026
}
}{
"message": "La clave de API no tiene concedido ese permiso.",
"codigo": "clave_sin_permiso",
"detalle": {
"permiso": "crear-documentos"
}
}422Datos inválidos. errors va indexado por la clave anidada del campo.{
"message": "El campo cargador es obligatorio.",
"codigo": "validacion",
"errors": {
"cargador.nombre": [
"El campo cargador es obligatorio."
]
}
}/documentos/{uuid}Requiere ver-documentos. Incluye el historial de modificaciones.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| uuid * | path | string (uuid) | Identificador público del documento (el mismo que va en el QR). |
{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}/documentos/{uuid}Requiere modificar-documentos. La normativa lo permite siempre que quede registrado: el motivo es obligatorio, la versión sube, el PDF se regenera y la URL del QR no cambia. cambios es parcial: sólo lo que se envía se modifica.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| uuid * | path | string (uuid) | Identificador público del documento (el mismo que va en el QR). |
| Campo | Tipo | Descripción |
|---|---|---|
| motivo * | string | Máximo 255 caracteres. Mínimo 5 caracteres. |
| cambios * | objeto | Las partes de un DeCA. En la emisión, cargador.nombre, transportista.nombre, vehiculo.matricula_tractor, servicio.origen, servicio.destino, servicio.naturaleza_mercancia y servicio.fecha_envio son obligatorios (directamente o a través del maestro referenciado). |
| cambios.cargador | objeto | |
| cambios.cargador.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| cambios.cargador.nombre | string | null | Máximo 255 caracteres. |
| cambios.cargador.nif | string | null | Máximo 20 caracteres. |
| cambios.cargador.domicilio | string | null | Máximo 255 caracteres. |
| cambios.transportista | objeto | |
| cambios.transportista.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| cambios.transportista.nombre | string | null | Máximo 255 caracteres. |
| cambios.transportista.nif | string | null | Máximo 20 caracteres. |
| cambios.transportista.domicilio | string | null | Máximo 255 caracteres. |
| cambios.transportista.autorizacion | string | null | Número de autorización de transporte. Máximo 50 caracteres. |
| cambios.destinatario | objeto | |
| cambios.destinatario.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| cambios.destinatario.nombre | string | null | Máximo 255 caracteres. |
| cambios.destinatario.nif | string | null | Máximo 20 caracteres. |
| cambios.destinatario.domicilio | string | null | Máximo 255 caracteres. |
| cambios.conductor | objeto | |
| cambios.conductor.conductor_id | integer | null | |
| cambios.conductor.nombre | string | null | Máximo 255 caracteres. |
| cambios.vehiculo | objeto | |
| cambios.vehiculo.tractor_id | integer | null | Vehículo de su empresa del que tomar la matrícula. |
| cambios.vehiculo.remolque_id | integer | null | |
| cambios.vehiculo.matricula_tractor | string | null | Máximo 20 caracteres. |
| cambios.vehiculo.matricula_remolque | string | null | Máximo 20 caracteres. |
| cambios.servicio | objeto | |
| cambios.servicio.origen | string | Máximo 255 caracteres. |
| cambios.servicio.destino | string | Máximo 255 caracteres. |
| cambios.servicio.naturaleza_mercancia | string | Máximo 1000 caracteres. |
| cambios.servicio.peso | number | null | En kilogramos. Mínimo 0. |
| cambios.servicio.bultos | integer | null | Mínimo 0. |
| cambios.servicio.fecha_envio | string (date) | Fecha de carga. |
| cambios.servicio.fecha_entrega | string (date) | null | No anterior a la de carga. |
| cambios.servicio.observaciones | string | null | Máximo 2000 caracteres. |
| cambios.servicio.precio_porte | number | null | Precio del porte en euros, con dos decimales como máximo. Opcional: no es un dato del artículo 6 de la Orden FOM/2861/2012. Si se informa, se imprime en el PDF, que cualquiera con el código QR puede descargar. Mínimo 0. |
| cambios.servicio.otros_envios | array de EnvioAdicional | Envíos del 2 en adelante de un DeCA agrupado (Resolución de 5 de junio de 2026, apartado sexto): sólo si el cargador contractual y el transportista efectivo son los mismos en todos. Los campos de arriba son el envío 1, y su peso pasa a ser obligatorio. La fecha de carga es común. En una modificación, si se envía, sustituye entera a la lista actual; vacía, convierte el DeCA en uno de un solo envío. Un DeCA agrupado cuenta como una emisión. |
{
"motivo": "Error en el pesaje",
"cambios": {
"servicio": {
"peso": 12000
}
}
}{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}{
"message": "El DeCA DECA-2026-000012 está anulado y ya no admite cambios ni envíos.",
"codigo": "documento_anulado"
}422Datos inválidos. errors va indexado por la clave anidada del campo.{
"message": "El campo cargador es obligatorio.",
"codigo": "validacion",
"errors": {
"cargador.nombre": [
"El campo cargador es obligatorio."
]
}
}/documentos/{uuid}/pdfRequiere ver-documentos. El mismo fichero que se custodia; su sha256 está en la ficha.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| uuid * | path | string (uuid) | Identificador público del documento (el mismo que va en el QR). |
200El PDF, como adjunto con el nombre de la referencia.{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}/documentos/{uuid}/anularRequiere anular-documentos. Nunca se borra: durante el periodo de conservación su URL sigue respondiendo y muestra que está anulado. El cupo anual no se recupera.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| uuid * | path | string (uuid) | Identificador público del documento (el mismo que va en el QR). |
| Idempotency-Key | header | string | Valor único por operación. Muy recomendable en toda emisión. |
| Campo | Tipo | Descripción |
|---|---|---|
| motivo * | string | Máximo 255 caracteres. Mínimo 5 caracteres. |
{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}{
"message": "El DeCA DECA-2026-000012 está anulado y ya no admite cambios ni envíos.",
"codigo": "documento_anulado"
}422Datos inválidos. errors va indexado por la clave anidada del campo.{
"message": "El campo cargador es obligatorio.",
"codigo": "validacion",
"errors": {
"cargador.nombre": [
"El campo cargador es obligatorio."
]
}
}/documentos/{uuid}/enviarRequiere enviar-documentos. El envío se encola; el resultado queda en el historial de envíos de la ficha.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| uuid * | path | string (uuid) | Identificador público del documento (el mismo que va en el QR). |
| Idempotency-Key | header | string | Valor único por operación. Muy recomendable en toda emisión. |
| Campo | Tipo | Descripción |
|---|---|---|
| email * | string (email) |
202Envío encolado.{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}{
"message": "El DeCA DECA-2026-000012 está anulado y ya no admite cambios ni envíos.",
"codigo": "documento_anulado"
}422Datos inválidos. errors va indexado por la clave anidada del campo.{
"message": "El campo cargador es obligatorio.",
"codigo": "validacion",
"errors": {
"cargador.nombre": [
"El campo cargador es obligatorio."
]
}
}Clientes, vehículos y conductores. {maestro} es clientes, vehiculos o conductores.
/{maestro}Requiere gestionar-maestros.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| maestro * | path | «clientes» | «vehiculos» | «conductores» | |
| q | query | string | |
| activo | query | boolean | |
| tipo | query | string | Clientes: cargador, transportista, ambos. Vehículos: tractor, remolque, semirremolque. |
| por_pagina | query | integer | |
| page | query | integer |
200Página de fichas./{maestro}Requiere gestionar-maestros. NIF y matrícula se normalizan (mayúsculas, sin separadores) y son únicos dentro de su empresa.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| maestro * | path | «clientes» | «vehiculos» | «conductores» | |
| Idempotency-Key | header | string | Valor único por operación. Muy recomendable en toda emisión. |
Cliente — para /clientes
| Campo | Tipo | Descripción |
|---|---|---|
| nombre * | string | Máximo 255 caracteres. |
| nif | string | null | Máximo 20 caracteres. |
| tipo | «cargador» | «transportista» | «ambos» | Por defecto, "cargador". |
| domicilio | string | null | Máximo 255 caracteres. |
| cp | string | null | Máximo 10 caracteres. |
| poblacion | string | null | Máximo 255 caracteres. |
| provincia | string | null | Máximo 255 caracteres. |
| telefono | string | null | Máximo 30 caracteres. |
| string (email) | null | ||
| persona_contacto | string | null | Máximo 255 caracteres. |
| num_autorizacion | string | null | Máximo 50 caracteres. |
| notas | string | null | Máximo 2000 caracteres. |
| activo | boolean | Por defecto, true. |
Vehiculo — para /vehiculos
| Campo | Tipo | Descripción |
|---|---|---|
| matricula * | string | Máximo 20 caracteres. |
| tipo | «tractor» | «remolque» | «semirremolque» | Por defecto, "tractor". |
| descripcion | string | null | Máximo 255 caracteres. |
| activo | boolean | Por defecto, true. |
Conductor — para /conductores
| Campo | Tipo | Descripción |
|---|---|---|
| nombre * | string | Máximo 255 caracteres. |
| nif | string | null | Máximo 20 caracteres. |
| telefono | string | null | Máximo 30 caracteres. |
| activo | boolean | Por defecto, true. |
201Ficha creada.422Datos inválidos. errors va indexado por la clave anidada del campo.{
"message": "El campo cargador es obligatorio.",
"codigo": "validacion",
"errors": {
"cargador.nombre": [
"El campo cargador es obligatorio."
]
}
}/{maestro}/{id}| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| maestro * | path | «clientes» | «vehiculos» | «conductores» | |
| id * | path | integer |
200La ficha.{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}/{maestro}/{id}| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| maestro * | path | «clientes» | «vehiculos» | «conductores» | |
| id * | path | integer |
Cliente — para /clientes
| Campo | Tipo | Descripción |
|---|---|---|
| nombre * | string | Máximo 255 caracteres. |
| nif | string | null | Máximo 20 caracteres. |
| tipo | «cargador» | «transportista» | «ambos» | Por defecto, "cargador". |
| domicilio | string | null | Máximo 255 caracteres. |
| cp | string | null | Máximo 10 caracteres. |
| poblacion | string | null | Máximo 255 caracteres. |
| provincia | string | null | Máximo 255 caracteres. |
| telefono | string | null | Máximo 30 caracteres. |
| string (email) | null | ||
| persona_contacto | string | null | Máximo 255 caracteres. |
| num_autorizacion | string | null | Máximo 50 caracteres. |
| notas | string | null | Máximo 2000 caracteres. |
| activo | boolean | Por defecto, true. |
Vehiculo — para /vehiculos
| Campo | Tipo | Descripción |
|---|---|---|
| matricula * | string | Máximo 20 caracteres. |
| tipo | «tractor» | «remolque» | «semirremolque» | Por defecto, "tractor". |
| descripcion | string | null | Máximo 255 caracteres. |
| activo | boolean | Por defecto, true. |
Conductor — para /conductores
| Campo | Tipo | Descripción |
|---|---|---|
| nombre * | string | Máximo 255 caracteres. |
| nif | string | null | Máximo 20 caracteres. |
| telefono | string | null | Máximo 30 caracteres. |
| activo | boolean | Por defecto, true. |
200Ficha modificada.{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}422Datos inválidos. errors va indexado por la clave anidada del campo.{
"message": "El campo cargador es obligatorio.",
"codigo": "validacion",
"errors": {
"cargador.nombre": [
"El campo cargador es obligatorio."
]
}
}/{maestro}/{id}Parcial: sólo cambian los campos enviados. PUT se acepta con el mismo comportamiento.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| maestro * | path | «clientes» | «vehiculos» | «conductores» | |
| id * | path | integer |
Cliente — para /clientes
| Campo | Tipo | Descripción |
|---|---|---|
| nombre * | string | Máximo 255 caracteres. |
| nif | string | null | Máximo 20 caracteres. |
| tipo | «cargador» | «transportista» | «ambos» | Por defecto, "cargador". |
| domicilio | string | null | Máximo 255 caracteres. |
| cp | string | null | Máximo 10 caracteres. |
| poblacion | string | null | Máximo 255 caracteres. |
| provincia | string | null | Máximo 255 caracteres. |
| telefono | string | null | Máximo 30 caracteres. |
| string (email) | null | ||
| persona_contacto | string | null | Máximo 255 caracteres. |
| num_autorizacion | string | null | Máximo 50 caracteres. |
| notas | string | null | Máximo 2000 caracteres. |
| activo | boolean | Por defecto, true. |
Vehiculo — para /vehiculos
| Campo | Tipo | Descripción |
|---|---|---|
| matricula * | string | Máximo 20 caracteres. |
| tipo | «tractor» | «remolque» | «semirremolque» | Por defecto, "tractor". |
| descripcion | string | null | Máximo 255 caracteres. |
| activo | boolean | Por defecto, true. |
Conductor — para /conductores
| Campo | Tipo | Descripción |
|---|---|---|
| nombre * | string | Máximo 255 caracteres. |
| nif | string | null | Máximo 20 caracteres. |
| telefono | string | null | Máximo 30 caracteres. |
| activo | boolean | Por defecto, true. |
200Ficha modificada.{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}422Datos inválidos. errors va indexado por la clave anidada del campo.{
"message": "El campo cargador es obligatorio.",
"codigo": "validacion",
"errors": {
"cargador.nombre": [
"El campo cargador es obligatorio."
]
}
}/{maestro}/{id}Baja lógica: la ficha deja de ofrecerse pero se conserva para los DeCA que la referencian.
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
| maestro * | path | «clientes» | «vehiculos» | «conductores» | |
| id * | path | integer |
204Ficha dada de baja.{
"message": "No existe ese recurso o no pertenece a su empresa.",
"codigo": "no_encontrado"
}Los objetos que devuelven las rutas. Los campos anidados se nombran con punto, igual que en los errores de validación (cargador.nombre).
| Campo | Tipo | Descripción |
|---|---|---|
| cargador | objeto | |
| cargador.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| cargador.nombre | string | null | Máximo 255 caracteres. |
| cargador.nif | string | null | Máximo 20 caracteres. |
| cargador.domicilio | string | null | Máximo 255 caracteres. |
| transportista | objeto | |
| transportista.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| transportista.nombre | string | null | Máximo 255 caracteres. |
| transportista.nif | string | null | Máximo 20 caracteres. |
| transportista.domicilio | string | null | Máximo 255 caracteres. |
| transportista.autorizacion | string | null | Número de autorización de transporte. Máximo 50 caracteres. |
| destinatario | objeto | |
| destinatario.cliente_id | integer | null | Cliente de su empresa del que copiar los datos. |
| destinatario.nombre | string | null | Máximo 255 caracteres. |
| destinatario.nif | string | null | Máximo 20 caracteres. |
| destinatario.domicilio | string | null | Máximo 255 caracteres. |
| conductor | objeto | |
| conductor.conductor_id | integer | null | |
| conductor.nombre | string | null | Máximo 255 caracteres. |
| vehiculo | objeto | |
| vehiculo.tractor_id | integer | null | Vehículo de su empresa del que tomar la matrícula. |
| vehiculo.remolque_id | integer | null | |
| vehiculo.matricula_tractor | string | null | Máximo 20 caracteres. |
| vehiculo.matricula_remolque | string | null | Máximo 20 caracteres. |
| servicio | objeto | |
| servicio.origen | string | Máximo 255 caracteres. |
| servicio.destino | string | Máximo 255 caracteres. |
| servicio.naturaleza_mercancia | string | Máximo 1000 caracteres. |
| servicio.peso | number | null | En kilogramos. Mínimo 0. |
| servicio.bultos | integer | null | Mínimo 0. |
| servicio.fecha_envio | string (date) | Fecha de carga. |
| servicio.fecha_entrega | string (date) | null | No anterior a la de carga. |
| servicio.observaciones | string | null | Máximo 2000 caracteres. |
| servicio.precio_porte | number | null | Precio del porte en euros, con dos decimales como máximo. Opcional: no es un dato del artículo 6 de la Orden FOM/2861/2012. Si se informa, se imprime en el PDF, que cualquiera con el código QR puede descargar. Mínimo 0. |
| servicio.otros_envios | array de EnvioAdicional | Envíos del 2 en adelante de un DeCA agrupado (Resolución de 5 de junio de 2026, apartado sexto): sólo si el cargador contractual y el transportista efectivo son los mismos en todos. Los campos de arriba son el envío 1, y su peso pasa a ser obligatorio. La fecha de carga es común. En una modificación, si se envía, sustituye entera a la lista actual; vacía, convierte el DeCA en uno de un solo envío. Un DeCA agrupado cuenta como una emisión. |
| uuid | string (uuid) | |
| referencia | string | |
| version | integer | |
| situacion | «vigente» | «anulado» | |
| anulacion | objeto | |
| anulacion.fecha | string (date-time) | |
| anulacion.motivo | string | |
| envio | objeto | |
| envio.email_destinatario | string | null | |
| envio.estado | «pendiente» | «encolado» | «enviado» | «error» | |
| objeto | ||
| pdf.url | string (uri) | |
| pdf.bytes | integer | null | |
| pdf.sha256 | string | null | |
| pdf.generado_en | string (date-time) | null | |
| url_publica | string (uri) | La URL del QR: descarga directa del PDF. Sin sesión, sin cookies. |
| avisos | array de string | Advertencias que no impiden emitir. Hoy, los datos del artículo 6 de la Orden FOM/2861/2012 que faltan (NIF y domicilio del cargador, NIF del transportista, peso). Vacío si no hay ninguna. |
| creado_por | objeto | |
| creado_por.id | integer | |
| creado_por.nombre | string | |
| creado_en | string (date-time) | |
| actualizado_en | string (date-time) | |
| modificaciones | array de objeto | Sólo en la ficha. |
| Campo | Tipo | Descripción |
|---|---|---|
| nombre * | string | Máximo 255 caracteres. |
| nif | string | null | Máximo 20 caracteres. |
| tipo | «cargador» | «transportista» | «ambos» | Por defecto, "cargador". |
| domicilio | string | null | Máximo 255 caracteres. |
| cp | string | null | Máximo 10 caracteres. |
| poblacion | string | null | Máximo 255 caracteres. |
| provincia | string | null | Máximo 255 caracteres. |
| telefono | string | null | Máximo 30 caracteres. |
| string (email) | null | ||
| persona_contacto | string | null | Máximo 255 caracteres. |
| num_autorizacion | string | null | Máximo 50 caracteres. |
| notas | string | null | Máximo 2000 caracteres. |
| activo | boolean | Por defecto, true. |
| Campo | Tipo | Descripción |
|---|---|---|
| matricula * | string | Máximo 20 caracteres. |
| tipo | «tractor» | «remolque» | «semirremolque» | Por defecto, "tractor". |
| descripcion | string | null | Máximo 255 caracteres. |
| activo | boolean | Por defecto, true. |
| Campo | Tipo | Descripción |
|---|---|---|
| nombre * | string | Máximo 255 caracteres. |
| nif | string | null | Máximo 20 caracteres. |
| telefono | string | null | Máximo 30 caracteres. |
| activo | boolean | Por defecto, true. |
| Campo | Tipo | Descripción |
|---|---|---|
| empresa | objeto | |
| empresa.nombre | string | |
| empresa.nif | string | null | |
| usuario | objeto | |
| usuario.id | integer | |
| usuario.nombre | string | |
| usuario.email | string | |
| clave | objeto | |
| clave.nombre | string | |
| clave.habilidades | array de string | |
| clave.caduca_en | string (date-time) | null | |
| plan | objeto | |
| plan.clave | string | |
| plan.nombre | string | |
| plan.estado | string | |
| cupo | objeto | |
| cupo.anio | integer | |
| cupo.usados | integer | |
| cupo.limite | integer | null | null = sin límite. |
| cupo.restantes | integer | null | |
| cupo.puede_emitir | boolean |
| Campo | Tipo | Descripción |
|---|---|---|
| message * | string | |
| codigo * | string | |
| accion | string | Qué puede hacer el cliente para resolverlo. |
| detalle | objeto |
| Campo | Tipo | Descripción |
|---|---|---|
| current_page | integer | |
| last_page | integer | |
| per_page | integer | |
| total | integer |