跳到內容

開放平台 API 錯誤與限制

開放平台 API 的錯誤回應主體與模型介面不同:結果由 HTTP 狀態碼表達,JSON 主體固定包含 success,失敗時另帶機器可讀的 code。

成功時回傳 HTTP 200:

{
"success": true,
"message": "",
"data": {}
}

失敗時使用真實的 HTTP 狀態碼,回應主體帶有機器可讀的 code:

{
"success": false,
"message": "管理金鑰無效",
"code": "invalid_token"
}

message 是在地化的提示文案,可能隨版本調整,程式判斷請使用 HTTP 狀態碼和 code。

HTTPcode情境
400invalid_request參數不合法,如金額越界、建立時名稱為空或過長、status 取值不是 1 / 2、啟用的 Key 仍過期或用盡、過期時間不合法、分頁或時間範圍不合法、query 含未編碼的 ;
401invalid_token缺少 Authorization 標頭、格式錯誤、金鑰不存在或已刪除
401token_expired管理金鑰已過期
401token_revoked管理金鑰已撤銷(僅存量金鑰;新建金鑰只能刪除)
403user_disabled管理金鑰所屬使用者已被停用
403insufficient_scope管理金鑰缺少本介面所需的權限
404not_foundAPI Key 不存在或不屬於你(兩者不區分);或 /api/open/v1 下不存在的路徑
405method_not_allowed路徑存在,但不支援該 HTTP 方法
429rate_limited超過每個管理金鑰的頻率限制
500internal_error伺服器錯誤,不回傳內部細節

/api/open/v1 下未知路徑回傳 404,方法寫錯回傳 405,兩者都使用上面的統一錯誤體;code 可用於區分「換個方法重試」還是「路徑或參數寫錯了」。

範圍限制適用介面超限回應
每個管理金鑰120 次/分鐘全部開放平台 API429,code 為 rate_limited
每個使用者30 次/分鐘(預設)帳戶日誌、匯出日誌、用量統計、按模型統計、按 Key 統計429,回應主體可能為空
每個用戶端 IP180 次/180 秒(預設)全部 /api 介面共用429
每個用戶端 IP100 次/20 分鐘(預設)敏感介面,如 取得完整 API Key429,回應主體可能為空

請依 HTTP 狀態碼處理限流。遇到 429 時請降低頻率並稍後重試。

模型介面使用另一套錯誤結構和限流規則,見常見錯誤。