Multi-Product Templates
Last updated
Last updated
If you are using On-Premise API, remember that it is being discontinued by Meta. No new signups will be allowed with this type of integration from May 15, 2024.
Numbers registered before this date will still be supported, but should start planning a change of hosting type as soon as possible.
Multi-Product Message templates can be used to open marketing conversations, meaning you can start a conversation using this template. They allow you to showcase up to 30 products from your ecommerce catalog, organized in up to 10 sections, in a single message.
Customers can browse products and sections within the message, view details for each product, add and remove products from their cart, and submit their cart to place an order. Orders are then sent to you via a webhook.
You must have inventory uploaded to Meta in an ecommerce catalog connected to your WhatsApp Business Account. See Products and Catalogs.
Customers must be using WhatsApp v2.22.24 or greater. Multi-Product Templates works for both Cloud and On-premise API.
MPM templates cannot be forwarded to other customers.
Use the create template endpoint and assemble the Catalog Template components in the request:
As announced in November 2023, Meta is transitioning to a fully Cloud-hosted WhatsApp Business Platform and will stop supporting On-Premise API in October 2025.
Starting from On-Premise client v2.53, all new feature updates will be exclusively delivered to Cloud API. While the On-Premise API client will receive quarterly releases, they will focus solely on bug fixes and security patches. From May 15, 2024, 360dialog will not allow for new numbers to be onboarded with On-Premise API. We will continue supporting already registered On-Premise API throughout 2024, but we strongly recommend to start changing the hosting type of numbers to Cloud as soon as possible. Learn here how to integrate with Cloud API.
POST
[base-url]/v1/configs/templates
The message template name field is limited to 512 characters. The message template content field is limited to 1024 characters.
Name | Type | Description |
---|---|---|
D360-API-KEY | string |
Name | Type | Description |
---|---|---|
name* | string | |
components* | array[objects] | Array of objects that describe the components that make up the template. |
category* | string | Allowed values: |
language* | string |
Placeholder | Description | Sample Value |
---|---|---|
| Required. Template category. Set this to |
|
| Required. Array of objects that describe the components that make up the template. See Components below. | See Components below. |
| Required. Template language and locale code. |
|
| Required. Template name. Maximum 512 characters. |
|
The components
value must be an array of objects that describes each component that makes up the template. MPM templates must have the following components:
a single header component
a single body component
a single footer component (optional)
a single MPM button component
Placeholder | Description | Sample Value |
---|---|---|
| String or array of strings. Example body variable value(s). |
|
| Template body text. Supports multiple variables. If the string contains variables, you must include the example property and sample variable values. 1024 characters maximum. |
|
| Template footer text. 60 characters maximum. |
|
| Example header variable value. |
|
| Template header text. Supports 1 variable. If the string contains a variable, you must include the example property and a sample variable value. 60 characters maximum. |
|
Use the API to send an MPM template once it has been approved.
POST
https://waba-v2.360dialog.io/messages
Name | Type | Description |
---|---|---|
components | String | See Components |
language | String |
Post Body
Placeholder | Description | Sample Value |
---|---|---|
| Required if template uses variables. String or array of strings. Text to replace body variable(s) defined in the template. |
|
| Template language and locale code. |
|
| Required if template uses a variable. Text to replace header variable defined in the template. |
|
| Template name. |
|
| SKU number of the item you want to appear in the section. SKU numbers are labeled as Content ID in the Commerce Manager. Supports up to 30 products total, across all sections. |
|
| Item SKU number. Labeled as Content ID in the Commerce Manager. The thumbnail of this item will be used as the template message's header image. |
|
| Section title text. You can define up to 10 sections. Maximum 24 characters. Markdown is not supported. |
|
| Customer phone number. |
|
This example sends an approved template named "abandoned_cart" and injects a variable (the customer's first name) into the template header and a discount code into the template body. It also defines two sections ("Popular Bundles" and "Premium Packages") and identifies the products (a total of 3) that should be injected into those sections.
When a customer adds one or more products to their cart and submits an order, Meta will send you a webhook that describes the order.
Placeholder | Description | Sample Value |
---|---|---|
| Ecommerce product catalog ID. |
|
| Item currency. |
|
| Business phone number display number. |
|
| WhatsApp Business Account ID. |
|
| Item price. |
|
| WhatsApp message ID. |
|
| Customer's name. |
|
| Business phone number ID. |
|
| The item SKU number. Labeled as Content ID in the Commerce Manager. |
|
| Number of items ordered (for this particular item). |
|
| UNIX timestamp indicating when we sent you the webhook. |
|
| Customer's WhatsApp phone number. |
|
Sample Webhook