Menu
InícioPreçosWebinars
Connexion
Contacto
Contacto

API VeraTrace — programadores

A camada de prova alimentar, em REST. Atestações assinadas Ed25519, árvore de Merkle, passaporte de produto em formato DPP — verificáveis sem conta VeraTrace. Os endpoints do anel 1 abaixo chamam-se sem qualquer chave: copie, cole, teste.

Criar a minha chave API gratuita →Referência interativa

Experimentar agora

Não é necessária nenhuma inscrição para a primeira chamada. A chave serve depois para levantar a quota anónima e abrir os referenciais do anel 2.

# Anel 1 — nenhuma chave necessária. Experimente já.
curl "https://veratrace.eu/api/recalls/check/3017620422003"
# → {"ok":true,"recalled":false,"recallCheck":"ok","matches":[]}

# Anel 1 — passaporte de produto (DPP), formato JSON-LD
# O lote «demo» é um passaporte de DEMONSTRAÇÃO: o documento
# declara-o ("demonstration": true) e não contém nenhuma atestação.
curl "https://veratrace.eu/api/dpp/demo"

# Anel 1 — análise de GS1 Digital Link (superfície Java)
curl "https://api.veratrace.eu/api/public/v1/gs1/digital-link/parse?url=https://veratrace.eu/01/03123456789012/21/ABC"

# Anel 1 — verificar uma atestação, sem chave nem conta.
# A assinatura Ed25519, a ancoragem e a prova de inclusão são REAIS; apenas o
# sujeito é fictício. A chave pública é servida por /attestations/trust-anchors.
curl "https://veratrace.eu/api/attestations/0571db99-cc4e-4c00-8bc7-974e50ad89df/verify"

# Anel 2 — chave necessária, scope «read»
curl "https://veratrace.eu/api/ciqual/lookup?q=carotte" \
  -H "X-VeraTrace-Api-Key: vt_live_A_SUA_CHAVE"

# A mesma chave também funciona como Bearer — rigorosamente equivalente
curl "https://veratrace.eu/api/inao/lookup?q=comte" \
  -H "Authorization: Bearer vt_live_A_SUA_CHAVE"

Autenticação

Uma chave de programador escreve-se vt_live_… e passa-se de duas formas, rigorosamente equivalentes:

  • X-VeraTrace-Api-Key: vt_live_…
  • Authorization: Bearer vt_live_…

Uma chave presente mas inválida nunca é degradada para acesso anónimo: devolve 401. As respostas autenticadas incluem X-RateLimit-Remaining-Minute, X-RateLimit-Remaining-Day e X-RateLimit-Reset. Um excesso devolve 429 RATE_LIMITED com Retry-After, um scope em falta devolve 403 INSUFFICIENT_SCOPE.

Três anéis de acesso

Cada endpoint aberto pertence a exatamente um anel, que fixa a sua autenticação e a sua quota.

Anel 1Público — chave opcional

Verificação de atestações, passaporte de produto (DPP), recolhas por EAN, resolução GS1.

Nenhuma. A chave não altera os seus direitos: substitui a quota por IP pela do seu escalão e atribui a utilização à sua conta.

Anel 2Leitura — chave obrigatória

Referenciais enriquecidos: CIQUAL, e-Phy, RPG, DECP, INAO, aprovações, comparador de preços, feed de recolhas.

Chave de programador, scope «read».

Anel 3Escrita — scope explícito

Fidelização (earn / redeem), leituras da cadeia de frio, captura EPCIS 2.0.

Chave de programador + scope de escrita ativado na criação: loyalty:write, cold-chain:write, epcis:capture ou qr:write.

Duas bases de URL

A plataforma expõe duas superfícies distintas. Os referenciais do anel 2, as recolhas e o DPP só respondem na base BFF, sem o prefixo /api/public/v1. Cada operação da especificação indica a sua.

Superfície Java — leitura, GS1, EPCIS, atestações de carbono, DFC
https://api.veratrace.eu/api/public/v1
Superfície BFF — referenciais, recolhas, DPP
https://veratrace.eu/api

Um ambiente de testes (api-sandbox.veratrace.eu) está declarado na especificação a título de roteiro. Ainda não está disponibilizado — não o utilize.

Ir mais longe

Referência interativa →
Todos os endpoints públicos, apresentados a partir da especificação OpenAPI 3.1.
Especificações OpenAPI →
As especificações por superfície, consultáveis e descarregáveis em YAML.
Escalões e quotas →
Free 30 pedidos/min, depois Starter, Pro e Enterprise.
Integradores →
Marca branca, widgets e parcerias — o lado comercial.

Obter uma chave

A criação é self-service e imediata: basta uma conta, sem validação manual. O escalão Free é atribuído por defeito. A chave só é apresentada uma vez.

Iniciar sessãoCriar uma conta