curl -X POST https://api.zapsterapi.com/v1/wa/messages \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-Instance-ID: YOUR_INSTANCE_ID" \
  -d '{
    "recipient": "5511999999999",
    "text": "Gostaria de receber nossas ofertas exclusivas?",
    "buttons": [
      {
        "label": "Sim, quero!",
        "type": "reply"
      },
      {
        "label": "Não, obrigado",
        "type": "reply"
      }
    ],
    "buttons_mode": "interactive"
  }'

Pré-requisitos

Para utilizar a funcionalidade de botões em mensagens, é necessário que:
  1. Você esteja inscrito no programa beta - Acesse aqui para se inscrever.
  2. A opção “Mensagens com botões” esteja ativa - Vá em Recursos em beta e ative o recurso.
A funcionalidade de botões está disponível apenas para usuários inscritos no programa beta. Caso não tenha acesso, entre em contato com nossa equipe de suporte.
OBSERVAÇÃO: Atualmente, ao enviar os três tipos de botões simultaneamente, o WhatsApp Web gera um erro, que também ocorre ao usar a própria API da Meta. Uma alternativa é enviar apenas os botões CALL, URL e COPYABLE juntos, e sempre enviar o botão REPLY separadamente.

Visão Geral

Os botões permitem criar mensagens interativas no WhatsApp, oferecendo aos usuários opções de resposta rápida. Você pode adicionar até 3 botões por mensagem, cada um com diferentes tipos de ação.

Tipos de Botões

Modos de Botões

Os modos de botões (buttons_mode) definem como sua mensagem será enviada no WhatsApp. Existem dois modos disponíveis:

Modo Padrão (auto)

  • Usado para botões de resposta rápida simples
  • Ideal quando você quer apenas receber respostas de texto do usuário
  • O WhatsApp exibe os botões de forma básica

Modo Interativo (interactive)

  • Usado para botões mais avançados como ligações, links e textos copiáveis
  • Permite uma experiência mais rica com diferentes tipos de ação
  • O WhatsApp exibe os botões com mais destaque visual

Como o Modo é Escolhido Automaticamente

Se você não especificar o buttons_mode, o sistema escolhe automaticamente:
  • Modo Interativo: Será usado quando pelo menos um botão for do tipo call, url ou copyable
  • Modo Padrão: Será usado quando todos os botões forem do tipo reply
Dica importante: Mesmo com todos os botões sendo reply, você pode forçar o modo interativo definindo "buttons_mode": "interactive" para ter uma apresentação visual melhor.

Parâmetros dos Botões

buttons
object[]
Array de botões. Máximo 3 botões permitidos.
buttons_mode
string
Modo de exibição dos botões. Valores aceitos: auto ou interactive.

Estrutura de um Botão

label
string
required
Texto do botão. Máximo 20 caracteres.
type
string
Tipo do botão. Valores aceitos: reply, call, url, copyable.
id
string
ID único do botão. Máximo 256 caracteres.
phone_number
string
Número para botão de ligação. Deve estar no formato internacional.
url
string
URL para botão de link. Deve ser uma URL válida.
copy_code
string
Texto para copiar. Aceita qualquer texto.
curl -X POST https://api.zapsterapi.com/v1/wa/messages \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-Instance-ID: YOUR_INSTANCE_ID" \
  -d '{
    "recipient": "5511999999999",
    "text": "Gostaria de receber nossas ofertas exclusivas?",
    "buttons": [
      {
        "label": "Sim, quero!",
        "type": "reply"
      },
      {
        "label": "Não, obrigado",
        "type": "reply"
      }
    ],
    "buttons_mode": "interactive"
  }'