/api/v1/passports/{id}/registrationErgebnis des EU DPP Registry für einen Batteriepass erfassen
Erfasst, was der Wirtschaftsakteur von der Website des EU DPP Registry zu einem veröffentlichten Batteriepass meldet. TracePass hält die Angabe des Wirtschaftsakteurs fest und prüft sie nicht beim Registry nach. Der Body hat eine von zwei Formen, gewählt über environment.
environment: "production" — der Pass ist im Produktiv-Registry registriert. Setzt placeOnMarketStatus: "placed", registrationMode: "website", placedOnMarketAt und, wenn Sie sie mitsenden, registrationId (die Registrierungskennung des Registry, höchstens 200 Zeichen). placedOnMarketAt ist das Datum des Inverkehrbringens als YYYY-MM-DD: standardmäßig heute, nicht in der Zukunft und nicht vor der ersten Veröffentlichung des Passes. Die Parteien Wirtschaftsakteur und Standort werden gesperrt (ein Schreibvorgang auf eine Partei, der eine gespeicherte Kennung ändern würde, antwortet mit 409 operator_locked), die Sicherungskopie des Passes wird eingeplant und der Webhook passport.placed_on_market ausgelöst.
environment: "acceptance" — ein Test in der Acceptance-Umgebung des Registry: result ist passed oder failed, bei einem Fehlschlag mit dem Fehlercode des Registry in errorCode (höchstens 100 Zeichen, z. B. SEMANTIC_VALIDATION_UNAVAILABLE). Ein Test hat keine Rechtswirkung und ändert am Pass nichts außer registryAcceptanceTest.
Ablehnungen: 400 bei einem Body, der die Validierung nicht besteht, oder einem abgelehnten Datum (invalid_date, wenn es nicht YYYY-MM-DD ist, date_in_future, date_before_publication, registration_id_too_long); 409 bei not_a_battery, not_published oder, für Produktion, already_registered (der Pass ist bereits in Verkehr gebracht oder wird gerade an ein Register nach EN 18222 gesendet). Eine irrtümliche Erfassung nehmen Sie mit DELETE /api/v1/passports/{id}/registration zurück.
Nur in Bezahlplänen (402 auf Free). OAuth-Aufrufer müssen für einen Admin oder Owner handeln. Gibt den Pass nach der Erfassung zurück. Zählt als ein v1-Schreibvorgang, und nur, wenn der Aufruf gelingt. Unterstützt Idempotency-Key.
Pfad-Parameter
- iderforderlich
string (24 hex chars)
Pass-ID eines veröffentlichten Batteriepasses.
Header
- Authorizationerforderlich
string
Bearer <token>— entweder eintp_API-Schlüssel (Developer → API Keys; am einfachsten, für Server-zu-Server) oder ein OAuth-2.0-Access-Token (Developer → OAuth Apps; für nutzerautorisierte Apps, scoped und widerrufbar). Die Authentication-Seite enthält den vollständigen OAuth-Flow und die Scope-Liste.e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
- Idempotency-Key
string
UUID v4.
Body-Felder
- environmenterforderlich
"production" | "acceptance"
Aus welcher Umgebung des Registry das Ergebnis stammt.
acceptanceist ein Test ohne Rechtswirkung.e.g. production
- placedOnMarketAt
string (YYYY-MM-DD)
Nur Produktion. Das Datum des Inverkehrbringens. Standardmäßig heute; nicht in der Zukunft, nicht vor der ersten Veröffentlichung des Passes.
e.g. 2027-03-01
- registrationId
string (≤ 200 chars)
Nur Produktion. Die Registrierungskennung des Registry, sofern Sie sie haben.
e.g. URI-000-00-000
- result
"passed" | "failed"
Nur
acceptance, dort Pflicht. Das Ergebnis des Tests.e.g. failed
- errorCode
string (≤ 100 chars)
Nur
acceptance. Der Fehlercode des Registry bei einem fehlgeschlagenen Test.e.g. SEMANTIC_VALIDATION_UNAVAILABLE
Anfrage
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" }'Antwort
{
"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"
}
}