Carousel template
Overview
The Carousel template supports two sending formats:
Carousel with custom product cards
Maximum flexibility for your use case. Best when you need customization and marketing freedom.
You define the carousel: number of cards, texts, variables, and buttons
On send, you supply images and variable values
Good for custom promotions, special offers, and segment-specific content
Full control over look and copy of each card

Carousel with product cards from your WhatsApp Catalog
Fast, automatic, and fewer errors. Best for large sends and regular sales.
Cards are pulled from your WhatsApp Catalog
No manual descriptions, images, or button setup
Data is always up to date: price, name, description, images
Less manual work and fewer send mistakes

Description
Carousel templates allow you to send a single text message (1), accompanied by a set of up to 10 carousel cards (2) in a horizontally scrollable view.
The template can be viewed by users both from mobile devices and in the WhatsApp web client.
Basic rules for creating a template:
A message bubble (1) is required. Message bubbles are text-only and support variables in it.
Carousel templates support up to 10 carousel cards.
The media header format and button types must be the same for all cards.
Cards must have a mandatory media header (image or video) and card body text
Card should at least have 1 button. Template supports a maximum of up to 2 buttons for each card.
The button types supported are Quick Reply, Website URL CTA & Call Phone Number CTA. Buttons can be the same type or a mix of Quick reply buttons, phone number buttons, or URL buttons for each card.
Ways to send Carousel
Carousel can be sent in two ways:
Via a template (Template message) — used for sending outside the 24-hour window. Requires prior creation and approval of the WhatsApp template. Sending is paid.
As a service message — used within the 24-hour conversation window. No template is required. Sending is free.
Create a template
Creating a template is described in the API documentation in the /addTemplate method.
The difference from the basic template creation is the addition of a new CAROUSEL type to the components and cards array..
You can also create a template from the 'Dev Toolkit' → 'Test requests' section of your personal cabinet. The example below was created using this section. Don't forget to specify examples of variables if you have added them to the body, link URL of buttons. Otherwise the template will be rejected by Meta*.
Example of creating a Carousel template
The links are test links, be sure to use the correct ones when copying. The filling example is taken from the 360Dialog source.
Example of creating a Carousel template with WhatsApp Catalog product cards
Example are for testing; replace with real ones. Product IDs are filled when sending the template.
BUBBLE_TEXT
String
Required..
Message bubble text string. Supports variables.
Maximum 1024 characters.
Summer is here, and we've got the freshest produce around! Use code {{1}} to get {{2}} off your next order.
BUBBLE_TEXT_VAR_EXAMPLE
Array of strings
Required if the message bubble text string uses variables.
Array of example variable strings. Number of strings must match the number of variables included in the string.
"15OFF","15%"
CARD_BODY_TEXT
String
Required.
Card body text. Support variables.
Maximum 160 characters.
Rare lemons for unique cocktails. Use code {{1}} to get {{2}} off all produce.
CARD_BODY_TEXT_VAR_EXAMPLE
Array of strings
Required if using card body text with variables.
Card body text example variables.
"15OFF","15%"
CARD_HEADER_FORMAT
Enum
Required.
Card media header format. Must be IMAGE or VIDEO.
IMAGE
CARD_HEADER_HANDLE
Required.
QUICK_REPLY_BUTTON_TEXT
String
Required if using a quick reply button.
Quick reply button label text.
Maximum 25 characters.
Send more like this #2
TEMPLATE_CATEGORY
Enum
Required.
Must be MARKETING or UTILITY.
MARKETING
TEMPLATE_LANGUAGE
Enum
Required.
Template language and locale code.
en
TEMPLATE_NAME
String
Required.
Template name.
Maximum 512 characters.
marceting_carousel_01_test
URL_BUTTON_TEXT
String
Required if using a URL button.
URL button label text.
25 characters maximum.
Buy now
URL_BUTTON_URL
String
Required if using a URL button.
URL of website that loads in the device's default mobile web browser when the URL button is tapped by the app user.
Supports 1 variable, appended to the end of the URL string.
Maximum 2000 characters.
URL_BUTTON_VAR_EXAMPLE
String
Required if using a URL button.
URL of website. Supports 1 variable.
If using a variable, add sample variable property to the end of the URL string. The URL loads in the device's default mobile web browser when the customer taps the URL button.
Maximum 2000 characters.
Send a Carousel
Send a Carousel template
Carousel template:
Has its own type - CAROUSEL
An object with type CAROUSEL contains an array of cards. It is used only for this template type
Each card contains card_index - the order of appearance of cards in the card carousel. 0 - means the first card, 1 - means the second card, etc.
Example of how to send the ‘Carousel’ template
An example of a 2-card template. Each card contains a quick reply button and a url button. The media header is an image.
Example of how to send the ‘Carousel’ template with WhatsApp Catalog product cards
An example of a 2-card template.
Send a Carousel as a service message
To send a Carousel as a service message (without a pre-created Meta template), use the /sendCarousel method in the API documentation .
You do not need to create a Meta template in advance.
The payload is similar to template sending, but you must specify all elements explicitly, because the message is sent without a template.
Last updated