WhatsApp Interactive Messages offer users a much cleaner, structured way to interact with your automated systems than writing plain text. Interactive messages improve response conversion rates drastically.
POST /v1/messages
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Destination mobile number (country code prefix). |
type | string | Yes | Must be set to interactive. |
interactive | object | Yes | Interactive content configuration block. |
interactive.type | string | Yes | Must be button (for 1-3 quick replies) or list (for up to 10 dropdown choices). |
interactive.body | object | Yes | Main message text block. |
interactive.body.text | string | Yes | Text displayed inside the main card body (supports formatting, max 1024 characters). |
interactive.action | object | Yes | Click action handlers block. |
interactive.action.buttons | array | Yes (if button) | Array of reply buttons (maximum 3 buttons). |
interactive.action.sections | array | Yes (if list) | Array of selection choices groups. |
For menus requiring up to 10 choices, use the list structure. Firing this displays a beautiful clean selection drawer inside the customer's WhatsApp application:
{
"to": "918856879188",
"type": "interactive",
"interactive": {
"type": "list",
"header": {
"type": "text",
"text": "Support Hub"
},
"body": {
"text": "How can we assist you today? Please choose an option from the menu."
},
"action": {
"button": "Select Topic",
"sections": [
{
"title": "Help Categories",
"rows": [
{ "id": "row_billing", "title": "Billing & Invoices", "description": "Queries related to plans and payments" },
{ "id": "row_tech", "title": "Technical Setup", "description": "Webhooks, API keys, and integrations support" },
{ "id": "row_other", "title": "Speak to Agent", "description": "Transfer directly to a live agent" }
]
}
]
}
}
}
# Send Interactive Quick-Reply Buttons
curl -X POST "https://api.aisoule.com/v1/messages" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "918856879188",
"type": "interactive",
"interactive": {
"type": "button",
"header": {
"type": "text",
"text": "Select your plan"
},
"body": {
"text": "Choose a subscription model to get started:"
},
"action": {
"buttons": [
{ "type": "reply", "reply": { "id": "btn_growth", "title": "Growth Plan" } },
{ "type": "reply", "reply": { "id": "btn_scale", "title": "Scale Plan" } }
]
}
}
}'