/api/v1/passports/{id}/place-on-marketImmettere sul mercato un passaporto batteria
Immette sul mercato un passaporto **batteria** pubblicato: il passaporto viene registrato nel registro UE dei passaporti digitali dei prodotti con l'accesso al registro configurato per il vostro account, quindi la registrazione avviene con le vostre credenziali (regolamento (UE) 2023/1542 sulle batterie, art. 77, paragrafo 10). Pubblicare un passaporto non lo registra; lo fa questa chiamata. Solo passaporti di batterie.
**Asincrono.** La chiamata verifica il passaporto, imposta `placeOnMarketStatus` su `placing` e risponde subito `202` con `{ passport, passportId, status: "placing", dppId }`. La chiamata al registro segue in background, con nuovi tentativi automatici finché il registro non è raggiungibile. Leggete il passaporto per seguirne l'esito: `placed` significa che il registro lo ha accettato (`placedOnMarketAt`, e `registrationId` quando il registro ne ha restituito uno) e attiva il webhook `passport.placed_on_market`; `rejected` significa che il registro lo ha rifiutato o non era raggiungibile una volta esauriti i tentativi (`registrationRejectedAt`, `registrationRejectionReason`) e attiva `passport.placement_rejected`. Per riprovare, eliminate la causa e richiamate questo endpoint — un passaporto rifiutato può essere immesso di nuovo. Se il passaporto non ha ancora un DPP ID, ne riceve uno, restituito come `dppId`.
I rifiuti rispondono **409** con un codice, verificati in quest'ordine: `not_a_battery`, `not_published` (solo un passaporto pubblicato può essere immesso sul mercato), `already_placed` (in corso o già immesso), `operator_id_missing` (l'account non ha un identificativo dell'operatore economico), `registry_not_configured` (un amministratore configura l'accesso al registro nella dashboard, in Settings → EU Registry) e `registry_not_ready`, il cui `findings[]` elenca i risultati della verifica di prontezza per il registro che lo impediscono — eseguite la verifica di prontezza per il registro per averli in forma strutturata. Un `findings[]` vuoto significa che il registro configurato non accetta ancora invii da TracePass.
**Dopo l'immissione l'operatore è bloccato:** una scrittura su una parte che cambierebbe un `operatorIdentifier` o un `facilityIdentifier` memorizzato risponde 409 `operator_locked`. Per correggerlo, contrassegnate il passaporto per l'eliminazione e createne uno nuovo. Nessun corpo della richiesta. Conta come una scrittura v1, e solo quando la chiamata è accettata. Rispetta `Idempotency-Key`.
Parametri di percorso
- idobbligatorio
string (24 hex chars)
ID di un passaporto batteria pubblicato.
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
- Idempotency-Key
string
UUID v4.
Richiesta
curl -sS -X POST \
https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/place-on-market \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
-H "Idempotency-Key: 3f1c9a52-8b7e-4d6a-9f0e-2c4b6d8e0a13"Risposta
{
"passport": {
"_id": "6650b2c3d4e5f6a7b8c9d0e1",
"status": "published",
"placeOnMarketStatus": "placing"
},
"passportId": "6650b2c3d4e5f6a7b8c9d0e1",
"status": "placing",
"dppId": "https://id.tracepass.eu/dpp/7b1e4c2a-5f3d-4e8a-9c6b-2d1f0a3e5b7c"
}