TracePass
Passaporti

Cronologia delle misurazioni

Restituisce la cronologia completa delle misurazioni per un passaporto della batteria, dalla più recente (per `measuredAt`). Ogni voce è un oggetto `PassportMeasurement` con `_id`, `passportId`, `fieldKey`, `value`, `measuredAt`, `receivedAt`, `externalId?`, `unit?`, `materialized` (se questa voce è diventata il valore corrente del campo nel passaporto) e `source`. **Solo passaporti della batteria** — un passaporto non relativo a una batteria restituisce 422 `not_a_battery`.

GET/api/v1/passports/{id}/measurements
Scarica OpenAPI 3.1
GET/api/v1/passports/{id}/measurements

Cronologia delle misurazioni

Restituisce la cronologia completa delle misurazioni per un passaporto della batteria, dalla più recente (per `measuredAt`). Ogni voce è un oggetto `PassportMeasurement` con `_id`, `passportId`, `fieldKey`, `value`, `measuredAt`, `receivedAt`, `externalId?`, `unit?`, `materialized` (se questa voce è diventata il valore corrente del campo nel passaporto) e `source`. **Solo passaporti della batteria** — un passaporto non relativo a una batteria restituisce 422 `not_a_battery`.

Filtrare con `?fieldKey=<key>` per un campo specifico, `?from=<ISO 8601>` e `?to=<ISO 8601>` per limitare la finestra temporale su `measuredAt`. La dimensione della pagina si controlla con `?limit` (1–200, default 50). Paginare con `?cursor=<nextCursor>` — passare il valore `nextCursor` dalla risposta della pagina precedente esattamente come restituito; è opaco e non si deve fare affidamento sul suo formato interno. La risposta contiene `hasMore: true` e un `nextCursor` non nullo quando esistono altri risultati; `hasMore: false` indica l'ultima pagina.

Una forma alternativa di indirizzamento è disponibile su `GET /api/v1/passports/by-serial/{serial}/measurements` con gli stessi parametri di query e la stessa forma di risposta. Se un numero di serie non è univoco nel proprio account, aggiungere `?gtin=<gtin>` per disambiguare. Sola lettura; scope OAuth: `passports:read`.

Parametri di percorso

  • idobbligatorio

    ObjectId

    ID del passaporto.

Parametri di query

  • fieldKey

    string

    Filtra per un singolo campo (es. `stateOfHealth`).

  • from

    string (ISO 8601)

    Restituisce misurazioni con `measuredAt` ≥ a questo valore.

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

  • to

    string (ISO 8601)

    Restituisce misurazioni con `measuredAt` ≤ a questo valore.

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

  • limit

    integer

    Dimensione della pagina (1–200, default 50).

  • cursor

    string

    Il valore `nextCursor` dalla risposta della pagina precedente. Opaco — passarlo così com'è; non analizzarne né costruirne il formato.

Header

  • Authorizationobbligatorio

    string

    `Bearer <token>` — una chiave API `tp_` (Developer → API Keys; più semplice, per server-to-server) oppure un access token OAuth 2.0 (Developer → OAuth Apps; per app autorizzate dall'utente, scoped e revocabili). La pagina Authentication contiene il flusso OAuth completo e l'elenco degli scopes.

    e.g. Bearer tp_REDACTED_xxxxxxxxxxxx

Richiesta

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

Risposta

{
  "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
}