Whatsapp icon integrated with an authentication API, showcased on a green square.

Channel | WhatsApp Business

With more than 2 billion people using WhatsApp around the world to send 60 billion messages every day, the chat app has revolutionized the way we communicate. With an enterprise-grade API, companies can now send notifications and provide customer service through WhatsApp in a secure, reliable, and customer-friendly way.

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.
image_wa_conversation_rounded_borders_interactive_buttons_reply_buttons_010.35x

Each reply button message consists of

image_wa_conversation_rounded_borders_interactive_buttons_reply_buttons_020.35x

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>