Send interactive message (buttons or link)
Send a WhatsApp message with reply buttons (type=button, 1 to 3 buttons) or one call-to-action link button (type=cta_url), within the 24-hour session window, via the authorized channel. When the customer taps a reply button, the reply arrives like any message (button_id is the id you gave). Texts longer than the WhatsApp limits are refused with a clear error, not cut.
Authentication: API key via X-API-Key header (or Authorization: Bearer). Permissions: User API key Rate limit: api_messaging — 20 requests/min per API user.
Authorizations
Preferred. API key value directly.
Query Parameters
Channel id. Auto-selects when omitted.
"ch_123"
Recipient phone or WhatsApp BSUID.
"919876543210"
button (reply buttons) or cta_url (one link button).
"YOUR_TYPE"
Message text, up to 1024 characters.
"YOUR_BODY"
type=button only. 1 to 3 items { id, title }: title up to 20 characters, id (optional, up to 256 characters) comes back as button_id when tapped. Titles and ids must be different. JSON string for GET.
type=cta_url only. Text on the link button, up to 20 characters.
"YOUR_BUTTONLABEL"
type=cta_url only. The link to open (http or https).
"YOUR_BUTTONURL"
Header text, up to 60 characters. Not together with headerUrl.
"YOUR_HEADER"
image | video | document. Required with headerUrl.
"YOUR_HEADERTYPE"
Public URL of the header file.
"YOUR_HEADERURL"
File name shown for a document header.
"YOUR_HEADERFILENAME"
Footer text, up to 60 characters.
"YOUR_FOOTER"
Body
Recipient phone or WhatsApp BSUID.
"919876543210"
button (reply buttons) or cta_url (one link button).
"YOUR_TYPE"
Message text, up to 1024 characters.
"YOUR_BODY"
Channel id. Auto-selects when omitted.
"ch_123"
type=button only. 1 to 3 items { id, title }: title up to 20 characters, id (optional, up to 256 characters) comes back as button_id when tapped. Titles and ids must be different. JSON string for GET.
type=cta_url only. Text on the link button, up to 20 characters.
"YOUR_BUTTONLABEL"
type=cta_url only. The link to open (http or https).
"YOUR_BUTTONURL"
Header text, up to 60 characters. Not together with headerUrl.
"YOUR_HEADER"
image | video | document. Required with headerUrl.
"YOUR_HEADERTYPE"
Public URL of the header file.
"YOUR_HEADERURL"
File name shown for a document header.
"YOUR_HEADERFILENAME"
Footer text, up to 60 characters.
"YOUR_FOOTER"