Pular para o conteúdo principal
POST
Enviar carrossel
Envia um carrossel de cartões que o cliente rola para o lado. Cada cartão tem uma imagem ou um vídeo, um texto curto e um botão. É ideal para apresentar produtos, planos ou opções lado a lado. A janela de 24 horas precisa estar aberta.
O destinatário pode ser informado pelo número de telefone (to) ou pelo ID do usuário (recipient). Se os dois forem enviados, vale o to; para enviar pelo ID do usuário, deixe o to em branco. Veja a diferença em Destinatário.

Estrutura da mensagem

A mensagem é do tipo interactive, com interactive.type igual a carousel: O carrossel não aceita cabeçalho nem rodapé no nível da mensagem. A mídia e os botões ficam dentro de cada cartão.

Cartões

Cada item de cards é um cartão:
Todos os cartões precisam ser iguais na estrutura: o mesmo tipo de mídia (só imagens ou só vídeos) e o mesmo tipo e quantidade de botões. Se um cartão tem dois botões de resposta rápida, todos precisam ter dois.

Mídia do cartão

A mídia do cartão fica em header, com type igual a image ou video, e só é aceita por link:
O carrossel não aceita o id de mídia no cartão. Com header.image.id, a Meta recusa o envio com o erro 131009 (“The parameter interactive[‘action’][‘cards’][].header.image.link is required”). Para gerar um link, envie o arquivo na aba Mídias do número, no painel da Datafy.
Os formatos e tamanhos aceitos são os mesmos de Enviar imagem e Enviar vídeo. Para um botão que abre uma URL, use name igual a cta_url e os parameters:
display_text aceita até 20 caracteres. A URL abre no navegador do celular e não aparece no cartão.

Botões de resposta rápida

Para o cliente responder com um toque, use action.buttons com itens do tipo quick_reply:
Nos cartões com botões de resposta rápida, o type do cartão continua sendo cta_url, como no exemplo da Meta. O valor quick_reply não é aceito nesse campo.
No Testar, o carrossel já vem preenchido com três cartões de exemplo com botão de link. Para testar botões de resposta rápida, troque o action de cada cartão pelo formato acima.

Resposta do cliente

Quando o cliente toca em um botão de resposta rápida de um cartão, chega pelo webhook uma mensagem do tipo button, com o id do botão em button.payload e o rótulo em button.text. O context.id aponta para a mensagem do carrossel:
O carrossel é diferente de Enviar botões. Lá a resposta chega como interactive, com interactive.button_reply.id. Aqui ela chega como button, com button.payload. Se o seu sistema só trata button_reply, os toques no carrossel passam despercebidos.
Como o payload é o único dado que identifica a escolha, use um id que diga qual cartão e qual ação, como cesta-frutas-saber-mais. Cartões com botão de link não geram webhook quando o cliente toca. Para medir esses cliques, use um parâmetro de rastreamento na URL. A resposta do cliente é uma mensagem nova, então renova a janela de 24 horas. Veja mais detalhes na documentação de carrossel de mídia da Meta.

Autorizações

Authorization
string
header
obrigatório

Token gerado no painel da Datafy ao criar o canal. Formato: sk_live_xxx.

Parâmetros de caminho

phone_number_id
string
obrigatório

ID do número que envia a mensagem. Descubra com GET /me.

Corpo

application/json
messaging_product
enum<string>
padrão:whatsapp
obrigatório

Sempre whatsapp.

Opções disponíveis:
whatsapp
Exemplo:

"whatsapp"

to
string
obrigatório

Número do destinatário com código do país e DDD, como 5511999999999. Tem prioridade sobre recipient: para enviar pelo ID do usuário, deixe em branco.

Exemplo:

"5511999999999"

type
enum<string>
padrão:interactive
obrigatório

Sempre interactive.

Opções disponíveis:
interactive
Exemplo:

"interactive"

interactive
object
obrigatório

Carrossel de cartões com mídia, texto e botão. Não aceita cabeçalho nem rodapé no nível da mensagem.

recipient_type
enum<string>
padrão:individual

Sempre individual.

Opções disponíveis:
individual
Exemplo:

"individual"

recipient
string

ID do usuário no WhatsApp (BSUID), recebido nos webhooks em from_user_id e contacts[].user_id, como BR.13491208655302741918. Usado quando to não é informado.

context
object

Responde citando uma mensagem anterior da conversa.

Resposta

Envio aceito pela Meta. Não confirma a entrega.