Listar mensagens do chat ou marcar conversas como lidas por instância e contato.
Nó Messages
O nó Messages (whatsapp_fetch_messages) lista mensagens de um chat ou marca uma mensagem específica como lida no WhatsApp. A instância é opcional na listagem — você deve fornecer pelo menos um filtro: instância + contato, só contato ou chat_id.
Encontre-o na paleta WhatsWave em Automações.
Figura 1: Nó Messages — operação list com contato e paginação
O que faz
| Aspecto | Comportamento |
|---|---|
| Node type | whatsapp_fetch_messages |
| Executor | http_request |
| Operations | List messages (wa_msgs_list), Mark as read (wa_msgs_mark_read) |
| Outputs | messages, pagination, status |
Operação: List messages (wa_msgs_list)
Endpoint: POST /messages/fetch
| Campo | Key | Obrigatório | Descrição |
|---|---|---|---|
| Instance | instance_phone_number | Não | Telefone da instância WhatsApp — restringe a uma linha |
| Company | company_id | Auto | Oculto {{company_id}} |
| Contact phone | contact_number | Condicional | E.164 — com instância: aquele chat; sem: todas as linhas daquele contato |
| Chat ID | chat_id | Não | UUID — opcional se contato + instância fornecidos |
| Quantity | limit | Não | Padrão 10 — últimas N mensagens |
| Page | page | Não | Padrão 1 |
| Message type | message_type | Não | Filtro: text, image, audio, video, document, location, contact, sticker |
| Direction | direction | Não | incoming ou outgoing |
| Status | status | Não | sent, delivered, read, failed |
Regras de filtro:
- Com instance + contact → mensagens daquele chat específico
- Com só contact → mensagens do contato em todas as instâncias WhatsApp da empresa
- Com chat_id → busca direta do chat
Operação: Mark as read (wa_msgs_mark_read)
Endpoint: POST /instances/message/mark-read
| Campo | Key | Obrigatório | Descrição |
|---|---|---|---|
| Instance | phone_number | Sim | Telefone da instância (instance picker) |
| Company | company_id | Auto | Oculto |
| Contact number | number | Sim | Telefone do cliente |
| Message ID | messageId | Sim | ID da mensagem WhatsApp para marcar como lida |
Dicas e boas práticas
- Paginate com
limitepageao montar resumos de transcrição — o padrão 10 basta para checagens de "última mensagem". - Filtre
direction: incomingantes de classificação por IA para ignorar suas próprias mensagens de saída. - Armazene
chat_idda saída do nó Conversations para buscas subsequentes mais rápidas. - Mark as read após processar webhooks recebidos para que agentes vejam contagem correta de não lidas no inbox.
- Combine com AI Agent — busque as últimas 5 mensagens e passe o texto em
instructionpara respostas com contexto.
Exemplos de uso
Exemplo 1 — Ecoar última mensagem do cliente no CRM
Trigger: Webhook — notificação de mensagem recebida.
Fluxo:
- Messages — List
instance_phone_number: linha selecionadacontact_number:{{trigger.body.from}}limit:1direction:incoming
- CRM — comentário com
{{messages_1.messages[0].text}}
Exemplo 2 — Reagir à última mensagem de saída
Trigger: Teste manual.
Fluxo:
- Messages — List,
direction:outgoing,limit:1 - Send — operação Reaction,
messageId:{{messages_1.messages[0].id}}
Exemplo 3 — Marcar como lida após auto-resposta
Trigger: Webhook — mensagem recebida.
Fluxo:
- Send — auto-resposta em texto
- Messages — Mark as read com
messageIdde{{trigger.body.message_id}}
FAQ
Por que o array messages está vazio?
Filtro ausente — forneça contact_number, chat_id ou instância + contato. Verifique formato E.164.
Posso buscar texto de mensagem neste nó?
Não há busca full-text — liste e filtre em nó Condition ou JavaScript, ou use AI Agent no conteúdo buscado.
Diferença entre instance_phone_number aqui e instance_id no Send?
A listagem de Messages usa telefone (instanceSelectValue: phone); Send usa UUID (instanceSelectValue: id). Ambos referem-se à mesma linha WhatsApp.
Como obtenho o message ID para reações?
Da saída da listagem messages[n].id ou do payload do webhook recebido — passe para Send Reaction ou reação na fila.
Artigos relacionados
Este artigo foi útil?
Precisa de mais ajuda? Falar com suporte