跳至內容

處理速率限制和伺服器錯誤

收到 429 回應後退避等待,並在暫時性伺服器故障後謹慎重試安全的操作。

更新日期:

處理 429 回應

受到速率限制的請求會傳回 429 Too Many Requests,其中 detail.statusrate_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 的值。自動重試應限定為少量次數,達到上限後停止並回報故障,以便檢查。