API DeCA

Emissió, rectificació i accés als documents propis recents.


Crear document

POST
https://deca.sertecpesage.com
/api/v1/documents
Bearer

Envia totes les dades del transport. La resposta es lliura després de generar i emmagatzemar el PDF xifrat.

Una referència no nul·la és única per organització i entorn. Repetir la referència amb les mateixes dades normalitzades i metadata retorna el resultat original dins de 24 hores (200), sense emetre un altre PDF. Una creació nova retorna 201. Dades diferents o una referència d'una altra credencial produeixen 409 sense divulgar documents. Sense referència no es garanteix la deduplicació.

Una referència amb el resultat vençut retorna 409 DOCUMENT_WINDOW_EXPIRED. Si el document està eliminat, no se'n retorna el contingut ni es reutilitza la referència; el reintent retorna 404. Per rectificar, utilitza els endpoints PUT.

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. La demo afegeix 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.

Crear document › Cos de la petició

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.

Valor per a la prova
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.

Crear document › Respostes

Reintent idempotent; retorna el resultat original sense generar un altre PDF.

oneOf
S'ha de complir exactament una alternativa.

Taula d'alternatives

AlternativaCriteris de selecció
type = object · Camps obligatoris: uuid, reference, created_at +7 més
type = object · Camps obligatoris: uuid, reference, created_at +11 més
Propietats de Alternativa 1:
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 escollit 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

Rectificar document

PUT
https://deca.sertecpesage.com
/api/v1/documents/{uuid}
Bearer

Identifica el document anterior amb el UUID i envia totes les dades corregides, sense actualitzacions parcials. Només es pot rectificar l'última versió de la mateixa credencial. Es permet rectificar un document de més de 24 hores sense retornar-ne el contingut anterior. Un document eliminat retorna 404 i no es pot rectificar.

Es genera un document rectificatiu amb UUID, PDF i QR nous; es conserven l'original i el seu QR. Lliura el nou PDF al conductor. El camp reference del cos correspon a la nova versió, no al document de la URL.

Repetir el mateix PUT amb les mateixes dades normalitzades i metadata retorna la rectificació ja emesa durant les 24 hores següents a la seva creació, sense generar una altra versió. Aquesta comprovació es fa abans de rebutjar un document ja rectificat i també funciona si el reintent identifica el mateix document per referència. Canviar dades d'un document ja rectificat retorna 409. Un resultat de reintent vençut retorna 409 DOCUMENT_WINDOW_EXPIRED. Si la rectificació retornada està eliminada, el reintent retorna 404. Per a una altra rectificació, utilitza el UUID o la referència de l'última versió.

Rectificar document › Paràmetres de ruta

uuid
​string · uuid · obligatori

UUID públic del document. Alternativament, utilitza /api/v1/documents/ref/{reference} amb el mateix mètode. Exemple: /api/v1/documents/ref/EXP-2026-004587.

Rectificar document › Cos de la petició

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.

Valor per a la prova
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.

Rectificar document › Respostes

Document rectificatiu emès, o resultat d'un reintent idèntic sense crear una altra versió.

oneOf
S'ha de complir exactament una alternativa.

Taula d'alternatives

AlternativaCriteris de selecció
type = object · Camps obligatoris: uuid, reference, created_at +7 més
type = object · Camps obligatoris: uuid, reference, created_at +11 més
Propietats de Alternativa 1:
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 escollit 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

Eliminar document

DELETE
https://deca.sertecpesage.com
/api/v1/documents/{uuid}
Bearer

Esborrament lògic per corregir errors detectats en generar un document, exclusivament abans de lliurar-lo al transportista o al conductor i abans d'utilitzar-lo en un transport. La integració ha de confirmar totes dues condicions; no n'hi ha prou amb estar dins del termini. Si el document ja s'ha lliurat o utilitzat, cal rectificar-lo mitjançant PUT.

Només es permet mentre l'hora del servidor sigui anterior a created_at + 2 hores; a les 2 hores exactes ja no es permet. Ni una consulta ni un reintent reinicien el termini. Cada versió utilitza la seva pròpia data de creació. Només es pot eliminar l'última versió de la credencial autenticada.

Es conserven el PDF, les dades i la traçabilitat, però el document deixa d'aparèixer a la llista. Les consultes per UUID o referència, la descàrrega autenticada, el QR i els reintents que retornarien el contingut responen 404. La consulta d'estat respon només amb status: deleted durant la finestra de consulta de 24 hores. La referència continua reservada. No hi ha endpoint de reactivació; l'esborrament conserva l'arxiu per permetre una recuperació futura.

Repetir DELETE dins de les mateixes 2 hores retorna 204 sense canviar la data d'eliminació. Passat el termini retorna 409.

El primer accés correcte a l'enllaç QR també bloqueja l'esborrament amb 409 DOCUMENT_ALREADY_ACCESSED. Aquest accés no prova per si sol que s'hagi fet el transport.

Eliminar document › Paràmetres de ruta

uuid
​string · uuid · obligatori

UUID públic del document. Alternativament, utilitza /api/v1/documents/ref/{reference} amb el mateix mètode. Exemple: /api/v1/documents/ref/EXP-2026-004587.

Eliminar document › Cos de la petició

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.

Eliminar document › Respostes

Document marcat com a eliminat. Sense cos de resposta.

No es retornen dades

Llistar documents recents

GET
https://deca.sertecpesage.com
/api/v1/documents
Bearer

Retorna resums, sense PDF, secret QR ni metadata. El servidor aplica sempre la finestra de 24 hores i l'aïllament de la credencial. Ordre descendent per data de creació i UUID com a desempat, paginació per pàgina i filtres inclusius de data de transport. La finestra s'avalua a cada petició; no constitueix una instantània estable entre pàgines. No permet consultar l'històric.

Els documents eliminats no apareixen a la llista.

Llistar documents recents › Paràmetres de consulta

page
​integer · min: 1

Pàgina sol·licitada, a partir d'1.

Valor per defecte: 1
limit
​integer · min: 1 · max: 100

Documents per pàgina, entre 1 i 100.

Valor per defecte: 25
from
​string · date

Data de transport mínima, inclosa. No amplia la finestra de lectura.

to
​string · date

Data de transport màxima, inclosa; igual o posterior a from.

Llistar documents recents › Respostes

Pàgina de documents recents. Una pàgina sense resultats té data buit.

​DocumentSummary[] · obligatori
​object · obligatori

Consultar document

GET
https://deca.sertecpesage.com
/api/v1/documents/{uuid}
Bearer

Recupera el resultat original dins de 24 hores, només per a la credencial que va emetre el document. Inclou tots els camps acceptats i normalitzats i la metadata sense modificació semàntica.

Un UUID o una referència inexistent, d'una altra credencial o fora de la finestra retorna el mateix 404, sense confirmar-ne l'existència ni el propietari. Cada referència identifica la seva pròpia versió i no redirigeix a una rectificació posterior.

Un document eliminat retorna 404. Per saber si està eliminat, utilitza la consulta d'estat.

Consultar document › Paràmetres de ruta

uuid
​string · uuid · obligatori

UUID públic del document. Alternativament, utilitza /api/v1/documents/ref/{reference} amb el mateix mètode. Exemple: /api/v1/documents/ref/EXP-2026-004587.

Consultar document › Respostes

Resultat original del document.

oneOf
S'ha de complir exactament una alternativa.

Taula d'alternatives

AlternativaCriteris de selecció
type = object · Camps obligatoris: uuid, reference, created_at +7 més
type = object · Camps obligatoris: uuid, reference, created_at +11 més
Propietats de Alternativa 1:
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 escollit 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

Consultar estat

GET
https://deca.sertecpesage.com
/api/v1/documents/{uuid}/status
Bearer

Retorna únicament l'estat d'un document de la credencial autenticada, durant les 24 hores següents a la creació. Un document eliminat respon 200 amb {"status":"deleted"}; no retorna dades del transport, PDF, enllaç QR ni metadata. Un document actiu respon amb {"status":"active"}.

Un UUID inexistent, d'una altra credencial o fora de les 24 hores retorna el mateix 404. L'eliminació no amplia aquesta finestra.

Consultar estat › Paràmetres de ruta

uuid
​string · uuid · obligatori

UUID públic del document. Alternativament, utilitza GET /api/v1/documents/ref/{reference}/status. Exemple: /api/v1/documents/ref/EXP-2026-004587/status.

Consultar estat › Respostes

Estat del document sense dades del contingut.

status
​string · enum · obligatori

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

Valors admesos:
active
deleted

Descarregar PDF

GET
https://deca.sertecpesage.com
/api/v1/documents/{uuid}/pdf
Bearer

Retorna exactament els bytes del PDF emmagatzemat, sense regenerar-lo. Exigeix la credencial propietària i una antiguitat inferior a 24 hores. Aquesta limitació no altera la conservació legal ni la vigència del QR.

Un document eliminat retorna 404 sense lliurar el PDF.

Descarregar PDF › Paràmetres de ruta

uuid
​string · uuid · obligatori

UUID públic del document. Alternativament, utilitza GET /api/v1/documents/ref/{reference}/pdf. Exemple: /api/v1/documents/ref/EXP-2026-004587/pdf.

Descarregar PDF › Respostes

PDF original natiu, de fins a 5 MB. Descàrrega directa sense regeneració.

string