Enviar Mensagens
Enviar Botões de Resposta
Envia botões clicáveis (até 3). Cada objeto do array `buttons` vira um tipo diferente de botão conforme o campo usado: • `text` + `id` → botão de resposta rápida (contato clica, envia o texto) • `text` + `url` → botão que abre link externo • `text` + `phone` → botão de ligação • `text` + `copy` → botão que copia código pra área de transferência Sem `image`, a mensagem sai só com texto + botões (header limpo). Com `image`, aparece uma imagem no topo. Limitação WhatsApp: misturar reply com url/phone/copy na mesma mensagem pode exibir aviso 'Abra no celular'.
https://api.zapzapapi.com/api/v1/{instanceId}/send/buttonsAutenticação por cabeçalhos x-api-key e x-api-secret.
Parâmetros
| Nome | Tipo | Onde | Obrigatório | Descrição |
|---|---|---|---|---|
number | text | corpo | Sim | Número do destinatário (com DDI) |
text | textarea | corpo | Sim | Texto da mensagem |
buttons | json | corpo | Sim | Botões (até 3). Use text+id para reply, text+url para link, text+phone para ligar, text+copy para copiar código |
image | text | corpo | Não | URL da imagem no topo (opcional) |
footer | text | corpo | Não | Texto do rodapé (opcional) |
delay | number | corpo | Não | Atraso em ms antes de enviar (opcional) |
digitando | select | corpo | Não | Exibe "digitando..." automatico proporcional ao tamanho da mensagem antes de enviar. Ligado por padrao (humaniza e reduz risco de bloqueio). Envie false para desligar e responder mais rapido. A resposta continua sincrona. |
Exemplo de requisição
curl
curl -X POST "https://api.zapzapapi.com/api/v1/{instanceId}/send/buttons" \
-H "x-api-key: SUA_API_KEY" \
-H "x-api-secret: SEU_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","text":"Como podemos ajudar?","buttons":[{"text":"Sim","id":"yes"},{"text":"Nosso site","url":"https://exemplo.com"},{"text":"Ligar","phone":"+5511999999999"}]}'Node.js
const res = await fetch("https://api.zapzapapi.com/api/v1/{instanceId}/send/buttons", {
method: "POST",
headers: {
"x-api-key": "SUA_API_KEY",
"x-api-secret": "SEU_API_SECRET",
"Content-Type": "application/json",
},
body: JSON.stringify({
"number": "5511999999999",
"text": "Como podemos ajudar?",
"buttons": [
{
"text": "Sim",
"id": "yes"
},
{
"text": "Nosso site",
"url": "https://exemplo.com"
},
{
"text": "Ligar",
"phone": "+5511999999999"
}
]
}),
});
console.log(await res.json());Python
import requests
res = requests.post(
"https://api.zapzapapi.com/api/v1/{instanceId}/send/buttons",
headers={"x-api-key": "SUA_API_KEY", "x-api-secret": "SEU_API_SECRET"},
json={"number":"5511999999999","text":"Como podemos ajudar?","buttons":[{"text":"Sim","id":"yes"},{"text":"Nosso site","url":"https://exemplo.com"},{"text":"Ligar","phone":"+5511999999999"}]},
)
print(res.json())Exemplo de resposta
JSON
{
"messageType": "InteractiveMessage",
"status": "Pending"
}Os valores são ilustrativos; os campos seguem o formato real da resposta.
Outros endpoints desta categoria
Pegue suas chaves de API
Crie sua conta, conecte um número em minutos e comece a usar a API. R$15 por número ativo/mês, com crédito de boas-vindas ao criar a conta, sujeito à campanha vigente.
