處理速率限制和伺服器錯誤
收到 429 回應後退避等待,並在暫時性伺服器故障後謹慎重試安全的操作。
更新日期:
處理 429 回應
受到速率限制的請求會傳回 429 Too Many Requests,其中 detail.status 為 rate_limit_exceeded。重試前請檢查回應標頭:
Retry-After表示遭拒請求至少應等待的秒數。X-RateLimit-Limit表示限流桶的上限。X-RateLimit-Remaining表示剩餘可用請求數。X-RateLimit-Reset表示限流桶的重設時間。
先等待 Retry-After 指定的時間,再使用指數退避和隨機抖動重試。減少平行請求,並將工作排入佇列,不要在時間視窗重設後立即集中傳送大量請求。
處理伺服器錯誤
對於 500 回應,公開回應主體包含一般性錯誤和 request_id,不會傳回內部例外狀況詳細資料。503 可能表示所需服務暫時無法使用。
對唯讀請求使用有上限的退避重試。在重試建立、更新、付款或其他改變狀態的請求前,先確認第一次嘗試是否已完成。逾時或 5xx 回應不能證明操作失敗,立即重試可能造成重複操作。
保留診斷資料
記錄時間戳記、方法、路徑、狀態、回應主體和 X-Request-Id。切勿記錄 x-api-key 的值。自動重試應限定為少量次數,達到上限後停止並回報故障,以便檢查。