Send Interactive Message
Sends an interactive message (reply buttons, a list menu, a call-to-action URL button, an address request or a media carousel) or a location pin to a contact. This requires an active 24-hour Meta session window; outside it, use a template message instead.
Message types
header and footer are optional (60 characters each) for every type except location and carousel. body can be up to 1024 characters.
Choosing the recipient
Send eitherrecipientPhoneNumber with countryCode, or an existing conversationId or contactId. When you send a conversation or contact ID, the recipient is resolved for you.
When you authenticate with an API key, the message is sent from the channel the key is bound to. You do not need to send channel_id.
Examples
Sending a carousel
Acarousel shows a row of cards the customer can swipe. body is the message above the cards. Each item in cards has:
400 error before sending if the cards do not match.
When a customer taps a quick-reply button, you receive an incoming interactive reply that carries that button’s id.
Asking for an address
Anaddress_message shows the customer a Provide address button that opens WhatsApp’s address form. The form works for India (IN) and Singapore (SG) numbers only. Use addressValues to pre-fill fields such as name, city, state and in_pin_code (or sg_post_code). Set autoFillAddress to true to pre-fill the contact’s name and the last address they shared in the conversation; this needs conversationId.
When the customer submits the form, their answer arrives as an incoming interactive message and appears in the conversation as an address card.Authorizations
Body
button for reply buttons, list for a list menu, cta_url for a call-to-action link button, address_message to ask the customer for a delivery address, location to send a map pin. carousel to send 2 to 10 swipeable image or video cards.
button, list, cta_url, address_message, carousel, location Optional when you authenticate with an API key, because the key is already bound to a channel.
Existing conversation ID. When sent, the recipient is resolved from the conversation.
Existing contact ID. When sent, the recipient is resolved from the contact.
7-15 digits, without country code. Required unless conversationId or contactId is sent.
"9876543210"
Country code, with or without +. Required unless conversationId or contactId is sent.
"+91"
Main message text. Required for every type except location.
1024Optional header text. Used for list and cta_url; for button it is sent only when provided. Not supported for carousel.
60Optional footer text. Not supported for carousel.
60Required for button. WhatsApp allows at most 3 reply buttons.
1 - 3 elementsRequired for list and cta_url. Label of the button that opens the list or link. Not used for carousel; set the button on each card instead.
20"Choose"
Required for list.
1 - 10 elementsRequired for carousel. 2 to 10 cards. Every card needs the same kind of button: either one URL button on all cards, or the same number of quick-reply buttons on all cards.
2 - 10 elementsRequired for cta_url. Must include https:// or http://.
"https://example.com"
For address_message. Country of the address form. WhatsApp supports India and Singapore.
IN, SG For address_message. Optional values to pre-fill in the customer's address form. phone_number defaults to the recipient's number.
For address_message. Pre-fill from the customer's last shared address in the conversation (requires conversationId) and the contact name. Values in addressValues take priority.
Required for location.
-90 <= x <= 9018.5204
Required for location.
-180 <= x <= 18073.8567
For location. Place name.
100For location. Street address.
200WhatsApp message ID to reply to.
