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

ParameterTypeDescription
tostringRecipient phone number in full international format, or local if defaultCountryCode is provided
brandNumberstringYour WhatsApp Business phone number registered in Sendiee
templateIdstringMeta template ID. Use either this or templateName
templateNamestringTemplate name as shown in Sendiee Template Manager
languagestringTemplate language codeDefault: en
defaultCountryCodestringCountry code to prepend if 'to' is a local number
headerParametersarrayArray of string values to fill {{1}} in template header
bodyParametersarrayArray of string values to fill {{1}}, {{2}}... in template body
buttonParametersarrayArray of string values for dynamic URL buttons
otpstring/numberRequired for AUTHENTICATION category templates
mediaUrlstringRequired when template header type is IMAGE, DOCUMENT, or VIDEO
scheduledAtstring (ISO 8601)Schedule for future delivery. Omit for immediate send
timezonestringIANA timezone string. Used with scheduledAtDefault: UTC
storeInAIContextbooleanIf 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"
    }
  }
}

Try It

Try it — API Playground