Modelos de carrossel do WhatsApp

Os modelos de carrossel de cartões de mídia permitem que você apresente vários produtos em uma única mensagem de marketing no WhatsApp. Cada produto aparece como um cartão com rolagem horizontal, permitindo que os usuários naveguem, comparem e aproveitem as ofertas sem se sentirem sobrecarregados por várias mensagens.

Esse formato é especialmente eficaz para promoções e campanhas sazonais.

Um modelo de carrossel de cartões de mídia é um modelo de marketing do WhatsApp que combina:

  • Um único texto no corpo da mensagem, e
  • Um carrossel com rolagem horizontal que pode exibir até 10 cartões de mídia de produtos

Cada cartão representa um produto ou uma oferta e foi criado para direcionar os usuários a uma página externa de compra ou de informações.

Os cartões em carrossel são compatíveis apenas com mensagens de modelos de marketing e não estão disponíveis para modelos de utilitários ou de autenticação.

Componentes de um carrossel

Cada cartão do carrossel pode conter os seguintes componentes:

Título (obrigatório)
Um recurso de imagem ou vídeo que represente o produto.

Corpo do texto (opcional)
Texto descritivo curto, como o nome de um produto, preço ou promoção.

Botões (opcionais, até dois por cartão)
Os tipos de botões compatíveis incluem:

  • Botões de URL
  • Botões de números de telefone
  • Botões de resposta rápida

É possível misturar tipos de botões dentro de um cartão (por exemplo, um botão de URL e um botão de resposta rápida).

Requisito de consistência
Todos os cartões em um único modelo de carrossel devem usar o mesmo conjunto de componentes.

Por exemplo, se um cartão incluir um texto principal e dois botões, todos os cartões também deverão incluir um texto principal e dois botões.

Criar um modelo de carrossel para o WhatsApp

Os carrosséis de cartões de mídia devem ser criados como modelos de marketing por meio da API de gerenciamento de modelos.

Cada modelo é composto por:

  • A BODY componente (aplica-se a toda a mensagem)
  • A CAROUSEL componente que comporta até 10 cartões
  • Cada cartão deve definir os mesmos componentes

Carrossel de recomendações de produtos

Este exemplo cria um modelo de carrossel com três cartões de produto, cada um incluindo:

  • Um cabeçalho com imagem
  • Um corpo com um parâmetro de preço dinâmico
  • Um botão de URL e um botão de resposta rápida
{
    "name": "sample_carousel_template10",
    "language": "en",
    "category": "MARKETING",
    "allow_category_change": true,
    "components": [
        {
            "type": "BODY",
            "text": "Hi *{{1}}*. Following your preferences, we think those are the *Vonage* products that match best your needs:",
            "example": {
                "body_text": "[['Pablo']]"
            }
        },
        {
            "type": "CAROUSEL",
            "cards": [
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARYMX_ceB7hy4UrocTFGovCrheY7VIeEc0Lxc2fAn_SNsWN5icskgixQ1viE8pPoiiQ6S6Smv6RpaWHNb5mJaUQI4Y7zB6L87QvnTNs3NeVmfg:e:1775210982:1767162543555562:100040931896219:ARYyiV3YGhM1uOFNyKw"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "*Video API*: As low as {{1}} USD per minute per participant. The best option to have full control on your video app and you want to delight your users!",
                            "example": {
                                "body_text": "[['0.00395']]"
                            }
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "Video API Developer Docs",
                                    "url": "https://tokbox.com/developer/"
                                },
                                {
                                    "type": "QUICK_REPLY",
                                    "text": "Tell me more about *Video API*!"
                                }
                            ]
                        }
                    ]
                },
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARYfk5Coa-tyuiaGtJIGbbZpadRtRf6_DRGx1eC4COq2TBS9jESnifBwlvBesVPYsJoJG0vlF8DcQ-SAoynD7_V4AKoVcAbO_fS9tVesGgb-Aw:e:1775210995:1767162543555562:100040931896219:ARYPxK9WzQSw_RPhWnI"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "*Messages API*: As low as {{1}} EUR per minute per participant. With almost every pre-built for you, this option saves you time to go live!",
                            "example": {
                                "body_text": "[['0.00475']]"
                            }
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "Messages API Page",
                                    "url": "https://www.vonage.com/communications-apis/messages/"
                                },
                                {
                                    "type": "QUICK_REPLY",
                                    "text": "Tell me more about *Messages API*!"
                                }
                            ]
                        }
                    ]
                },
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARZWziKvjbUO_8_-zr3gi45fXqs_4kI8A24lPhI1QvREJuojcAEspv6iHMjBvAOJ23j2sT8Y11xn1oFNm_vUsQHNwGTlpodB1Q8OxonGUrmFDw:e:1775211007:1767162543555562:100040931896219:ARa3BLIlI4stgYj9Hzo"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "*In-App Voice*: Build app-to-app, app-to-phone and phone-to-app use cases. app-to-app calls as low as {{1}} EUR per minute per participant.",
                            "example": {
                                "body_text": "[['0.0040']]"
                            }
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "In-App Voice Developer Docs",
                                    "url": "https://developer.vonage.com/en/vonage-client-sdk/in-app-voice/overview"
                                },
                                {
                                    "type": "QUICK_REPLY",
                                    "text": "Tell me more about *In-App Voice*!"
                                }
                            ]
                        }
                    ]
                }

            ]
        }
    ]
}
An example WhatsApp message showing a product recommendation card for the Vonage Video API.

Resposta

Status 202 ACCEPTED

{
    "id": "1477582267072231",
    "status": "PENDING",
    "category": "MARKETING"
}

Carrossel com parâmetros dinâmicos de URL

Este modelo demonstra botões de URL dinâmicos, nos quais parte da URL é fornecida no momento do envio.

{
    "name": "sample_carousel_dynamic_links10",
    "language": "en",
    "category": "MARKETING",
    "allow_category_change": true,
    "components": [
        {
            "type": "BODY",
            "text": "Hi *{{1}}*. Below you have some dynamic links:",
            "example": {
                "body_text": "[['Pablo']]"
            }
        },
        {
            "type": "CAROUSEL",
            "cards": [
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARYfk5Coa-tyuiaGtJIGbbZpadRtRf6_DRGx1eC4COq2TBS9jESnifBwlvBesVPYsJoJG0vlF8DcQ-SAoynD7_V4AKoVcAbO_fS9tVesGgb-Aw:e:1775210995:1767162543555562:100040931896219:ARYPxK9WzQSw_RPhWnI"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "Learn more about Vonage Messages API"
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "Link",
                                    "url": "https://vonage.com/{{1}}",
                                    "example": [
                                        "https://www.vonage.com/communications-apis/messages/"
                                    ]
                                }
                            ]
                        }
                    ]
                },
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARZWziKvjbUO_8_-zr3gi45fXqs_4kI8A24lPhI1QvREJuojcAEspv6iHMjBvAOJ23j2sT8Y11xn1oFNm_vUsQHNwGTlpodB1Q8OxonGUrmFDw:e:1775211007:1767162543555562:100040931896219:ARa3BLIlI4stgYj9Hzo"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "Learn more about Vonage Voice Communications"
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "Link",
                                    "url": "https://vonage.com/{{1}}",
                                    "example": [
                                        "https://www.vonage.com/communications-apis/voice/"
                                    ]
                                }
                            ]
                        }
                    ]
                },
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARYMX_ceB7hy4UrocTFGovCrheY7VIeEc0Lxc2fAn_SNsWN5icskgixQ1viE8pPoiiQ6S6Smv6RpaWHNb5mJaUQI4Y7zB6L87QvnTNs3NeVmfg:e:1775210982:1767162543555562:100040931896219:ARYyiV3YGhM1uOFNyKw"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "Learn more about Vonage Video API platform"
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "Link",
                                    "url": "https://vonage.com/{{1}}",
                                    "example": [
                                        "https://www.vonage.com/communications-apis/video/"
                                    ]
                                }
                            ]
                        }
                    ]
                }

            ]
        }
    ]
}
An example WhatsApp message showing a link to more information about the Vonage Communication APIs.

Resposta

Status 202 Accepted

{
    "id": "1635112524349526",
    "status": "PENDING",
    "category": "MARKETING"
}

Carrossel informativo sem parâmetros

Este modelo utiliza texto de corpo e botões estáticos, sem a necessidade de parâmetros ao enviá-lo.

{
    "name": "sample_carousel_quick_reply10",
    "language": "en",
    "category": "MARKETING",
    "allow_category_change": true,
    "components": [
        {
            "type": "BODY",
            "text": "With *Vonage* you can implement any type of Voice application.\n\nGoing from basic SIP trunks to make calls and receive inbound calls in your Vonage virtual numbes, to complex Voice API applications featuring text-to-speech, speech-to-text, conference rooms, etc.\n\nWe also offer the Client SDK by which you can add In-App Voice capabitilities to your web and native apps"
        },
        {
            "type": "CAROUSEL",
            "cards": [
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARYvt342aYJNXghr96KCAaJrEjtBQ1V2MK2AGhspduZc0ALIvV_Ti2Ec3Fr09SyJQAlmLb8OEnymiA25n-RzwVA8qUpXrHozR28OHkVhfCz9vA:e:1775215593:1767162543555562:100040931896219:ARYOpAnR6U-6cAGW8YM"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "*Vonage SIP Trunking*: Make phone calls worldwide via SIP. Rent a virtual number and receive inbound calls too!"
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "Vonage SIP Trunking Docs",
                                    "url": "https://developer.vonage.com/en/sip/overview"
                                },
                                {
                                    "type": "QUICK_REPLY",
                                    "text": "Tell me more about SIP Trunking!"
                                }
                            ]
                        }
                    ]
                },
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARYXBRY83hHNm6fcsll3p7zJsxepaZIuAuKM1YYbbkix--aE3w41wTdGMXY_rN8hYA4etKSS-a6xCygPGETN4C3ZBLBywyE93IFa4mx1Za1q7A:e:1775215701:1767162543555562:100040931896219:ARY6_ZRadoHSHQHYUuU"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "*Voice API Text-to-Speech*: You can convert text to natural-sounding language in a range of languages and voices"
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "Vonage Voice API TTS Docs",
                                    "url": "https://www.vonage.com/communications-apis/voice/features/tts/"
                                },
                                {
                                    "type": "QUICK_REPLY",
                                    "text": "Tell me more about Voice API Text-to-Speech!"
                                }
                            ]
                        }
                    ]
                },
                {
                    "components": [
                        {
                            "type": "HEADER",
                            "format": "IMAGE",
                            "example": {
                                "header_handle": ["4::aW1hZ2UvanBn:ARZtdQZsf61x1CHZuzu9hHpxkny9sBr7JDwg92UEPIgjOkUZdC1_ua19bGNzePg5oig83AbYWDX_itrGormlSiqiU8Pz71jUxpPqTrTnHQGB6Q:e:1775215569:1767162543555562:100040931896219:ARb4jYhguGyuCUukgcE"]
                            }
                        },
                        {
                            "type": "BODY",
                            "text": "*Voice Quality Engine*: Deliver high quality voice experiences using our reliable global carrier network."
                        },
                        {
                            "type": "BUTTONS",
                            "buttons": [
                                {
                                    "type": "URL",
                                    "text": "Vonage Voice Quality Engine Docs",
                                    "url": "https://www.vonage.com/communications-apis/platform/voice-quality/"
                                },
                                {
                                    "type": "QUICK_REPLY",
                                    "text": "Tell me more about Voice Quality Engine!"
                                }
                            ]
                        }
                    ]
                }

            ]
        }
    ]
}
An example WhatsApp message showing some information about SIP Trunking, followed by a link to the related documentation.

Resposta

Status 202 ACCEPTED

{
    "id": "1214481130497745",
    "status": "PENDING",
    "category": "MARKETING"
}

Experiência do usuário ao receber um carrossel

Quando um usuário toca em um botão de URL em um cartão do carrossel:

  • A URL mapeada é aberta no navegador padrão do dispositivo
  • O usuário é retirado da experiência do aplicativo do WhatsApp

Como as compras são feitas fora do WhatsApp:

  • Não são acionados webhooks do WhatsApp para pedidos
  • Os detalhes do pedido não estão disponíveis nas APIs do WhatsApp

Carregar arquivos de mídia

Antes de enviar modelos de carrossel com mídia, talvez seja necessário fazer o upload dos seus arquivos de mídia para obter os identificadores de mídia. Faça o upload dos seus arquivos de mídia usando a API de upload de mídia para obter os identificadores de mídia.

Solicitação de envio de mídia:

curl --location 'https://api.nexmo.com/v2/whatsapp-manager/media/uploads?file_type=image%2Fjpg' \
  --header 'Authorization: Basic xxxxxxxxxxx' \
  --form 'mediafile=@"/Users/pcristobaldelrio/Desktop/client-sdk.png"'

Mais informações