Messaging API

Send Interactive Messages

5 minutes integration Skill: intermediate

Send Interactive Messages

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.

Endpoint

POST /v1/messages

Payload Parameters

ParameterTypeRequiredDescription
tostringYesDestination mobile number (country code prefix).
typestringYesMust be set to interactive.
interactiveobjectYesInteractive content configuration block.
interactive.typestringYesMust be button (for 1-3 quick replies) or list (for up to 10 dropdown choices).
interactive.bodyobjectYesMain message text block.
interactive.body.textstringYesText displayed inside the main card body (supports formatting, max 1024 characters).
interactive.actionobjectYesClick action handlers block.
interactive.action.buttonsarrayYes (if button)Array of reply buttons (maximum 3 buttons).
interactive.action.sectionsarrayYes (if list)Array of selection choices groups.

Example: Interactive List Menu Selection

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" }
          ]
        }
      ]
    }
  }
}

Related Doc Resources

Integration Playground
# 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" } }
        ]
      }
    }
  }'
Replace `YOUR_API_KEY` in the headers with your real dashboard secrets token!