List Messages
List messages provide a more straightforward and consistent format than text-based lists for people to find and select what they want from a business.
Lists messages do not require a template or pre-approval.
Benefits and use cases include
- Provide up to 10 options
- List messages can be populated dynamically based on a customer’s responses and can be used for personalized bot use cases, such as a take-out menu, a selection of nearby stores or locations, available reservation times, seating choices, etc.
- Dedicated description lines for each option are available to provide additional context.
Each list message consists of
Implementation considerations
- List messages are most effective for menus with up to 10 options or where additional context is required to make the decision.
- List messages can provide an initial response to a customer message before transitioning to a human agent. They can be ‘chained’ in a flow with another list or Reply buttons to complete an action.
- Payload and title on the list rows are mandatory.
- When more than 1 section is used, the section title is mandatory.
- Do NOT list messages for:
- A list of products: List messages cannot contain images.
- Messages with fewer than four options that require no context (e.g., Yes/No). Use Reply buttons or interactive notifications for these cases.
API Request for List Messages
<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": "list",
"components": {
"header": {
"type": "text",
"text": "Choose your menu"
},
"body": {
"type": "text",
"text": "Hi Sarah, select your menu from the bottom list. Dressings and toppings are selected later on"
},
"footer" : {
"type": "text",
"text": "Your tyntec food team"
},
"list": {
"title": "Your menu",
"sections": [
{
"title": "Vegan",
"rows": [
{
"payload": "green-dream-34987-234897234-234",
"title": "Green dream",
"description": "A bowl full of tasty leaves, soybeans and cucumber"
},
{
"payload": "rainbow-meets-rice-34987-234897234-234",
"title": "Rainbow meets rice",
"description": "A colorful selection of vegetables on a cozy bed of basmati rice"
}
]
},
{
"title": "Vegetarian",
"rows": [
{
"payload": "italo-classic-34987-234897234-234",
"title": "Italo Classic",
"description": "Slices of tomatoes, with plucked pieces of mozzarella and basil leaves"
},
{
"payload": "egg-and-peas-34987-234897234-234",
"title": "Egg & Peas",
"description": "Tasty slices of eggs, on a whole wheat pasta salad with peas"
}
]
}
]
}
}
}
}
}</span></pre></div>
The responses when the user selects a list item
<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-sAv23434Wdf9fsdO32"</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">"description"</span><span class="sy0">:</span> <span class="st0">"Slices of tomatoes, with plucked pieces of mozzarella and basil leaves"</span><span class="sy0">,</span>
<span class="st0">"title"</span><span class="sy0">:</span> <span class="st0">"Italo Classic"</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-81432443a7fc"</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">"9080923445nlkjß0_gß0923845083245dfg"</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>