Skip to content

API エラーとレスポンス

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

サーバーレスポンス

お客様の POST ペイロードがサーバーで受け入れられた場合、成功したメッセージには次の応答が返されます。

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

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

メッセージは正常に送信されたが、致命的ではないエラーがあった場合は、次の応答が返されます。

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 クラスのステータスコード (致命的ではない) は、リクエストが正常に受信され、理解され、受け入れられたことを示します。
  • ステータスコード (fatal) の 4XX クラスはクライアントエラーを示します。4XX エラーコードとその説明の完全なリストについては、フェイタルエラー表を参照してください。
  • ステータスコード (fatal) の 5XX クラスはサーバーエラーを示します。原因としては、アクセスしようとしているサーバーがリクエストを実行できない、サーバーがメンテナンス中でリクエストを実行できない、サーバーのトラフィック量が多いなどの原因が考えられます。このような場合は、エクスポネンシャルバックオフを使用してリクエストを再試行することをお勧めします。インシデントまたは障害が発生した場合、Braze はインシデント期間中に失敗した REST API 呼び出しを再生できません。インシデント期間中に失敗したコールはすべて再試行する必要があります。

致命的なエラー

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

エラーコード 説明  
5XX Internal Server Error エクスポネンシャルバックオフを使用してリクエストを再試行してください。  
400 Bad Request 構文が間違っています。  
400 No Recipients リクエストに外部IDやセグメントID、またはプッシュトークンはありません。  
400 Invalid Campaign ID 指定されたキャンペーン ID のメッセージング API キャンペーンが見つかりませんでした。  
400 Message Variant Unspecified キャンペーン ID は指定しますが、メッセージバリエーション ID は指定しません。  
400 Invalid Message Variant 有効なキャンペーン ID を指定しましたが、メッセージバリエーション ID がそのキャンペーンのどのメッセージとも一致しません。  
400 Mismatched Message Type 少なくとも 1 つのメッセージについて、間違ったメッセージタイプのメッセージバリエーションを指定しました。  
400 Invalid Extra Push Payload extra apple_push android_push またはのどちらかにキーを指定しますが、辞書ではありません。  
400 Max Input Length Exceeded /users/track エンドポイントにヒットしたときに75を超える外部IDを呼び出すことが原因です。  
400 The max number of external_ids and aliases per request was exceeded 50 個を超える外部 ID を呼び出したことが原因です。  
400 The max number of ids per request was exceeded 50 個を超える外部 ID を呼び出したことが原因です。  
400 No message to send メッセージにペイロードが指定されていません。  
400 Slideup Message Length Exceeded スライドアップメッセージは 140 文字を超えています。  
400 Apple Push Length Exceeded JSON ペイロードが 1,912 バイトを超えています。  
400 Android Push Length Exceeded JSON ペイロードが 4,000 バイトを超えています。  
400 Bad Request send_at 日時を解析できません。  
400 Bad Request あなたのリクエストでは、in_local_timeは本当ですがtime、あなたの会社のタイムゾーンでは過ぎています。  
401 Unauthorized API キーが無効です。  
403 Forbidden   料金プランがサポートされていないか、アカウントが無効になっています。
403 Access Denied 使用しているREST APIキーには十分な権限がありません。設定ページでAPIキーの権限を確認してください  
404 Not Found 不明なREST APIキーです。  
429 Rate Limited レート制限を超えています。  
「このページはどの程度役に立ちましたか?」
New Stuff!