TracePass
Паспорти

Задаване на флагове за условна класификация

Записва един или повече condition flags към паспорт. Тялото на заявката е `Record<flagKey, boolean | null>` — `true` или `false` задава флага; `null` го изчиства. Само ключове, регистрирани за категорията на паспорта, се приемат; непознати ключове връщат 400 с допустимите ключове за тази категория.

PATCH/api/v1/passports/{id}/condition-flags
Изтегли OpenAPI 3.1
PATCH/api/v1/passports/{id}/condition-flags

Задаване на флагове за условна класификация

Записва един или повече condition flags към паспорт. Тялото на заявката е `Record<flagKey, boolean | null>` — `true` или `false` задава флага; `null` го изчиства. Само ключове, регистрирани за категорията на паспорта, се приемат; непознати ключове връщат 400 с допустимите ключове за тази категория.

**Предупреждение: одобряването на флаг може да направи досега незадължителни полета задължителни.** За паспорти на батерии, `hasBMS: true` активира полетата по BMS от Приложение XIII 4(б); `rechargeable: true` активира полетата за заряд/разряд и state-of-health по чл. 10, пар. 1; `isStationaryBess: true` активира полетата от Приложение VII, части A и B. Ако паспортът вече е публикуван и тези полета са празни, следващата проверка за съответствие ще повдигне критични findings `conditional_missing` — **попълнете тези полета преди или веднага след задаването на флага**, иначе паспортът няма да може да бъде препубликуван.

v1 записи са по подразбиране `status: "approved"` (доверена интеграция). Всяка промяна на флаг се записва в одитния журнал на флага с `"via API key <prefix>"`. Пълният одитен журнал е видим в таблото за управление, но е отстранен от този отговор. Поддържа `Idempotency-Key`. Алтернативна форма на адресиране е налична на `PATCH /api/v1/passports/by-serial/{serial}/condition-flags` с еднакви форми на тяло и отговор. Брои се като едно v1 записване спрямо дневния лимит.

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

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

    ObjectId

    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 или произволен непрозрачен низ ≤ 64 символа). Същият ключ + същото тяло преизпълнява кеширания отговор за 24 ч.

Заявка

curl -sS -X PATCH \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/condition-flags \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"hasBMS": true, "rechargeable": true}'

Отговор

{
  "passportId": "6650b2c3d4e5f6a7b8c9d0e1",
  "conditionProfile": {
    "hasBMS": {
      "value": true,
      "status": "approved",
      "source": "api:tp_abc123"
    },
    "rechargeable": {
      "value": true,
      "status": "approved",
      "source": "api:tp_abc123"
    }
  },
  "version": 4
}