Skip to main content

エラーレスポンスの形式

APIエラー時は、以下の形式でエラー情報が返されます。

HTTPステータスコード

400 Bad Request

リクエストの前提条件が満たされていない場合に返されます。フィールドの入力値そのものの不備(必須・型・桁数など)は400ではなく422になります。
対処方法: error.message を確認し、設定状態や指定値を修正してから再実行してください。

401 Unauthorized

認証に失敗しました。レスポンスの error.code は常に unauthorized で、失敗の原因は message で示されます。
対処方法: Authorization: Bearer {api_key} ヘッダーが正しく付与されているか、管理画面でAPIキーが有効か確認してください。無効化されている場合は再発行してください。

403 Forbidden

リソースへのアクセス権限がありません。
対処方法: ライセンス制のファネルなど、APIからの操作が制限されているリソースの場合に発生します。対象リソースの権限を確認してください。

404 Not Found

指定されたリソースが見つかりません。
対処方法: URLに含まれるID(funnel_id, step_id, page_id等)が正しいか確認してください。

422 Unprocessable Entity

リクエストパラメータのバリデーションに失敗しました。必須項目の未指定、型の誤り、桁数超過などフィールド単位の入力不備で発生します。error.codevalidation_error で、error.details に項目ごとのエラー内容が含まれます。
対処方法: error.details の各項目を確認し、該当するリクエストパラメータを修正してください。

429 Too Many Requests

レート制限を超過しました。
対処方法: レスポンスヘッダーの X-RateLimit-Reset でリセット時刻を確認し、その時刻まで待ってからリトライしてください。
レート制限の詳細は認証を参照してください。

500 Internal Server Error

サーバー内部でエラーが発生しました。
対処方法: 時間をおいてリトライしてください。繰り返し発生する場合はサポートにお問い合わせください。

バリデーションエラーの詳細

要素構造エラー

elements方式のページでは、要素の階層ルールに違反するとバリデーションエラーになります。
正しい構造
誤った構造(エラーになる)
上記の誤った例では、elements直下にtext要素を直接配置しているためエラーになります。必ず section > row > col の階層を経由してください。

content_type変更不可

ページ作成後に content_type を変更することはできません。elements で作成したページを raw_html に変更(またはその逆)しようとすると400エラーになります。
異なるcontent_typeのページが必要な場合は、新しいページを作成してください。

ページ更新は部分更新

ページ更新APIは部分更新です。変更したいフィールドだけを送信すれば、未指定のフィールドは既存の値が維持されます(nullに上書きされることはありません)。
elements / popup_elements は配列を指定した場合のみ、その内容で全置換されます(指定しない場合は既存の要素が維持されます)。

リトライ戦略

APIエラー時の推奨リトライ戦略です。

429 Too Many Requests

X-RateLimit-Reset ヘッダーのUNIXタイムスタンプまで待ってからリトライします。

5xx サーバーエラー

指数バックオフでリトライします。 最大5回程度のリトライを推奨します。それでも解決しない場合はサポートにお問い合わせください。

リトライ不要なエラー

以下のエラーはリクエスト内容の修正が必要であり、同じリクエストをリトライしても解決しません。
  • 400 - リクエストパラメータを修正
  • 401 - APIキーを確認・再設定
  • 403 - リソースの権限を確認
  • 404 - リソースIDを確認
エラー発生時の調査には、レスポンスボディの error.codeerror.message をログに記録しておくことを推奨します。