WhatsApp Cloud API のエラーコード
文書化している WhatsApp Cloud API の全エラーコードを、意味と再試行の効果とともに 1 つの表にまとめています。ほとんどは再試行しても解決しません。決定論的なエラーのため、同じリクエストは同じように失敗し、再試行ループによって不正なリクエストがレート制限を招きます。
Request
| Code | What it means | Retry |
|---|---|---|
| 100 | A parameter is unsupported, misspelled or malformed. | No |
| 131008 | A required parameter was not included at all. | No |
| 131009 | A parameter is present with a value the endpoint rejects. | No |
| 131021 | Sender and recipient are the same number. | No |
| 131051 | The message type is not supported, often a Coexistence limit. | No |
| 131052 | Meta could not download media a customer sent. | No |
| 131053 | Meta could not upload media you sent. Size, format or reach. | No |
Template
| Code | What it means | Retry |
|---|---|---|
| 132000 | The number of parameters does not match the template. | No |
| 132001 | No template exists with that name and language pair. | No |
| 132007 | The template breaks messaging policy. Rewrite and resubmit. | No |
| 132012 | Parameter format does not match what the template defines. | No |
| 132015 | The template is paused after a quality decline. Temporary. | Wait |
| 132016 | The template is permanently disabled. It will not come back. | No |
Window and recipient
Registration and PIN
| Code | What it means | Retry |
|---|---|---|
| 131045 | The number was never registered for Cloud API messaging. | No |
| 133010 | The number is not registered. Registration must be completed. | No |
| 133006 | The number must be verified before it can be registered. | No |
| 133005 | The two-step verification PIN was wrong. Stop guessing. | No |
| 133008 | Too many PIN attempts. Registration is locked for a period. | Wait |
Access and account
| Code | What it means | Retry |
|---|---|---|
| 190 | The access token expired or was invalidated. | No |
| 368 | The account is restricted after a policy violation. | No |
| 131031 | The account is restricted, or its data does not match Meta's. | No |
| 131042 | A payment problem on the business account blocks sending. | No |
| 131049 | Meta blocked the message to protect ecosystem health. | No |
Rate limits
Transient
Coexistence sync
再試行の列の読み方
この列には 3 つの値があり、選択を誤ると、このリファレンス全体で最も大きな損失につながります。
No は失敗が決定論的であることを示します。失敗したのはリクエスト、テンプレート、または受信者の状態であり、同じリクエストを再送しても同じエラーが発生します。そのうえ、後で必要になるスループットを消費します。Yes は Meta 側の障害であり、バックオフによって実際に解消できます。Wait は状態が実在するものの一時的であることを示します。制限やロックが自然に解除されるため、解除前に再試行しても何も起こらず、状態が長引く可能性があります。
これらの多くが再試行できない理由
プラットフォームが曖昧なエラーではなく、具体的なコードを返すためです。不正なパラメーター、存在しないテンプレート、終了したメッセージングウィンドウ、オプトアウトした受信者は、レスポンスの時点で原因を特定できます。そのため Meta は曖昧に失敗させず、原因をコードで示します。
- リクエストの問題は、2 回目の試行で正しくなりません。
- テンプレートの問題はテンプレート内にあり、リクエストでは変更できません。
- ウィンドウやオプトアウトの問題は、あなたではなく受信者の状態に関するものです。
- アカウント制限は決定であり、再試行しても異議申し立てにはなりません。
このエラーが届いたときに記録する内容
再現せずに診断できるだけの情報です。これが 5 分で直せるか、推測に 1 日かかるかの違いになります。
- trace id を含む完全なエラーレスポンス。Meta サポートが求める情報です。
- 意図した内容ではなく、送信したままのリクエスト本文。両者の差が通常はバグです。
- phone number id。1 つの番号だけの問題か、アカウント全体の問題かを区別できます。
- タイムスタンプ。その時点の接続状態と照合できます。
Coexistence にのみ存在するコード
2 つあります。通常の送信失敗に見えるため、混乱を招きます。2593107 と 2593108 はどちらもチャット履歴の同期に関するコードです。これは、番号を初めて接続したときに WhatsApp Business アプリから最近の会話をコピーする処理です。
これらはメッセージングエラーではなく、接続の失敗を意味しません。同期が制限を超えた場合や、許可された時間帯の外で実行された場合も、番号は接続されたまま通常どおり送信できます。ただし、コピーされる履歴は想定より少なくなります。これを接続障害と解釈して切断し、最初からやり直すと、履歴を復旧するどころか、さらに失うことになります。
よくある質問
どのエラーは再試行すべきですか?
131016 と 131000 です。指数バックオフを使用してください。130429、132015、133008 は待つと自然に解消します。それ以外はすべて決定論的です。
エラーコードは番号が切断されたことを意味しますか?
通常は意味しません。これらの多くはリクエスト、テンプレート、受信者に関するものです。接続の問題は送信エラーではなく、アカウントや品質の Webhook として現れます。
trace id とは何ですか?
Meta サポートが特定のリクエストを見つけるための、エラーレスポンス内の識別子です。すべての失敗で記録してください。これがないと問い合わせに対応できません。
これらのコードはどのプロバイダーでも同じですか?
はい。Meta の Cloud API が返すコードなので、どのプロバイダーで番号を接続しても同じです。プロバイダーが変えられるのは、コードがどれだけ明確に届くかだけです。
始める準備はできましたか?
WhatsApp Coexistence の設定は数分で完了し、数か月もかかりません。スマートフォン上のアプリも引き続き使えます。
無料トライアルを始める7 日間は料金なし。いつでもキャンセルできます。