SocialGO

APIエラー、リトライ、冪等性の扱い方

一時的なエラーはバックオフを入れてリトライし、恒久的なエラーは早めに失敗させ、冪等性を使って二重請求を防ぎましょう。

APIと開発者1分で読めます

うまくいく道筋だけでなく、失敗を前提に設計しましょう。最も危険なのは曖昧なケースです。接続が切れる前に、成功したかもしれないし、しなかったかもしれないリクエストです。

注文リクエストに冪等性キー(idempotency key)を使えば、タイムアウト後の安全なリトライで、重複した請求を作る代わりに既存の注文が返されます。一時的なエラー(レート制限、一時的な5xx)は、増加するバックオフと上限を設けてリトライしてください。

不正なリクエストや残高不足のような恒久的なエラーは早めに失敗させ、人に見えるようにしましょう。それらをリトライしても時間の無駄です。後で照合できるよう、すべてのリクエストとレスポンスを注文IDとともに記録してください。

この記事は役に立ちましたか?

関連記事

まだ解決しませんか?

お探しのものが見つかりませんか?私たちのチームが喜んでお手伝いします。

平均返信時間は短めです。ほとんどのリクエストは当日中に最初の返信が届きます。

ヘルプセンターに戻る