Skip to main content

Choisir la bonne procédure de reprise

Le même code d’erreur décrit deux situations différentes. Vérifiez retryable avant d’agir ; le statut HTTP seul ne permet pas de savoir s’il faut réessayer.

Données différentes

Requête toujours en cours de traitement

Cet exemple comporte également l’en-tête de réponse HTTP Retry-After: 1.

Conserver une identité de nouvelle tentative stable

Pour les opérations qui documentent l’idempotence, la clé est limitée à l’organisation, au compte de service, à la méthode HTTP, au chemin de la ressource et à la version d’API résolue. La modification de l’un de ces éléments crée une identité de nouvelle tentative différente ; elle ne permet pas de récupérer l’opération d’origine. La rotation d’un identifiant au sein du même compte de service ne modifie pas cette identité, bien que l’identifiant de remplacement doive toujours disposer des autorisations nécessaires. Conservez la clé, le corps, le chemin et la version d’origine lors d’une reprise après un délai d’attente dépassé. Ne générez pas une nouvelle clé simplement pour contourner un conflit : l’écriture d’origine a peut-être déjà abouti. Récupérez la ressource lorsque son ID est connu et appliquez la procédure de reprise documentée pour l’opération. Une relecture terminée comporte Idempotent-Replayed: true lorsque l’opération documente la relecture des réponses. L’envoi d’un en-tête Idempotency-Key ne rend pas une opération idempotente, sauf si sa référence prend explicitement en charge cet en-tête. La protection contre les nouvelles tentatives est limitée par la politique de rétention de l’opération ; elle ne constitue pas une garantie permanente contre les doublons. Si le traitement reste non résolu, contactez le Support de Living Security en indiquant request_id, l’horodatage UTC, la méthode, le chemin et la version d’API. N’incluez jamais de clé d’API, de secret client ni de jeton d’accès.