Message types
There are two types of messages when using WhatsApp for business communications: templates and free-form messages. The type you use depends on who initiates the chat and the time frame of the conversation.
- Templates - Preformatted messages approved by Meta.
- Free-form - Standard free-flowing messages that support all media types
The message type depends on who initiates the conversation and is it within the messaging window. Regulation dictates that you must stick to preapproved message templates when messaging customers outside of window.
Message templates
Message templates ensure that business-initiated communication follows WhatsApp guidelines. They contain predefined text and are preformatted. These templates can be reused when the same message needs to be sent multiple times.
When you send a message template, you can send the template identifier (template name) instead of the message content.
Templates can contain placeholders. When you send the template message, you can replace the placeholders with values or personalized information.
Template headers can contain media that provide additional information. You can also make interactive templates by registering buttons as part of the message.
Message templates can be classified into three categories to facilitate different types of business-initiated interactions: Marketing, Utility, and Authentication template. Each category serves distinct purposes and includes various subcategories to cater to specific communication needs.
1. Marketing template
Designed for business-initiated interactions to promote products or services to end users who have opted in. These templates are used to send relevant offers, announcements, and other promotional content. Any business-initiated conversation that is not authentication or utility falls under this category.
Subcategories:
- Text and rich media template: Includes plain text messages and those enhanced with images, videos, or other multimedia elements to engage users.
- Carousel template: Allows businesses to showcase multiple products or services in a single message, enabling users to browse different options by swiping.
- Limited-time offer template: Designed for promotions available for a short period, creating a sense of urgency and encouraging quick action from recipients.
- Coupon code template: Used to send discount codes or special offers to users, encouraging them to make a purchase or take advantage of a deal.
- Flow template: Guides users through a series of steps or processes, such as signing up for a service or completing a survey.
- Multi-product message template: Enables businesses to showcase multiple products, each with titles and product IDs, and includes optional thumbnail images. The template supports clickable buttons for user interaction and optional URL management features like shortening and tracking. Available only via WhatsApp API (opens in a new tab).
- Catalog template: Allows businesses to send messages featuring a product catalog with clickable buttons for user interaction and includes optional thumbnail images. It supports URL management features like shortening and tracking. Available only via WhatsApp API (opens in a new tab).
To send catalog template messages, you must enable commerce settings in your WhatsApp Manager:
- Go to WhatsApp Manager on Meta.
- Under Account Tools, find Catalog and click on it.
- Select the business phone number.
- Enable both options:
- Show catalog icon in chat header
- Show "Add to cart" button on product pages and chat
2. Utility template
Utility templates facilitate business-initiated conversations related to transactions, such as post-purchase notifications and recurring billing statements. These messages are typically event-triggered, allowing businesses to follow up on end user actions or requests. Utility message types must include specifics about the active or ongoing transaction, account, subscription, or interaction to which they relate.
Use cases:
- Invoice delivery and reminders
- Payment updates
- Alerts
- Account updates
- Order/shipping updates
Subcategories:
- Text and rich media template: Similar to marketing templates, these can include plain text and multimedia elements to provide detailed transactional information.
- Carousel template: Useful for presenting multiple updates or information in a swipeable format.
- Flow template: Helps guide users through processes related to their transactions, such as tracking an order or updating account details.
3. Authentication template
Authentication templates support business-initiated conversations that facilitate user authentication through one-time passcodes. These templates are essential for various steps in the login process, and ensure secure and verified access to user accounts and services.
Use cases:
- Account registration
- Account recovery
- Security checks
URL
. If you create it through the API, you must manually set it to URL
type. Otherwise, you will get an error.Message templates include the following sections:
- Header
- Body
- Footer
- Buttons
- Cards (check Carousel template)
The first step in sending notifications is to create and register your message templates and then submit the templates to Meta for approval.
Make sure you are familiar with the template guidelines, as well as the limitations below.
Template names can contain only lowercase alphanumeric characters and underscores (_
). They cannot contain other characters or white space.
Header
Headers are optional. You can use headers to provide additional information to end users.
Headers can contain the following:
- Text
- Maximum of 60 characters, can include 1 placeholder.
- Image
- Maximum file size: 16 MB.
- Supported file types: .jpg, .jpeg, .png.
- Video
- Maximum file size: 16 MB.
- Supported file types: .mp4.
- Document
- Maximum file size: 16 MB.
- Supported file types: .pdf.
- Location
Body
The body section is mandatory. The body must follow these guidelines:
- Can contain only text and emojis.
- Can be registered either as plain text or as text with placeholders.
- Can contain a maximum of 1,024 characters.
- Must not contain newlines, tabs, or more than 4 consecutive spaces.
- If you add sample content to one parameter, you must also add sample content to all other parameters.
Footer
Footers are optional. They must follow these guidelines:
- Can contain only text.
- Cannot contain placeholders.
- Can contain a maximum of 60 characters.
Buttons
Buttons are an optional part of a WhatsApp template, allowing customers to respond to messages or take specific actions directly from the chat. You can create 10 buttons from various categories within a template. Buttons are interactive components which enable users to quickly select options and perform actions.
Quick reply button
- Provides customers with predefined responses they can send with a single tap.
- You can add up to 10 quick reply buttons per template.
- Can contain a maximum of 25 characters.
Call button
- Allows customers to call a specified business phone number directly from the chat.
- Only one call button is allowed per template.
- The phone number can contain a maximum of 20 characters and must be in the international format starting with a plus sign (
+
).
Click to URL
- Lets customers open a specified URL in their web browser.
- You can add up to two URL buttons per template.
- The text for each URL button can contain a maximum of 25 characters, while the URL itself can be up to 2,000 characters long. The URL can include a single placeholder at the end.
Copy code
- Allows customers to copy a code, such as a coupon code, to the clipboard with a single click.
- The text for each copy code button can contain a maximum of 25 characters.
Text and rich media template
- Send single text-only or rich media messages with buttons.
- Classified as a Marketing or a Utility template.
Carousel template
- Send a message with up to 10 carousel cards, text, and buttons.
- You can define media (image or video) and button types for all your cards.
- Classified as a Marketing or a Utility template.
- Can be created via the template editor or WhatsApp API (opens in a new tab).
Limited time offer template
- Send time-bound offers with expiration dates for offer codes.
- You can define the offer heading, expiration date, and button types.
- Classified as a Marketing template.
- Can be created via the template editor or WhatsApp API (opens in a new tab).
Coupon code template
- Send discount codes with a button to quickly copy the code.
- You can add a button to copy the code. The code can contain a maximum of 15 characters.
- Classified as Marketing template.
- Can be created via the template editor or WhatsApp API (opens in a new tab).
Flow template
- Send a message with a button that initiates a predefined flow.
- You can create a button that allows customers to trigger the flow by entering the Flow ID.
- Can be created via the template editor or WhatsApp API (opens in a new tab).
Authentication template
- Send one-time verification code.
- Add your message and a security recommendation to users not to share the code with anyone.
- Choose how users can copy the verification code:
- Create a button to copy the code.
- Create a button for one-tap autofill (Android only): the code will automatically be copied to the app when you tap the button. For this to work, you must enter Android app's package name and signature hash.
To use an authentication template for the authentication copy code button via WhatsApp API (opens in a new tab), you must set the button type as URL
with the authentication code value as the parameter (if you create the template through our template editor, the URL
will automatically be set as the button type). Here is an example:
{
"messages": [
{
"from": "441134960000",
"to": "441134960001",
"messageId": "a28dd97c-1ffb-4fcf-99f1-0b557ed381da",
"content": {
"templateName": "template_name",
"templateData": {
"body": {
"placeholders": [
"Authentication Code Value"
]
},
"buttons": [
{
"type": "URL",
"parameter": "Authentication Code Value"
}
]
},
"language": "en_GB"
},
"callbackData": "Callback data",
"notifyUrl": "https://www.example.com/whatsapp",
"urlOptions": {
"shortenUrl": true,
"trackClicks": true,
"trackingUrl": "https://example.com/click-report",
"removeProtocol": true,
"customDomain": "example.com"
}
}
]
}
Template registration
-
Log in to Infobip (opens in a new tab) and select Channels and Numbers > Channels.
-
Select WhatsApp.
-
Select the Senders tab.
-
For the desired sender, select three dots menu.
-
Select Manage templates.
-
Click Register template.
-
Choose the template category: Marketing, Utility, or Authentication. Then choose the appropriate subcategory.
-
Enter the template name and language, and you can begin designing the template through the template editor. Follow specifications to register template successfully. As you make changes, you can preview how the message will look in the left preview window.
When you finish the design, click Register template and await approval. You can monitor the state of your template to see if it is Approved, Pending, or Rejected.
Free-form messages
Use free-form messages to send various message types. Cut-off control prevents messages from being delivered to users out of certain conditions.
Regular text messages or media messages (for example, any non-message templates) can only be delivered within the first 24 hours since the customer last contacted your business. Message templates do not have this restriction and can be used if you need to contact customers outside of this window.
The following elements are available to send over WhatsApp; however, pay attention to element-specific limitations and supported options.
Text
Send a message in the form of text to customers. You can send text in any of the following formats:
- Bold (*using asterisks*)
- Italic (_using underscores_)
Strikethrough(~using tildes~)Code
(```using three backticks```)
Messages can contain up to 4,096 characters per free-form message. Text limitations vary on the relevant sections in templates. You can also include emojis in text messages.
URL character counts are also included in message length limits. Make sure to keep text messages and URLs within the character limit. You also have the option to display URL previews in messages.
Documents
Send documents to customers. The documents should have names in the form of text, up to 240 characters. If no name is given, WhatsApp will assign one.
You can send the following document file types:
- .doc(x)
- .ppt(x)
- .xls(x)
Document file sizes can be up to 100 MB.
Images
Send images to customers. You can also send messages in the form of an image and caption together. Image captions can be up to 3,000 characters long.
The following image types are supported:
- jpg
- .jpeg
- .png
Image sizes can be up to 5 MB.
Audio
Send audio messages to customers. The following audio types are supported:
- .aac
- .amr
- .mp4
- .opus
Audio file sizes can be up to 16 MB.
Video
Send video messages to customers. You can also send messages in the form of a video and captions together. Video captions can be up to 3,000 characters long.
The following video types are supported:
- .mp4
- .3gpp
Video sizes can be up to 16 MB.
Stickers
Send stickers as messages to customers. There are a few formatting requirements to follow with stickers:
- .webp files only.
- Cannot exceed 100 KB.
- Must be 512 x 512 px.
- Must be 16 px margin around the sticker.
- Must have transparent background.
Location
Send a static location in the form of a message. Location messages are in the form of interactive maps.
Included in location messages are your:
- Longitude - Coordinates between -180 and 180
- Latitude - Coordinates between -90 and 90
- Location Name - Name of the location (optional)
- Address - (Optional) Address of the location
Contacts
Send a contact saved in your address book. This allows recipients to autosave contacts into their devices using a save button.
Contact messages consist of an array of contact-related objects. Each of those objects contains a further set of sub-objects.
High-level objects include:
- Name
- Address
- Emails
- Organization
- Phone
- URL
- Birthday
See the API section (opens in a new tab) for more information about contact objects.
Interactive messages
Interactive messages enhance user engagement by providing dynamic components within the chat. These messages enable users to quickly select options, perform actions, and interact with content seamlessly, improving communication and response efficiency.
Interactive lists
Allow users to select from a list of up to 10 options to confirm a preference, for example, a location for the service they are trying to find out more about.
Users will only be able to select one option at a time.
List messages are made up of the following:
- Header - (Optional) Text shown at the top of the list message. Maximum of 60 characters
- Body - Message text content. Maximum of 1,024 characters
- Footer - Footer text content. Maximum of 60 characters
- List
- List title - List button text. Maximum of 20 characters
- Section title - (Optional) Not visible and used for reference. Maximum of 24 characters
- Row titles - Single selection options accompanied by a radio button
- Row descriptions - (Optional) Provide additional context to selectable options
- List item title - Name of the list item. Maximum of 24 characters
- List item description - (Optional) Details about the list item. Maximum of 72 characters
- Postback - Payload value for list item. Maximum of 200 characters
Interactive buttons
Use interactive buttons to send end users up to three options to choose from as an automated response. This allows them to reply quickly reply by selecting from the options that you provide.
These work in the same way as quick replies in message templates, but are available for free-form messages. Users will only be able to select one option at a time per message. These work like quick replies in message templates but are available for free-form messages. Users can select only one option at a time per message.
Quick reply messages are made up of the following contain:
- Header - Text up to 60 characters, or image, video, or document (optional)
- Body - Text up to 1024 characters
- Footer - Text only up to 20 characters (optional)
- Buttons - Up to 3 buttons, text only, each containing up to 20 characters
Product message
Send an interactive message about a product or service that is present in your catalog. Customers can ask questions about the product, add it to the cart, and submit the cart without leaving the chat.
To send a Product message, you must have a Meta catalog that is connected to your WhatsApp Business Account. Refer to the Manage Catalog section for more information.
Product messages contain the following components:
- Body (mandatory)
- Footer
- Action (mandatory)
The Action element contains the following components:
- Catalog ID
- Product Retailer ID: The product ID that is present in the catalog.
Multi-product message
Send an interactive message about products or services present in your catalog. The message can include a maximum of 30 products, presented in a maximum of 10 sections. Customers can ask questions about the product, add it to the cart, and submit the cart without leaving the chat.
To send a Multi-product message, you must have a Meta catalog connected to your WhatsApp Business account. Refer to the Manage Catalog section for more information.
Multi-product messages contain the following components:
- Header (mandatory)
- Body (mandatory)
- Footer
- Action (mandatory)
The Action element contains the following components:
- Catalog ID
- Section
- Title
- Product Retailer ID: The product ID that is present in the catalog.
If you use WhatsApp API (opens in a new tab), you can engage customers with multi-product or catalog template messages, sharing product offers directly in the chat. Customers can browse products and sections within the message, view product details, add and remove products from their cart, and submit their cart to place an order, all without exiting the WhatsApp conversation.
CTA URL button messages
CTA (Call-to-Action) URL button messages enable embedding clickable buttons within messages. These buttons can direct recipients to specified URLs, making driving traffic to websites, landing pages, or other online resources easy.
The messages can include additional elements, such as headers and footers, to provide more context. Advanced options like URL shortening, click tracking, and custom domains are also available to tailor the message and gather valuable engagement metrics.
CTA URL button messages are available over WhatsApp API (opens in a new tab).
Send Location CTA
Send Location CTA button enables customers to send their location more quickly.
Customers have the option to share their location or the location of a nearby place. Sharing live location is not supported.
Note that businesses cannot send "Send Location CTA" as the initial message to the customers. The request for user location can only be sent if the customer has contacted the business in the last 24 hours, then this type of message can be sent.
Send Location CTA is available over WhatsApp API (opens in a new tab) and can be used with the Answers Call API element.
Payments message
WhatsApp Payments enables customers to pay their orders inside WhatsApp. The payment solutions consists of two messages: order_details
and order_status
.
If you want to initiate the payment, send order_details
. It always contains the same four components: header, body, footer, and action.
Inside the action component, include all the information needed for the customer to complete their payment.
Once you receive the payment signal for an order, communicate the confirmation of the payment to the customer via order_status
message.
You can find more information about WhatsApp Payments here (opens in a new tab).
WhatsApp Flows
WhatsApp Flows provide businesses with the flexibility to design and refine their own comprehensive customer experiences, all within the WhatsApp platform. This allows customers to complete tasks without the need to switch to other apps or platforms.
These flows represent a library of components, layouts, and connectors businesses can combine with customer data to create a single data flow supporting custom use cases.
Each solution is tailored to the client's needs. WhatsApp Flows can be used to offer products to customers, manage orders and delivery, collect feedback, create personalized offers, and so on.
If you use WhatsApp API (opens in a new tab), you can avoid waiting for an open session with a customer to engage them. Send them a Flow message as a template and start the conversation.
Inbound messages
Inbound messages are forwarded to you in real time when you use WhatsApp for two-way communication.
If you are forwarding messages to an API endpoint, you will need to grant it permission for the Infobip platform. You can secure the connections with additional authorization headers.
Customers can send you the following WhatsApp components in messages:
- Text
- Image
- Audio
- Voice
- Video
- Document
- Location
- Contact
- Button
- Interactive button reply
- Interactive list reply
- Order message
- Other media
Received media is accessible for up to 30 days. During this time, it can be deleted within this time through the WhatsApp API (opens in a new tab).
Quoted messages
End users can quote messages to indicate that they are replying to that message. The reply from the end user contains the quote ID.
Referral
On platforms such as Facebook and Instagram, when an end user clicks an ad that contains a click-to-WhatsApp button and sends a message to your business, you receive the following information about the ad, along with the message:
- Whether the user clicked an ad or a post
- URL of the ad
- Facebook ID of the ad
- Headline that was used
- Body from the ad
- Unique per click identifier
- Media information that the user saw and clicked
Product question
When an end user sends a question about the a product in a Product or Multi-product message, the context of the inbound message will include information about the product.
Additional functionality
In the WhatsApp API, you can mark (opens in a new tab) inbound messages as read.