TracePass
Passaporti

Impostare i flag di classificazione condizionale

Scrive uno o più condition flag su un passaporto. Il corpo della richiesta è `Record<flagKey, boolean | null>` — `true` o `false` imposta il flag; `null` lo cancella. Vengono accettate solo le chiavi registrate per la categoria del passaporto; chiavi sconosciute restituiscono 400 con le chiavi valide per quella categoria.

PATCH/api/v1/passports/{id}/condition-flags
Scarica OpenAPI 3.1
PATCH/api/v1/passports/{id}/condition-flags

Impostare i flag di classificazione condizionale

Scrive uno o più condition flag su un passaporto. Il corpo della richiesta è `Record<flagKey, boolean | null>` — `true` o `false` imposta il flag; `null` lo cancella. Vengono accettate solo le chiavi registrate per la categoria del passaporto; chiavi sconosciute restituiscono 400 con le chiavi valide per quella categoria.

**Attenzione: approvare un flag può rendere obbligatori campi precedentemente facoltativi.** Per i passaporti delle batterie, `hasBMS: true` attiva i campi BMS dell'Allegato XIII 4(b); `rechargeable: true` attiva i campi di ciclo di carica e state-of-health ai sensi dell'art. 10, par. 1; `isStationaryBess: true` attiva i campi dell'Allegato VII Parti A e B. Se il passaporto è già pubblicato e quei campi sono vuoti, il successivo controllo di conformità solleverà finding critici `conditional_missing` — **compilare quei campi prima o immediatamente dopo aver impostato il flag**, altrimenti la ripubblicazione fallirà.

Le scritture v1 sono predefinite a `status: "approved"` (integrazione fidata). Ogni modifica a un flag viene scritta nel registro di audit interno del flag con `"via API key <prefix>"`. Il registro di audit completo è visibile nella dashboard ma rimosso da questa risposta. Supporta `Idempotency-Key`. Una forma alternativa di indirizzamento è disponibile su `PATCH /api/v1/passports/by-serial/{serial}/condition-flags` con le stesse forme di corpo e risposta. Conta come una scrittura v1 rispetto al limite giornaliero.

Parametri di percorso

  • idobbligatorio

    ObjectId

    ID del passaporto.

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

  • Idempotency-Key

    string

    Chiave di idempotenza opzionale (UUID v4 o qualsiasi stringa opaca ≤ 64 caratteri). Stessa chiave + stesso corpo riproduce la risposta cached per 24 h.

Richiesta

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}'

Risposta

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