導覽

API 文件

處理錯誤

了解 Bannerify API 如何回報錯誤,以及遇到各個錯誤代碼時該怎麼做。

請求失敗時,API 會回傳含有 error 物件的 JSON 內文,取代檔案。

{
  "error": {
    "code": "BAD_REQUEST",
    "message": "Invalid api key",
    "docs": "https://bannerify.co/docs/api-reference/errors/code/BAD_REQUEST",
    "requestId": "req:1a2b3c4d5e6f7a8b"
  }
}
欄位 說明
code 代表錯誤種類的穩定代碼。請依這個欄位分支處理
message 說明哪裡出錯的一句話
docs 該錯誤代碼頁面的連結
requestId 請求的 ID。X-Request-Id 回應標頭帶有相同的值

請依 error.code 分支處理。HTTP 狀態可能會出乎你的意料:USAGE_EXCEEDED 和 RATE_LIMITED 都是以狀態 500 回傳。

錯誤代碼

代碼 狀態 意義 是否重試
BAD_REQUEST 400 欄位無效、API 金鑰未知,或簽署網址的簽章錯誤 否。請修正請求
FETCH_IMAGE_ERROR 400 Bannerify 無法下載或讀取圖片 修正圖片網址之後
FORBIDDEN 403 工作區的方案不包含該功能,例如 Free 或 Automate 方案的 s3Config 否。請移除該欄位或變更方案
NOT_FOUND 404 範本不存在 否。請修正範本 ID
USAGE_EXCEEDED 500 工作區已達到每日或每月的生成上限 上限重設之後,或升級之後
RATE_LIMITED 500 API 金鑰傳送了過多的 createImage 或簽署網址請求 訊息中的重設時間之後
TOO_MANY_REQUESTS 400 API 金鑰傳送了過多的 PDF 或已儲存檔案請求 訊息中的重設時間之後
INTERNAL_SERVER_ERROR 500 處理請求時發生失敗 是。稍待片刻後重試幾次

渲染失敗不會計入你的配額。

API 沒有 UNAUTHORIZED 代碼。未知的 API 金鑰會回傳 BAD_REQUEST。

常見問題

問題 處理方式
請求以 INTERNAL_SERVER_ERROR 失敗,但沒有渲染錯誤 請傳送 Content-Type: application/json 標頭和有效的 JSON 內文。缺少標頭、JSON 格式錯誤或內文為空,都會以這個代碼失敗
modifications 項目中的值沒有改變 不存在的圖層名稱會被忽略,也不會顯示錯誤。請到 Modifications 檢查拼字
format 驗證失敗 請使用小寫的 png、jpeg 或 webp。jpg、JPEG 和 svg 無效
大型範本需要很長的渲染時間 API 會在請求等待期間進行渲染。請調高 HTTP 用戶端的逾時時間。SDK 預設等待 60 秒
來自 src 網址的圖片失敗 請使用放在高速主機上的較小檔案,並參閱 FETCH_IMAGE_ERROR
JPEG 或 WebP 輸出看起來模糊 請調高 quality。預設值是 90,png 會忽略這個參數
重複的請求達到上限 請把結果儲存下來重複使用,或使用簽署網址,快取最多可以提供它 7 天

取得協助

如果找不到原因,請寫信給 an@bannerify.co,或到 Discord 詢問。請附上完整的錯誤回應,尤其是 requestId。