Skip to content

APIのエラーと応答

この参考記事では、Braze APIの使用中に発生する可能性のあるさまざまなエラーとサーバー応答、およびそれらのトラブルシューティング方法について説明します。

サーバーの応答

POSTペイロードがサーバーで受理された場合、成功メッセージには以下の応答が返されます:

1
2
3
{
  "message" : "success"
}

成功とは、RESTful APIのペイロードが正しく形成され、プッシュ通知やメール、その他のメッセージングサービスに渡されたことのみを意味します。メッセージが実際に配信されたことを意味するわけではありません。追加の要因によって配信が妨げられる可能性があるためです(例えば、デバイスがオフライン状態である場合、プッシュトークンがAppleのサーバーによって拒否される場合、あるいは不明なユーザー IDが提供された場合など)。

/users/identifyのようなメッセージを送信しないエンドポイントの場合、成功メッセージは単にBrazeが処理リクエストを受信したことを意味します。処理後にエイリアスに一致するものが存在しない場合、リクエストは停止されます。

メッセージの送信が成功したが、致命的ではないエラーが発生した場合、以下の応答が返されます:

1
2
3
{
  "message" : "success", "errors" : [<minor error message>]
}

成功した場合、errors配列内のエラーの影響を受けなかったメッセージはすべて配信されます。メッセージに致命的なエラーがある場合、以下の応答を受け取ります:

1
2
3
{
  "message" : <fatal error message>, "errors" : [<minor error message>]
}

追跡された送信 ID に対する応答

分析は常にキャンペーンで利用できます。さらに、キャンペーンがブロードキャストとして送信された場合、特定のキャンペーン送信インスタンスに対して分析が利用できます。特定のキャンペーン送信インスタンスに対してトラッキングが利用可能な場合、以下の応答を受け取ります:

1
2
3
{
  "message": "success", "send_id" : "example_send_id"
}

指定された送信 ID は、/send/data_series エンドポイントのパラメーターとして使用して、送信固有の分析を取得できます。

エラー

サーバー応答のステータスコード要素は3桁の数字であり、コードの最初の桁が応答のクラスを定義します。

  • 2XX クラスのステータスコード(致命的ではない)は、リクエストが正常に受信され、理解され、受け入れられたことを示します。
  • 4XX クラスのステータスコード(致命的)は、クライアントエラーを示します。4XXエラーコードの全リストと説明については、致命的エラーチャートを参照してください。
  • 5XX クラスのステータスコード(致命的)は、サーバーエラーを示します。考えられる原因はいくつかあります。たとえば、アクセスしようとしているサーバーがリクエストを実行できない、サーバーがメンテナンス中でリクエストを実行できない、サーバーのトラフィックが高いレベルになっているなどです。このような場合、エクスポネンシャルバックオフでリクエストを再試行することを推奨します。インシデントまたは停止が発生した場合、Braze はインシデント期間中に失敗した REST API 呼び出しを再実行することはできません。インシデント期間中に失敗した呼び出しはすべて再試行する必要があります。
    • 502 エラーは、送信先サーバーに到達する前に発生した失敗です。
    • 503 エラーは、リクエストが送信先サーバーに到達したが、十分な容量がない、ネットワークに問題がある、または同様の理由でリクエストを完了できないことを意味します。
    • 504 エラーは、サーバーが上流の別のサーバーから応答を受信しなかったことを示します。

致命的なエラー

リクエストが致命的なエラーに遭遇した場合、以下のステータスコードと関連するエラーメッセージが返されます。

New Stuff!