Product Card Carousel Templates

Carousel Templates are only available while using Cloud API.

Product Card 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.

From January 2024, in addition to the mobile device experience, users can now view Carousel messages seamlessly on the WhatsApp Web Client.

SPM (View Button)

You can add the SPM button to your Product Card Carousel Template and users can tap it to see details about the product, and can add or remove the product from the WhatsApp shopping cart.

See more details in Single-Product Message Templates (View Button)

URL Buttons

Instead of View buttons you may wish to use URL buttons. When a WhatsApp user taps a URL button to buy a product, the URL is loaded in the device's default web browser, taking the user out of the WhatsApp client experience. This can be useful if, for example, you wish to load the product in your checkout page where users can add promo codes and find related products.

Carousel templates support up to 10 carousel cards. Cards must have a media header (image or video) and can optionally include body text and up to 2 quick reply buttons, phone number buttons, or URL buttons or SPM buttons (button types can be mixed).

The media header format and buttons must be the same across all cards that make up a carousel template. Media assets will be cropped to a wide ratio based on the customer's device.

Catalogs

To use product card carousel templates, you must have an ecommerce product catalog, with inventory, connected to your WhatsApp Business Account.

Webhooks

If you send a carousel template composed of product cards that use a View button, when a customer adds one or more products to their cart and submits an order, you will receive a webhook that describes the order.

With URL button flows, since order placement happens outside of the WhatsApp, webhooks describing the order are not triggered.

Template Creation

Use the create template endpoint to create Product Card Carousel Template.

POST https://waba-v2.360dialog.io/v1/configs/templates

Headers

Post Body

It is only necessary to define two product cards upon template creation. An approved template with two product cards can be used to send up to 10 cards in a template message.

{
  "name": "<TEMPLATE_NAME>",
  "language": "<TEMPLATE_LANGUAGE>",
  "category": "marketing",
  "components": [
    {
      "type": "body",
      "text": "<MESSAGE_BODY_TEXT>",
      "example": {
        "body_text": [
          [
            "<MESSAGE_BODY_TEXT_VARIABLE_EXAMPLE>",
            "<MESSAGE_BODY_TEXT_VARIABLE_EXAMPLE>"
          ]
        ]
      }
    },
    {
      "type": "carousel",
      "cards": [

        /* First product card */
        {
          "components": [
            {
              "type": "header",
              "format": "product"
            },

            /* Supports 1 button only, can be either an SPM button or URL button */
            {
              "type": "buttons",
              "buttons": [

                /* SPM button */
                {
                  "type": "spm",
                  "text": "View"
                }

                /* URL button */
                {
                  "type": "url",
                  "text": "<URL_BUTTON_LABEL_TEXT>",
                  "url": "<URL_BUTTON_URL>",
                  "example": [
                    "<URL_BUTTON_URL_VARIABLE_EXAMPLE>"
                  ]
                }

              ]
            }
          ]
        },
     
        /* Second product card would follow, using same structure as
           first card. It is only necessary to define two cards. */

      ]
    }
  ]
}

Properties

Example Request

{
    "name": "template_name",
    "language": "en",
    "category": "MARKETING",
    "components": [{
            "type": "BODY",
            "text": "Rare succulents for sale! {{1}}, add these unique plants to your collection.",
            "example": {
                "body_text": [
                    [
                        "Pablo"
                    ]
                ]
            }
        }, {
            "type": "CAROUSEL",
            "cards": [

                {
                    "components": [{
                            "type": "HEADER",
                            "format": "PRODUCT"
                        },

                        {
                            "type": "buttons",
                            "buttons": [

                                {
                                    "type": "spm",
                                    "text": "View"
                                }

                            ]
                        }
                    ]
                },
                {
                    "components": [{
                            "type": "HEADER",
                            "format": "PRODUCT"
                        },

                        {
                            "type": "buttons",
                            "buttons": [

                                {
                                    "type": "spm",
                                    "text": "View"
                                }

                            ]
                        }
                    ]
                },
                {
                    "components": [{
                            "type": "HEADER",
                            "format": "PRODUCT"
                        },

                        {
                            "type": "buttons",
                            "buttons": [

                                {
                                    "type": "spm",
                                    "text": "View"
                                }

                            ]
                        }
                    ]
                }


            ]
        }
    ]
}

Example Response

{
    "category": "MARKETING",
    "components": [
    //Array of Components
    ],
    "external_id": "11987839xxxxxxxx",
    "id": "dDJN6HNxxxxxxxxxxxxxWT",
    "language": "en",
    "name": "template_name",
    "namespace": "ed620b19_xxxx_xxxx_xxxx_670f20036e2b",
    "rejected_reason": null,
    "status": "submitted"
}

Sending Carousel Templates

POST https://waba-v2.360dialog.io/messages

Once your carousel template is approved, you can use the Cloud API to send it in a Product Card Carousel Template Message.

It is only possible to send Templates with an Active status. A message template's status can change automatically from Active to Paused or Disabled based on feedback from customers. For this reason, we recommend that you monitor status changes to take appropriate actions whenever a message template that you rely upon becomes, or is in danger of becoming, paused or disabled.

Request Body

Example with URL buttons

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "some.phone.number",
  "type": "template",
  "template": {
    "name": "summer_carousel_2024",
    "language": {
      "code": "en_US"
    },
    "components": [
      {
        "type": "BODY",
        "parameters": [
          {
            "type": "TEXT",
            "text": "20OFF"
          },
          {
            "type": "TEXT",
            "text": "20%"
          }
        ]
      },
      {
        "type": "CAROUSEL",
        "cards": [
          {
            "card_index": 0,
            "components": [
              {
                "type": "HEADER",
                "parameters": [
                  {
                    "type": "IMAGE",
                    "image": {
                      "link": "https://www.gstatic.com/webp/gallery/1.jpg"
                    }
                  }
                ]
              },
              {
                "type": "BODY",
                "parameters": [
                  {
                    "type": "TEXT",
                    "text": "10OFF"
                  },
                  {
                    "type": "TEXT",
                    "text": "10%"
                  }
                ]
              },
              {
                "type": "BUTTON",
                "sub_type": "QUICK_REPLY",
                "index": "0",
                "parameters": [
                  {
                    "type": "PAYLOAD",
                    "payload": "59NqSd"
                  }
                ]
              },
              {
                "type": "button",
                "sub_type": "URL",
                "index": "1",
                "parameters": [
                  {
                    "type": "payload",
                    "payload": "last_chance_2023"
                  }
                ]
              }
            ]
          },
          {
            "card_index": 1,
            "components": [
              {
                "type": "HEADER",
                "parameters": [
                  {
                    "type": "IMAGE",
                    "image": {
                      "link": "https://www.gstatic.com/webp/gallery/1.jpg"
                    }
                  }
                ]
              },
              {
                "type": "BODY",
                "parameters": [
                  {
                    "type": "TEXT",
                    "text": "30OFF"
                  },
                  {
                    "type": "TEXT",
                    "text": "30%"
                  }
                ]
              },
              {
                "type": "BUTTON",
                "sub_type": "QUICK_REPLY",
                "index": "0",
                "parameters": [
                  {
                    "type": "PAYLOAD",
                    "payload": "7C4xhY"
                  }
                ]
              },
              {
                "type": "BUTTON",
                "sub_type": "URL",
                "index": "1",
                "parameters": [
                  {
                    "type": "payload",
                    "payload": "summer_blues_2023"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

Example with SPM View Button

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "some.phone.number",
  "type": "template",
  "template": {
    "name": "carousel_template_product_cards_v1",
    "language": "en_US",
    "category": "marketing",
    "components": [
      {
        "type": "body",
        "text": "Rare succulents for sale! {{1}}, add these unique plants to your collection. All three of these rare succulents are available for purchase on our website, and they come with a 100% satisfaction guarantee. Whether you're a seasoned succulent enthusiast or just starting your plant collection, these rare succulents are sure to impress. Shop now and add some unique and beautiful plants to your collection!",
        "example": {
          "body_text": "Pablo"
        }
      },
      {
        "type": "carousel",
        "cards": [
          {
            "components": [
              {
                "type": "header",
                "format": "product"
              },
              {
                "type": "buttons",
                "buttons": [
                  {
                    "type": "spm",
                    "text": "View"
                  }
                ]
              }
            ]
          },
          {
            "components": [
              {
                "type": "header",
                "format": "product"
              },
              {
                "type": "buttons",
                "buttons": [
                  {
                    "type": "spm",
                    "text": "View"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

Last updated