API de VeraTrace — desarrolladores
La capa de prueba alimentaria, en REST. Atestaciones firmadas con Ed25519, árbol de Merkle, pasaporte de producto en formato DPP — verificables sin cuenta de VeraTrace. Los endpoints del anillo 1 que aparecen a continuación se llaman sin ninguna clave: copie, pegue, pruebe.
Probar ahora
No hace falta registrarse para la primera llamada. Después, la clave sirve para levantar la cuota anónima y abrir los referenciales del anillo 2.
# Anillo 1 — no requiere clave. Pruébelo ahora mismo.
curl "https://veratrace.eu/api/recalls/check/3017620422003"
# → {"ok":true,"recalled":false,"recallCheck":"ok","matches":[]}
# Anillo 1 — pasaporte de producto (DPP), formato JSON-LD
# El lote « demo » es un pasaporte de DEMOSTRACIÓN: el documento lo
# declara ("demonstration": true) y no incluye ninguna atestación.
curl "https://veratrace.eu/api/dpp/demo"
# Anillo 1 — análisis de GS1 Digital Link (superficie Java)
curl "https://api.veratrace.eu/api/public/v1/gs1/digital-link/parse?url=https://veratrace.eu/01/03123456789012/21/ABC"
# Anillo 1 — verificar una atestación, sin clave ni cuenta.
# La firma Ed25519, el anclaje y la prueba de inclusión son REALES; solo el
# sujeto es ficticio. La clave pública la sirve /attestations/trust-anchors.
curl "https://veratrace.eu/api/attestations/0571db99-cc4e-4c00-8bc7-974e50ad89df/verify"
# Anillo 2 — clave requerida, scope « read »
curl "https://veratrace.eu/api/ciqual/lookup?q=carotte" \
-H "X-VeraTrace-Api-Key: vt_live_SU_CLAVE"
# La misma clave también se pasa como Bearer — estrictamente equivalente
curl "https://veratrace.eu/api/inao/lookup?q=comte" \
-H "Authorization: Bearer vt_live_SU_CLAVE"Autenticación
Una clave de desarrollador se escribe vt_live_… y se pasa de dos maneras, estrictamente equivalentes:
X-VeraTrace-Api-Key: vt_live_…Authorization: Bearer vt_live_…
Una clave presente pero no válida nunca se degrada a acceso anónimo: devuelve 401. Las respuestas autenticadas incluyen X-RateLimit-Remaining-Minute, X-RateLimit-Remaining-Day y X-RateLimit-Reset. Un exceso devuelve 429 RATE_LIMITED con Retry-After, y un scope ausente 403 INSUFFICIENT_SCOPE.
Tres anillos de acceso
Todo endpoint abierto pertenece exactamente a un anillo, que fija su autenticación y su cuota.
Verificación de atestaciones, pasaporte de producto (DPP), retiradas por EAN, resolución GS1.
Ninguna. La clave no cambia sus derechos: sustituye la cuota por IP por la de su nivel y atribuye el uso a su cuenta.
Referenciales enriquecidos: CIQUAL, e-Phy, RPG, DECP, INAO, autorizaciones, comparador de precios, feed de retiradas.
Clave de desarrollador, scope « read ».
Fidelización (earn / redeem), lecturas de cadena de frío, captura EPCIS 2.0.
Clave de desarrollador + scope de escritura activado en la creación: loyalty:write, cold-chain:write, epcis:capture o qr:write.
Dos URL base
La plataforma expone dos superficies distintas. Los referenciales del anillo 2, las retiradas y el DPP solo responden en la base BFF, sin el prefijo /api/public/v1. Cada operación de la especificación indica la suya.
https://api.veratrace.eu/api/public/v1https://veratrace.eu/apiEn la especificación se declara un entorno de pruebas (api-sandbox.veratrace.eu) como parte de la hoja de ruta. Todavía no está aprovisionado — no lo utilice como destino.
Ir más lejos
Obtener una clave
La creación es de autoservicio e inmediata: basta con una cuenta, sin validación manual. El nivel Free se asigna por defecto. La clave solo se muestra una vez.