Esquemas
CountryCode
^[A-Z]{2}$Código del país en dos letras; se normaliza a mayúsculas. El formato no comprueba la pertenencia al catálogo ISO 3166-1.
PositiveDecimal
^(?!0+(?:\.0+)?$)(?:…Decimal positivo como string, con punto, sin coma ni notación científica. Hasta 15 cifras enteras y 6 decimales. La respuesta elimina los ceros decimales finales.
WeightKilograms
Tabla de alternativas
| Alternativa | Criterios de selección |
|---|---|
| type = string | |
| type = number |
^(?!0+(?:\.0+)?$)(?:…Decimal positivo como string, con punto, sin coma ni notación científica. Hasta 15 cifras enteras y 6 decimales. La respuesta elimina los ceros decimales finales.
Address
streetVía y número del domicilio.
postal_codeCódigo postal como texto para conservar ceros iniciales.
cityLocalidad del domicilio.
country^[A-Z]{2}$ · obligatorioCódigo del país en dos letras; se normaliza a mayúsculas. El formato no comprueba la pertenencia al catálogo ISO 3166-1.
Shipper
nameNombre o razón social.
tax_country^[A-Z]{2}$ · obligatorioCódigo del país en dos letras; se normaliza a mayúsculas. El formato no comprueba la pertenencia al catálogo ISO 3166-1.
tax_idIdentificador fiscal normalizado a mayúsculas y sin espacios ni guiones; la longitud se comprueba tras normalizar. En España se validan formato y carácter de control de DNI, NIE y NIF de entidades (CIF). Los NIF especiales K, L y M se comprueban solo por formato: prefijo, siete caracteres alfanuméricos y letra final. Para otros países se exige formato alfanumérico sin verificar su control fiscal. Esta validación no acredita existencia ni alta censal.
Carrier
nameNombre o razón social.
tax_country^[A-Z]{2}$ · obligatorioCódigo del país en dos letras; se normaliza a mayúsculas. El formato no comprueba la pertenencia al catálogo ISO 3166-1.
tax_idIdentificador fiscal normalizado a mayúsculas y sin espacios ni guiones; la longitud se comprueba tras normalizar. En España se validan formato y carácter de control de DNI, NIE y NIF de entidades (CIF). Los NIF especiales K, L y M se comprueban solo por formato: prefijo, siete caracteres alfanuméricos y letra final. Para otros países se exige formato alfanumérico sin verificar su control fiscal. Esta validación no acredita existencia ni alta censal.
Domicilio opcional del transportista. Si se envía, debe incluir todos los campos de Address; el artículo 6 no lo exige como dato mínimo.
TransportLocation
placeLugar real de carga o descarga, identificable por nombre de la instalación o dirección. Junto con city y country debe permitir identificarlo claramente; street y postal_code son opcionales. No se exige identificar a la empresa destinataria como dato mínimo.
cityLocalidad.
countryEl alcance inicial cubre transportes interiores en España; no sustituye al CMR internacional.
streetVía y número opcionales del lugar de carga o descarga para precisar su ubicación.
postal_codeCódigo postal opcional del lugar de carga o descarga, como texto para conservar ceros iniciales.
AlternativeMeasure
value^(?!0+(?:\.0+)?$)(?:… · obligatorioDecimal positivo como string, con punto, sin coma ni notación científica. Hasta 15 cifras enteras y 6 decimales. La respuesta elimina los ceros decimales finales.
unitUnidad explícita de la magnitud, hasta 255 caracteres.
Goods
descriptionDescripción de la naturaleza de la mercancía.
Peso positivo en kg, como número JSON o texto decimal. Hasta 15 cifras enteras y 6 decimales. La respuesta normaliza a texto y conserva la precisión; el PDF muestra hasta 3 decimales, con coma decimal y puntos de miles. Usa texto decimal para evitar pérdida de precisión en valores grandes.
Otra magnitud cuando resulte difícil determinar el peso. Enviar esta magnitud o el peso, nunca ambas.
Tabla de alternativas
| Alternativa | Criterios de selección |
|---|---|
| type = object · Campos obligatorios: weight_kg | |
| type = object · Campos obligatorios: alternative_measure |
Peso positivo en kg, como número JSON o texto decimal. Hasta 15 cifras enteras y 6 decimales. La respuesta normaliza a texto y conserva la precisión; el PDF muestra hasta 3 decimales, con coma decimal y puntos de miles. Usa texto decimal para evitar pérdida de precisión en valores grandes.
descriptionDescripción de la naturaleza de la mercancía.
Otra magnitud cuando resulte difícil determinar el peso. Enviar esta magnitud o el peso, nunca ambas.
Vehicle
country^[A-Z]{2}$ · obligatorioCódigo del país en dos letras; se normaliza a mayúsculas. El formato no comprueba la pertenencia al catálogo ISO 3166-1.
registrationMatrícula normalizada a mayúsculas y sin espacios ni guiones. Para España se admite la matrícula ordinaria vigente, las provinciales anteriores y la serie especial E. Para otros países, entre 3 y 20 caracteres alfanuméricos.
trailer_country^[A-Z]{2}$Código del país en dos letras; se normaliza a mayúsculas. El formato no comprueba la pertenencia al catálogo ISO 3166-1.
trailer_registrationMatrícula del remolque o semirremolque, normalizada como la del tractor. Para España se exige la serie R. Para otros países, entre 3 y 20 caracteres alfanuméricos.
Tabla de alternativas
| Alternativa | Criterios de selección |
|---|---|
| type = object · Campos obligatorios: trailer_country, trailer_registration | |
| type = object · Campos obligatorios: country, registration |
trailer_country^[A-Z]{2}$ · obligatorioCódigo del país en dos letras; se normaliza a mayúsculas. El formato no comprueba la pertenencia al catálogo ISO 3166-1.
trailer_registrationMatrícula del remolque o semirremolque, normalizada como la del tractor. Para España se exige la serie R. Para otros países, entre 3 y 20 caracteres alfanuméricos.
country^[A-Z]{2}$Código del país en dos letras; se normaliza a mayúsculas. El formato no comprueba la pertenencia al catálogo ISO 3166-1.
registrationMatrícula normalizada a mayúsculas y sin espacios ni guiones. Para España se admite la matrícula ordinaria vigente, las provinciales anteriores y la serie especial E. Para otros países, entre 3 y 20 caracteres alfanuméricos.
SpecialAuthorization
numberNúmero o referencia de la autorización.
issuerOrganismo emisor, si se informa.
CreateDocumentRequest
transport_dateFecha real del transporte en formato YYYY-MM-DD; no es el instante de creación del PDF.
Cargador contractual; puede ser distinto del almacén de origen y del cliente de DeCA.
Transportista que realiza efectivamente el transporte, incluido el subcontratado.
Naturaleza y peso de la mercancía, o magnitud alternativa cuando corresponda. Enviar exactamente una medida.
Vehículo efectivo; si hay remolque o semirremolque, informar sus dos campos juntos.
reference^[A-Za-z0-9-]+(?![\s…Referencia propia opcional, única por organización y entorno e impresa en el PDF. Identifica los reintentos y permite consultar por referencia. No se libera al eliminar el documento.
Autorización especial de circulación cuando sea necesaria. Omitir o enviar null si no procede.
observationsObservaciones que los intervinientes soliciten hacer constar en el documento.
Objeto JSON opcional, conservado y devuelto sin modificación semántica. No se imprime en el PDF. Máximo 16 KiB al serializarlo y 8 niveles de profundidad.
DocumentResult
uuidUUID del documento emitido.
reference^[A-Za-z0-9-]+(?![\s… · obligatorioReferencia del cliente o null.
created_atInstante original de creación, en UTC.
urlURL HTTPS completa de descarga por QR, incluido su secreto. No registrar ni publicar.
pdf_download_urlURL de descarga autenticada; requiere Bearer de la credencial propietaria dentro de 24 horas.
rectifies_uuidUUID rectificado o null en una emisión inicial.
La misma metadata de la petición; null si no se proporcionó.
document_localeIdioma del PDF elegido al emitirlo según la organización. Se conserva en el resultado; cambiar el idioma de la organización no modifica documentos existentes. No cambia campos JSON ni mensajes de error de la API.
DocumentSummary
uuidreference^[A-Za-z0-9-]+(?![\s… · obligatoriocreated_attransport_daterectifies_uuidDocumentList
ErrorResponse
Todos los errores independientes detectados; sin datos de petición, secretos ni trazas.
RectifyDocumentRequest
transport_dateFecha real del transporte en formato YYYY-MM-DD; no es el instante de creación del PDF.
Cargador contractual; puede ser distinto del almacén de origen y del cliente de DeCA.
Transportista que realiza efectivamente el transporte, incluido el subcontratado.
Naturaleza y peso de la mercancía, o magnitud alternativa cuando corresponda. Enviar exactamente una medida.
Vehículo efectivo; si hay remolque o semirremolque, informar sus dos campos juntos.
reference^[A-Za-z0-9-]+(?![\s…Referencia nueva del documento rectificativo, opcional y única por organización y entorno. No reutilizar la referencia del documento identificado en la URL.
Autorización especial de circulación cuando sea necesaria. Omitir o enviar null si no procede.
observationsObservaciones que los intervinientes soliciten hacer constar en el documento.
Objeto JSON opcional, conservado y devuelto sin modificación semántica. No se imprime en el PDF. Máximo 16 KiB al serializarlo y 8 niveles de profundidad.
DeleteDocumentRequest
reasonMotivo del error detectado al generar el documento.
confirm_not_deliveredDebe ser true para eliminar: confirma que no se ha entregado al transportista ni al conductor. false devuelve 409 DOCUMENT_ALREADY_DELIVERED.
confirm_not_usedDebe ser true para eliminar: confirma que no se ha utilizado en un transporte. false devuelve 409 DOCUMENT_ALREADY_USED.
DocumentStatus
statusEstado del documento. No incluye información del transporte, PDF, QR, metadata ni fechas.
DemoTokenResult
token^sk_demo_[0-9a-f]{64… · obligatorioPuedes solicitar un token sk_demo_ sin una cuenta ni un alta de organización. Dura 24 horas desde su emisión y solo funciona desde la IP pública que lo solicitó. Cambiar de red o de IP requiere solicitar otro token.
expires_atCaducidad del token en UTC. Todos sus documentos y enlaces vencen en este instante.
document_localeIdioma de los PDF de este token. Español por defecto.
DemoDocumentResult
uuidUUID del documento emitido.
reference^[A-Za-z0-9-]+(?![\s… · obligatorioReferencia del cliente o null.
created_atInstante original de creación, en UTC.
urlURL HTTPS completa de descarga por QR, incluido su secreto. No registrar ni publicar.
pdf_download_urlPuedes solicitar un token sk_demo_ sin una cuenta ni un alta de organización. Dura 24 horas desde su emisión y solo funciona desde la IP pública que lo solicitó. Cambiar de red o de IP requiere solicitar otro token.
rectifies_uuidUUID rectificado o null en una emisión inicial.
La misma metadata de la petición; null si no se proporcionó.
document_localeIdioma de los PDF de este token. Español por defecto.
demoSolo en la demo; siempre true. No aparece en resultados de desarrollo o producción.
expires_atCaducidad del token en UTC. Todos sus documentos y enlaces vencen en este instante.
qr_urlSolo en la demo; alias de url.
pdf_urlSolo en la demo; alias de pdf_download_url. Requiere el token demo y su IP.