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 |
レート制限を超えています。 |