Send Template Message
Send an approved WhatsApp message template with dynamic parameters to a recipient. Template messages can be sent at any time — they are not restricted by the 24-hour conversation window.
POST/v2.0/whatsapp/send
Authentication
Requires a valid Bearer token in the Authorization header, plus a valid brandNumber.
Request Parameters
Body Parameters
| Parameter | Type | Description |
|---|---|---|
| to | string | Recipient phone number in full international format, or local if defaultCountryCode is provided |
| brandNumber | string | Your WhatsApp Business phone number registered in Sendiee |
| templateId | string | Meta template ID. Use either this or templateName |
| templateName | string | Template name as shown in Sendiee Template Manager |
| language | string | Template language codeDefault: en |
| defaultCountryCode | string | Country code to prepend if 'to' is a local number |
| headerParameters | array | Array of string values to fill {{1}} in template header |
| bodyParameters | array | Array of string values to fill {{1}}, {{2}}... in template body |
| buttonParameters | array | Array of string values for dynamic URL buttons |
| otp | string/number | Required for AUTHENTICATION category templates |
| mediaUrl | string | Required when template header type is IMAGE, DOCUMENT, or VIDEO |
| scheduledAt | string (ISO 8601) | Schedule for future delivery. Omit for immediate send |
| timezone | string | IANA timezone string. Used with scheduledAtDefault: UTC |
| storeInAIContext | boolean | If true, the outgoing message is appended to the recipient's AI conversation history so subsequent AI replies have context of what you sent. Default falseDefault: false |
Code Examples
Basic Template (No Parameters)
curl -X POST https://api.sendiee.com/v2.0/whatsapp/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "919876543210",
"brandNumber": "917012345678",
"templateName": "hello_world",
"language": "en"
}'Template with Body Parameters
curl -X POST https://api.sendiee.com/v2.0/whatsapp/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "919876543210",
"brandNumber": "917012345678",
"templateName": "order_confirmation",
"language": "en",
"bodyParameters": ["John", "ORD-1234"]
}'Response
Immediate Send (200 OK)
{
"success": true,
"message": "Message sent successfully",
"data": {
"messageId": "wamid.HBgM...",
"status": "accepted",
"recipient": "919876543210",
"template": {
"name": "order_confirmation",
"id": "1234567890",
"language": "en"
}
}
}Scheduled Send (201 Created)
{
"success": true,
"message": "Message scheduled successfully",
"data": {
"scheduleId": "664abc...",
"recipient": "919876543210",
"scheduledAt": "2025-12-01T10:00:00.000Z",
"timezone": "Asia/Kolkata",
"template": {
"name": "order_confirmation",
"id": "1234567890",
"language": "en"
}
}
}Template Approval Required
Templates must be APPROVED in Meta Business Manager before they can be sent. Pending or rejected templates return
TEMPLATE_NOT_FOUND.Messaging Window
The 24-hour conversation window does not apply to template messages. Templates can be sent at any time, but are subject to Meta's messaging tier limits.
Try It
Try it — API Playground