Reply buttons
Like quick-reply buttons, reply buttons allow users to quickly select from up to three options when talking to a business in the 24-hour response window.
Reply buttons do not require a pre-approved template.
Benefits and use cases include:
- Reply buttons can be populated dynamically based on a customer’s response, ideal for personalized bot cases.
- Ideal use cases include airtime charges, change of personal details, requesting a return, adding optional extras to a food order, choosing a payment method, etc.
- Reply buttons decrease dropout rates and increase conversions for automated bots.
Each reply button message consists of
Sending a reply button message
- The business should have structured conversation hierarchies that can be converted to button messages.
- All integrations with a business’s backend system (e.g., inventory, store locations) should be handled by your company.
Implementation considerations
- A message cannot contain more than three reply buttons. If you need more options, choose a list message instead.
- Reply buttons do not offer additional context for each option. Choose a list message instead.
- Users can only select one button from the menu simultaneously, although they can go back and reuse a previous menu.
- Payload and title are mandatory.
ℹ️ Because reply buttons are not part of a message template, the WhatsApp Business API will not track its performance. Your team may be able to add additional tracking through internal tools.
API Request for Reply Buttons
<div class="geshifilter"><pre class="php geshifilter-php">curl –XPOST https<span class="sy0">:</span><span class="co1">//api.tyntec.com/conversations/v3/messages\</span>
<span class="sy0">-</span>H <span class="st_h">'Content-Type: application/json'</span> \
<span class="sy0">-</span>H <span class="st_h">'apikey: <API KEY>'</span> \
<span class="sy0">-</span>d <span class="st_h">'{
{
"from" : "{{whatsAppBusinessNumber}}",
"to" : "{{receiverPhoneNumber}}",
"channel" : "whatsapp",
"content": {
"contentType": "interactive",
"interactive": {
"subType": "buttons",
"components": {
"header": {
"type": "text",
"text": "Your request is queued"
},
"body": {
"type": "text",
"text": "How would you rate your bot experience"
},
"footer": {
"type": "text",
"text": "Your service bot"
},
"buttons": [
{
"type": "reply",
"reply": {
"payload": "987298-40980jvkdm9-234234234",
"title": "Poor"
}
},
{
"type": "reply",
"reply": {
"payload": "987298-dsfgjlkhgdf-dg09u834334",
"title": "OK"
}
},
{
"type": "reply",
"reply": {
"payload": "9080923445nlkjß0_gß0923845083245dfg",
"title": "Good"
}
}
]
}
}
}
}</span></pre></div>
The response when the user selects a list item or clicks on a quick reply button is:
<div class="geshifilter"><pre class="php geshifilter-php"><span class="br0">{</span>
<span class="st0">"messageId"</span><span class="sy0">:</span> <span class="st0">"ABEGSRcolTdUAgo-sAvEvWg9HO32"</span><span class="sy0">,</span>
<span class="st0">"channel"</span><span class="sy0">:</span> <span class="st0">"whatsapp"</span><span class="sy0">,</span>
<span class="st0">"from"</span><span class="sy0">:</span> <span class="st0">"491728953754"</span><span class="sy0">,</span>
<span class="st0">"to"</span><span class="sy0">:</span> <span class="st0">"4923147790813"</span><span class="sy0">,</span>
<span class="st0">"content"</span><span class="sy0">:</span> <span class="kw4">null</span><span class="sy0">,</span>
<span class="st0">"event"</span><span class="sy0">:</span> <span class="st0">"MoMessage::Postback"</span><span class="sy0">,</span>
<span class="st0">"whatsapp"</span><span class="sy0">:</span> <span class="br0">{</span>
<span class="st0">"title"</span><span class="sy0">:</span> <span class="st0">"Good"</span><span class="sy0">,</span>
<span class="st0">"senderName"</span><span class="sy0">:</span> <span class="st0">"Peter @ tyntec"</span>
<span class="br0">}</span><span class="sy0">,</span>
<span class="st0">"context"</span><span class="sy0">:</span> <span class="br0">{</span>
<span class="st0">"messageId"</span><span class="sy0">:</span> <span class="st0">"7a9658bc-20ce-4877-8409-8145f012a7fc"</span>
<span class="br0">}</span><span class="sy0">,</span>
<span class="st0">"postback"</span><span class="sy0">:</span> <span class="br0">{</span>
<span class="st0">"data"</span><span class="sy0">:</span> <span class="st0">"italo-classic-34987-234897234-234"</span>
<span class="br0">}</span><span class="sy0">,</span>
<span class="st0">"timestamp"</span><span class="sy0">:</span> <span class="st0">"2021-07-13T09:22:32Z"</span>
<span class="br0">}</span></pre></div>