TracePass
Passaporti

Annotare l'esito dell'EU DPP Registry per un passaporto della batteria

Annota ciò che l'operatore economico riporta dal sito web dell'EU DPP Registry per un passaporto della batteria pubblicato. TracePass annota la dichiarazione dell'operatore e non la verifica presso il registro. Il corpo ha una di due forme, scelta tramite environment.

POST/api/v1/passports/{id}/registration
Scarica OpenAPI 3.1
POST/api/v1/passports/{id}/registration

Annotare l'esito dell'EU DPP Registry per un passaporto della batteria

Annota ciò che l'operatore economico riporta dal sito web dell'EU DPP Registry per un passaporto della batteria pubblicato. TracePass annota la dichiarazione dell'operatore e non la verifica presso il registro. Il corpo ha una di due forme, scelta tramite environment.

environment: "production" — il passaporto è registrato nel registro di produzione. Imposta placeOnMarketStatus: "placed", registrationMode: "website", placedOnMarketAt e, se lo inviate, registrationId (l'identificativo di registrazione del registro, al massimo 200 caratteri). placedOnMarketAt è la data di immissione sul mercato nel formato YYYY-MM-DD: per impostazione predefinita oggi, non nel futuro e non prima della prima pubblicazione del passaporto. Le parti operatore e stabilimento vengono bloccate (una scrittura su una parte che cambierebbe un identificativo memorizzato risponde 409 operator_locked), la copia di riserva del passaporto viene messa in coda e si attiva il webhook passport.placed_on_market.

environment: "acceptance" — un test nell'ambiente di accettazione del registro: result è passed o failed, con il codice di errore del registro in errorCode in caso di esito negativo (al massimo 100 caratteri, ad es. SEMANTIC_VALIDATION_UNAVAILABLE). Un test non ha effetti giuridici e non cambia nulla nel passaporto tranne registryAcceptanceTest.

Rifiuti: 400 per un corpo che non supera la validazione o una data respinta (invalid_date se non è YYYY-MM-DD, date_in_future, date_before_publication, registration_id_too_long); 409 per not_a_battery, not_published o, per la produzione, already_registered (il passaporto è già immesso sul mercato o in corso di invio a un registro EN 18222). Un'annotazione errata si annulla con DELETE /api/v1/passports/{id}/registration.

Solo piani a pagamento (402 su Free). Le chiamate OAuth devono agire per un amministratore o un proprietario. Restituisce il passaporto dopo l'annotazione. Conta come una scrittura v1, e solo quando la chiamata riesce. Rispetta Idempotency-Key.

Parametri di percorso

  • idobbligatorio

    string (24 hex chars)

    ID di un passaporto della 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.

Campi del corpo

  • environmentobbligatorio

    "production" | "acceptance"

    Da quale ambiente del registro proviene l'esito. acceptance è un test senza effetti giuridici.

    e.g. production

  • placedOnMarketAt

    string (YYYY-MM-DD)

    Solo produzione. La data di immissione sul mercato. Predefinita: oggi; non nel futuro, non prima della prima pubblicazione del passaporto.

    e.g. 2027-03-01

  • registrationId

    string (≤ 200 chars)

    Solo produzione. L'identificativo di registrazione del registro, se lo avete.

    e.g. URI-000-00-000

  • result

    "passed" | "failed"

    Solo acceptance, e lì obbligatorio. L'esito del test.

    e.g. failed

  • errorCode

    string (≤ 100 chars)

    Solo acceptance. Il codice di errore del registro per un test non superato.

    e.g. SEMANTIC_VALIDATION_UNAVAILABLE

Richiesta

curl -sS -X POST \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/registration \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 9e3b6c28-1f7a-4d52-b0e4-6a8c2d1f5b97" \
  -d '{ "environment": "production", "placedOnMarketAt": "2027-03-01", "registrationId": "URI-000-00-000" }'

Risposta

{
  "passport": {
    "_id": "6650b2c3d4e5f6a7b8c9d0e1",
    "status": "published",
    "placeOnMarketStatus": "placed",
    "registrationMode": "website",
    "placedOnMarketAt": "2027-03-01T00:00:00.000Z",
    "registrationId": "URI-000-00-000",
    "registryUpi": "https://id.tracepass.eu/01/04012345000016/21/A1B2C3",
    "registrationPreparedAt": "2027-02-26T09:12:00.000Z",
    "registrationPreparedVia": "form"
  }
}