Skip to main content
Disparado quando um contato vota em uma enquete (poll) — seja ela enviada pela API ou criada direto no app do WhatsApp. O voto chega descriptografado: você recebe os nomes das opções escolhidas, não os hashes. Ele reaproveita o canal do evento Botão / Lista (evento: "botao"), com o buttonResponse.type igual a poll_vote — por isso já funciona em fluxos e no seu webhook sem configuração extra.
Todo webhook também inclui os campos comunstipo, nome, remetente, destinatario, idMessagem, data e horario. Aqui, remetente é quem votou.

Campos deste evento

string
Sempre botao.
string
Opção(ões) escolhida(s), já em texto. Em múltipla escolha, vêm juntas separadas por vírgula.
object
Detalhes do voto:
  • type: sempre poll_vote (use isso para diferenciar de um clique de botão).
  • id: ID da enquete votada.
  • text: opção(ões) escolhida(s).
  • params.pollId: ID da enquete.
  • params.question: a pergunta da enquete.
  • params.selectedOptions: array com os nomes das opções escolhidas.
  • params.selectedCount: quantas opções foram marcadas.
  • params.resolved: true quando os nomes foram resolvidos. false (raro) quando a enquete não pôde ser mapeada — nesse caso selectedOptions vem vazio.
Cada voto traz a seleção atual completa do contato, não um incremento. Se ele troca o voto, chega um novo evento com a nova seleção; se retira o voto, chega com selectedOptions vazio. Trate cada evento como o estado atual daquele votante.

Exemplo de payload

Múltipla escolha