Skip to main content
Sur Internet, une requête peut échouer après avoir réussi : votre serveur ne reçoit jamais la réponse, et réessaie. Sans protection, vous créeriez deux produits, deux codes promo ou deux liens de paiement. L’en-tête Idempotency-Key règle ce problème : vous donnez à l’opération un identifiant unique, et Pulse-Sell garantit qu’elle n’est exécutée qu’une seule fois, quel que soit le nombre d’envois.

Règles

  • S’applique à toutes les requêtes POST.
  • La clé fait de 8 à 128 caractères parmi lettres, chiffres, _, -, : et .. Un UUID convient très bien.
  • Elle est conservée 24 heures par clé d’API.
  • Rejouer la même requête avec la même Idempotency-Key renvoie la même réponse, avec l’en-tête Idempotent-Replayed: true, sans rien refaire.
  • Seules les réponses de succès (2xx) sont mémorisées : si la première tentative échoue, vous pouvez réessayer avec la même clé.

Cas particuliers

Deux requêtes simultanées avec la même clé ne s’exécutent jamais toutes les deux.

Comment choisir la clé

Dérivez la clé de l’action : order-4521-checkout. Si votre système réessaie pour la même commande, la clé est identique, et le doublon est impossible.
Les requêtes GET, PATCH et DELETE n’ont pas besoin de clé : les lire ou les répéter ne crée rien de nouveau.