WMS Cloud Messaging API
The Umbrella WhatsApp Business Messaging Suite (WMS) REST API allows developers to integrate official Meta WhatsApp Cloud API messaging into ERP software, CRMs, billing systems, ecommerce backends, and custom web applications.
🔑 Authentication
Authenticate all API requests by supplying your tenant API secret token in the Authorization HTTP header as a Bearer token.
Authorization: Bearer YOUR_TENANT_API_KEY
Content-Type: application/json
Find or regenerate your tenant API key inside your portal under Settings → Developer & API Settings.
📤 1. Send Pre-Approved Template
POST /api.phpRequired for all business-initiated messages and notifications dispatched outside the 24-hour customer service window.
{
"to": "919822001122",
"type": "template",
"template_name": "order_confirmation",
"language": "en_US",
"parameters": ["Rajesh Kumar", "INV-84920", "₹4,250"]
}
curl -X POST https://wmsapi.umbrellatechnologies.in/wmsapi/api.php \
-H "Authorization: Bearer YOUR_TENANT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "919822001122",
"type": "template",
"template_name": "order_confirmation",
"language": "en_US",
"parameters": ["Rajesh Kumar", "INV-84920", "₹4,250"]
}'
{ "success": true, "message_id": "wamid.HBgMOTE5ODIyMDAxMTIyFQIAER..." }
💬 2. Send 24-Hour Direct Text
POST /api.phpUse freeform text to respond to customer inquiries within the 24-hour service conversation window opened by a customer's incoming message.
{
"to": "919822001122",
"type": "text",
"body": "Hello Rajesh, our support team has updated your ticket #402. Let us know if you need anything else!"
}
📎 3. Send PDF Invoices & Media
POST /api.phpSend invoice PDFs, product brochures, or image attachments by providing a publicly reachable media URL.
{
"to": "919822001122",
"type": "document",
"media_url": "https://your-crm-server.com/invoices/INV_84920.pdf",
"filename": "Invoice_84920.pdf"
}
📡 4. Real-Time Outbound Webhooks
Configure your listener endpoint inside WMS Portal → Settings → Developer & API Settings. WMS will dispatch an HTTP POST callback whenever an incoming customer message arrives or when delivery statuses change (`sent`, `delivered`, `read`, `failed`).
{
"event": "message_received",
"from": "919822001122",
"name": "Rajesh Kumar",
"message_id": "wamid.HBgMOTE5ODIyMDAxMTIyFQIAER...",
"type": "text",
"body": "Can you share the quote for 50 units?",
"timestamp": "2026-08-25T13:10:00Z"
}
Status & Error Codes
| HTTP Code | Meaning | Resolution |
|---|---|---|
| 200 OK | Success | Message was submitted or queued to Meta Cloud API. |
| 400 Bad Request | Invalid Payload | Missing required fields (`to`, `type`, `template_name`, or `body`). |
| 401 Unauthorized | Invalid API Key | Verify `Authorization: Bearer |
| 403 Forbidden | Plan Restriction | Upgrade to Enterprise plan to unlock API & Webhooks. |
| 429 Rate Limit | Quota Exceeded | Daily broadcast threshold reached for current subscription tier. |