Mensagens
Enviar Enquete
Cria enquete (poll) com opções de escolha única ou múltipla
POST
Enviar Enquete
Auth:
Envelope de erro:
TokenAccount ou TokenInstance • Rate-limit: Global (100/min) • Idempotente: não
Descrição
Envia uma enquete a um contato 1-a-1, grupo (@g.us) ou canal (@newsletter). Suporta de 2 a 12 opções (limite do WhatsApp). O campo maxAnswer controla quantas opções o usuário pode marcar: 1 (padrão) = escolha única; > 1 = múltipla escolha. Se maxAnswer for omitido, inválido (< 1) ou maior que len(options), o servidor normaliza automaticamente para 1 ou para o total de opções, respectivamente. Suporta delay, replyTo e replyPrivate.
Exemplos
Enquete simples (escolha única)
Cria uma enquete com três opções (09h, 14h, 16h) e maxAnswer implícito em 1, o respondente só pode marcar uma alternativa.
Enquete de múltipla escolha
maxAnswer: 3 permite que o respondente marque até três opções.
Enquete como resposta a uma mensagem
Cita uma mensagem existente viareplyTo. A mensagem original precisa pertencer à mesma instância.
Resposta de sucesso
Ocontent retornado pré-formata a pergunta junto das opções numeradas (1. ... 2. ...), é a representação textual usada para indexar a enquete no histórico. O messageId é o que você precisa guardar para correlacionar votos via webhook.
200 OK
Respostas dos participantes não chegam síncronamente nesta resposta, elas trafegam como eventos
poll-update no webhook/WebSocket configurado, referenciando o messageId da enquete.Parâmetros de rota
Nome da instância (ex.:
$Instance_Name).Headers
TokenAccount ou TokenInstance.application/jsonRequest body
Destino: telefone (
5511999999999) ou JID (@s.whatsapp.net, @lid, @g.us, @newsletter).Pergunta exibida no topo da enquete.
Lista de opções. Mínimo 2, máximo 12 (limite do WhatsApp). Strings duplicadas são aceitas, mas não recomendadas.
Número máximo de opções que o respondente pode marcar.
1 = escolha única; > 1 = múltipla escolha. Valores < 1 são normalizados para 1; valores maiores que len(options) são reduzidos ao tamanho da lista.Tempo em segundos para aguardar antes de enviar. Durante o intervalo, o servidor envia o indicador de “digitando…” ao destinatário e dispara o “paused” antes do envio real.
ID da mensagem a ser citada (reply). A mensagem original precisa pertencer à mesma instância e ter sido salva no banco.
Quando
true e replyTo aponta para uma mensagem originária de um grupo, a enquete é redirecionada para o privado do autor original (mantendo a citação).Identificador de origem para rastreabilidade (ex.:
crm, bot-suporte, n8n). Salvo no registro da mensagem e propagado para webhooks.Notas
delayé em segundos (não milissegundos).- O WhatsApp aceita de 2 a 12 opções por enquete. Mais que isso é truncado pelo cliente do destinatário.
maxAnsweré normalizado pelo servidor:< 1vira1, e qualquer valor maior quelen(options)cai paralen(options).- Os votos não voltam nesta chamada, assine os eventos do webhook/WebSocket para receber
poll-updatequando alguém responder. - Em canais (
@newsletter), enquetes podem ter comportamento limitado dependendo das permissões do canal.
Erros
| HTTP | Status interno | Mensagem |
|---|---|---|
| 400 | , | Instance name is required |
| 400 | , | Invalid request body: <detalhe> |
| 400 | , | Number is required |
| 400 | , | Question is required |
| 400 | , | At least 2 options are required |
| 400 | invalid_number | Invalid phone number format: <detalhe> |
| 404 | , | Instance not found |
| 500 | send_failed | Failed to send poll: <reason> |
| 503 | disconnected | Instance is not connected to WhatsApp |