âš¡ REST API Reference

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.

// Production API Base URL:
https://wmsapi.umbrellatechnologies.in/wmsapi/api.php

🔑 Authentication

Authenticate all API requests by supplying your tenant API secret token in the Authorization HTTP header as a Bearer token.

Header:
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.php

Required for all business-initiated messages and notifications dispatched outside the 24-hour customer service window.

// JSON Request Body Schema:
{
  "to": "919822001122",
  "type": "template",
  "template_name": "order_confirmation",
  "language": "en_US",
  "parameters": ["Rajesh Kumar", "INV-84920", "₹4,250"]
}
// Example cURL Command:
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 Response (200 OK):
{ "success": true, "message_id": "wamid.HBgMOTE5ODIyMDAxMTIyFQIAER..." }

💬 2. Send 24-Hour Direct Text

POST /api.php

Use freeform text to respond to customer inquiries within the 24-hour service conversation window opened by a customer's incoming message.

// JSON Request Body Schema:
{
  "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.php

Send invoice PDFs, product brochures, or image attachments by providing a publicly reachable media URL.

// JSON Request Body Schema:
{
  "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`).

// Sample Webhook Payload dispatched to your server:
{
  "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 ` header.
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.