跳轉到主要內容
GraphQL 回應會針對成功、應用程式層級的錯誤,以及型別與宣告不符的變數(BAD_USER_INPUT)使用 HTTP 200。請查看 errors 陣列以了解實際發生的狀況。其他在執行前就被拒絕的請求則會使用其他狀態碼,例如超過請求速率時的 429,以及查詢不符合綱要或超過查詢成本限制時的 400(搭配 GRAPHQL_VALIDATION_FAILED)。無法解析或超過 token 限制的查詢,會得到 500 並搭配相同的 GRAPHQL_VALIDATION_FAILED 代碼。這是被拒絕的查詢,而不是伺服器錯誤,因此請勿重試。

錯誤結構

錯誤代碼依領域劃分命名空間:
  • AUTH-*:身分驗證與權杖相關問題
  • BS-*:一般商業/驗證相關錯誤
  • GC-*:禮品卡相關操作
  • VC-*:虛擬卡相關操作

領域錯誤代碼

Fluz 使用帶前綴的錯誤代碼,讓你可以根據發生錯誤的子系統進行分支處理。 不在此清單中的代碼,會以一般驗證或伺服器錯誤的形式呈現。

疑難排解

  1. 檢查 AUTH-* 的權限範圍。 這幾乎都代表權杖在核發時未包含必要的權限範圍;請核發一個新的權杖。
  2. AUTH-0002重新查詢後再重試 GC-*。 優惠和庫存經常變動,請取得最新優惠後再重試。
  3. 重試商業錯誤前請先重新查詢。 GC-0009(庫存)之類的錯誤代表狀況已經改變,不要用過時的請勿重試驗證類錯誤。 VC-* 與 BS-* 代碼具有類似 4xx 的性質,在你修正輸入內容或餘額之前重試也只會得到一樣的失敗結果。
  4. 使用退避與抖動重試暫時性的伺服器錯誤使用抖動重試 5xx 或網路錯誤。 涉及資金移動的 mutation 會進行去重複處理;請參閱冪等性。