Tag: Mensagens interativas

Botões, listas, mensagens de produto e WhatsApp Flows: mensagens que o cliente usa direto no chat.

  • Mensagens interativas do WhatsApp: botões, listas e opções de resposta

    Mensagens interativas do WhatsApp: botões, listas e opções de resposta

    As mensagens interativas do WhatsApp ajudam os clientes a responder à sua empresa com respostas prontas em forma de botões, linhas de lista ou links. Elas facilitam respostas dentro do que você espera nos casos em que o texto livre deixaria o cliente na dúvida ou geraria uma comunicação ambígua. Você só pode enviar essas mensagens como resposta, em até 24 horas após a última mensagem ou ligação do cliente. A Meta cobra botões e listas como mensagens de serviço, e cada número de telefone comercial recebe as primeiras 1.000 gratuitas todo mês.

    Principais conclusões

    1. Botões e listas dão aos clientes respostas prontas, então cada resposta é clara e seu sistema pode agir sobre ela sem que ninguém leia texto livre.
    2. Você só pode enviar mensagens interativas em até 24 horas após a mensagem ou ligação do cliente, e qualquer envio posterior precisa de um modelo aprovado.
    3. Escolha o formato pelo tamanho da escolha: botões de resposta para até 3 opções, uma lista para até 10 e um Flow quando você precisa de vários campos de uma vez.
    4. Botões e listas custam o mesmo que qualquer outra mensagem de serviço, e as primeiras 1.000 por número de telefone comercial a cada mês são gratuitas.

    O que são mensagens interativas do WhatsApp?

    As mensagens interativas do WhatsApp são respostas com controles integrados, como botões, uma lista ou um botão de link. Você define as opções, e o cliente seleciona a que se encaixa.

    A Meta classifica botões de resposta, listas e a maioria dos outros tipos interativos como mensagens de serviço, mensagens de formato livre que não precisam de aprovação de modelo.[1] Você as envia pela WhatsApp Cloud API enquanto uma janela de atendimento ao cliente está aberta. A janela abre quando um cliente envia uma mensagem ou liga para sua empresa e dura 24 horas, e cada nova mensagem ou ligação a reinicia. O cliente também precisa ter dado permissão para receber suas mensagens.

    Depois que a janela fecha, só modelos aprovados são entregues. Escreva qualquer acompanhamento posterior como modelo e passe pela aprovação de modelos.

    Quais tipos de mensagem interativa você pode enviar?

    Você pode enviar seis tipos interativos em uma janela aberta, cada um feito para um tipo diferente de resposta. Associe cada tipo à tarefa na tabela antes de escrever qualquer JSON.

    Tipointeractive.typeUse paraPrincipal limiteO que o cliente faz
    Botões de respostabuttonConfirmar, remarcar ou cancelarAté 3 botões.[2]Seleciona um botão
    ListalistAssuntos ou horários de entregaAté 10 linhas somando todas as seções.[3]Seleciona uma linha
    Botão de chamada para ação com URLcta_urlLevar a uma página da webUm botão que associa um rótulo a uma URL.[4]Abre a página no navegador
    Carrossel de mídiacarouselOpções visuaisUm cabeçalho de imagem ou vídeo em cada cartão.[5]Seleciona o botão de um cartão
    Solicitação de localizaçãolocation_request_messagePonto de retirada ou de entregaUm botão de enviar localização abaixo do texto do corpo.[6]Compartilha uma localização
    Mensagem de endereçoaddress_messageEndereço de entregaSomente empresas e clientes na Índia.[7]Informa um endereço

    Nosso guia de mensagens de produto e catálogo aborda as mensagens interativas que mostram produtos de um catálogo.

    Como funcionam os botões de resposta?

    Os botões de resposta colocam algumas respostas fixas abaixo do seu texto, e a escolha do cliente volta para o seu webhook com o ID que você deu àquele botão. Use-os quando você conhece de antemão todas as respostas válidas, como manter, remarcar ou cancelar uma consulta.

    Planeje o texto com base nestes limites de campo, mostrados aqui para um lembrete de consulta:

    CampoLimiteExemplo
    CorpoObrigatório, até 1.024 caracteres; URLs viram links automaticamente“Sua consulta é na sexta-feira às 10h. Deseja manter?”
    Título do botãoObrigatório, até 20 caracteres, único na mensagem“Manter”, “Remarcar”, “Cancelar”
    ID do botãoObrigatório, até 256 caracteres, único por botãomove_appt_8812, que nomeia a ação e o registro
    CabeçalhoOpcional: texto, imagem, vídeo ou documento“Lembrete de consulta”
    RodapéOpcional, até 60 caracteres“Responda até quinta-feira à noite”

    Para um cabeçalho de mídia, envie primeiro o arquivo e informe o ID de mídia. A Meta classifica o uso de um link de mídia no cabeçalho como “não recomendado”.

    Como funcionam as mensagens em lista?

    Uma mensagem em lista mostra um botão abaixo do seu texto, e esse botão abre um menu em que o cliente seleciona uma única linha. Use uma lista quando as respostas são conhecidas, mas numerosas demais para botões, como assuntos de suporte ou horários de entrega.

    As seções agrupam linhas sob títulos, e o limite de linhas vale para todas as seções somadas. Estes são os limites de campo, mostrados aqui para horários de entrega:

    CampoLimiteExemplo
    Botão do menuObrigatório, até 20 caracteres“Ver horários”
    CorpoObrigatório, até 4.096 caracteres“Escolha um horário de entrega para seu pedido.”
    CabeçalhoOpcional, somente texto, até 60 caracteres“Horários de entrega”
    RodapéOpcional, até 60 caracteres“Você pode mudar o horário depois”
    Título da seçãoObrigatório, até 24 caracteres, pelo menos uma seção“Terça-feira”
    ID da linhaObrigatório, até 200 caracteresslot_tue_morning
    Título da linhaObrigatório, até 24 caracteres“Manhã, das 9h às 12h”
    Descrição da linhaOpcional, até 72 caracteres“O entregador liga antes de chegar”

    Como funcionam os botões de chamada para ação com URL?

    Um botão de chamada para ação com URL coloca um link da web por trás de um rótulo curto, e o cliente abre a página com um clique. Use-o quando a próxima etapa acontece em um site, como rastrear uma encomenda ou pagar uma fatura.

    O objeto de ação recebe "name": "cta_url" com parameters.display_text, um rótulo de até 20 caracteres, e parameters.url. Mantenha o corpo em até 1.024 caracteres. Um cabeçalho opcional aceita texto de até 60 caracteres ou mídia de uma URL pública, e um rodapé opcional comporta até 60 caracteres.

    A página abre no navegador padrão do celular, fora do WhatsApp. Rastreie a visita no seu próprio site, por exemplo com um parâmetro de campanha na URL.

    Como funcionam as mensagens de carrossel de mídia?

    Um carrossel de mídia envia de 2 a 10 cartões que o cliente rola para o lado, cada um com sua própria imagem ou vídeo e seu próprio botão. Use-o quando a escolha é visual, como escolher um entre três tipos de quarto ou entre datas de passeio.

    A estrutura segue regras fixas:

    • Corpo principal: obrigatório, até 1.024 caracteres. O carrossel não aceita cabeçalho principal, rodapé nem outros componentes interativos.
    • Cabeçalho do cartão: uma imagem ou um vídeo em cada cartão. Outros tipos de cabeçalho não são compatíveis.
    • Corpo do cartão: opcional, até 160 caracteres com no máximo 2 quebras de linha.
    • Botões do cartão: dê a cada cartão um botão de URL ou pelo menos um botão de resposta rápida, e repita os mesmos tipos e a mesma quantidade de botões em todos os cartões. Os IDs de resposta rápida aceitam até 256 caracteres, e os rótulos dos botões, até 20.

    Como todos os cartões repetem os mesmos botões, escreva uma ação que sirva para todos eles, como “Reservar este quarto”. Para enviar um carrossel fora da janela de atendimento ao cliente, use um modelo de carrossel, que é um formato separado.

    Como enviar uma mensagem interativa pela API da 360Dialog?

    Você envia todos os tipos interativos pela 360Dialog com um único formato de requisição, o mesmo corpo de mensagem que a Meta documenta para a Cloud API.[8] Assim, um único construtor de requisições cobre os seis tipos, e só a parte interativa muda entre eles. A 360Dialog, Official Meta Solution Partner, dá aos desenvolvedores acesso direto à WhatsApp Business API e inclui um sandbox de testes.

    1. Prepare a conta: você precisa de uma conta aprovada com um número de telefone registrado e a chave de API desse número.
    2. Configure o webhook: aponte-o para uma URL HTTPS com um certificado SSL válido e faça com que ele retorne 200 OK em até 80 milissegundos. A Plataforma do WhatsApp Business tenta reenviar as entregas que falharam, com intervalos exponenciais, por até 7 dias.
    3. Envie a requisição: envie o corpo JSON via POST para https://waba-v2.360dialog.io/messages com sua chave no cabeçalho D360-API-KEY e Content-Type: application/json. Requisições sem a chave são rejeitadas.
    4. Aguarde o status: a resposta da API confirma que a requisição foi aceita, e a entrega chega depois como um webhook de status. A ordem de entrega não é garantida, então, quando a ordem importa, aguarde o status delivered antes de enviar a próxima mensagem.

    Esta requisição pede ao cliente que mantenha, remarque ou cancele uma consulta:

    curl -X POST "https://waba-v2.360dialog.io/messages" \
      -H "D360-API-KEY: $D360_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "messaging_product": "whatsapp",
        "to": "<CUSTOMER_PHONE_NUMBER>",
        "type": "interactive",
        "interactive": {
          "type": "button",
          "body": { "text": "Sua consulta é na sexta-feira às 10h. Deseja manter?" },
          "action": {
            "buttons": [
              { "type": "reply", "reply": { "id": "keep_appt_8812", "title": "Manter" } },
              { "type": "reply", "reply": { "id": "move_appt_8812", "title": "Remarcar" } },
              { "type": "reply", "reply": { "id": "cancel_appt_8812", "title": "Cancelar" } }
            ]
          }
        }
      }'

    Uma mensagem com botões de resposta ou em lista enviada fora da janela de 24 horas retorna um erro.[9] Verifique a janela no seu código antes de cada envio. Clique em Começar a usar a API para conectar seu número pela 360Dialog e enviar esta requisição para o seu próprio celular como primeiro teste.

    Como ler a resposta do cliente?

    A escolha do cliente chega ao seu webhook como uma mensagem recebida que traz o ID definido no botão ou na linha. Faça o roteamento por esse ID. Assim, seu bot nunca precisa interpretar texto livre em uma pergunta fechada.

    As respostas chegam no campo de webhook messages, e context.id contém o ID da mensagem respondida.[10] Cada ação retorna seu próprio objeto:

    Ação do clientetype da mensagemObjeto de respostaCampos que você recebe
    Seleciona um botão de respostainteractivebutton_replyid, title
    Seleciona uma linha da listainteractivelist_replyid, title, description
    Compartilha uma localizaçãolocationCampos de localizaçãoLatitude, longitude e, opcionalmente, nome e endereço
    Envia um endereço ou um Flowinteractivenfm_replyresponse_json
    Seleciona uma resposta rápida em um modelobuttonbuttonpayload, text.[11]

    Se o mesmo número envia modelos e mensagens interativas, trate também o formato de resposta dos modelos.

    Flow ou botões: qual usar?

    Use botões de resposta ou uma lista quando o cliente escolhe uma resposta em um conjunto curto e fixo, e use um Flow quando você precisa de texto digitado ou de várias respostas de uma vez. Escolher pelo formato da resposta deixa cada conversa tão curta quanto a tarefa permite.

    Um agendamento que precisa de data, horário e número de pessoas leva três mensagens com botões, e cada uma é cobrada depois que a cota gratuita acaba. Um WhatsApp Flow é um formulário que abre dentro do chat e coleta os três dados em uma única resposta.

    Perguntas abertas, como descrever um defeito, combinam com texto livre mais adiante na conversa. Para a primeira mensagem, as orientações da Meta sobre qualidade das mensagens dizem: “Evite enviar mensagens abertas de boas-vindas ou de apresentação”.

    Resposta de que você precisaFormato a usar
    Uma escolha entre até 3 opçõesBotões de resposta
    Uma escolha entre 4 e 10 opçõesMensagem em lista
    Uma escolha que depende de uma imagemCarrossel de mídia
    Uma etapa que acontece em um siteBotão de chamada para ação com URL
    Vários campos, datas ou dados validadosWhatsApp Flow
    Uma descrição aberta, nas palavras do clienteTexto livre

    Nosso guia mostra como criar um WhatsApp Flow.

    Mensagens interativas custam mais?

    As mensagens interativas não têm cobrança adicional pelos botões ou listas: a Meta cobra cada uma entregue como mensagem de serviço, a mesma categoria de uma resposta de texto simples.[12] Calcule o orçamento das respostas interativas com a tarifa de mensagem de serviço do seu mercado.

    Desde 1º de outubro de 2026, cada mensagem de serviço entregue custa o mesmo que uma mensagem de utilidade ou de autenticação naquele mercado, sem níveis de volume. Cada número de telefone comercial envia as primeiras 1.000 mensagens de serviço gratuitamente todo mês, e a cota não usada não passa para o mês seguinte. Adicione uma forma de pagamento à conta, ou a Meta deixa de entregar mensagens de serviço quando essa cota gratuita acaba.

    Os webhooks de status mostram por quais mensagens você paga em "category": "service": "type": "free_customer_service" dentro da cota gratuita, e "type": "regular" com "billable": true quando a cobrança começa.

    Quando um cliente chega por um anúncio de clique para o WhatsApp no Android ou iOS, responda dentro da janela de atendimento ao cliente. Isso abre uma janela de ponto de entrada gratuito de até 7 dias, e as mensagens de serviço enviadas nela não são cobradas. Nosso artigo sobre a cobrança de mensagens de serviço explica a mudança em detalhes.

    Comece pela pergunta que seus clientes respondem com mais frequência, como confirmar uma consulta ou escolher um horário de entrega. Com respostas prontas, os clientes respondem em uma etapa, sua equipe deixa de tentar adivinhar o que uma mensagem quis dizer, e cada resposta vai direto para a próxima ação certa. Clique em Começar a usar a API para enviar essa primeira resposta interativa pela 360Dialog e ler a resposta no seu próprio webhook.

    Perguntas frequentes

    As mensagens de serviço do WhatsApp ainda são gratuitas em 2026?

    As mensagens de serviço do WhatsApp só são gratuitas dentro de uma cota mensal. Desde 1º de outubro de 2026, a Meta cobra cada mensagem de serviço entregue além das primeiras 1.000 do mês por número. A cota renova todo mês, sem acumular saldo. Um anúncio de clique para o WhatsApp pode abrir uma janela de ponto de entrada gratuito, com mensagens de serviço gratuitas por até 7 dias.

    É possível enviar uma mensagem interativa fora da janela de 24 horas?

    Você só pode enviar mensagens interativas em até 24 horas após a última mensagem ou ligação do cliente para sua empresa. Depois que essa janela de atendimento ao cliente fecha, só um modelo aprovado consegue chegar ao cliente. Um modelo pode ter os próprios botões de resposta rápida, e a resposta do cliente a ele abre uma nova janela para mensagens interativas.

    Como pedir a localização de um cliente no WhatsApp?

    Uma mensagem de solicitação de localização pede ao cliente que compartilhe uma localização por meio de um botão abaixo do seu texto. O corpo comporta até 1.024 caracteres e pode incluir URLs. Quando o cliente compartilha, seu webhook recebe uma mensagem de localização com latitude e longitude. Nome e endereço chegam apenas quando o cliente decide incluí-los.

    É possível coletar um endereço de entrega com uma mensagem interativa?

    As mensagens de endereço coletam um endereço de entrega no WhatsApp e só estão disponíveis para empresas sediadas na Índia que enviam mensagens a clientes no país. O parâmetro de país é obrigatório, e você pode preencher valores ou oferecer endereços salvos. O endereço volta como nfm_reply, no campo response_json. Um aplicativo que não exibe a mensagem a descarta, e um webhook de status informa o erro 1026, Receiver Incapable.

    Por que meu webhook não está recebendo as respostas dos botões?

    As respostas dos botões chegam como mensagens recebidas no webhook messages da Meta, como as respostas de texto. Na 360Dialog, seu ponto de extremidade precisa usar HTTPS com certificado SSL válido, retornar 200 OK e responder em até 80 milissegundos. A Plataforma do WhatsApp Business repete as entregas que falharam por até 7 dias, com intervalos exponenciais, e um ponto de extremidade corrigido nesse prazo ainda recebe as respostas perdidas.

    Fontes

    [1] Meta for Developers, “Service messages.” Updated May 21, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/send-messages/

    [2] Meta for Developers, “Interactive reply buttons messages.” Updated May 21, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/interactive-reply-buttons-messages/

    [3] Meta for Developers, “Interactive list messages.” Updated July 2, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/interactive-list-messages/

    [4] Meta for Developers, “Interactive CTA URL button messages.” Updated July 2, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/interactive-cta-url-messages/

    [5] Meta for Developers, “Interactive media carousel messages.” Updated May 21, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/interactive-media-carousel-messages/

    [6] Meta for Developers, “Location request messages.” Updated May 21, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/location-request-messages/

    [7] Meta for Developers, “Address messages.” Updated July 2, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/messages/address-messages/

    [8] 360Dialog Documentation, “Send and receive messages.” Accessed October 16, 2026. https://docs.360dialog.com/docs/guides/send-and-receive-messages

    [9] 360Dialog Documentation, “Interactive messages.” Accessed October 16, 2026. https://docs.360dialog.com/docs/messaging/message-types/interactive

    [10] Meta for Developers, “Interactive messages webhook reference.” Updated August 3, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/messages/interactive/

    [11] Meta for Developers, “Button messages webhook reference.” Updated June 17, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/messages/button/

    [12] Meta for Developers, “Pricing on the WhatsApp Business Platform.” Updated September 30, 2026. Accessed October 16, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing/