ナビゲーション

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 キーが未知、または署名付き URL の署名が間違っている しません。リクエストを修正してください
FETCH_IMAGE_ERROR 400 Bannerify が画像をダウンロードまたは読み込みできなかった 画像の URL を修正したあと
FORBIDDEN 403 ワークスペースのプランに、Free プランや Automate プランでの s3Config のような機能が含まれていない しません。フィールドを削除するか、プランを変更してください
NOT_FOUND 404 テンプレートが存在しない しません。テンプレート ID を修正してください
USAGE_EXCEEDED 500 ワークスペースが 1 日または 1 か月の生成上限に達した 上限がリセットされたあと、またはアップグレードしたあと
RATE_LIMITED 500 API キーが、createImage または署名付き URL に、リクエストを送りすぎた メッセージに書かれたリセット時刻のあと
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 の URL の画像が失敗する 高速なホストにある小さいファイルを使ってください。詳しくは FETCH_IMAGE_ERROR を参照してください
JPEG や WebP の出力がぼやける quality を上げてください。既定値は 90 で、png では無視されます
同じリクエストを繰り返して上限に達する 結果を保存して再利用するか、キャッシュから最長 7 日間返される署名付き URLを使ってください

サポートを受ける

原因がわからない場合は、an@bannerify.co にご連絡いただくか、Discord でお尋ねください。エラーレスポンス全体、特に requestId を含めてください。