Rich Content
Beta
The WhatsApp rich content features are currently provided via the Twilio Messaging Content API that's currently in Pilot release.
To use the rich content features you will need to request access to the Messaging Content API from Twilio for your specific Twilio Account SID.
Integration properties
Once you've been given access to the Twilio Messaging Content API for your specific Twilio Account SID, you can enabled WhatsApp rich content by setting the enable_rich_content
property.
Here is an example integration configuration:
type: meya.whatsapp.integration
account_sid: (@ vault.twilio.account_sid )
api_key_sid: (@ vault.twilio.api_key_sid )
api_key_secret: (@ vault.twilio.api_key_secret )
phone_number: (@ vault.whatsapp.phone_number )
markdown: false
enable_rich_content: true
Quick replies
Quick replies can be configured with a say
component and will be rendered using the twilio/quick-reply
content type. You can add an action, button_id or just use text as you normally would when using the Orb integration.
Limitations
- WhatsApp supports a maximum of 3 quick replies .
Here is an example:
- say: How can I help?
quick_replies:
- Check my balance
- text: Check my points
action:
jump: points
- text: Talk to an agent
button_id: escalate_agent
Ask buttons
When you use an Ask Buttons component the WhatsApp integration will render it as a twilio/list-picker
content type. The Ask Buttons component properties will be mapped as follows:
- aks: message body text
- label: list picker button text
- buttons: list picker set of items
- text: list picker item text
Limitations
- WhatsApp supports a maximum of 10 items in a list picker.
- You cannot set the
description
of a list item using the Ask Buttons component. You will need to use the List Picker component. - URL buttons are not supported.
Here is an example:
- ask: Select a button
label: Select
buttons:
- text: Ask Email
action:
jump: email
- text: Google
- text: Talk to an agent
button_id: escalate_agent
List picker
If your flow only needs to support the WhatsApp integration, then you can use the dedicated list picker component.
Limitations
- WhatsApp supports a maximum of 10 items in a list picker.
Here is an example:
- list_picker: Owl Air Flash Sale! Hurry! Sale ends on Sat
button: Select a destination
items:
- text: SFO to NYC for $299
description: Owl Air Flight 1337 to LGA
action:
jump: nyc
- text: OAK to Denver for $149
description: Owl Air Flight 5280 to DEN
action:
jump: den
- text: LAX to Chicago for $199
description: Owl Air Flight 96 to ORD
action:
jump: ord
Twilio content types
The Meya WhatsApp integration uses the Twilio Messaging Content API to create dynamic content templates for each support Meya card.
Usually content templates are subject to WhatsApp approval before they can be used, however, if a user initiates the conversation, a 24-hour messaging session opens which allows certain rich content types to be sent without template approval.
Due to this restriction, not all Meya cards are supported, and some limitations apply to the cards that are supported.
Meya Card | Twilio Content Type |
---|---|
Image | twilio/media |
File | twilio/media |
Buttons | twilio/list-picker - limited to 10 list items |
Tiles | Not supported - is not supported by the 24-hour session template approval exception |
Quick replies | twilio/quick-reply - limited to 3 quick replies |
Twilio content template approval
The following table shows which Twilio content types require template approval from WhatsApp.
WhatsApp Session Type | twilio/text | twilio/media | twilio/location* | twilio/call-to-action* | twilio/quick-reply | twilio/list-picker | twilio/card* |
---|---|---|---|---|---|---|---|
User initiated: 24-hour session (initiated by inbound message) | No approval required | No approval required | No approval required | Approval required | No approval required | No approval required | Approval required |
Business initiated: Out of session (initiated by a business - no inbound message) | Approval required | Approval required | Not supported | Approval required | Approval required | Not supported | Approval required |
- Not supported by the Meya WhatsApp integrations
Twilio rate limits
By default, Twilio and WhatsApp imposes some basic rate limits on messages sent by a Twilio sender.
Media Messages | Text-Only Messages | |
---|---|---|
Twilio WhatsApp Sender | 1.5 MPS | 25 MPS |
- MPS = Messages Per Second
You can use multiple Twilio WhatsApp Senders to achieve higher rate limits. Please contact your Twilio account manager to set this up.
f you are requesting more than 25 MPS for text, 1.5MPS for Media, your messages will enter Twilio's message queue. This message queue has a maximum limit of four hours. Messages that remain in the queue for more than four hours will eventually fail.
Updated about 2 years ago