TracePass
Продукти

Окончателно изтриване на продукт

**Окончателно и необратимо.** Премахва записа за продукта + всички качени документи, чиято единствена референция е този продукт (документи, свързани с други продукти/паспорти, остават, само със зачистен `productId`). R2 storage под `<companyId>/products/<productId>/` се изчиства.

DELETE/api/v1/products/{id}
Изтегли OpenAPI 3.1
DELETE/api/v1/products/{id}

Окончателно изтриване на продукт

**Окончателно и необратимо.** Премахва записа за продукта + всички качени документи, чиято единствена референция е този продукт (документи, свързани с други продукти/паспорти, остават, само със зачистен `productId`). R2 storage под `<companyId>/products/<productId>/` се изчиства.

**Само продукти със НУЛА паспорти от какъвто и да е статус отговарят на условията** — включително архивирани. Връща `409 Conflict` с активния брой паспорти в `reason`, когато не отговаря. Правилото запазва одитната история: архивиран паспорт носи регулаторната история ("публикувахме това, после го оттеглихме"), която би била осиротяла, ако родителският продукт изчезне.

**Функция за платени планове.** Връща `403 Forbidden` на Free планове; използвайте `POST /api/v1/products/{id}/archive` вместо това — архивирането запазва записа за одит и работи на всеки план.

Брои се като едно v1 записване. Поддържа `Idempotency-Key`. Без webhook (записът в `billingEvents` е следата).

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

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

    ObjectId

    ID на продукта.

Хедъри

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

    string

    `Bearer <api-key>`.

  • Idempotency-Key

    string

    UUID v4.

Заявка

curl -sS -X DELETE \
  https://app.tracepass.eu/api/v1/products/6650b2c3d4e5f6a7b8c9d0e1 \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"

Отговор

{
  "message": "Product permanently deleted",
  "summary": {
    "productId": "6650b2c3d4e5f6a7b8c9d0e1",
    "name": "Demo product",
    "deletedCounts": {
      "documentRefsUnlinked": 2,
      "documentsDeleted": 1,
      "r2ObjectsDeleted": 3,
      "documentR2ObjectsDeleted": 1
    }
  }
}