Client Documentation
Get StartedStatus Page
  • 360Dialog
    • Why you should use 360dialog as Business Solution Provider (BSP)
    • Prices, plans and payment options
  • client hub
    • 360Dialog Client Hub
    • Numbers
      • Manage your WABA
        • Account Statuses
    • Activity
    • Funds
      • Month Closing Invoice (MCI)
    • Payment Management
    • API Keys
    • Template Message Management
    • Partner Change
    • Cancellation
    • Downgrade
  • WhatsApp Marketing
    • Best practices to maintain Account Health and prevent being blocked
    • Driving users to your WhatsApp account
      • WhatsApp Channels
    • Business Search
    • Linking a WABA to a Facebook Page /EN
      • Vinculando uma conta WABA à uma página do Facebook /PT
      • Cómo vincular un WABA a una página de Facebook /ES
    • Linking a WABA to Google Message Ads
    • Ads that Click to WhatsApp (CTWA) /EN
      • Anúncios de Clique para o WhatsApp (CTWA) /PT
        • Como usar o WhatsApp para marketing e vendas? /PT
      • Anuncios que Click to WhatsApp (CTWA) /ES
        • ¿Cómo usar WhatsApp para marketing y ventas? /ES
    • Conversions API (CAPI)
    • Create Ads lookalike audience based on WhatsApp events
    • MM Lite API Beta
      • Onboarding
      • Sending Messages
  • waba basics
    • WhatsApp Business Platform
    • WhatsApp Accounts structure
    • WABA for Government Agencies
    • WABA Policy Enforcement
    • Architecture and Security
    • The Basics (Overview)
    • Webhook Events and Notifications
    • Messaging API
      • Messaging Health Status
      • Step to Step to move to Cloud API
        • [will be deprecated] WABA Integration (On-Premise)
    • Migrating Phone Numbers
      • Migrate number from Meta or alternate BSP to 360dialog Cloud API
      • Migrate a phone number to a new WABA
      • Migrate to alternate BSP
  • waba management
    • Creating new WABA
      • Using a new phone number
      • WhatsApp Coexistence
        • Coexistence Onboarding
        • Coexistence Webhooks
    • Display Name Guidelines
    • Meta Business Verification
    • Official Business Account (OBA) or blue badge
    • WABA Profile Info
    • Capacity, Quality Rating, and Messaging Limits
      • Accelerated Onboarding
    • Hosting type Change
  • waba Messaging
    • Sandbox (Test API Key)
    • Receiving messages
    • Before sending a message
      • Checklist for Message Broadcasts and Campaigns
    • Conversations
    • Messaging
    • Conversational Components
    • Media Messages
      • Upload, retrieve or delete media
    • Template Messages
      • Template Elements
      • Sending Template Messages
      • Authentication Templates
        • Zero-Tap Authentication Templates
        • One-Tap Autofill Authentication Templates
        • Copy Code Authentication Templates
      • Catalog Templates
      • Product Card Carousel Templates
      • Single-Product Message Templates
      • Coupon Code Templates
      • Limited-Time Offer Templates
      • Multi-Product Templates
    • Interactive Messages
      • Single and Multi Product Messages
      • Location Request Message
    • Flows
    • Products & Catalogs
    • Contacts and Location Messages
    • Payments (India Only)
      • Receive WhatsApp Payments via Payments Gateway
      • Receive WhatsApp Payments via Payment Links
      • Order Details Template Message
    • Payments (Singapore only)
      • Receive WhatsApp Payments via Stripe
  • Partners
    • Partner Documentation
  • Support
    • Help and Support
      • Opening Hours & Response Time
      • Status Pages
      • Meta Support
      • Common Issues
      • How to contact Support
    • Error Messages
    • Imprint & Data Privacy
    • FAQ
Powered by GitBook
On this page
  • Template Creation
  • Sending Carousel Templates

Was this helpful?

  1. waba Messaging
  2. Template Messages

Product Card Carousel Templates

PreviousCatalog TemplatesNextSingle-Product Message Templates

Last updated 7 months ago

Was this helpful?

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 Cards

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

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

Name
Type
Description

D360-API-KEY

string

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

Placeholder
Description
Example Value

<MESSAGE_BODY_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.

<MESSAGE_BODY_TEXT_VARIABLE_EXAMPLE>

String

Required if the message body text string uses variables.

Message body text example variable string(s).

Number of strings must match the number of variable placeholders in the message body text string.

If message body text uses a single variable, body_text value can be a string, otherwise it must be an array containing an array of strings.

"15OFF","15%"

<TEMPLATE_LANGUAGE>

Enum

Required.

en_US

<TEMPLATE_NAME>

String

Required.

Template name.

Maximum 512 characters.

summer_carousel_promo_2023

<URL_BUTTON_LABEL_TEXT>

String

Required if using a URL button.

25 characters maximum.

Buy now

<URL_BUTTON_URL>

String

Required if using a URL button.

Supports 1 variable, appended to the end of the URL string.

Maximum 2000 characters.

https://www.luckyshrub.com/shop?promo={{1}}

<URL_BUTTON_VAR_EXAMPLE>

String

Required if using a URL button.

URL of website. Supports 1 variable.

Maximum 2000 characters.

https://www.luckyshrub.com/shop?promo=summer_lemons_2023

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.

Request Body

Name
Type
Description

messaging_product

string

Required only for Cloud API. Messaging service used for the request. Use "whatsapp".

recipient_type

string

individual

to

string

Recipient phone number

type

string

template

name

string

Template name

language

string

Template language

code

string

Language code

components

Your template components array

Required.

Assemble your payload similar to the structure of the template you created.

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"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

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 or (button types can be mixed).

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

Template .

label text.

URL of website that loads in the device's default mobile web browser when the is tapped by the app user.

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

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 to take appropriate actions whenever a message template that you rely upon becomes, or is in danger of becoming, paused or disabled.

product catalog
monitor status changes
language and locale code
2 quick reply buttons, phone number buttons, or URL buttons
SPM buttons
URL button
URL button
URL button
Example Product Card Carrousel with View Button
Example Product Card Carrousel with URL Button