WhatsApp Business API has a wider variety of message types compared to WhatsApp Business and Personal app. In this article, we explain the messages types you can send and receive using WhatsApp Business API, as well as their use cases.
Sending messages
In SleekFlow, you can send the following message types via WhatsApp Business API:
- Free-form text messages
- Media messages
- Template messages
- Interactive messages
⚠️ All messages sent by you to the customer CANNOT be deleted or recalled on SleekFlow due to restriction from Meta.
Free-form text messages
Free-form text messages are messages that you can send during the customer service window. The character limit of each text message is 1,600.
The table below outlines how to send free-from messages in different formats:
Format | Input | Output |
Bold | This is a *bold* message | |
Italic | This is an _italic_ message | |
Strike-through | This is a ~strike through~ message |
|
Monospace | This is a ```monospace``` message |
|
Bulleted list | - This is a bullet list message |
|
Block quote | > This is a block quote message |
|
Inline code | This is an `inline code` message |
You may apply multiple formats at the same time. To apply the formats outlined above, always add spaces before and/or after the special character in the message. Below are some examples explaining when and where you should add spaces.
XX = space
1. If you apply text formatting in the middle of the sentence, you should add spaces to both before and after the text
1 format
Input | This is a *bold* message. |
Outcome | This is a bold message. |
2 formats
Input | Here is a _*special*_ discount for you! |
Outcome | Here is a special discount for you! |
2. If you apply text formatting in the beginning of the sentence, you should only add spaces after the text
Input | *SUMMER SALES* is coming! |
Outcome | SUMMER SALES is coming! |
3. If you apply text formatting before a punctuation (i.e ,.!@#$%^) in a sentence, you should only add spaces before the text
Input | Please pay attention to *_Important service updates_*! |
Outcome | Please pay attention to Important service updates! |
Media messages
You can send attachments in the following formats with WhatsApp Business API. Please note that the size limit of each attachment is 15MB.
Media type | Format |
Image |
|
Video |
|
Audio |
|
Document |
|
Stickers |
|
Template messages
Template messages are tools for you to open conversations with customers that are NOT within a customer service window. You have to draft a template in SleekFlow and get it approved before you can use it to open conversations. Once the template is approved, you may use the same template in any scenario to open conversation as many times as you want.
Before drafting your template, it is important to know the components of a template:
- Categories
- Name
- Language
- Body
- Header
- Footer
- Button
Categories
Categories relate to the objective you want to achieve with your message. You should always choose template categories that best describe your message content. Each template category corresponds to a conversation category, for example, you will open a Marketing conversation using a marketing template. To see how corresponding template categories impact pricing, please see our conversation-based pricing.
There are 3 template categories:
-
Marketing
Choose the Marketing category when sending promotions or information about your products, services, or business. Other than that, the Marketing category will also apply to templates that cannot be categorized as Utility and Authentication, so it is a flexible template category that can achieve various goals.
Examples: welcome messages, newsletters, offers, coupons, catalogs, new store hours (see more examples in the Body section of this article)
-
Utility
Choose the Utility category when sending messages about an existing order or account.
Examples: order confirmations, account updates, receipts, appointment reminders, billing (see more examples in the Body section of this article)
-
Authentication
Choose the Authentication category when sending codes to verify a transaction or sign in.
Examples: one-time password, account recovery code (see more examples in the Body section of this article)
Name
Template names are the unique identifiers for templates in each WhatsApp Business API account (WABA). Identical template names are only allowed when two message templates are written in different languages.
A template name should be:
- within 512 characters
- only using lowercase-text and numbers and
- without empty spaces between words
Examples: hello_1, beautyfest_vip_promo_202324, marketing_opt_out_with_privacypolicy
- If you delete a template that has been sent in a template message but has yet to be delivered (e.g. because the customer's phone is turned off), we will attempt to deliver the message for 30 days, after which we will no longer attempt to deliver it
- Names of an approved template that has been deleted cannot be used again for 30 days
Language
Language is a required field for a template. See Meta's list of supported languages below, or check out this article for more.
Language supported (as of 30 June 2024) | ||
Afrikaans | Hausa | Romanian |
Albanian | Hebrew | Russian |
Arabic | Hindi | Serbian |
Azerbaigani | Hungarian | Slovak |
Bengali | Indonesian | Slovenian |
Bulgarian | Irish | Spanish |
Catalan | Italian | Spanish (ARG) |
Chinese (CHN) | Japanese | Spanish (SPA) |
Chinese (HKG) | Kannada | Spanish (MEX) |
Chinese (TAI) | Kazakh | Swahili |
Croatian | Kinyarwanda | Swedish |
Czech | Korean | Tamil |
Danish | Kyrgyz (Kyrgyzstan) | Telugu |
Dutch | Lao | Thai |
English | Latvian | Turkish |
English (UK) | Lithuanian | Ukrainian |
English (US) | Macedonian | Urdu |
Estonian | Malay | Uzbek |
Filipino | Malayalam | Vietnamese |
Finnish | Marathi | Zulu |
French | Norwegian | |
Georgian | Persian | |
German | Polish | |
Greek | Portuguese (BR) | |
Gujarati | Portuguese (POR) | |
Punjabi |
Please note that the language indicated in this field should match with that used in the content of the template’s body, header, footer, and buttons.
Body
Body is a required component of a template, where you write the main idea of your message. Please bear in mind that you should draft the message body in the template’s selected language. In the message body, you can insert plain text and variables.
We will illustrate the use cases of variables with 2 examples below:
Variables
Say you are planning to send out a birthday message to customers according to their birthday month. Below may be the template body you have in mind.
Example 1
“January” in this message body is a value that will change according to the month of the birthday campaign. Values that will change based on the context are usually called Variables.
Variables are especially helpful when creating personalized or repetitive content. It can be a value that
- Will change along with the receiver of your message (e.g. membership number, booking date and time, etc.) according to a contact property, or
- Can be hard coded by scenario (i.e. Month, ZOOM links)
To use a variable in the message body, simply replace the value with {{number}}. See the example below.
Example 2
Other than the birthday month, you may also want to include the customer's name to increase the intimacy of the message. This may be the message body you have in mind.
When there are two or more variables, you should number the variables by order.
For more template examples and use cases, see Meta for Developers site here.
Header
Headers are optional components that appear at the top of template messages. It not only allows you to display title text, but also insert multi-media.
Each template is limited to one header component. Headers support the following formats:
- Text: within 60 characters including variables, or
- Media: images, videos, and documents that are smaller than 15MB. Click here to learn more about supported media formats.
Footer
Footers are optional components. It is a short line of text displayed at the bottom of your message template. Each template is limited to one footer component and they support the following format:
- Text: within 60 characters, variables are not supported.
Buttons
Buttons are optional components. The goal of adding buttons is to let customers respond to your message or take action. Currently, SleekFlow supports the following button types, and you can use only 1 type in each message template:
Call-to-action
Call-to-action buttons aim to let your customers take action. Actions include:
- Visiting a website with a static or dynamic URL
- Making a phone call
You can create up to 2 call-to-action buttons in each message template. For each button, you can input text up to 20 characters.
Quick reply
Quick reply buttons aim to let your customers respond to your message efficiently without typing. You can add up to 3 quick reply buttons for each message template. For each button, you can input text up to 20 characters.
Interactive messages
Interactive messages are messages that enable you to use buttons and lists within a customer service window. They are NOT template messages (even though they look alike), therefore, you are NOT required to get approval from WhatsApp before sending them. The table below outlines the interactive message types we support:
Message type | Description | Example |
List messages | Messages including a menu of up to 10 options. This type of message offers a simpler and more consistent way for customers to make a selection when interacting with a business. | |
Quick reply button messages
|
Messages including up to 3 options — each option is a button. This type of message offers a quicker way for customers to make a selection from a menu when interacting with a business. |
Sending messages
In SleekFlow, other than plain text messages, you can also receive the following message types via WhatsApp Business API. The table below outlines the message types you can receive:
Message type | Description | Example |
Location message |
When your customer shares a location message with you, you will receive a message containing:
|
|
Reaction to message |
When your customer long taps a message to react to a message you sent with any emoji, you will receive a message containing:
When your customer removes the reaction, you will receive another message without the emoji used. |
|
Quoted reply |
When your customer quotes a message you send, you will receive a notification containing:
|
|
Stickers | When your customer shares a sticker with you, you will receive an .WEBP image message | |
Contact messages |
When your customer shares a contact with you, you will receive a message containing:
|
⚠️All messages sent by your customer to your number can be deleted or recalled on customer side. However, you will still be able to see the deleted message on SleekFlow.