/api/v1/passports/{id}/registry-readinessVerificare la prontezza per il registro
Restituisce se un passaporto supererebbe il **gate formale di invio dell'EU DPP Registry** — `{ ready, findings[] }`. È il controllo *meccanico* del registro prima dell'invio, distinto da e complementare al verdetto sostanziale `/compliance`: un passaporto può essere pronto per il registro senza essere sostanzialmente conforme, e viceversa. Chiamalo prima dell'invio al registro per individuare presto le lacune formali.
Tre controlli formali, ciascuno portato sulla forma finding standard con un `ruleId` `REG-READY-*`. **`REG-READY-MANDATORY`**: ogni campo obbligatorio applicabile a questo tipo di batteria è presente e approvato — consapevole dell'applicabilità, così un campo non applicabile alla categoria della batteria (es. state-of-certified-energy su una batteria non-EV) non è conteggiato come mancante, e un campo con applicabilità `unknown` appare come warning, non come blocco. **`REG-READY-FORMAT`**: i campi compilati sono ben formati (tipi, enum, pattern, limiti). **`REG-READY-LINK`**: il link pubblico del passaporto si risolve — una prova dal vivo; su un passaporto non pubblicato questo è un warning consultivo anziché un blocco, poiché il preflight è pensato per essere eseguito prima della pubblicazione.
`ready` è `true` solo quando non ci sono findings critici; i warning non bloccano mai la prontezza. **Solo passaporti di batterie** in questa versione — un passaporto non-batteria restituisce `ready: true` con un singolo warning `REG-READY-SCOPE`, poiché il gate formale del registro per le altre categorie non è ancora modellato. Sola lettura; conta come una lettura di passaporto v1 rispetto al limite giornaliero.
Parametri di percorso
- idobbligatorio
ObjectId
ID del passaporto.
Header
- Authorizationobbligatorio
string
`Bearer <token>` — una chiave API `tp_` (Developer → API Keys; più semplice, per server-to-server) oppure un access token OAuth 2.0 (Developer → OAuth Apps; per app autorizzate dall'utente, scoped e revocabili). La pagina Authentication contiene il flusso OAuth completo e l'elenco degli scopes.
e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
Richiesta
curl -sS \
https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/registry-readiness \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"Risposta
{
"ready": false,
"findings": [
{
"type": "missing_field",
"severity": "critical",
"target": "batteryUniqueIdentifier",
"ruleId": "REG-READY-MANDATORY",
"why": "A mandatory field that applies to this battery is missing.",
"fix": "Provide batteryUniqueIdentifier before submitting to the registry."
},
{
"type": "unverifiable_conditional",
"severity": "warning",
"target": "https://id.tracepass.eu/p/01/...",
"ruleId": "REG-READY-LINK",
"why": "This passport isn't published yet, so the registry link can't be checked live."
}
]
}