API Grapnel
Links, leads, analytics e WhatsApp por API e MCP.
Início rápido
- Passo 1: Chave
- Passo 2: Cabeçalho
Authorization: Bearer $GRAPNEL_API_KEY - Passo 3: Primeira chamada
GET /instances
curl "https://grapnel.com.br/api/v1/instances" \
-H "Authorization: Bearer $GRAPNEL_API_KEY"Agentes de IA (MCP)
Webhook
Seu agente só entra em ação quando chega mensagem
Com o webhook, a Grapnel avisa o seu agente no momento em que alguém escreve. Ele não precisa ficar olhando o WhatsApp o tempo todo: lê e responde só quando há algo novo.
Chega uma mensagem
Alguém escreve para o seu número no WhatsApp.
A Grapnel avisa o agente
Na hora, envia um aviso (o webhook) para o endereço do seu agente.
O agente lê e responde
Ele lê a mensagem e responde pela API ou pelo MCP.
Como configurar em 3 passos
Passo 1: Cole o endereço do agente
No webhook do número, informe a URL (começa com https://) onde o seu agente recebe avisos. Ferramentas como n8n e Make mostram essa URL quando você cria um gatilho de webhook.
Passo 2: Crie um segredo
Uma senha longa e aleatória, com 32 caracteres ou mais. Ela vai junto com a URL e fica guardada no agente, que a usa para conferir se o aviso veio mesmo da Grapnel. Não use a chave da API.
Passo 3: Teste com uma mensagem
De outro celular, mande um “oi” num grupo em que o número está (ou no privado, se ativou conversas individuais). Em segundos o agente recebe o aviso e responde.
O que chega para o agente
Só gruposPadrão
O agente é avisado das mensagens que chegam nos grupos em que o número participa.
whatsapp.group.message.received
Conversas individuais
Também avisa das mensagens no privado (alguém falando direto com o número); os grupos continuam chegando. Ligue a opção de conversas individuais e use uma chave com a permissão Ler conversas individuais.
whatsapp.message.receivedchats:read
Só mensagens recebidas geram aviso: o que o próprio número envia, inclusive as respostas do agente, não aciona o agente de novo.
Para desenvolvedores: cada aviso é assinado com HMAC SHA-256 (X-Grapnel-Signature, X-Grapnel-Timestamp, X-Grapnel-Event-Id) e reenviado até 8 vezes em 24 h se o seu servidor falhar. Detalhes técnicos
Servidor MCP
https://grapnel.com.br/api/mcpO agente vê só as ferramentas que a chave permite. Cada chamada passa pela API: mesmo limite, mesmos logs.
Clientes
claude mcp add --transport http grapnel https://grapnel.com.br/api/mcp \
--header "Authorization: Bearer $GRAPNEL_API_KEY"Ferramentas
Prompt sem MCP
Você vai operar meu WhatsApp pela API da Grapnel.
1. Leia https://grapnel.com.br/llms.txt e https://grapnel.com.br/docs.md.
2. Autentique com o cabeçalho Authorization: Bearer $GRAPNEL_API_KEY.
3. Use a instância $GRAPNEL_INSTANCE_ID.
4. Em cada alteração, envie um Idempotency-Key único por operação.
Ao repetir a mesma operação, repita a mesma chave.
5. Em HTTP 429, espere o tempo indicado em Retry-After.
6. Antes de escrever para um contato novo, peça a minha confirmação.Fundamentos
Autenticação
https://grapnel.com.br/api/v1Authorization: Bearer $GRAPNEL_API_KEYPermissões
- links:read
- Consultar links, pastas e destinos
- links:write
- Criar, editar e excluir links, pastas e destinos
- analytics:read
- Consultar analytics agregados
- logs:read
- Consultar logs
- leads:read
- Consultar leads e suas estatísticas
- instances:read
- Consultar seus números conectados
- whatsapp:read
- Consultar status, grupos e mensagens de grupos
- whatsapp:write
- Enviar mensagens e gerenciar a conexão do WhatsApp
- chats:read
- Ler conversas individuais, contatos e etiquetas
- chats:write
- Arquivar, marcar, bloquear e editar contatos e etiquetas
- groups:write
- Criar e gerenciar grupos, comunidades e canais
- settings:read
- Consultar perfil, privacidade e automações
- settings:write
- Alterar perfil, privacidade, proxy e automações
- campaigns:write
- Criar e controlar envios em massa
Idempotência
Toda escrita leva um Idempotency-Key. Repita a mesma chave, com o mesmo método, URL e corpo, para tentar de novo sem duplicar.
Idempotency-Key: pedido-20260914-0001- caracteres: letras, números e . _ : -
- 8–200
- a resposta é reutilizada
- 24 h
- chave usada em outra requisição
- 409
- consultas via POST não exigem
- POST
Erros
- 200 · 201
- Sucesso.
- 202
- Aceito para envio; não confirma a entrega.
- 400 · 422
- Revise os campos.
- 401
- Confira a chave.
- 403
- Falta permissão na chave.
- 404
- Recurso indisponível para a conta.
- 409
- Conflito ou idempotência.
- 429
- Limite atingido: espere Retry-After.
- 5xx
- Falha temporária: tente de novo com a mesma chave.
{
"type": "about:blank",
"title": "Bad Request",
"status": 400,
"detail": "Confira os campos enviados.",
"instance": "/api/v1/links",
"code": "invalid_request",
"request_id": "01993fa0-1000-7000-8000-000000000001"
}Limites
- requisições por conta, API e MCP
- 60/min
- segundos para tentar de novo
- Retry-After
- corpo das mensagens
- 32 KiB
- corpo com mídia na API completa
- 4 MiB
Formatos
- UTF-8, também nos erros
- JSON
- IDs de recursos
- UUID
- datas ISO 8601 em UTC
- 2026-09-14T12:00:00Z
- telefones: DDI + número
- 5511999999999
Paginação
- Links · Leads
- Envie o
nextCursorrecebido emcursorenquantohasMorefor true. - Mensagens · Conversas
- Use
pagination.next_offsetenquantopagination.has_morefor true; deduplique pormessageid. - Logs
pageelimit; mais recentes primeiro.
Guias
- Como distribuir contatos entre vendedores no WhatsApp
- Como acompanhar campanhas e conversões no WhatsApp
- Como atribuir vendas do WooCommerce aos links de WhatsApp
- Como conectar e gerenciar números de WhatsApp na Grapnel
- WA.ME → GRAPNEL: Migração para Sticky Routing
- Central: contrato futuro de integração usando UID
Links
24 endpointsPOST
/links/{id}/duplicateDuplicar linklinks:writeGET
/linksListar linkslinks:readPOST
/linksCriar linklinks:writeGET
/links/check-slugVerificar disponibilidade do sluglinks:readGET
/links/{id}Consultar link e configuraçãolinks:readPATCH
/links/{id}Editar linklinks:writeDELETE
/links/{id}Mover link para a lixeiralinks:writePOST
/links/{id}/restoreRestaurar link da lixeiralinks:write
Pastas4
GET
/foldersListar pastaslinks:readPOST
/foldersCriar pastalinks:writePATCH
/folders/{id}Editar pastalinks:writeDELETE
/folders/{id}Excluir pastalinks:write
Destinos4
GET
/links/{id}/destinationsListar destinos do linklinks:readPOST
/links/{id}/destinationsAdicionar destino ao linklinks:writePATCH
/destinations/{id}Editar destinolinks:writeDELETE
/destinations/{id}Remover destinolinks:write
Mensagens dos links4
GET
/links/{id}/messagesListar mensagens do linklinks:readPOST
/links/{id}/messagesAdicionar mensagem ao linklinks:writePATCH
/messages/{id}Editar mensagem do linklinks:writeDELETE
/messages/{id}Excluir mensagem do linklinks:write
Produtos4
GET
/links/{id}/productsListar produtos do linklinks:readPOST
/links/{id}/productsCriar produto no linklinks:writePATCH
/products/{id}Editar produtolinks:writeDELETE
/products/{id}Remover produtolinks:write
Instâncias
5 endpointsNúmeros2
GET
/instancesListar instâncias WhatsAppinstances:readGET
/instances/{id}Consultar instânciainstances:read
Conexão3
GET
/instances/{id}/statusConsultar status da conexãowhatsapp:readPOST
/instances/{id}/connectConectar WhatsAppwhatsapp:writePOST
/instances/{id}/disconnectDesconectar WhatsAppwhatsapp:write
Mensagens
9 endpointsEnvio4
POST
/instances/{id}/messages/textEnviar mensagem de textowhatsapp:writePOST
/instances/{id}/messages/contactEnviar cartão de contatowhatsapp:writePOST
/instances/{id}/messages/locationEnviar localizaçãowhatsapp:writePOST
/instances/{id}/messages/mediaEnviar imagem, vídeo, áudio ou documentowhatsapp:write
Conversas2
GET
/instances/{id}/chatsListar conversaschats:readGET
/instances/{id}/chats/messagesConsultar mensagens de uma conversa individualchats:read
Grupos3
GET
/instances/{id}/groupsListar gruposwhatsapp:readPOST
/instances/{id}/groups/infoConsultar grupo pelo JIDwhatsapp:readGET
/instances/{id}/groups/messagesConsultar mensagens de um grupowhatsapp:read
Webhooks
10 endpointsAssinatura
X-Grapnel-Event-Id- UUID do evento; deduplique por ele.
X-Grapnel-Timestamp- Unix, em segundos; aceite até 5 min.
X-Grapnel-Signature- sha256= HMAC de timestamp.corpo_bruto.
import { createHmac, timingSafeEqual } from "node:crypto";
// rawBody: o corpo exatamente como chegou, antes do JSON.parse.
export function isGrapnelEvent(rawBody: string, headers: Headers, secret: string) {
const timestamp = headers.get("x-grapnel-timestamp") ?? "";
const signature = headers.get("x-grapnel-signature") ?? "";
if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false;
const expected = "sha256=" + createHmac("sha256", secret)
.update(`${timestamp}.${rawBody}`, "utf8")
.digest("hex");
return signature.length === expected.length &&
timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}Entregas
- confirma o recebimento
- 2xx
- tentativas em 24 h (rede, 408, 429, 5xx)
- 8×
- payload máximo
- 512 KiB
- HTTPS público, sem redirecionamento
- 443
id.GET /instances/{id}/messages/webhook/deliveries; configure vários números com POST /webhooks/messages.Evento
{
"id": "01993fa0-1000-7000-8000-000000000001",
"event": "whatsapp.message.received",
"instance_id": "01993fa0-1000-7000-8000-000000000002",
"message": {
"messageid": "3EB0C767D26A1D1A2B3C",
"chatid": "5511999999999@s.whatsapp.net",
"senderName": "Ana Souza",
"isGroup": false,
"fromMe": false,
"messageType": "conversation",
"messageTimestamp": 1757851200000,
"text": "Olá! Quero saber o prazo de entrega."
}
}Mensagens3
GET
/instances/{id}/messages/webhookConsultar webhook de mensagenswhatsapp:readPOST
/instances/{id}/messages/webhookConfigurar webhook de mensagenswhatsapp:writeDELETE
/instances/{id}/messages/webhookDesativar webhook de mensagenswhatsapp:write
Várias instâncias3
GET
/webhooks/messagesConsultar webhooks de mensagens de todas as instânciaswhatsapp:readPOST
/webhooks/messagesConfigurar webhook de mensagens em várias instânciaswhatsapp:writePOST
/webhooks/messages/disableDesativar webhook de mensagens em várias instânciaswhatsapp:write
Entregas1
GET
/instances/{id}/messages/webhook/deliveriesConsultar entregas do webhook de mensagenswhatsapp:read
Só grupos3
GET
/instances/{id}/groups/webhookConsultar webhook de mensagens dos gruposwhatsapp:readPOST
/instances/{id}/groups/webhookConfigurar webhook de mensagens dos gruposwhatsapp:writeDELETE
/instances/{id}/groups/webhookDesativar webhook de mensagens dos gruposwhatsapp:write
Leads
2 endpointsGET
/leadsListar contatos da contaleads:readGET
/leads/statsConsultar estatísticas de contatosleads:read
Analytics
3 endpointsGET
/instances/{id}/metricsConsultar métricas da instânciaanalytics:readGET
/analyticsConsultar analytics da contaanalytics:readGET
/links/{id}/analyticsConsultar analytics de um linkanalytics:read
Logs
1 endpointsGET
/logsConsultar logslogs:read
API completa do WhatsApp
120 endpointsCada operação do provedor de conexão, no mesmo caminho em kebab-case. Campos e respostas seguem a operação original; credenciais nunca aparecem.
Mensagens21
POST
/instances/{id}/whatsapp/send/textEnviar mensagem de textowhatsapp:writePOST
/instances/{id}/whatsapp/send/mediaEnviar mídia (imagem, vídeo, áudio ou documento)whatsapp:writePOST
/instances/{id}/whatsapp/send/contactEnviar cartão de contato (vCard)whatsapp:writePOST
/instances/{id}/whatsapp/send/locationEnviar localização geográficawhatsapp:writePOST
/instances/{id}/whatsapp/message/presenceEnviar atualização de presençawhatsapp:writePOST
/instances/{id}/whatsapp/send/statusEnviar Stories (Status)whatsapp:writePOST
/instances/{id}/whatsapp/send/menuEnviar menu interativo (botões, carrosel, lista ou enquete)whatsapp:writePOST
/instances/{id}/whatsapp/send/carouselEnviar carrossel de mídia com botõeswhatsapp:writePOST
/instances/{id}/whatsapp/send/location-buttonSolicitar localização do usuáriowhatsapp:writePOST
/instances/{id}/whatsapp/send/request-paymentSolicitar pagamentowhatsapp:writePOST
/instances/{id}/whatsapp/send/pix-buttonEnviar botão PIXwhatsapp:writeGET
/instances/{id}/whatsapp/message/asyncConsultar fila async de envio diretowhatsapp:readDELETE
/instances/{id}/whatsapp/message/asyncLimpar fila async de envio diretowhatsapp:writePOST
/instances/{id}/whatsapp/message/downloadBaixar arquivo de uma mensagemchats:readPOST
/instances/{id}/whatsapp/message/findBuscar mensagens em um chatchats:readPOST
/instances/{id}/whatsapp/message/markreadMarcar mensagens como lidaschats:writePOST
/instances/{id}/whatsapp/message/reactEnviar reação a uma mensagemwhatsapp:writePOST
/instances/{id}/whatsapp/message/deleteApagar Mensagem Para Todoswhatsapp:writePOST
/instances/{id}/whatsapp/message/editEdita uma mensagem enviadawhatsapp:writePOST
/instances/{id}/whatsapp/call/makeIniciar chamada de vozwhatsapp:writePOST
/instances/{id}/whatsapp/call/rejectRejeitar chamada recebidawhatsapp:write
Conversas e contatos17
POST
/instances/{id}/whatsapp/chat/findBusca chats com filtroschats:readPOST
/instances/{id}/whatsapp/chat/detailsObter Detalhes Completoschats:readPOST
/instances/{id}/whatsapp/chat/checkVerificar Números no WhatsAppwhatsapp:readPOST
/instances/{id}/whatsapp/chat/deleteDeleta chatchats:writePOST
/instances/{id}/whatsapp/chat/archiveArquivar/desarquivar chatchats:writePOST
/instances/{id}/whatsapp/chat/readMarcar chat como lido/não lidochats:writePOST
/instances/{id}/whatsapp/chat/muteSilenciar chatchats:writePOST
/instances/{id}/whatsapp/chat/pinFixar/desafixar chatchats:writePOST
/instances/{id}/whatsapp/chat/labelsGerencia labels de um chatchats:writePOST
/instances/{id}/whatsapp/chat/blockBloqueia ou desbloqueia contato do WhatsAppchats:writeGET
/instances/{id}/whatsapp/chat/blocklistLista contatos bloqueadoschats:readPOST
/instances/{id}/whatsapp/label/editEditar etiquetachats:writeGET
/instances/{id}/whatsapp/labelsBuscar todas as etiquetaschats:readGET
/instances/{id}/whatsapp/contactsRetorna lista de contatos do WhatsAppchats:readPOST
/instances/{id}/whatsapp/contacts/listListar todos os contatos com paginacaochats:readPOST
/instances/{id}/whatsapp/contact/addAdiciona um contato à agendachats:writePOST
/instances/{id}/whatsapp/contact/removeRemove um contato da agendachats:write
Grupos e canais42
POST
/instances/{id}/whatsapp/group/createCriar um novo grupogroups:writePOST
/instances/{id}/whatsapp/group/infoObter informações detalhadas de um grupowhatsapp:readPOST
/instances/{id}/whatsapp/group/invite-infoObter informações de um grupo pelo código de convitewhatsapp:readPOST
/instances/{id}/whatsapp/group/joinEntrar em um grupo usando código de convitegroups:writePOST
/instances/{id}/whatsapp/group/leaveSair de um grupogroups:writeGET
/instances/{id}/whatsapp/group/listListar todos os gruposwhatsapp:readPOST
/instances/{id}/whatsapp/group/listListar todos os grupos com filtros e paginacaowhatsapp:readPOST
/instances/{id}/whatsapp/group/reset-invite-codeResetar código de convite do grupogroups:writePOST
/instances/{id}/whatsapp/group/update-announceConfigurar permissões de envio de mensagens no grupogroups:writePOST
/instances/{id}/whatsapp/group/update-descriptionAtualizar descrição do grupogroups:writePOST
/instances/{id}/whatsapp/group/update-imageAtualizar imagem do grupogroups:writePOST
/instances/{id}/whatsapp/group/update-lockedConfigurar permissão de edição do grupogroups:writePOST
/instances/{id}/whatsapp/group/update-nameAtualizar nome do grupogroups:writePOST
/instances/{id}/whatsapp/group/update-participantsGerenciar participantes do grupogroups:writePOST
/instances/{id}/whatsapp/community/createCriar uma comunidadegroups:writePOST
/instances/{id}/whatsapp/community/editgroupsGerenciar grupos em uma comunidadegroups:writePOST
/instances/{id}/whatsapp/newsletter/createCriar canalgroups:writeGET
/instances/{id}/whatsapp/newsletter/listListar canais inscritoswhatsapp:readPOST
/instances/{id}/whatsapp/newsletter/infoBuscar informações de um canalwhatsapp:readPOST
/instances/{id}/whatsapp/newsletter/linkBuscar canal por link-chave de convitewhatsapp:readPOST
/instances/{id}/whatsapp/newsletter/subscribeAssinar live updates temporários de um canalwhatsapp:readPOST
/instances/{id}/whatsapp/newsletter/messagesBuscar mensagens de um canalwhatsapp:readPOST
/instances/{id}/whatsapp/newsletter/messages/editEditar mensagem recente de um canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/messages/deleteDeletar mensagem recente de um canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/updatesBuscar updates de mensagens de um canalwhatsapp:readPOST
/instances/{id}/whatsapp/newsletter/viewedMarcar posts do canal como visualizadoschats:writePOST
/instances/{id}/whatsapp/newsletter/reactionReagir a um post do canalwhatsapp:writePOST
/instances/{id}/whatsapp/newsletter/followSeguir canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/unfollowDeixar de seguir canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/muteSilenciar canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/unmuteRemover mute do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/deleteDeletar canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/pictureAtualizar foto do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/nameAtualizar nome do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/descriptionAtualizar descrição do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/settingsAtualizar configurações do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/searchPesquisar canais públicoswhatsapp:readPOST
/instances/{id}/whatsapp/newsletter/admin/inviteConvidar admin do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/admin/acceptAceitar convite de admin do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/admin/removeRemover admin do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/admin/revokeRevogar convite de admin do canalgroups:writePOST
/instances/{id}/whatsapp/newsletter/owner/transferTransferir dono do canalgroups:write
Perfil e configurações18
POST
/instances/{id}/whatsapp/instance/resetReiniciar runtime da instânciasettings:writeGET
/instances/{id}/whatsapp/instance/privacyBuscar configurações de privacidadesettings:readPOST
/instances/{id}/whatsapp/instance/privacyAlterar configurações de privacidadesettings:writePOST
/instances/{id}/whatsapp/instance/presenceAtualizar status de presença da instânciasettings:writePOST
/instances/{id}/whatsapp/instance/update-delay-settingsDelay na fila de mensagenssettings:writeGET
/instances/{id}/whatsapp/instance/proxyObter configuração de proxy da instânciasettings:readPOST
/instances/{id}/whatsapp/instance/proxyConfigurar ou alterar o proxysettings:writeDELETE
/instances/{id}/whatsapp/instance/proxyRemover o proxy configuradosettings:writePOST
/instances/{id}/whatsapp/profile/nameAltera o nome do perfil do WhatsAppsettings:writePOST
/instances/{id}/whatsapp/profile/imageAltera a imagem do perfil do WhatsAppsettings:writePOST
/instances/{id}/whatsapp/business/get/profileObter o perfil comercialwhatsapp:readGET
/instances/{id}/whatsapp/business/get/categoriesObter as categorias de negócioswhatsapp:readPOST
/instances/{id}/whatsapp/business/update/profileAtualizar o perfil comercialsettings:writePOST
/instances/{id}/whatsapp/business/catalog/listListar os produtos do catálogowhatsapp:readPOST
/instances/{id}/whatsapp/business/catalog/infoObter informações de um produto do catálogowhatsapp:readPOST
/instances/{id}/whatsapp/business/catalog/deleteDeletar um produto do catálogosettings:writePOST
/instances/{id}/whatsapp/business/catalog/showMostrar um produto do catálogosettings:writePOST
/instances/{id}/whatsapp/business/catalog/hideOcultar um produto do catálogosettings:write
Automação15
POST
/instances/{id}/whatsapp/instance/updatechatbotsettingsChatbot Configuraçõessettings:writePOST
/instances/{id}/whatsapp/instance/update-fields-mapAtualizar campos personalizados de leadssettings:writePOST
/instances/{id}/whatsapp/agent/editCriar/Editar Agentesettings:writeGET
/instances/{id}/whatsapp/agent/listTodos os agentessettings:readPOST
/instances/{id}/whatsapp/trigger/editCriar, atualizar ou excluir um trigger do chatbotsettings:writeGET
/instances/{id}/whatsapp/trigger/listListar todos os triggers do chatbotsettings:readPOST
/instances/{id}/whatsapp/knowledge/editCriar/Editar Conhecimento do Agentesettings:writeGET
/instances/{id}/whatsapp/knowledge/listListar Base de Conhecimentosettings:readPOST
/instances/{id}/whatsapp/function/editCriar/Editar função para integração com APIs externassettings:writeGET
/instances/{id}/whatsapp/function/listLista todas as funções de APIsettings:readPOST
/instances/{id}/whatsapp/quickreply/editCriar, atualizar ou excluir resposta rápidasettings:writeGET
/instances/{id}/whatsapp/quickreply/showallListar todas as respostas rápidassettings:readGET
/instances/{id}/whatsapp/chatwoot/configObter configuração do Chatwootsettings:readPUT
/instances/{id}/whatsapp/chatwoot/configAtualizar configuração do Chatwootsettings:writePOST
/instances/{id}/whatsapp/chat/edit-leadEdita informações de leadchats:write
Campanhas7
POST
/instances/{id}/whatsapp/sender/simpleCriar nova campanha (Simples)campaigns:writePOST
/instances/{id}/whatsapp/sender/advancedCriar envio em massa avançadocampaigns:writePOST
/instances/{id}/whatsapp/sender/editControlar campanha de envio em massacampaigns:writePOST
/instances/{id}/whatsapp/sender/cleardoneLimpar mensagens enviadascampaigns:writeDELETE
/instances/{id}/whatsapp/sender/clearallLimpar toda fila de mensagenscampaigns:writeGET
/instances/{id}/whatsapp/sender/listfoldersListar campanhas de enviowhatsapp:readPOST
/instances/{id}/whatsapp/sender/listmessagesListar mensagens de uma campanhawhatsapp:read