Mensagens
Enviar Lista
Envia menu interativo com seções e opções selecionáveis
POST
Enviar Lista
Auth:
TokenAccount ou TokenInstance • Rate-limit: Global (100/min) • Idempotente: não
Descrição
Envia uma lista interativa com até 10 seções e 10 rows por seção (limite total de 100 rows somando todas as seções). O destinatário toca o botão (buttonText) para abrir o menu e escolher uma das opções, e o WhatsApp retorna o id da row selecionada como uma mensagem de resposta. Ideal para menus, catálogos curtos, FAQs guiadas e atendimento estruturado.
Exemplos
Lista simples (1 seção)
Menu enxuto com uma única seção “Pratos” e duas rows. O destinatário toca em “Ver opções” para abrir o menu e selecionar uma das opções, que volta como resposta carregando oid (p1 ou p2).
Menu multi-seção (categorias)
Lista com múltiplas categorias agrupadas em seções. Cada seção é renderizada com um cabeçalho próprio dentro do menu, separando visualmente os grupos.Lista com cabeçalho e rodapé
AdicionaheaderText (título acima do corpo) e footerText (texto em cinza abaixo do botão), úteis para branding e disclaimers curtos.
Resposta de sucesso
Ocontent retornado é o contentText enviado, e o messageType fica fixo em list. Guarde o messageId para correlacionar com os eventos de seleção que chegam via webhook.
200 OK
Quando o destinatário escolhe uma opção, o WhatsApp envia uma mensagem de resposta contendo o
id da row selecionada, você captura essa resposta via webhook/websocket de eventos para dar continuidade ao fluxo.Parâmetros de rota
string
obrigatório
Nome da instância (ex.:
$Instance_Name).Headers
string
obrigatório
TokenAccount ou TokenInstance.string
obrigatório
application/jsonRequest body
string
obrigatório
Destino: telefone (
5511999999999) ou JID (@s.whatsapp.net, @lid, @g.us, @newsletter).string
obrigatório
Corpo principal da mensagem (descrição). Aparece acima do botão que abre a lista.
string
obrigatório
Texto do botão que abre a lista (ex.:
"Ver opções", "Abrir menu"). Limitado pelo WhatsApp a poucos caracteres.ListSection[]
obrigatório
Array de 1 a 10 seções. O total de rows somando todas as seções não pode exceder 100.
string
Título exibido acima do
contentText. Opcional.Texto em cinza claro abaixo do botão. Opcional, ideal para disclaimers curtos.
int
padrão:"0"
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.
string
ID da mensagem a ser citada (reply). A mensagem original precisa pertencer à mesma instância e ter sido salva no banco.
boolean
padrão:"false"
Quando
true e replyTo aponta para uma mensagem originária de um grupo, a resposta é redirecionada para o privado do autor original (mantendo a citação).string
padrão:"api"
Identificador de origem para rastreabilidade (ex.:
crm, bot-suporte, n8n). Salvo no registro da mensagem no banco e propagado para webhooks.Notas
- Limites do WhatsApp: máximo de 10 seções, 10 rows por seção e 100 rows no total. Excedeu? O servidor responde com
400antes de tentar enviar. - A row selecionada pelo usuário retorna pelo evento de mensagem como uma resposta carregando o
idoriginal, capture isso via webhook para mapear a escolha. - Listas funcionam bem em DM, grupos e canais, mas a UX pode variar entre WhatsApp Business e WhatsApp pessoal.
descriptioné opcional por row, mas melhora bastante a legibilidade quando o título sozinho é ambíguo.
Erros
Envelope de erro: