跳轉到內容

HTTP 返回碼

本文檔概述了 Habittrade REST 和 WebSocket API 中使用的標準化 HTTP 響應格式,包括 HTTP 狀態碼和錯誤碼。這些代碼幫助開發人員和自動化系統正確解讀響應、調試問題並正確處理重試邏輯。


✅ 2XX 成功

Code含義說明
200 OK成功請求已成功處理。
201 Created資源已創建用於 POST 操作,表示已成功創建新對象(例如下單)。
204 No Content成功,無內容請求成功,但無返回內容(例如成功刪除)。

⚠️ 4XX 客戶端錯誤(您的請求問題)

這些代碼表示客戶端發送的 請求 有問題。

Code含義說明
400 Bad Request無效請求請求語法錯誤或缺少必要參數。
401 Unauthorized驗證失敗缺少或無效的身份驗證標頭(例如簽名、API 金鑰)。
403 ForbiddenWAF 限制由於 Web 應用防火牆規則或 IP 黑名單,請求被阻止。
404 Not Found找不到資源請求的端點或對象不存在。
409 Conflict部分成功取消並重下單操作中取消失敗但新訂單已接受時返回。
418 IP BannedIP 封禁由於多次 429 超限,IP 被臨時封禁。
429 Too Many Requests超出請求速率限制超過請求速率限制。Retry-After 標頭中包含重試延遲時間。

🧱 5XX 伺服器錯誤(Habittrade 問題)

這些代碼表示 Habittrade 平台的 內部錯誤。不應將其視為最終失敗,應 將訂單狀態視為未知 並通過 GET /orders/{id} 或類似接口重新確認。

Code含義說明
500 Internal Server Error伺服器故障後端出現一般錯誤。請重試或手動確認訂單狀態。
502 Bad Gateway上游錯誤我們的後端或撮合引擎可能暫時無法使用。
503 Service Unavailable服務不可用伺服器負載過重或維護中。請重試並進行退避。
504 Gateway Timeout超時伺服器未及時從上游組件收到響應。

🚧 重試與備援最佳實踐

情境建議處理
429418指數退避。遵循 Retry-After 標頭中的延遲時間。
5XX等待 1-3 秒後重試。使用 GET /orders/{id} 確認狀態。
409視為 部分成功。需要檢查兩個訂單 ID。
經常出現 403檢查您的 IP 是否被 WAF 阻擋。聯繫技術支援。

🚨 錯誤碼

當 API 請求發生異常時,系統將在 HTTP 響應正文(Response Body) 中返回結構化的錯誤訊息,其中包含以下關鍵字段:

  • code: 錯誤碼,請參閱下表
  • message: 簡短錯誤描述訊息

範例:

json
{
  "code": 10010008,
  "message": "Signature verification failed"
}
HTTP狀態碼錯誤碼Message描述
2XX0Successful請求已成功處理且無任何錯誤
40510010000Method Not Allowed請求使用的HTTP方法不被允許,或使用了錯誤的ContentType
40010010001Invalid argument(s)請求中提供的一個或多個參數無效或缺失
40010010002The connection was not accepted because it is not a WebSocket request因不符合WebSocket協議要求,連接請求已被拒絕
40010010004Authenticate failed因未明確原因導致身分驗證失敗,請檢查憑證及驗證流程
40110010005Missing required headers請求缺少必要的驗證標頭,請檢查驗證流程中的必需標頭
40110010006Invalid timestamp請求中的時間戳無效或超出可接受時間範圍
40110010007Invalid API Key提供的API金鑰無效或不存在
40110010008Signature verification failed提供的簽名與預期不匹配,請檢查驗證流程是否合規
40410010011Resource not found請求的資源不存在,或請求路徑有誤
50010010012Internal server error伺服器處理請求時發生未預期錯誤
50010010013Internal server error, wrong http status伺服器處理請求時發生異常,導致返回錯誤HTTP狀態碼
40110010015The client's IP address is not in the whitelist已啟用IP白名單,當前調用IP不在白名單內
42910010017Too many requests請求過於頻繁或超出配額限制

🧪 UAT 測試環境

在 UAT 環境 (https://api-uat.habittrade.com) 中,某些錯誤響應可能被 模擬 以便測試您的客戶端錯誤處理邏輯。請參考測試部分了解如何故意觸發每種錯誤。