API DeCA

Emissão, retificação e acesso aos documentos próprios recentes.


Criar documento

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

Envie todos os dados do transporte. A resposta é entregue depois de gerar e armazenar o PDF cifrado.

Uma referência não nula é única por organização e ambiente. Repetir a referência com os mesmos dados normalizados e metadata devolve o resultado original no prazo de 24 horas (200), sem emitir outro PDF. Uma nova criação devolve 201. Dados diferentes ou uma referência de outra credencial produzem 409 sem divulgar documentos. Sem referência não se garante a deduplicação.

Uma referência cujo resultado expirou devolve 409 DOCUMENT_WINDOW_EXPIRED. Se o documento estiver eliminado, o conteúdo não é devolvido e a referência não é reutilizada; a nova tentativa devolve 404. Para retificar, utilize os endpoints PUT.

Podes pedir um token sk_demo_ sem uma conta nem o registo de uma organização. Dura 24 horas a partir da emissão e funciona apenas a partir do IP público que o pediu. Mudar de rede ou de IP exige outro token. A demo acrescenta demo: true, expires_at, qr_url (alias de url) e pdf_url (alias de pdf_download_url). document_locale é o idioma escolhido ao solicitar o token (es por predefinição). Os dados e PDF temporários estão separados do arquivo real e não são encriptados como os documentos reais.

Criar documento › Corpo do pedido

transport_date
​string · date · obrigatório

Data real do transporte em formato YYYY-MM-DD; não é o instante de criação do PDF.

​Shipper · obrigatório

Carregador contratual; pode diferir do armazém de origem e do cliente da DeCA.

​Carrier · obrigatório

Transportador que efetua realmente o transporte, incluindo o subcontratado.

​TransportLocation · obrigatório
​TransportLocation · obrigatório
​Goods · obrigatório

Natureza e peso da mercadoria, ou grandeza alternativa quando aplicável. Envie exatamente uma medida.

​Vehicle · obrigatório

Veículo efetivo; se houver reboque ou semirreboque, preencha os dois campos em conjunto.

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

Referência própria opcional, única por organização e ambiente e impressa no PDF. Identifica novas tentativas e permite consultar por referência. Não é libertada ao eliminar o documento.

​SpecialAuthorization

Autorização especial de circulação quando necessária. Omita ou envie null se não se aplicar.

Valor para o teste
observations
​string | null · maxLength: 4000

Observações cuja inclusão no documento seja pedida pelos intervenientes.

​object | null

Objeto JSON opcional, conservado e devolvido sem alteração semântica. Não é impresso no PDF. Máximo de 16 KiB ao serializar e 8 níveis de profundidade.

Criar documento › Respostas

Nova tentativa idempotente; devolve o resultado original sem gerar outro PDF.

oneOf
Deve cumprir-se exatamente uma alternativa.

Tabela de alternativas

AlternativaCritérios de seleção
type = object · Campos obrigatórios: uuid, reference, created_at +mais 7
type = object · Campos obrigatórios: uuid, reference, created_at +mais 11
Propriedades de Alternativa 1:
uuid
​string · uuid · obrigatório

UUID do documento emitido.

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

Referência do cliente ou null.

created_at
​string · date-time · obrigatório

Instante original de criação, em UTC.

url
​string · uri · obrigatório

URL HTTPS completa de descarga por QR, incluindo o segredo. Não registe nem publique.

​object · obrigatório
pdf_download_url
​string · uri · obrigatório

URL de descarga autenticada; requer Bearer da credencial proprietária no prazo de 24 horas.

rectifies_uuid
​string | null · uuid · obrigatório

UUID retificado ou null numa emissão inicial.

​CreateDocumentRequest · obrigatório
​object | null · obrigatório

A mesma metadata do pedido; null se não foi fornecida.

document_locale
​string · enum · obrigatório

Idioma do PDF escolhido na emissão segundo a organização. Conservado no resultado; alterar o idioma da organização não modifica documentos existentes. Não altera campos JSON nem mensagens de erro da API.

Valores admitidos:
es
ca
gl
ca-valencia
eu
en
pt-pt
fr

Retificar documento

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

Identifique o documento anterior pelo UUID e envie todos os dados corrigidos, sem alterações parciais. Só pode ser retificada a última versão da mesma credencial. É permitido retificar um documento com mais de 24 horas sem devolver o conteúdo anterior. Um documento eliminado devolve 404 e não pode ser retificado.

É gerado um documento retificativo com novos UUID, PDF e QR; o original e o seu QR são conservados. Entregue o novo PDF ao condutor. O campo reference do corpo corresponde à nova versão, não ao documento da URL.

Repetir o mesmo PUT com os mesmos dados normalizados e metadata devolve a retificação já emitida durante as 24 horas seguintes à sua criação, sem gerar outra versão. Esta verificação ocorre antes de rejeitar um documento já retificado e também funciona se a nova tentativa identificar o mesmo documento por referência. Alterar dados de um documento já retificado devolve 409. Um resultado de nova tentativa expirado devolve 409 DOCUMENT_WINDOW_EXPIRED. Se a retificação devolvida estiver eliminada, a nova tentativa devolve 404. Para outra retificação, utilize o UUID ou a referência da última versão.

Retificar documento › Parâmetros de caminho

uuid
​string · uuid · obrigatório

UUID público do documento. Em alternativa, utilize /api/v1/documents/ref/{reference} com o mesmo método. Exemplo: /api/v1/documents/ref/EXP-2026-004587.

Retificar documento › Corpo do pedido

Todos os dados corrigidos do transporte. O documento anterior é identificado na URL. Se reference for incluído, deve ser uma nova referência para o documento retificativo.
transport_date
​string · date · obrigatório

Data real do transporte em formato YYYY-MM-DD; não é o instante de criação do PDF.

​Shipper · obrigatório

Carregador contratual; pode diferir do armazém de origem e do cliente da DeCA.

​Carrier · obrigatório

Transportador que efetua realmente o transporte, incluindo o subcontratado.

​TransportLocation · obrigatório
​TransportLocation · obrigatório
​Goods · obrigatório

Natureza e peso da mercadoria, ou grandeza alternativa quando aplicável. Envie exatamente uma medida.

​Vehicle · obrigatório

Veículo efetivo; se houver reboque ou semirreboque, preencha os dois campos em conjunto.

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

Nova referência do documento retificativo, opcional e única por organização e ambiente. Não reutilize a referência do documento identificado na URL.

​SpecialAuthorization

Autorização especial de circulação quando necessária. Omita ou envie null se não se aplicar.

Valor para o teste
observations
​string | null · maxLength: 4000

Observações cuja inclusão no documento seja pedida pelos intervenientes.

​object | null

Objeto JSON opcional, conservado e devolvido sem alteração semântica. Não é impresso no PDF. Máximo de 16 KiB ao serializar e 8 níveis de profundidade.

Retificar documento › Respostas

Documento retificativo emitido, ou resultado de uma nova tentativa idêntica sem criar outra versão.

oneOf
Deve cumprir-se exatamente uma alternativa.

Tabela de alternativas

AlternativaCritérios de seleção
type = object · Campos obrigatórios: uuid, reference, created_at +mais 7
type = object · Campos obrigatórios: uuid, reference, created_at +mais 11
Propriedades de Alternativa 1:
uuid
​string · uuid · obrigatório

UUID do documento emitido.

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

Referência do cliente ou null.

created_at
​string · date-time · obrigatório

Instante original de criação, em UTC.

url
​string · uri · obrigatório

URL HTTPS completa de descarga por QR, incluindo o segredo. Não registe nem publique.

​object · obrigatório
pdf_download_url
​string · uri · obrigatório

URL de descarga autenticada; requer Bearer da credencial proprietária no prazo de 24 horas.

rectifies_uuid
​string | null · uuid · obrigatório

UUID retificado ou null numa emissão inicial.

​CreateDocumentRequest · obrigatório
​object | null · obrigatório

A mesma metadata do pedido; null se não foi fornecida.

document_locale
​string · enum · obrigatório

Idioma do PDF escolhido na emissão segundo a organização. Conservado no resultado; alterar o idioma da organização não modifica documentos existentes. Não altera campos JSON nem mensagens de erro da API.

Valores admitidos:
es
ca
gl
ca-valencia
eu
en
pt-pt
fr

Eliminar documento

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

Eliminação lógica para corrigir erros detetados ao gerar um documento, exclusivamente antes de o entregar ao transportador ou ao condutor e antes de o utilizar num transporte. A integração deve confirmar ambas as condições; estar dentro do prazo não basta. Se o documento já foi entregue ou utilizado, deve ser retificado através de PUT.

Só é permitida enquanto a hora do servidor for anterior a created_at + 2 horas; às 2 horas exatas já não é permitida. Nem uma consulta nem uma nova tentativa reiniciam o prazo. Cada versão usa a sua própria data de criação. Só pode ser eliminada a última versão da credencial autenticada.

O PDF, os dados e a rastreabilidade são conservados, mas o documento deixa de aparecer na lista. As consultas por UUID ou referência, a descarga autenticada, o QR e as novas tentativas que devolveriam o conteúdo respondem 404. A consulta de estado responde apenas com status: deleted durante a janela de consulta de 24 horas. A referência continua reservada. Não existe endpoint de reativação; a eliminação conserva o ficheiro para permitir uma recuperação futura.

Repetir DELETE nas mesmas 2 horas devolve 204 sem alterar a data de eliminação. Após esse prazo devolve 409.

O primeiro acesso correto à ligação QR também bloqueia a eliminação com 409 DOCUMENT_ALREADY_ACCESSED. Este acesso não prova, por si só, que o transporte se realizou.

Eliminar documento › Parâmetros de caminho

uuid
​string · uuid · obrigatório

UUID público do documento. Em alternativa, utilize /api/v1/documents/ref/{reference} com o mesmo método. Exemplo: /api/v1/documents/ref/EXP-2026-004587.

Eliminar documento › Corpo do pedido

reason
​string · minLength: 1 · maxLength: 2000 · obrigatório

Motivo do erro detetado ao gerar o documento.

confirm_not_delivered
​boolean · obrigatório

Deve ser true para eliminar: confirma que não foi entregue ao transportador nem ao condutor. false devolve 409 DOCUMENT_ALREADY_DELIVERED.

confirm_not_used
​boolean · obrigatório

Deve ser true para eliminar: confirma que não foi utilizado num transporte. false devolve 409 DOCUMENT_ALREADY_USED.

Eliminar documento › Respostas

Documento marcado como eliminado. Sem corpo de resposta.

Não são devolvidos dados

Listar documentos recentes

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

Devolve resumos, sem PDF, segredo QR nem metadata. O servidor aplica sempre a janela de 24 horas e o isolamento da credencial. Ordenação decrescente por data de criação e UUID para desempate, paginação por página e filtros inclusivos de data de transporte. A janela é avaliada em cada pedido; não constitui uma imagem estável entre páginas. Não permite consultar o histórico.

Os documentos eliminados não aparecem na lista.

Listar documentos recentes › Parâmetros de consulta

page
​integer · min: 1

Página pedida, a partir de 1.

Valor predefinido: 1
limit
​integer · min: 1 · max: 100

Documentos por página, entre 1 e 100.

Valor predefinido: 25
from
​string · date

Data mínima de transporte, inclusive. Não alarga a janela de leitura.

to
​string · date

Data máxima de transporte, inclusive; igual ou posterior a from.

Listar documentos recentes › Respostas

Página de documentos recentes. Uma página sem resultados tem data vazio.

​DocumentSummary[] · obrigatório
​object · obrigatório

Consultar documento

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

Recupera o resultado original no prazo de 24 horas, apenas para a credencial que emitiu o documento. Inclui todos os campos aceites e normalizados e a metadata sem alteração semântica.

Um UUID ou uma referência inexistente, de outra credencial ou fora da janela devolve a mesma resposta 404, sem confirmar a existência nem o proprietário. Cada referência identifica a sua própria versão e não redireciona para uma retificação posterior.

Um documento eliminado devolve 404. Para saber se está eliminado, utilize a consulta de estado.

Consultar documento › Parâmetros de caminho

uuid
​string · uuid · obrigatório

UUID público do documento. Em alternativa, utilize /api/v1/documents/ref/{reference} com o mesmo método. Exemplo: /api/v1/documents/ref/EXP-2026-004587.

Consultar documento › Respostas

Resultado original do documento.

oneOf
Deve cumprir-se exatamente uma alternativa.

Tabela de alternativas

AlternativaCritérios de seleção
type = object · Campos obrigatórios: uuid, reference, created_at +mais 7
type = object · Campos obrigatórios: uuid, reference, created_at +mais 11
Propriedades de Alternativa 1:
uuid
​string · uuid · obrigatório

UUID do documento emitido.

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

Referência do cliente ou null.

created_at
​string · date-time · obrigatório

Instante original de criação, em UTC.

url
​string · uri · obrigatório

URL HTTPS completa de descarga por QR, incluindo o segredo. Não registe nem publique.

​object · obrigatório
pdf_download_url
​string · uri · obrigatório

URL de descarga autenticada; requer Bearer da credencial proprietária no prazo de 24 horas.

rectifies_uuid
​string | null · uuid · obrigatório

UUID retificado ou null numa emissão inicial.

​CreateDocumentRequest · obrigatório
​object | null · obrigatório

A mesma metadata do pedido; null se não foi fornecida.

document_locale
​string · enum · obrigatório

Idioma do PDF escolhido na emissão segundo a organização. Conservado no resultado; alterar o idioma da organização não modifica documentos existentes. Não altera campos JSON nem mensagens de erro da API.

Valores admitidos:
es
ca
gl
ca-valencia
eu
en
pt-pt
fr

Consultar estado

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

Devolve apenas o estado de um documento da credencial autenticada, durante as 24 horas seguintes à criação. Um documento eliminado responde 200 com {"status":"deleted"}; não devolve dados do transporte, PDF, ligação QR nem metadata. Um documento ativo responde com {"status":"active"}.

Um UUID inexistente, de outra credencial ou fora das 24 horas devolve o mesmo 404. A eliminação não alarga esta janela.

Consultar estado › Parâmetros de caminho

uuid
​string · uuid · obrigatório

UUID público do documento. Em alternativa, utilize GET /api/v1/documents/ref/{reference}/status. Exemplo: /api/v1/documents/ref/EXP-2026-004587/status.

Consultar estado › Respostas

Estado do documento sem dados do conteúdo.

status
​string · enum · obrigatório

Estado do documento. Não inclui informação do transporte, PDF, QR, metadata nem datas.

Valores admitidos:
active
deleted

Descarregar PDF

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

Devolve exatamente os bytes do PDF armazenado, sem o regenerar. Exige a credencial proprietária e uma antiguidade inferior a 24 horas. Esta limitação não altera a conservação legal nem a validade do QR.

Um documento eliminado devolve 404 sem entregar o PDF.

Descarregar PDF › Parâmetros de caminho

uuid
​string · uuid · obrigatório

UUID público do documento. Em alternativa, utilize GET /api/v1/documents/ref/{reference}/pdf. Exemplo: /api/v1/documents/ref/EXP-2026-004587/pdf.

Descarregar PDF › Respostas

PDF original nativo, até 5 MB. Descarga direta sem regeneração.

string