/api/v1/passports/{id}/place-on-marketBatteriepass in Verkehr bringen
Bringt einen veröffentlichten **Batteriepass** in Verkehr: Der Pass wird mit dem für Ihr Konto eingerichteten Registerzugang im EU-Register für digitale Produktpässe registriert, der Eintrag erfolgt also mit Ihren eigenen Zugangsdaten (Batterieverordnung (EU) 2023/1542, Art. 77 Abs. 10). Das Veröffentlichen eines Passes registriert ihn nicht; das tut dieser Aufruf. Nur Batteriepässe.
**Asynchron.** Der Aufruf prüft den Pass, setzt `placeOnMarketStatus` auf `placing` und antwortet sofort mit `202` und `{ passport, passportId, status: "placing", dppId }`. Der Aufruf beim Register folgt im Hintergrund, mit automatischen Wiederholungen, solange das Register nicht erreichbar ist. Lesen Sie den Pass, um den Ausgang zu verfolgen: `placed` heißt, das Register hat ihn angenommen (`placedOnMarketAt`, dazu `registrationId`, wenn das Register eine zurückgegeben hat), und löst den Webhook `passport.placed_on_market` aus; `rejected` heißt, das Register hat ihn abgelehnt oder war nach Ausschöpfen der Wiederholungen nicht erreichbar (`registrationRejectedAt`, `registrationRejectionReason`), und löst `passport.placement_rejected` aus. Für einen neuen Versuch beheben Sie die Ursache und rufen diesen Endpoint erneut auf — ein abgelehnter Pass kann erneut in Verkehr gebracht werden. Hat der Pass noch keine DPP-ID, erhält er eine; sie wird als `dppId` zurückgegeben.
Ablehnungen antworten mit **409** und einem Code, geprüft in dieser Reihenfolge: `not_a_battery`, `not_published` (nur ein veröffentlichter Pass kann in Verkehr gebracht werden), `already_placed` (läuft bereits oder erledigt), `operator_id_missing` (das Konto hat keine Kennung des Wirtschaftsakteurs), `registry_not_configured` (ein Admin richtet den Registerzugang im Dashboard unter Settings → EU Registry ein) und `registry_not_ready`, dessen `findings[]` die Befunde der Registry-Bereitschaftsprüfung auflistet, die im Weg stehen — die Registry-Bereitschaftsprüfung liefert sie in strukturierter Form. Ein leeres `findings[]` heißt, dass das eingerichtete Register noch keine Einreichungen von TracePass annimmt.
**Nach dem Inverkehrbringen ist der Wirtschaftsakteur gesperrt:** Ein Schreibvorgang auf eine Partei, der einen gespeicherten `operatorIdentifier` oder `facilityIdentifier` ändern würde, antwortet mit 409 `operator_locked`. Zur Korrektur markieren Sie den Pass zur Löschung und legen einen neuen an. Kein Request-Body. Zählt als ein v1-Schreibvorgang, und nur, wenn der Aufruf angenommen wird. Unterstützt `Idempotency-Key`.
Pfad-Parameter
- iderforderlich
string (24 hex chars)
Pass-ID eines veröffentlichten Batteriepasses.
Header
- Authorizationerforderlich
string
`Bearer <token>` — entweder ein `tp_` 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.
Anfrage
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"Antwort
{
"passport": {
"_id": "6650b2c3d4e5f6a7b8c9d0e1",
"status": "published",
"placeOnMarketStatus": "placing"
},
"passportId": "6650b2c3d4e5f6a7b8c9d0e1",
"status": "placing",
"dppId": "https://id.tracepass.eu/dpp/7b1e4c2a-5f3d-4e8a-9c6b-2d1f0a3e5b7c"
}