Vai al contenuto
TrimCarbon API
Esc
↑↓naviga↵apri⌘Janteprima
In questa pagina

Idempotenza

Ripeta un acquisto in sicurezza, senza acquistare due volte.

Dopo un errore di rete, potrebbe non sapere se un acquisto è andato a buon fine. Per questo ogni POST /offsets richiede un’intestazione Idempotency-Key: un valore univoco per ogni acquisto, ad esempio un UUID.

Idempotency-Key: 7f8d0c6e-2b1a-4e9f-9d3c-5a6b7c8d9e0f

Cosa succede quando riprova

Cosa invia Cosa riceve
Una nuova chiave Un nuovo acquisto (201).
La stessa chiave e lo stesso corpo Di nuovo il primo acquisto (201), con Idempotent-Replayed: true. Nulla viene acquistato due volte.
La stessa chiave e un corpo diverso 409 idempotency_key_reused. Usi una nuova chiave per un nuovo acquisto.

La replica restituisce l’acquisto nel suo stato attuale, quindi il campo status potrebbe essere già passato da processing a placed.

Da sapere

  • Le chiavi contengono da 1 a 255 caratteri ASCII stampabili e le conserviamo in modo permanente, separatamente per ciascuna modalità.
  • L’ordine delle chiavi nel corpo e gli spazi non contano: {"kg":1,"reference":"a"} e { "reference": "a", "kg": 1 } sono la stessa richiesta.
  • Un acquisto non riuscito (ad esempio 402 insufficient_balance o un errore di validazione) non registra nulla. Dopo una ricarica, può riprovare con la stessa chiave.
  • Due richieste con la stessa chiave nello stesso istante sono sicure: una effettua l’acquisto, l’altra riceve la replica.

Questa pagina Le è stata utile?