TracePass
Паспорти

Архивиране на паспорт (необратимо)

Необратимо. Публичният преглед връща 404, GS1 Digital Link URL спира да резолвира, QR кодът умира завинаги, освен ако паспортът не е пренасочен към нов доставчик. Използвайте САМО за продукти, които никога не са били изпратени — архивирането на паспорт за продукт, вече в ръцете на клиенти, чупи всяко QR сканиране, което някога ще направят.

POST/api/v1/passports/{id}/archive
Изтегли OpenAPI 3.1
POST/api/v1/passports/{id}/archive

Архивиране на паспорт (необратимо)

Необратимо. Публичният преглед връща 404, GS1 Digital Link URL спира да резолвира, QR кодът умира завинаги, освен ако паспортът не е пренасочен към нов доставчик. Използвайте САМО за продукти, които никога не са били изпратени — архивирането на паспорт за продукт, вече в ръцете на клиенти, чупи всяко QR сканиране, което някога ще направят.

HTTP методът е POST и пътят включва литералния сегмент archive — и двете са умишлена пречка срещу случайно извикване. За да премахнете паспорт от API и от всичко, което е публично достъпно, го изтрийте на две стъпки: POST /api/v1/passports/{id}/mark-for-deletion, след това DELETE /api/v1/passports/{id}. Паспорт, маркиран за изтриване, не може да бъде архивиран (409 passport_already_marked_for_deletion). Брои се като едно v1 записване. Поддържа Idempotency-Key. Изпраща webhook passport.archived. Идемпотентен: извикването на archive върху вече архивиран паспорт връща 200.

Паспортите на батерии изискват причина. Според Регламента за батериите паспортът на батерията приключва едва след като батерията бъде рециклирана (чл. 77, параграф 8), затова архивирането посочва защо: recycled, never_placed (батерията никога не е пускана на пазара) или duplicate_or_error. Без причина паспорт на батерия връща 400 reason_required. За другите категории тялото не е задължително; ако е подаден reason, той трябва да е една от същите три стойности. Причината се предава в payload на webhook passport.archived. POST /api/v1/passports/by-serial/{serial}/archive приема същото тяло.

never_placed се отказва за пуснат на пазара паспорт. Паспорт, регистриран като пуснат на пазара, връща 409 reason_contradicts_placement при тази причина. recycled и duplicate_or_error остават достъпни.

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

  • 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.

Полета в тялото

  • reason

    enum

    recycled, never_placed или duplicate_or_error. Задължителен за паспорти на батерии, незадължителен за другите категории.

    e.g. never_placed

Заявка

curl -sS -X POST \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/archive \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "reason": "never_placed" }'

Отговор

{
  "_id": "6650b2c3d4e5f6a7b8c9d0e1",
  "status": "archived",
  "archivedAt": "2026-05-09T17:00:00.000Z",
  "archiveReason": "never_placed"
}