TracePass
Паспорти

Изпращане на паспорт на батерия към API на регистър по EN 18222

Изпраща публикуван паспорт на батерия към регистър, който приема извикването registerDPP по EN 18222, чрез достъпа до API на регистъра, настроен за вашия акаунт (API ключ или bearer token), така че записът се прави с вашите собствени идентификационни данни. Само паспорти на батерии.

POST/api/v1/passports/{id}/place-on-market
Изтегли OpenAPI 3.1
POST/api/v1/passports/{id}/place-on-market

Изпращане на паспорт на батерия към API на регистър по EN 18222

Изпраща публикуван паспорт на батерия към регистър, който приема извикването registerDPP по EN 18222, чрез достъпа до API на регистъра, настроен за вашия акаунт (API ключ или bearer token), така че записът се прави с вашите собствени идентификационни данни. Само паспорти на батерии.

Това не е пътят към EU DPP Registry. Регистърът на Комисията не приема това извикване, нито тези идентификационни данни: икономическият оператор се регистрира там на уебсайта на регистъра, със собствения си EU Login. За този път вземете адреса за поставяне във формуляра на регистъра (POST /api/v1/passports/{id}/registry-upi) или файл за качване (POST /api/v1/registry/upload-file), след което запишете отговора на регистъра (POST /api/v1/passports/{id}/registration).

Само за платени планове (402 при Free): паспорт на Free изтича след 30 дни, а регистриран паспорт, който престане да се отваря, нарушава регистрацията.

Асинхронно. Заявката проверява паспорта, задава placeOnMarketStatus на placing и веднага връща 202 с { passport, passportId, status: "placing", dppId }. Заявката към регистъра се изпълнява във фонов режим, с автоматични повторни опити, докато регистърът е недостъпен. Прочетете паспорта, за да проследите резултата: placed означава, че регистърът го е приел (placedOnMarketAt, както и registrationId, когато регистърът е върнал такъв), и изпраща webhook passport.placed_on_market; rejected означава, че регистърът го е отказал или не е бил достъпен след изчерпване на повторните опити (registrationRejectedAt, registrationRejectionReason), и изпраща webhook passport.placement_rejected. За нов опит отстранете причината и извикайте отново този endpoint — отказан паспорт може да бъде изпратен отново, а новият опит изчиства предишния отказ. Ако паспортът още няма DPP ID, той получава такъв и той се връща като dppId.

Отказите връщат 409 с код, проверявани в този ред: not_a_battery, not_published (само публикуван паспорт може да бъде изпратен), already_placed (в процес или вече пуснат), operator_id_missing (акаунтът няма идентификатор на икономически оператор; задайте го в настройките на компанията), registry_not_configured (за акаунта не е настроен достъп до API на регистър; администратор го настройва в таблото, в Settings → EN 18222 registry API), registry_host_not_allowed (TracePass не изпраща регистрации до адреса на регистъра, настроен за акаунта; проверете URL адреса на регистъра в Settings → EN 18222 registry API) и registry_not_ready, чийто findings[] изброява констатациите от проверката за готовност за регистъра, които пречат (findingDetails[] съдържа същите констатации с тяхната тежест, като блокиращите са първи) — проверката за готовност за регистъра ги връща в структуриран вид.

След пускането на пазара операторът се заключва: запис на страна, който би променил съхранен operatorIdentifier или facilityIdentifier, връща 409 operator_locked. За корекция маркирайте паспорта за изтриване и създайте нов. Без тяло на заявката. Брои се като едно v1 записване, и то само когато заявката е приета. Поддържа Idempotency-Key.

Параметри в пътя

  • idзадължително

    string (24 hex chars)

    ID на публикуван паспорт на батерия.

Хедъри

  • Authorizationзадължително

    string

    Bearer <token> — или tp_ API ключ (Developer → API Keys; най-просто, за server-to-server), или OAuth 2.0 access token (Developer → OAuth Apps; за приложения, авторизирани от потребител, scoped и отзоваеми). Страницата Authentication съдържа пълния OAuth поток и списъка със scopes.

    e.g. Bearer tp_REDACTED_xxxxxxxxxxxx

  • Idempotency-Key

    string

    UUID v4.

Заявка

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"

Отговор

{
  "passport": {
    "_id": "6650b2c3d4e5f6a7b8c9d0e1",
    "status": "published",
    "placeOnMarketStatus": "placing"
  },
  "passportId": "6650b2c3d4e5f6a7b8c9d0e1",
  "status": "placing",
  "dppId": "https://id.tracepass.eu/dpp/7b1e4c2a-5f3d-4e8a-9c6b-2d1f0a3e5b7c"
}