Automações

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.

Workflows > editor > Messages node list filters Figura 1: Nó Messages — operação list com contato e paginação

O que faz

AspectoComportamento
Node typewhatsapp_fetch_messages
Executorhttp_request
OperationsList messages (wa_msgs_list), Mark as read (wa_msgs_mark_read)
Outputsmessages, pagination, status

Operação: List messages (wa_msgs_list)

Endpoint: POST /messages/fetch

CampoKeyObrigatórioDescrição
Instanceinstance_phone_numberNãoTelefone da instância WhatsApp — restringe a uma linha
Companycompany_idAutoOculto {{company_id}}
Contact phonecontact_numberCondicionalE.164 — com instância: aquele chat; sem: todas as linhas daquele contato
Chat IDchat_idNãoUUID — opcional se contato + instância fornecidos
QuantitylimitNãoPadrão 10 — últimas N mensagens
PagepageNãoPadrão 1
Message typemessage_typeNãoFiltro: text, image, audio, video, document, location, contact, sticker
DirectiondirectionNãoincoming ou outgoing
StatusstatusNãosent, 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

CampoKeyObrigatórioDescrição
Instancephone_numberSimTelefone da instância (instance picker)
Companycompany_idAutoOculto
Contact numbernumberSimTelefone do cliente
Message IDmessageIdSimID da mensagem WhatsApp para marcar como lida

Dicas e boas práticas

  • Paginate com limit e page ao montar resumos de transcrição — o padrão 10 basta para checagens de "última mensagem".
  • Filtre direction: incoming antes de classificação por IA para ignorar suas próprias mensagens de saída.
  • Armazene chat_id da 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 instruction para respostas com contexto.

Exemplos de uso

Exemplo 1 — Ecoar última mensagem do cliente no CRM

Trigger: Webhook — notificação de mensagem recebida.

Fluxo:

  1. Messages — List
    • instance_phone_number: linha selecionada
    • contact_number: {{trigger.body.from}}
    • limit: 1
    • direction: incoming
  2. CRM — comentário com {{messages_1.messages[0].text}}

Exemplo 2 — Reagir à última mensagem de saída

Trigger: Teste manual.

Fluxo:

  1. Messages — List, direction: outgoing, limit: 1
  2. Send — operação Reaction, messageId: {{messages_1.messages[0].id}}

Exemplo 3 — Marcar como lida após auto-resposta

Trigger: Webhook — mensagem recebida.

Fluxo:

  1. Send — auto-resposta em texto
  2. Messages — Mark as read com messageId de {{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

Central de Ajuda