API DeCA

CountryCode

string · pattern: ^[A-Z]{2}$

Codi del país de dues lletres; es normalitza a majúscules. El format no comprova la pertinença al catàleg ISO 3166-1.

Exemple: ES

PositiveDecimal

string · pattern: ^(?!0+(?:\.0+)?$)(?:…

Decimal positiu com a string, amb punt, sense coma ni notació científica. Fins a 15 xifres enteres i 6 decimals. La resposta elimina els zeros decimals finals.

Exemple: 1850.000

WeightKilograms

oneOf
S'ha de complir exactament una alternativa.

Taula d'alternatives

AlternativaCriteris de selecció
type = string
type = number
Propietats de Alternativa 1:
PositiveDecimal · pattern: ^(?!0+(?:\.0+)?$)(?:…

Decimal positiu com a string, amb punt, sense coma ni notació científica. Fins a 15 xifres enteres i 6 decimals. La resposta elimina els zeros decimals finals.

Exemple: 1850.000

Address

street
​string · minLength: 1 · maxLength: 255 · obligatori

Via i número del domicili.

postal_code
​string · minLength: 1 · maxLength: 255 · obligatori

Codi postal com a text per conservar els zeros inicials.

city
​string · minLength: 1 · maxLength: 255 · obligatori

Localitat del domicili.

country
​CountryCode · pattern: ^[A-Z]{2}$ · obligatori

Codi del país de dues lletres; es normalitza a majúscules. El format no comprova la pertinença al catàleg ISO 3166-1.

Exemple: ES

Shipper

Carregador contractual; pot ser diferent del magatzem d'origen i del client de DeCA.
name
​string · minLength: 1 · maxLength: 255 · obligatori

Nom o raó social.

tax_country
​CountryCode · pattern: ^[A-Z]{2}$ · obligatori

Codi del país de dues lletres; es normalitza a majúscules. El format no comprova la pertinença al catàleg ISO 3166-1.

Exemple: ES
tax_id
​string · minLength: 1 · maxLength: 32 · obligatori

Identificador fiscal normalitzat a majúscules i sense espais ni guions; la longitud es comprova després de normalitzar. A Espanya es validen el format i el caràcter de control de DNI, NIE i NIF d'entitats (CIF). Els NIF especials K, L i M es comproven només pel format: prefix, set caràcters alfanumèrics i lletra final. Per a altres països s'exigeix format alfanumèric sense verificar-ne el control fiscal. Esta validació no acredita existència ni alta censal.

​Address · obligatori

Carrier

Transportista que fa efectivament el transport, inclòs el subcontractat.
name
​string · minLength: 1 · maxLength: 255 · obligatori

Nom o raó social.

tax_country
​CountryCode · pattern: ^[A-Z]{2}$ · obligatori

Codi del país de dues lletres; es normalitza a majúscules. El format no comprova la pertinença al catàleg ISO 3166-1.

Exemple: ES
tax_id
​string · minLength: 1 · maxLength: 32 · obligatori

Identificador fiscal normalitzat a majúscules i sense espais ni guions; la longitud es comprova després de normalitzar. A Espanya es validen el format i el caràcter de control de DNI, NIE i NIF d'entitats (CIF). Els NIF especials K, L i M es comproven només pel format: prefix, set caràcters alfanumèrics i lletra final. Per a altres països s'exigeix format alfanumèric sense verificar-ne el control fiscal. Esta validació no acredita existència ni alta censal.

​object

Domicili opcional del transportista. Si s'envia, cal incloure tots els camps d'Address; l'article 6 no l'exigeix com a dada mínima.

TransportLocation

place
​string · minLength: 1 · maxLength: 255 · obligatori

Lloc real de càrrega o descàrrega, identificable pel nom de la instal·lació o l'adreça. Amb city i country ha de permetre identificar-lo clarament; street i postal_code són opcionals. La identificació de l'empresa destinatària no és una dada mínima obligatòria.

city
​string · minLength: 1 · maxLength: 255 · obligatori

Localitat.

country
​string · enum · obligatori

L'abast inicial cobreix transports interiors a Espanya; no substitueix el CMR internacional.

Valors admesos:
ES
street
​string · minLength: 1 · maxLength: 255

Via i número opcionals del lloc de càrrega o descàrrega per precisar-ne la ubicació.

postal_code
​string · minLength: 1 · maxLength: 255

Codi postal opcional del lloc de càrrega o descàrrega, com a text per conservar zeros inicials.

AlternativeMeasure

Una altra magnitud quan siga difícil determinar el pes. Envia esta magnitud o el pes, mai tots dos.
value
​PositiveDecimal · pattern: ^(?!0+(?:\.0+)?$)(?:… · obligatori

Decimal positiu com a string, amb punt, sense coma ni notació científica. Fins a 15 xifres enteres i 6 decimals. La resposta elimina els zeros decimals finals.

Exemple: 1850.000
unit
​string · minLength: 1 · maxLength: 255 · obligatori

Unitat explícita de la magnitud, fins a 255 caràcters.

Exemple: palés

Goods

Naturalesa i pes de la mercaderia, o magnitud alternativa quan pertoqui. Envia exactament una mesura.
description
​string · minLength: 1 · maxLength: 2000 · obligatori

Descripció de la naturalesa de la mercaderia.

​WeightKilograms

Pes positiu en kg, com a número JSON o text decimal. Fins a 15 xifres enteres i 6 decimals. La resposta normalitza a text i conserva la precisió; el PDF mostra fins a 3 decimals, amb coma decimal i punts de milers. Utilitza text decimal per a evitar pèrdua de precisió en valors grans.

Exemple: 1850.5
​AlternativeMeasure

Una altra magnitud quan siga difícil determinar el pes. Envia esta magnitud o el pes, mai tots dos.

oneOf
S'ha de complir exactament una alternativa.

Taula d'alternatives

AlternativaCriteris de selecció
type = object · Camps obligatoris: weight_kg
type = object · Camps obligatoris: alternative_measure
Propietats de Alternativa 1:
​WeightKilograms · obligatori

Pes positiu en kg, com a número JSON o text decimal. Fins a 15 xifres enteres i 6 decimals. La resposta normalitza a text i conserva la precisió; el PDF mostra fins a 3 decimals, amb coma decimal i punts de milers. Utilitza text decimal per a evitar pèrdua de precisió en valors grans.

Exemple: 1850.5
description
​string · minLength: 1 · maxLength: 2000

Descripció de la naturalesa de la mercaderia.

​AlternativeMeasure

Una altra magnitud quan siga difícil determinar el pes. Envia esta magnitud o el pes, mai tots dos.

Vehicle

Vehicle efectiu; si hi ha remolc o semiremolc, informa els seus dos camps junts.
country
​CountryCode · pattern: ^[A-Z]{2}$ · obligatori

Codi del país de dues lletres; es normalitza a majúscules. El format no comprova la pertinença al catàleg ISO 3166-1.

Exemple: ES
registration
​string · minLength: 1 · maxLength: 20 · obligatori

Matrícula normalitzada a majúscules i sense espais ni guions. A Espanya s'admet la matrícula ordinària vigent, les provincials anteriors i la sèrie especial E. Per a altres països, entre 3 i 20 caràcters alfanumèrics.

Exemple: 4827 MNL
trailer_country
​CountryCode · pattern: ^[A-Z]{2}$

Codi del país de dues lletres; es normalitza a majúscules. El format no comprova la pertinença al catàleg ISO 3166-1.

Exemple: ES
trailer_registration
​string · minLength: 1 · maxLength: 20

Matrícula del remolc o semiremolc, normalitzada com la del tractor. A Espanya s'exigeix la sèrie R. Per a altres països, entre 3 i 20 caràcters alfanumèrics.

Exemple: R 5832 BCD
oneOf
S'ha de complir exactament una alternativa.

Taula d'alternatives

AlternativaCriteris de selecció
type = object · Camps obligatoris: trailer_country, trailer_registration
type = object · Camps obligatoris: country, registration
Propietats de Alternativa 1:
trailer_country
​CountryCode · pattern: ^[A-Z]{2}$ · obligatori

Codi del país de dues lletres; es normalitza a majúscules. El format no comprova la pertinença al catàleg ISO 3166-1.

Exemple: ES
trailer_registration
​string · minLength: 1 · maxLength: 20 · obligatori

Matrícula del remolc o semiremolc, normalitzada com la del tractor. A Espanya s'exigeix la sèrie R. Per a altres països, entre 3 i 20 caràcters alfanumèrics.

Exemple: R 5832 BCD
country
​CountryCode · pattern: ^[A-Z]{2}$

Codi del país de dues lletres; es normalitza a majúscules. El format no comprova la pertinença al catàleg ISO 3166-1.

Exemple: ES
registration
​string · minLength: 1 · maxLength: 20

Matrícula normalitzada a majúscules i sense espais ni guions. A Espanya s'admet la matrícula ordinària vigent, les provincials anteriors i la sèrie especial E. Per a altres països, entre 3 i 20 caràcters alfanumèrics.

Exemple: 4827 MNL

SpecialAuthorization

Autorització especial de circulació quan calgui. Omet-la o envia null si no correspon.
number
​string · minLength: 1 · maxLength: 255 · obligatori

Número o referència de l'autorització.

issuer
​string · minLength: 1 · maxLength: 255

Organisme emissor, si s'informa.

CreateDocumentRequest

transport_date
​string · date · obligatori

Data real del transport en format YYYY-MM-DD; no és l'instant de creació del PDF.

​Shipper · obligatori

Carregador contractual; pot ser diferent del magatzem d'origen i del client de DeCA.

​Carrier · obligatori

Transportista que fa efectivament el transport, inclòs el subcontractat.

​TransportLocation · obligatori
​TransportLocation · obligatori
​Goods · obligatori

Naturalesa i pes de la mercaderia, o magnitud alternativa quan pertoqui. Envia exactament una mesura.

​Vehicle · obligatori

Vehicle efectiu; si hi ha remolc o semiremolc, informa els seus dos camps junts.

reference
​string | null · minLength: 1 · maxLength: 120 · pattern: ^[A-Za-z0-9-]+(?![\s…

Referència pròpia opcional, única per organització i entorn i impresa al PDF. Identifica els reintents i permet consultar per referència. No s'allibera en eliminar el document.

​SpecialAuthorization

Autorització especial de circulació quan calgui. Omet-la o envia null si no correspon.

observations
​string | null · maxLength: 4000

Observacions que els intervinents sol·licitin fer constar al document.

​object | null

Objecte JSON opcional, conservat i retornat sense modificació semàntica. No s'imprimeix al PDF. Màxim 16 KiB en serialitzar-lo i 8 nivells de profunditat.

DocumentResult

uuid
​string · uuid · obligatori

UUID del document emès.

reference
​string | null · pattern: ^[A-Za-z0-9-]+(?![\s… · obligatori

Referència del client o null.

created_at
​string · date-time · obligatori

Instant original de creació, en UTC.

url
​string · uri · obligatori

URL HTTPS completa de descàrrega per QR, amb el seu secret. No la registris ni publiquis.

​object · obligatori
pdf_download_url
​string · uri · obligatori

URL de descàrrega autenticada; requereix el Bearer de la credencial propietària dins de 24 hores.

rectifies_uuid
​string | null · uuid · obligatori

UUID rectificat o null en una emissió inicial.

​CreateDocumentRequest · obligatori
​object | null · obligatori

La mateixa metadata de la petició; null si no s'ha proporcionat.

document_locale
​string · enum · obligatori

Idioma del PDF triat en emetre'l segons l'organització. Es conserva al resultat; canviar l'idioma de l'organització no modifica documents existents. No canvia camps JSON ni missatges d'error de l'API.

Valors admesos:
es
ca
gl
ca-valencia
eu
en
pt-pt
fr

DocumentSummary

uuid
​string · uuid · obligatori
reference
​string | null · pattern: ^[A-Za-z0-9-]+(?![\s… · obligatori
created_at
​string · date-time · obligatori
transport_date
​string · date · obligatori
rectifies_uuid
​string | null · uuid · obligatori

DocumentList

​DocumentSummary[] · obligatori
​object · obligatori

ErrorResponse

​object[] · minItems: 1 · obligatori

Tots els errors independents detectats; sense dades de la petició, secrets ni traces.

RectifyDocumentRequest

Totes les dades corregides del transport. El document anterior s'identifica a la URL. Si s'inclou reference, ha de ser una referència nova per al document rectificatiu.
transport_date
​string · date · obligatori

Data real del transport en format YYYY-MM-DD; no és l'instant de creació del PDF.

​Shipper · obligatori

Carregador contractual; pot ser diferent del magatzem d'origen i del client de DeCA.

​Carrier · obligatori

Transportista que fa efectivament el transport, inclòs el subcontractat.

​TransportLocation · obligatori
​TransportLocation · obligatori
​Goods · obligatori

Naturalesa i pes de la mercaderia, o magnitud alternativa quan pertoqui. Envia exactament una mesura.

​Vehicle · obligatori

Vehicle efectiu; si hi ha remolc o semiremolc, informa els seus dos camps junts.

reference
​string | null · minLength: 1 · maxLength: 120 · pattern: ^[A-Za-z0-9-]+(?![\s…

Referència nova del document rectificatiu, opcional i única per organització i entorn. No reutilitzis la referència del document identificat a la URL.

​SpecialAuthorization

Autorització especial de circulació quan calgui. Omet-la o envia null si no correspon.

observations
​string | null · maxLength: 4000

Observacions que els intervinents sol·licitin fer constar al document.

​object | null

Objecte JSON opcional, conservat i retornat sense modificació semàntica. No s'imprimeix al PDF. Màxim 16 KiB en serialitzar-lo i 8 nivells de profunditat.

DeleteDocumentRequest

reason
​string · minLength: 1 · maxLength: 2000 · obligatori

Motiu de l'error detectat en generar el document.

confirm_not_delivered
​boolean · obligatori

Ha de ser true per eliminar: confirma que no s'ha lliurat al transportista ni al conductor. false retorna 409 DOCUMENT_ALREADY_DELIVERED.

confirm_not_used
​boolean · obligatori

Ha de ser true per eliminar: confirma que no s'ha utilitzat en un transport. false retorna 409 DOCUMENT_ALREADY_USED.

DocumentStatus

status
​string · enum · obligatori

Estat del document. No inclou informació del transport, PDF, QR, metadata ni dates.

Valors admesos:
active
deleted

DemoTokenResult

token
​string · pattern: ^sk_demo_[0-9a-f]{64… · obligatori

Pots sol·licitar un token sk_demo_ sense compte ni alta d’una organització. Dura 24 hores des de l’emissió i només funciona des de la IP pública que l’ha sol·licitat. Si canvies de xarxa o d’IP, cal sol·licitar un altre token.

expires_at
​string · date-time · obligatori

Caducitat del token en UTC. Tots els seus documents i enllaços vencen en este instant.

document_locale
​string · enum · obligatori

Idioma dels PDF d’este token. Castellà per defecte.

Valors admesos:
es
ca
gl
ca-valencia
eu
en
pt-pt
fr

DemoDocumentResult

La demo afig demo: true, expires_at, qr_url (àlies de url) i pdf_url (àlies de pdf_download_url). document_locale és l’idioma triat en sol·licitar el token (es per defecte). Les dades i PDF temporals estan separats de l’arxiu real i no es xifren com els documents reals.
uuid
​string · uuid · obligatori

UUID del document emès.

reference
​string | null · pattern: ^[A-Za-z0-9-]+(?![\s… · obligatori

Referència del client o null.

created_at
​string · date-time · obligatori

Instant original de creació, en UTC.

url
​string · uri · obligatori

URL HTTPS completa de descàrrega per QR, amb el seu secret. No la registris ni publiquis.

​object · obligatori
pdf_download_url
​string · uri · obligatori

Pots sol·licitar un token sk_demo_ sense compte ni alta d’una organització. Dura 24 hores des de l’emissió i només funciona des de la IP pública que l’ha sol·licitat. Si canvies de xarxa o d’IP, cal sol·licitar un altre token.

rectifies_uuid
​string | null · uuid · obligatori

UUID rectificat o null en una emissió inicial.

​CreateDocumentRequest · obligatori
​object | null · obligatori

La mateixa metadata de la petició; null si no s'ha proporcionat.

document_locale
​string · enum · obligatori

Idioma dels PDF d’este token. Castellà per defecte.

Valors admesos:
es
ca
gl
ca-valencia
eu
en
pt-pt
fr
demo
​boolean · enum · obligatori

Només en la demo; sempre true. No apareix en resultats de desenvolupament o producció.

Valors admesos:
true
expires_at
​string · date-time · obligatori

Caducitat del token en UTC. Tots els seus documents i enllaços vencen en este instant.

qr_url
​string · uri · obligatori

Només en la demo; àlies de url.

pdf_url
​string · uri · obligatori

Només en la demo; àlies de pdf_download_url. Requerix el token demo i la seua IP.