WhatsApp API Overview
Connect with over 2 billion WhatsApp users through Sendexa's official WhatsApp Business Platform integration. Send rich messages, handle customer conversations, and automate notifications — all through a single REST API.
Official Business API
Direct connection to the WhatsApp Business Platform (Cloud API) for maximum reliability and uptime.
Rich Media
Send images, videos, documents, audio, and interactive buttons to drive engagement.
Template Messages
Use Meta-approved templates for business-initiated notifications and campaigns.
Verified Branding
Build trust with an official business profile, display name, and green badge support.
Global Reach
Deliver to any WhatsApp-enabled number across 180+ countries with E.164 formatting.
End-to-End Encryption
Every message is secured with WhatsApp's end-to-end encryption by default.
Understanding the 24-Hour Conversation Window
WhatsApp enforces a 24-hour messaging window. When a user sends you a message, you can reply freely with any message type for 24 hours. After the window closes, you must use a pre-approved template to re-initiate the conversation.
- Business-to-user messages without a prior reply → always use a template
- Replies within 24 hours of user contact → any message type allowed
- Template error code
WA003= window is closed → send a template first
Quick Start
Get your API key
Create an API key in the Sendexa dashboard under Settings → API Keys.
Register a phone number
Add and verify a WhatsApp Business phone number in the WABA dashboard.
Create a template (optional)
Submit a template to Meta for approval if you need to start conversations.
Send your first message
Call POST /v1/whatsapp/send with your recipient number and message payload.
Set up webhooks
Configure a webhook URL to receive delivery updates and inbound replies.
Authentication
Authorization: Basic <token>. Never generate the token client-side — use the one displayed in your API key settings.Message Types
The Sendexa WhatsApp API supports six message types, all via the same POST /v1/whatsapp/send endpoint — set the type field to select.
Text
Plain or markdown-formatted text up to 4,096 characters with optional link preview.
Image
JPEG/PNG images with optional caption. Max 5 MB.
Video
MP4/3GPP video with optional caption. Max 16 MB.
Audio
AAC/MP4/MPEG/OGG audio clips. Max 16 MB.
Document
PDF, DOCX, XLSX, and more. Max 100 MB. Supports filename.
Interactive
Reply buttons (up to 3), list menus (up to 10 rows), and CTA URL buttons for guided conversations.
Template
Meta-approved structured messages for business-initiated conversations.
First API Call
Send your first WhatsApp message in under a minute.
curl -X POST 'https://api.sendexa.co/v1/whatsapp/send' \-H 'Content-Type: application/json' \-H 'Authorization: Basic YOUR_DASHBOARD_BASE64_TOKEN' \-d '{"to": "233244000000","type": "text","text": { "body": "Hello! Your order has been confirmed." }}'
API Reference
Send text, media, and template messages to any WhatsApp number globally.
Create, list, and manage Meta-approved message templates for campaigns.
Track message status from sent → delivered → read with error diagnostics.
Retry failed messages with preserved content and smart backoff logic.
Receive real-time events for delivery, read receipts, and inbound messages.
Verify numbers, bulk check contacts, and monitor account quality ratings.
| Endpoint | Per Second | Per Minute | Per Day |
|---|---|---|---|
| POST /send | 80 | 3,000 | 100,000 |
| GET /status | 200 | 5,000 | — |
| POST /resend | 20 | 500 | — |
| GET /numbers/check | — | 300 | 50,000 |
| POST /templates | — | — | 100 creates |
Exceeding limits returns HTTP 429. Use exponential backoff and webhooks instead of polling to stay within limits.
| Code | Meaning | Resolution |
|---|---|---|
| WA001 | Invalid phone number | Check E.164 format |
| WA002 | Not on WhatsApp | Verify number with /numbers/check |
| WA003 | Conversation window closed | Send an approved template first |
| WA004 | Media download failed | Ensure media URL is public HTTPS |
| WA005 | Rate limit hit | Backoff and retry |
Best Practices
- Always use template messages for the first outbound message to a user — free-form text only works within an active window
- Store the
messageIdandwamidreturned on send for delivery tracking and Meta-side debugging - Use webhooks for delivery status — polling the status endpoint at scale will exhaust your rate limit
- Validate phone numbers with
/numbers/checkbefore bulk campaigns to reduce failures and protect your quality rating - Keep your quality rating GREEN by only messaging opted-in users and responding to inbound messages within the window
A short walkthrough of the Sendexa WhatsApp API — covering account setup, sending your first message, and configuring webhooks.