API Reference
Integrate your software with our powerful WhatsApp Cloud API gateway.
Authentication
All API requests must be authenticated using a Bearer Token. You can generate API Keys from your Workspace Integrations dashboard.
Include the API key in the Authorization header of your HTTP requests:
Authorization: Bearer wa_1234567890abcdef...
POST Send Text Message
Send a standard text message. Note: Standard text messages can only be sent if an active 24-hour customer service window is open with the user.
https://wamebo.com/api/v1/messages/send-text
Parameters (JSON or Form-Data)
| Parameter | Type | Description |
|---|---|---|
| to * | string | The recipient's WhatsApp number with country code (e.g., 919999999999). Do not include '+' or '-'. |
| text * | string | The body of the message you want to send. |
cURL Example
curl -X POST https://wamebo.com/api/v1/messages/send-text \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "919999999999",
"text": "Hello from the API!"
}'
Success Response
{
"status": "success",
"message_id": "wamid.HBgMOTE5OTkyMzU5Mzg1..."
}
POST Send Template Message
Send a pre-approved Meta Template message. This is used to initiate conversations or send notifications outside the 24-hour window.
https://wamebo.com/api/v1/messages/send-template
JSON Body Parameters
| Parameter | Type | Description |
|---|---|---|
| to * | string | The recipient's WhatsApp number with country code. |
| template_name * | string | The exact system name of the approved template (e.g., welcome_alert). |
| language | string | The language code of the template. Defaults to en. |
| components | array | Array of dynamic variables matching Meta's Component array structure. |
JSON Example Payload
{
"to": "919999999999",
"template_name": "order_confirmation",
"language": "en_US",
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "John" },
{ "type": "text", "text": "ORD-123" }
]
}
]
}
Success Response
{
"status": "success",
"message_id": "wamid.HBgMOTE5OTkyMzU5Mzg1..."
}
Handling Errors
If a request fails, the API returns an appropriate HTTP status code along with a JSON response detailing the error.
| 400 Bad Request | Missing parameters, invalid phone numbers, or Meta rejected the payload format. If Meta rejects the message, the exact meta_error object will be returned. |
| 401 Unauthorized | Missing, invalid, or revoked API Key. |
| 402 Payment Required | Insufficient wallet balance to cover the shared-pool messaging cost. Please top up your wallet. |
Error Example
{
"status": "error",
"message": "Missing required parameters: \"to\" and \"text\""
}