IOSOR Guides

Limites d’API du pilote à la production : backoff sans brûler le prepaid

Limites pilote et production, backoff exponentiel, idempotence, clés sandbox versus production, et fenêtre de replay webhook bornée — pour que les retries ne vident pas le portefeuille prepaid.

Un 429 n’invite pas à marteler l’API d’envoi jusqu’à ce que ça passe. En prepaid, une tempête de retry est un événement de portefeuille : OTP en double, alertes empilées, lignes de ledger non appariées. Les limites existent pour que produit, ingénierie et finance partagent un plafond. Du pilote à la production n’est pas « retirer le cap » — limites contractées, backoff qui respecte l’idempotence, clés sandbox et production séparées, et une fenêtre de replay webhook qui ne double-débite pas. Voir idempotence, retries et argent.

IOSOR est prepaid white-label : appels authentifiés, débits corrélables, erreurs sûres pour le client qui ne déversent jamais de charges d’une autre marque.

Les limites protègent le prepaid, ce n’est pas un bug

Les limites bornent combien d’intents acceptés frappent le portefeuille par fenêtre — pas combien de tentatives TCP a faites le répartiteur. Documentez la fenêtre (par clé, compte, classe de destination), le code et Retry-After. Un client qui traite 429 comme « essaie plus fort » court contre la finance. Exportez les rejets de limite à côté des débits réussis.

Backoff sans second débit : limites avec idempotence

Un backoff exponentiel sans clé d’idempotence, c’est comment un réseau instable devient deux OTP. La clé est unique par intent métier, pas par tentative TCP, et renvoie le même résultat accepté dans un TTL clair. Le renvoi utilisateur est une autre action produit avec sa propre limite. Le stop solde bas s’applique : un retry ne doit pas percer un portefeuille vide.

Limites pilote versus production

Les clés pilote doivent être plus serrées : bas volume, visibilité rapide, erreurs bon marché. Les limites production sont contractées pour les corridors que vous faites vraiment tourner. Lever un plafond est un changement de compte avec un propriétaire. Les tests de charge appartiennent aux clés sandbox ; une clé production dans un soak brûle du prepaid.

Clés et replay webhook dans le même cutover

Les limites d’envoi ne sauvent pas si le consommateur webhook traite deux fois un DLR. Cutover : geler le trafic sandbox, émettre les clés production, pointer les webhooks vers les consommateurs production, vérifier les signatures, borner la fenêtre de replay, puis un intent réel. Un callback rejoué à 02:00 doit être un no-op, pas un second débit.

Signaux d’alerte

  • « Retry jusqu’à 200 » sans clé d’idempotence
  • 429 traité comme un 200 mou
  • Clé production dans un test de charge ou URL webhook sandbox en production
  • Fenêtre de replay mesurée en semaines, ou callbacks non signés « pour le pilote »
  • Renvoi utilisateur mêlé au budget d’auto-retry
  • Erreurs client qui déversent des codes bruts d’amont

Commencer avec IOSOR

Notez la fenêtre de limite — par clé, compte ou classe de destination — et le Retry-After que vous honorerez. Forcez un 429, reculez, puis réessayez la même intention avec la même Idempotency-Key. Le ledger doit montrer un débit. Remplacez la clé sandbox par la clé production avant de lever un plafond.

À retenir — IOSOR

Faites : traitez le 429 comme une pause avec Retry-After, pas comme un succès mou. Associez chaque backoff à la clé d’origine pour que prepaid voie une intention acceptée.

Ne faites pas : lever les limites production sur une clé de test de charge, ni marteler jusqu’à 200 sans clé jusqu’à ce que le portefeuille ressemble à un usage en trop.

Ce guide vous a-t-il aidé ?

Guides associés