A WhatsApp API send message workflow needs a WhatsApp Business Account, a connected business phone number, a phone number ID, an access token, and either an approved message template or an open 24-hour customer service window. The actual send request is a POST call to the WhatsApp Business Platform messages endpoint, but most delivery problems come from setup, template, opt-in, and webhook rules rather than the POST request itself.
This guide focuses on the business API path: how messages are sent, what fields you need, when templates are required, and how to move from a test message to production messaging without breaking Meta policy or customer trust.
Quick Answer
Use the WhatsApp Business Platform if you want to send messages from business systems such as CRM, e-commerce, support, OTP, or marketing automation. Use click-to-chat links only when you want to open a user chat. They do not give your app a server-side API for sending template, transactional, or lifecycle messages at scale.
- Click-to-chat links:
api.whatsapp.com/send
and wa.me
open a chat; they are not server-side send APIs.
What Counts as a WhatsApp API Message?
The phrase "WhatsApp API send message" is often used for four different things. They are not interchangeable:
| Option | What It Does | Best For | Can It Send API Messages? |
|---|---|---|---|
| api.whatsapp.com/send or wa.me | Opens a chat with a phone number and optional prefilled text. | Website buttons, ads, simple click-to-chat journeys. | No. It is a link, not a server-side sending API. |
| WhatsApp Business App | Lets a small team reply manually from one business number. | Microbusinesses and low-volume support. | No practical automation API. |
| WhatsApp Cloud API | Lets developers send, receive, and track messages through Meta's API. | Teams that can manage setup, tokens, webhooks, templates, and compliance. | Yes. |
| Business Solution Provider or messaging platform | Adds onboarding, template tools, routing, analytics, support, and integrations around the official API. | Teams that need production messaging without building every operational layer alone. | Yes. |
If your goal is just to let a visitor start a chat, use a click-to-chat link. If your goal is to trigger order updates, OTPs, appointment reminders, abandoned-cart messages, WhatsApp support flows, or lifecycle campaigns from your backend, you need the WhatsApp Business Platform.
What You Need Before You Send a WhatsApp API Message
Sending a test message is simple only after the business setup is ready. Before writing the request body, confirm these six items:
API Readiness Checklist
- Business verification: your business identity is ready in Meta Business Manager.
- WhatsApp Business Account: your WABA is created and connected to the right business.
- Phone number ID: the sending number is registered, verified, and not already tied to the regular WhatsApp app.
- Access token: your app or system can authenticate against the Graph API or your BSP's API.
- Template approval: any business-initiated outbound message outside the customer service window has an approved template.
- Webhook endpoint: your system can receive delivery, read, failed, and inbound-message events.
Before you pick a sending path, confirm whether your number is already tied to the regular WhatsApp app or ready for API onboarding. If you are choosing between direct API setup and a partner-assisted path, compare the role of a WhatsApp Business Solution Provider . According to Meta WhatsApp Cloud API documentation (2026) , message sending is handled through the Business Platform messages endpoint, while templates, media, and interactive messages each have their own object rules.
Send a WhatsApp API Message: Step-by-Step Workflow
The exact dashboard differs by provider, but the production workflow is usually the same: connect the account, verify the number, create templates, send test messages, then monitor status callbacks.
Step 1. Choose Direct Cloud API or a BSP
Direct Cloud API gives developers the most control. A BSP or messaging platform gives teams more operational support around embedded signup, template management, routing, analytics, and support. Choose direct API if engineering owns the whole lifecycle. Choose a platform if business teams need campaign tools, approvals, reporting, or cross-channel automation.
In that second path, EngageLab sits around the official WhatsApp Business API as an onboarding, template, analytics, and workflow layer rather than replacing Meta's API itself.
| Decision Question | Direct Cloud API | BSP / Platform |
|---|---|---|
| Who owns setup? | Engineering | Marketing, support, product, and engineering together |
| Template creation | Built in Meta tools or custom tooling | Usually managed inside the platform UI |
| Analytics | You build dashboards from webhooks and logs | Delivery and engagement analytics are built in |
| Best fit | API-first products with strong internal tooling | Teams that need WhatsApp messaging live quickly and reliably |
Step 2. Get Your Phone Number ID and Token
A WhatsApp API send request needs a sending number and credentials. In the Cloud API path, that usually means a phone number ID and an access token. In a BSP path, the provider may expose its own API credentials while handling the Meta-side details behind the scenes.
- Required identifier:
phone_number_id
- Required credential:
Authorization: Bearer ACCESS_TOKEN
- Required recipient format:
country_code + phone_number
, without spaces or symbols unless your provider specifies otherwise.
Step 3. Create an Approved Template for Outbound Messages
If the customer has not messaged your business recently, you normally cannot send a free-form text message. You must send an approved template. Templates are used for use cases such as account verification, order updates, appointment reminders, payment notifications, and marketing messages that follow WhatsApp policy.
Meta's Cloud API send messages documentation explains the official endpoint and message object model. For production, the important point is operational: template names, languages, variables, and button parameters must match the approved template exactly.
Step 4. Send the API Request
A message request usually has three parts: endpoint, headers, and JSON body. Replace the version placeholder with the current Graph API version used by your app.
- Endpoint:
POST https://graph.facebook.com/vXX.X/{phone-number-id}/messages
- Headers:
Authorization: Bearer ACCESS_TOKEN
and Content-Type: application/json
- Required fields:
messaging_product
, to , type , and the matching message object such as template or text
.
- Template example:
{"messaging_product":"whatsapp","to":"15551234567","type":"template","template":{"name":"order_update","language":{"code":"en_US"}}}
If you are sending through a platform API, the endpoint and field names may be different, but the same business rules still apply: valid recipient, valid sender, approved template, correct language, and consent.
Step 5. Watch Message Status and Errors
A successful HTTP response does not always mean the user saw the message. You still need delivery and failed-message webhooks to understand whether the message was sent, delivered, read, or rejected.
Top WhatsApp API Send Message Providers to Compare
The original article compared five provider options, and that comparison still belongs here. The important update is the selection lens: do not compare providers only by whether they can send a WhatsApp message. Compare setup support, template operations, analytics, regional coverage, and whether the API layer connects to the rest of your customer journey.
| Provider | Best Fit | What to Check | Send-Message Angle |
|---|---|---|---|
| EngageLab | Teams that want WhatsApp API setup, templates, analytics, and customer engagement workflows together. | Whether you also need SMS, email, push, or lifecycle automation around WhatsApp. | Useful when message sending is part of OTP, support, marketing, or retention flows. |
| Twilio | Developer-led teams already using Twilio APIs for SMS, voice, or other channels. | Total cost by country, template operations, and how much internal tooling you must build. | Strong API-first option for engineering-owned messaging stacks. |
| CallHippo | Sales and support teams that want WhatsApp inside a calling or business phone workflow. | User-seat pricing, inbox workflow fit, and whether automation depth matches your use case. | Better for team conversations than complex lifecycle messaging. |
| Wati | Small and mid-sized businesses focused on WhatsApp commerce and support. | Template management, Shopify or commerce integrations, and pricing at higher contact volumes. | Practical for WhatsApp-first SMB operations. |
| SleekFlow | Social commerce teams that manage sales conversations across chat channels. | Plan limits, team inbox needs, and whether sales automation is the main requirement. | Useful when the send-message workflow is tied to conversational sales. |
Build the send-message path around setup, templates, and reporting
- Connect WhatsApp Business API setup with template creation and approval checks.
- Track delivery, read, failed, reply, and conversion events after the API response.
- Use WhatsApp alongside SMS, email, and push when fallback or lifecycle journeys matter.
Template Messages vs Session Replies
This is where many WhatsApp API projects fail. The API can send different message types, but what you are allowed to send depends on who started the conversation and whether the customer service window is open.
| Message Type | When to Use It | Approval Needed? | Common Use Cases |
|---|---|---|---|
| Template message | Business-initiated outbound messages, especially outside the customer service window. | Yes, template approval is required. | OTP, order updates, appointment reminders, shipping alerts, promotions. |
| Free-form text reply | Replies inside an open customer service window after the user messages your business. | No template approval for the reply itself. | Support replies, troubleshooting, active conversations. |
| Media message | When images, documents, audio, or video support the conversation. | Depends on whether it is inside a template or service conversation. | Receipts, documents, product images, boarding passes, tickets. |
| Interactive message | When the user should choose a reply, tap a button, or browse a small list. | Policy and context dependent. | Support menus, delivery choices, appointment flows, lead qualification. |
For pricing-sensitive programs, read our dedicated WhatsApp Business API pricing guide. Meta's official pricing documentation should remain the source of truth for current category and billing rules.
Common Errors When Sending WhatsApp API Messages
When teams say "the WhatsApp API did not send my message," the root cause is usually one of these:
| Problem | Likely Cause | Fix |
|---|---|---|
| HTTP response succeeds, but user never receives the message | Template quality, policy filtering, recipient issue, or missing webhook diagnosis. | Check message status webhook, template status, quality rating, and recipient opt-in source. |
| Free-form text is rejected | No open customer service window. | Use an approved template or wait for the customer to message your business first. |
| Template send fails | Wrong template name, language code, parameter count, or button variable. | Match the API payload exactly to the approved template version. |
| Token or permission error | Expired token, wrong app, missing permissions, or wrong business account. | Regenerate credentials and verify the app, WABA, and phone number ID mapping. |
| Unexpected rate or quality limits | New number, low quality rating, or aggressive send pattern. | Warm up gradually, segment audiences, and monitor failed statuses before scaling. |
If your goal is broadcast-style sending, do not skip consent and template rules. Start with our WhatsApp broadcast message guide to understand when the Business App is enough and when API-based messaging is safer.
Production Checklist Before You Scale WhatsApp API Sending
A single test message proves the credential works. It does not prove the system is production-ready. Before scaling API sends, confirm these controls:
- Consent source: every recipient has a clear opt-in source and channel-level consent record.
- Template governance: names, categories, variables, languages, and button parameters are documented.
- Fallback handling: failed WhatsApp messages can route to SMS, email, push, or support follow-up when appropriate.
- Webhook reliability: your endpoint handles retries, duplicates, failed statuses, and inbound replies.
- Suppression logic: unsubscribed users, blocked users, and invalid numbers are removed from future campaigns.
- Reporting: delivery, read, click, reply, fail reason, template quality, and conversion events are visible to the business team.
If you also run support from WhatsApp Web, remember the distinction: the Web app is useful for manual conversations, but API messaging is the better fit when messages come from backend events, lifecycle automation, or high-volume support workflows.
WhatsApp API Send Message FAQ
Is api.whatsapp.com/send the same as the WhatsApp Business API?
No. Click-to-chat links can open a WhatsApp conversation with a phone number and optional prefilled text, but they do not let your server send messages, receive webhooks, manage templates, or track delivery status.
- Click-to-chat links:
api.whatsapp.com/send
and wa.me
Can I send a WhatsApp API message without a template?
Usually only inside an open customer service window after the user messages your business. For business-initiated outbound messages, use an approved template. This distinction is the most common reason a test text message fails after the setup appears correct.
What fields are needed to send a template message?
At minimum, you need the sending phone number ID, access token, recipient phone number, and the template language code. If the approved template has variables or buttons, the request must provide matching parameters.
- Required template fields:
messaging_product
, message type , template name
, and template language code.
Can I send bulk WhatsApp messages through the API?
You can send messages programmatically, but bulk sending must follow WhatsApp opt-in, template, quality, and rate rules. Do not treat the API as a cold outreach tool. For bulk campaign planning, see our guide on how to send bulk messages on WhatsApp .
Why did the API return success but the message did not arrive?
A successful request only means the request was accepted. Delivery can still fail because of template quality, policy enforcement, recipient eligibility, token/account mapping, or route status. Use webhooks and provider analytics to inspect sent, delivered, read, and failed events.
Should I use Cloud API directly or a WhatsApp API provider?
Use Cloud API directly if your developers want full control and can build signup, template management, monitoring, webhooks, dashboards, and support tooling. Use a provider or platform if you want those operational layers packaged with onboarding, analytics, compliance support, and cross-channel automation.
Bottom Line
Sending a WhatsApp API message is not hard once the account, number, token, template, and webhook setup are correct. The real work is knowing which kind of message you are allowed to send, tracking delivery after the API response, and building enough guardrails to scale without quality or compliance problems.
If your team wants to use WhatsApp messages for OTPs, order updates, support notifications, lead follow-up, or lifecycle campaigns, an API-first platform can shorten the path from setup to production. EngageLab helps teams connect WhatsApp Business API with templates, analytics, and customer engagement workflows so the send-message layer is not isolated from the rest of the customer journey.













