クラウドAPIはグラフAPIをベースに構築されています。グラフAPIエラー応答の処理に精通していない場合は、グラフAPIのエラーの処理に関するドキュメントをご覧ください。
一般に、code
値とdetails
ペイロードのプロパティに基づいてアプリのエラー処理ロジックを構築することをおすすめします。これらのプロパティとその値は、根本的なエラーを示します。
コードタイトルにAPIエラー応答ペイロード専用のプロパティはなく、コードタイトルはmessage
値の一部に含まれています。ただし、タイトルは最終的に廃止されるため、タイトルに頼ったエラー処理ロジックにはしないことをおすすめします。
クラウドAPIエラーは、グラフAPI応答として同期的に返されるか、Webhook経由で非同期的に返されます。また、両方の方法で返される場合もあります。
Cloud APIで作業する際には、Graph API応答とmessages
Webhookの両方でエラー処理をモニタリングするのが良い方法です。messages
Webhookフィールドをサブスクリプション登録している場合は、サポートされている非同期エラータイプのエラーが発生したときに通知を受け取ります。
クラウドAPIのエラーは、以下のWebhooksオブジェクトで見られます。
クラウドAPI
entry.changes.value.errors
entry.changes.value.messages.errors
オンプレミスAPI
errors
エラー応答の構文
{ "error": { "message": "<MESSAGE>", "type": "<TYPE>", "code": <CODE>, "error_data": { "messaging_product": "whatsapp", "details": "<DETAILS>" }, "error_subcode": <ERROR_SUBCODE> "fbtrace_id": "<FBTRACE_ID>" } }
プロパティ | 値の型 | 説明 |
---|---|---|
| 整数 | エラーコード。アプリのエラー処理は、サブコードやHTTP応答ステータスコードではなく、エラーコードに基づいて構築することをおすすめします。 |
| 文字列 | エラーの説明と、考えられるエラーの原因の説明。エラーの対処方法に関する情報(無効なパラメーターや、受け入れ可能な値など)が含まれている場合もあります。 |
| 整数 | 廃止されました。v16.0以降では返されません。 グラフAPIサブコード。すべての応答にサブコードが含まれるわけではないため、代わりに、 |
| 文字列 | ダイレクトサポートに問い合わせる場合に含めることのできるトレースID。このIDは、エラーのデバッグに役立つ場合があります。 |
| 文字列 | エラーコードとタイトルの組み合わせ。例: |
| 文字列 | メッセージに使用した製品。Cloud API応答では常に、 |
| 文字列 | エラータイプ。 |
{ "error": { "message": "(#130429) Rate limit hit", "type": "OAuthException", "code": 130429, "error_data": { "messaging_product": "whatsapp", "details": "Message failed to send because there were too many messages sent from this phone number in a short period of time" }, "error_subcode": 2494055, "fbtrace_id": "Az8or2yhqkZfEZ-_4Qn_Bam" } }
コード | 説明 | 考えられる解決策 | HTTPステータスコード |
---|---|---|---|
AuthException | アプリユーザーを認証できませんでした。 | このエラーは通常、指定されたアクセストークンが期限切れか無効である、またはアプリユーザーが行った設定変更によってすべてのアプリがデータにアクセスできなくなったということを意味します。新しいアクセストークンを取得することをおすすめします。 |
未承認 |
APIメソッド | 機能またはアクセス許可の問題です。 | アクセストークンデバッガを使用して、エンドポイントで求められるアクセス許可がアプリに付与されているか確認します。トラブルシューティングをご覧ください。 |
内部サーバーエラー |
アクセス許可が拒否されました | アクセス許可が付与されていないか、削除されています。 | アクセストークンデバッガを使用して、エンドポイントで求められるアクセス許可がアプリに付与されていることを確認します。トラブルシューティングをご覧ください。 ビジネスの公開鍵の設定に使用される電話番号が許可リストにあることを確認してください。 |
禁止 |
アクセストークンが期限切れになっています | アクセストークンの期限が切れています。 |
未承認 | |
APIアクセス許可 | アクセス許可が付与されていないか、削除されています。 | アクセストークンデバッガを使用して、エンドポイントで求められるアクセス許可がアプリに付与されていることを確認します。トラブルシューティングをご覧ください。 |
禁止 |
コード | 説明 | 考えられる解決策 | HTTPステータスコード |
---|---|---|---|
APIの呼び出し回数が上限を超えました | アプリがAPI呼び出しレート制限に達しました。 | アプリダッシュボードにアプリをロードし、アプリケーションレート制限セクションを参照して、アプリがレート制限に到達していないか確認してください。到達している場合は、後でもう一度試すか、アプリが行うAPI問い合わせの頻度や回数を減らしてください。 |
間違ったリクエスト |
レート制限問題 | WhatsApp Businessアカウントがレート制限に達しました。 | WhatsApp Businessアカウントレート制限をご覧ください。後でもう一度試すか、アプリが行うAPI問い合わせの頻度や回数を減らしてください。 |
間違ったリクエスト |
レート制限に達しました | クラウドAPIメッセージスループットに達しました。 | アプリがAPIスループット制限に達しました。スループットをご覧ください。後でもう一度試すか、アプリがメッセージを送信する頻度を減らしてください。 |
間違ったリクエスト |
スパムレート制限に達しました | この電話番号から送信できるメッセージ数が制限されているため、メッセージを送信できませんでした。ブロックされたメッセージや、スパムとしてフラグが付けられたメッセージが多すぎることが考えられます。 | 詳しくは、WhatsAppマネージャで品質のステータスをチェックし、品質ベースのレート制限に関するドキュメントをご覧ください。 |
間違ったリクエスト |
(ビジネスアカウント、消費者アカウントの)ペアレート制限に達しました | 短期間のうちに送信者の電話番号から同じ受信者の電話番号に送信されたメッセージが多すぎます。 | 同じ電話番号にメッセージを送信する場合は、しばらくしてから操作を再試行してください。別の電話番号へのメッセージはすぐに送信できます |
間違ったリクエスト |
アカウント登録の解除率の上限を超えました | 短期間にこの電話番号に対する試行が多すぎたため、登録または登録解除に失敗しました | このビジネスの電話番号は、登録/登録の試行の上限に達したためブロックされています。番号のブロックが解除されてから、もう一度お試しください。登録ドキュメントの「制限」を参照してください。 |
間違ったリクエスト |
コード | 説明 | 考えられる解決策 | HTTPステータスコード |
---|---|---|---|
ポリシー違反のため一時的にブロックされています | アプリに関連付けられているWhatsApp Businessアカウントは、プラットフォームポリシーに違反したため、制限されているか停止されています。 | ポリシーの施行に関するドキュメントを確認して、ポリシー違反とその解決策について調べてください。 |
禁止 |
ビジネスアカウントがこの国のユーザーにメッセージを送信することは制限されています。 | WhatsApp Businessアカウントは、特定の国のユーザーにメッセージを送信することが制限されています。 | あなたのビジネスカテゴリーでメッセージングが許可されている国について詳しくは、WhatsApp Businessメッセージングポリシーをご覧ください。 |
禁止 |
アカウントがロックされました | アプリに関連付けられているWhatsApp Businessアカウントは、プラットフォームポリシーに違反しているため、制限または停止されています。あるいは、WhatsApp Businessアカウントに設定されたデータに対するリクエストに含まれるデータを認証できませんでした(リクエストに含まれる2段階PINが間違っている場合など)。 | ポリシーの施行に関するドキュメントを確認して、ポリシー違反とその解決策について調べてください。 ヘルスステータスAPIを使用することもできます。これにより、アカウントロックの理由をさらに詳しく知ることができる場合があります。 |
禁止 |
コード | 説明 | 考えられる解決策 | HTTPステータスコード |
---|---|---|---|
不明なAPI | 無効なリクエストまたはサーバーエラーの可能性。 | WhatsApp Businessプラットフォームのステータスページで、APIステータスに関する情報をご確認ください。サーバーの障害が何もない場合は、エンドポイントリファレンスをチェックし、リクエストが適切にフォーマットされていてエンドポイントのすべての要件を満たしているか確認してください。 |
間違ったリクエスト |
APIサービス | ダウンタイムまたは過負荷による、一時的なエラー。 | WhatsApp Businessプラットフォームのステータスページで、APIステータスに関する情報を確認してから再試行してください。 |
サービス利用不可 |
無効なパラメーター値 | ビジネスの電話番号が削除されました。 | ビジネスの電話番号が正しいか確認してください。 |
間違ったリクエスト |
無効なパラメーター | リクエストに含まれている1つ以上のパラメーターがサポートされていないか、スペルが正しくありません。 | エンドポイントのリファレンスで、サポート対象のパラメーターや正しいスペルを確認してください。 ビジネス公開鍵を設定する際には、PEM形式の有効な2048-bit RSA公開鍵であることを確認してください。 登録しようとしている電話番号IDと保存されている電話番号IDが完全に一致していることを確認してください。 パラメーターが型の制限に従っていることを確認してください。 |
間違ったリクエスト |
ユーザーの番号がテストの一部となっている | メッセージはテストの一部として送信されませんでした。 | マーケティングメッセージのテストを参照してください。 |
間違ったリクエスト |
Something went wrong (不具合が発生しました) | 不明なエラーのため、メッセージを送信できませんでした。 ビジネス公開鍵を設定する際に、署名の計算またはGraphQLエンドポイントの呼び出しに失敗したか、GraphQLエンドポイントによってエラーが返されました。 | もう一度お試しください。エラーが解決しない場合は、ダイレクトサポートチケットをオープンしてください。 |
内部サーバーエラー |
アクセスが拒否されました | アクセス許可が付与されていないか、削除されています。 | アクセストークンデバッガを使用して、エンドポイントで求められるアクセス許可がアプリに付与されていることを確認します。トラブルシューティングをご覧ください。 |
禁止 |
必須パラメーターが入力されていません | リクエストに必須パラメーターがありません。 | エンドポイントのリファレンスで、必須のパラメーターを確認してください。 |
間違ったリクエスト |
無効なパラメーター値 | 1つ以上のパラメーターの値が無効です。 | エンドポイントのリファレンスを調べ、各パラメーターでサポートされている値を確認してください。また、電話番号を参照して、電話番号をWhatsApp Businessアカウントに追加する方法を確認してください。 |
間違ったリクエスト |
サービス利用不可 | サービスは一時的に利用できません。 | WhatsApp Businessプラットフォームのステータスページで、APIステータスに関する情報を確認してから再試行してください。 |
内部サーバーエラー |
受信者は送信者になれません | 送信者と受信者の電話番号が同じです。 | 送信者とは異なる電話番号にメッセージを送信してください。 |
間違ったリクエスト |
メッセージ配信不可 | メッセージを配信できませんでした。次のような理由が考えられます。
| WhatsApp以外の通信手段を利用して、WhatsAppユーザーに次のことを依頼してください。
|
間違ったリクエスト |
ビジネス資格情報の支払いの問題 | 支払い方法にエラーが発生しました。 | WhatsApp Businessアカウントの請求についてを参照して、請求が正しく設定されていることを確認してください。 次のような一般的な問題があります。
|
間違ったリクエスト |
証明書が正しくありません | 電話番号の登録エラーのため、メッセージを送信できませんでした。 | 電話番号を登録してから再試行してください。 |
内部サーバーエラー |
再エンゲージメントメッセージ | 受信者が送信者の番号に前回応答してから24時間以上経過しました。 | 代わりにメッセージテンプレートを使って、ビジネスによって開始されたメッセージを受信者に送信してください。 |
間違ったリクエスト |
Metaは配信しないことにしました。 | 健全なエコシステムのエンゲージメントを維持するため、このメッセージは配信されませんでした。 | このエラーコードが表示される原因がこの制限のためだと思われる場合は、すぐに再試行しないでください。代わりに、最終的にメッセージが配信されるまで、間隔を徐々に長くしながら再送を試みてください。制限が有効になる期間はそれぞれ異なる場合があるからです。 詳しくは、ユーザーごとのマーケティングテンプレートメッセージの制限をご覧ください。 |
間違ったリクエスト |
メッセージタイプがサポートされていません | メッセージタイプがサポートされていません。 | メッセージを参照してサポート対象のメッセージタイプについて確認し、サポートされているメッセージタイプで再試行してください。 |
間違ったリクエスト |
メディアダウンロードエラー | ユーザーが送信したメディアをダウンロードできませんでした。 | WhatsAppユーザーのメッセージに含まれるメディアをダウンロードできませんでした。詳しくは、このメッセージの受信時にトリガーされたmessages Webhooksの WhatsApp以外の方法でメディアファイルを送信するようWhatsAppユーザーに依頼してください。 |
間違ったリクエスト |
メディアアップロードエラー | メッセージで使われているメディアをアップロードできませんでした。 | メディアタイプがサポートされていないなど、1つ以上の理由のため、メディアをアップロードできませんでした。 詳しくは、このメッセージの送信失敗時にトリガーされたmessages Webhooksの エラーの原因となっているメディアファイルを検査し、実際にサポートされていることを確認してください。例えば、UNIXでは、コマンドライン経由でファイル検査を実施して、そのMIMEタイプを判断できます。
その後、MIMEタイプがサポートされているかどうかを確認することができます。サポートされるメディアタイプをご覧ください。 |
間違ったリクエスト |
メンテナンスモードのアカウント | ビジネスアカウントはメンテナンスモードです | WhatsAppビジネスアカウントはメンテナンスモードです。この理由の1つとして、アカウントでスループットのアップグレードが行われていることが考えられます。 |
間違ったリクエスト |
テンプレートのパラメーター数が一致しません | リクエストに含まれている変数パラメーター値の数が、テンプレートで定義されている変数パラメーターの数と一致していません。 | メッセージテンプレートガイドラインを確認し、テンプレートで定義されているすべての変数パラメーター値がリクエストに確実に含まれるようにしてください。 |
間違ったリクエスト |
テンプレートが存在しません | 指定された言語ではテンプレートが存在しないか、テンプレートが承認されていません。 | 使用するテンプレートが承認済みで、テンプレート名と言語ロケールが正しいことを確認してください。メッセージテンプレートガイドラインに確実に準拠してください。 |
見つかりません |
テンプレートのハイドレートテキストが長すぎます | 変換されたテキストが長すぎます。 | WhatsAppマネージャをチェックして、テンプレートが翻訳されていることを確認してください。品質評価とテンプレートステータスをご覧ください。 |
間違ったリクエスト |
テンプレートフォーマットに文字ポリシーの違反があります | テンプレートの内容がWhatsAppポリシーに違反しています。 | 却下の理由を参照して、考えられる違反の理由を確認してください。 |
間違ったリクエスト |
テンプレートのパラメーターフォーマットが一致しません | 変数パラメーターの値が正しくフォーマットされていません。 | リクエストに含まれる変数パラメーターの値は、テンプレートで指定されたフォーマットを使用していません。メッセージテンプレートのガイドラインをご覧ください。 |
間違ったリクエスト |
テンプレートが一時停止中 | テンプレートが低品質のため一時停止しており、テンプレートメッセージで送信できません。 | テンプレートを編集して質を改善し、承認を受けてから再試行してください。 |
間違ったリクエスト |
テンプレートが無効 | テンプレートが低品質のために一時停止された回数が多すぎるので、恒久的に無効化されています。 | 異なるコンテンツの新しいテンプレートを作成してください。 |
間違ったリクエスト |
フローがブロックされている | フローがブロックされた状態です。 | フローを修正してください |
間違ったリクエスト |
フローがスロットルされている | フローはスロットル状態であり、このフローを使った10件のメッセージが過去1時間以内にすでに送信されました。 | フローを修正してください |
間違ったリクエスト |
登録解除が完了していません | 以前の登録解除の試みが失敗しています。 |
内部サーバーエラー | |
サーバーは一時的に利用できません | サーバーは一時的に利用できません。 | WhatsApp BusinessプラットフォームのステータスページをチェックしてAPIステータス情報を確認し、応答の |
サービス利用不可 |
2段階認証PINが一致しません | 2段階認証PINが正しくありません。 | リクエストに含まれる2段階認証PINが正しいか確認してください。 2段階認証PINをリセットするには、次のようにします。
|
間違ったリクエスト |
電話番号の再認証が必要 | 電話番号を登録する前に、認証する必要があります。 | 電話番号を認証してから登録してください。 |
間違ったリクエスト |
2段階認証PINの推測が多すぎます | この電話番号の2段階認証PINの推測が多すぎます。 |
|
間違ったリクエスト |
2段階認証PINの推測が早すぎます | 2段階認証PINの入力が早すぎました。 |
|
間違ったリクエスト |
電話番号が登録されていません | 電話番号がWhatsApp Businessプラットフォームに登録されていません。 | 電話番号を登録してから再試行してください。 |
間違ったリクエスト |
数分待ってから、この電話番号を登録してください | 登録しようとしている電話番号は最近削除されましたが、削除処理がまだ完了していません。 | 5分待ってからリクエストを再試行してください。 |
間違ったリクエスト |
一般的なユーザーエラー | リクエストパラメーターに関する不明なエラーのため、メッセージを送信できませんでした。 | エンドポイントのリファレンスを参照して、正しい構文を使ってエンドポイントをクエリしているか確認してください。応答でこのエラーコードが継続して送信される場合は、カスタマーサポートに連絡してください。 |
間違ったリクエスト |