TracePass
Паспорти

История на измерванията

Връща пълната история на измерванията за паспорт на батерия, от най-нови към най-стари (по `measuredAt`). Всеки запис е обект `PassportMeasurement` с полета `_id`, `passportId`, `fieldKey`, `value`, `measuredAt`, `receivedAt`, `externalId?`, `unit?`, `materialized` (дали този запис е станал текуща стойност на полето в паспорта) и `source`. **Само за паспорти на батерии** — паспорт, различен от батерия, връща 422 `not_a_battery`.

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

История на измерванията

Връща пълната история на измерванията за паспорт на батерия, от най-нови към най-стари (по `measuredAt`). Всеки запис е обект `PassportMeasurement` с полета `_id`, `passportId`, `fieldKey`, `value`, `measuredAt`, `receivedAt`, `externalId?`, `unit?`, `materialized` (дали този запис е станал текуща стойност на полето в паспорта) и `source`. **Само за паспорти на батерии** — паспорт, различен от батерия, връща 422 `not_a_battery`.

Филтрирайте с `?fieldKey=<key>` за конкретно поле, `?from=<ISO 8601>` и `?to=<ISO 8601>` за ограничаване на прозореца по `measuredAt`. Размерът на страницата се управлява с `?limit` (1–200, по подразбиране 50). Страницирайте с `?cursor=<nextCursor>` — подайте стойността `nextCursor` от отговора на предишната страница точно така, както е върната; тя е непрозрачна и вътрешният й формат не трябва да се разчита. Отговорът съдържа `hasMore: true` и ненулев `nextCursor`, когато има допълнителни резултати; `hasMore: false` означава, че сте достигнали последната страница.

Алтернативна форма на адресиране е налична на `GET /api/v1/passports/by-serial/{serial}/measurements` със същите параметри и форма на отговора. При несигурен сериен номер добавете `?gtin=<gtin>` за разграничаване. Само за четене; OAuth scope: `passports:read`.

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

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

    ObjectId

    ID на паспорта.

Query параметри

  • fieldKey

    string

    Филтриране по единичен ключ на поле (напр. `stateOfHealth`).

  • from

    string (ISO 8601)

    Измервания с `measuredAt` ≥ тази стойност.

    e.g. 2027-01-01T00:00:00Z

  • to

    string (ISO 8601)

    Измервания с `measuredAt` ≤ тази стойност.

    e.g. 2027-03-31T23:59:59Z

  • limit

    integer

    Размер на страницата (1–200, по подразбиране 50).

  • cursor

    string

    Стойността `nextCursor` от отговора на предишната страница. Непрозрачна — подайте я непроменена; не я разбирайте или конструирайте.

Хедъри

  • 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

Заявка

curl -sS \
  "https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/measurements?fieldKey=stateOfHealth&limit=50" \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"

Отговор

{
  "data": [
    {
      "_id": "6750a1b2c3d4e5f6a7b8c9d0",
      "passportId": "6650b2c3d4e5f6a7b8c9d0e1",
      "fieldKey": "stateOfHealth",
      "value": 96.4,
      "measuredAt": "2027-03-01T06:00:00Z",
      "receivedAt": "2027-03-01T06:01:12Z",
      "externalId": "bms-7781-2027-03-01",
      "materialized": true,
      "source": "api:tp_abc123"
    },
    {
      "_id": "6740a1b2c3d4e5f6a7b8c9d0",
      "passportId": "6650b2c3d4e5f6a7b8c9d0e1",
      "fieldKey": "stateOfHealth",
      "value": 97.1,
      "measuredAt": "2027-02-01T06:00:00Z",
      "receivedAt": "2027-02-01T06:00:55Z",
      "materialized": false,
      "source": "api:tp_abc123"
    }
  ],
  "hasMore": false,
  "nextCursor": null
}