Aller au contenu
TrimCarbon API
Esc
↑↓naviguer↵ouvrir⌘Japerçu
Sur cette page

Idempotence

Réessayez un achat en toute sécurité, sans acheter deux fois.

Après une erreur réseau, vous ne savez pas toujours si un achat a abouti. C’est pourquoi chaque requête POST /offsets exige un en-tête Idempotency-Key : une valeur unique par achat, par exemple un UUID.

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

Ce qui se passe en cas de nouvelle tentative

Vous envoyez Vous recevez
Une nouvelle clé Un nouvel achat (201).
La même clé et le même corps Le premier achat, à nouveau (201), avec Idempotent-Replayed: true. Rien n’est acheté deux fois.
La même clé et un corps différent 409 idempotency_key_reused. Utilisez une nouvelle clé pour un nouvel achat.

La réponse rejouée renvoie l’achat dans son état actuel : son status peut donc être passé de processing à placed.

Bon à savoir

  • Une clé compte de 1 à 255 caractères ASCII imprimables. Nous conservons les clés définitivement, pour chaque mode.
  • L’ordre des clés et les espaces dans le corps n’ont pas d’importance : {"kg":1,"reference":"a"} et { "reference": "a", "kg": 1 } sont la même requête.
  • Un achat qui échoue (par exemple avec 402 insufficient_balance ou une erreur de validation) n’enregistre rien. Après avoir approvisionné votre solde, vous pouvez réessayer avec la même clé.
  • Deux requêtes simultanées avec la même clé ne posent aucun problème : l’une effectue l’achat, l’autre reçoit la réponse rejouée.

Cette page vous a-t-elle été utile ?