errorCode and errorMessage fields, plus on the message.failed webhook. This page maps every error you can hit, explains why it happens, and tells you the exact action to take — in code, in the dashboard, or with your end user.
All error codes on this page are the canonical codes returned by the WhatsApp Business Platform. Zavu passes them through unchanged so you can keep your existing handlers if you migrate from another stack.
How Zavu Returns Errors
Every failed WhatsApp message exposes the same shape, whether you read it from the API, the dashboard, or a webhook:errorCode— numeric code (see tables below)errorCategory— one ofauth,rate_limit,integrity,template,delivery,media,flow,otherretriable— whether retrying the same payload could succeed without changes
Quick Triage
Use this decision tree before diving into the tables:A. Authorization Errors
These mean your WhatsApp Business Account (WABA) or the underlying app credentials aren’t valid for the action you tried. They almost never resolve by retrying — you must reconnect the account.B. Rate Limit & Throttling Errors
WhatsApp enforces several independent limits: per-app calls, per-WABA throughput, per-recipient pacing, and account-level spam protection. Each has a different remediation window.Retry strategy
C. Integrity Errors
Account-level enforcement actions. The message wasn’t sent because the platform restricted the sender or recipient.D. Template Errors
Triggered when sending a template message. Most are fixable by editing the template; a few require creating a new one.A template that fails with
132015 or 132016 is a quality problem, not a code problem. Look at the template’s quality rating in Senders → Templates before editing blindly.E. Delivery Errors
The template/account was fine, but the message couldn’t reach the recipient.Detect the 24-hour window
F. Media Errors
Issues with the file attached to an inbound or outbound message.G. WhatsApp Flows Errors
Errors specific to interactive Flows (multi-step forms inside WhatsApp).H. Miscellaneous Errors
Codes that don’t fit cleanly elsewhere but you’ll see eventually.Programmatic Error Handling
Treat errors by category, not by code, to keep your code resilient as new codes appear:Prevention Checklist
Validate before send
Verify phone format (E.164), template params, and 24h window state on your side.
Watch quality rating
A drop from
high to medium is your first warning. Pause marketing before the platform does it for you.Use Smart Routing
Let Zavu fall back to SMS/email automatically when WhatsApp returns delivery errors.
Subscribe to webhooks
message.failed and template.status_changed catch problems before users do.References
The error codes documented here are defined by the WhatsApp Business Platform. For the authoritative, always-up-to-date list maintained by Meta:- Cloud API error codes — official reference
- Business messaging policy — content rules behind integrity and template rejections
- Messaging limits — throughput tiers and quality rating
errorCode — please open an issue so we can add it.
Next Steps
Smart Routing
Automatic channel fallback when WhatsApp delivery fails
Template Approval
Avoid 132xxx errors by getting templates right the first time
Webhooks
React to failures in real time
Rate Limiting
How Zavu paces sends to stay under WABA limits
