Mensagens
Enviar Lista
Envia menu interativo com seções e opções selecionáveis
POST
Enviar Lista
Auth:
Envelope de erro:
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
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).Corpo principal da mensagem (descrição). Aparece acima do botão que abre a lista.
Texto do botão que abre a lista (ex.:
"Ver opções", "Abrir menu"). Limitado pelo WhatsApp a poucos caracteres.Array de 1 a 10 seções. O total de rows somando todas as seções não pode exceder 100.
Título exibido acima do
contentText. Opcional.Texto em cinza claro abaixo do botão. Opcional, ideal para disclaimers curtos.
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 resposta é 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 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
| HTTP | Status interno | Mensagem |
|---|---|---|
| 400 | , | Instance name is required |
| 400 | , | Invalid request body: <detalhe> |
| 400 | , | Number is required |
| 400 | , | ContentText is required |
| 400 | , | ButtonText is required |
| 400 | , | At least one section is required |
| 400 | , | Maximum of 10 sections allowed |
| 400 | , | Section N: Title is required |
| 400 | , | Section N: At least one row is required |
| 400 | , | Section N: Maximum of 10 rows allowed |
| 400 | , | Section N, Row M: ID is required |
| 400 | , | Section N, Row M: Title is required |
| 400 | , | Total number of rows across all sections cannot exceed 100 |
| 400 | invalid_number | Invalid phone number format: <detalhe> |
| 404 | , | Instance not found |
| 500 | send_failed | Failed to send message: <reason> |
| 503 | disconnected | Instance is not connected to WhatsApp |