Notifier ao vivo
Sessões ativas
Fila (sessões)
Na fila (total)
Enviadas (total)
Uptime
Hoje no banco
Total no banco
Contatos salvos
Sessões no banco

Sessões WhatsApp

Nenhuma sessão desconectada

Fila de mensagens

Mensagens com erro

Sistema

Node.js
Plataforma
CPUs
Load avg
Heap usado
RSS do processo
Memória do servidor
Selecione uma sessão para ver as conversas
💬
Selecione uma conversa
Escolha uma sessão e clique em uma conversa
ContatoTelefoneCadastrado em
Selecione uma sessão

Solicitações de sessões

Nenhuma solicitação

Gerenciar Usuários

NomeE-mailPerfilStatusSessõesAções
Carregando...
Carregando sessões...

Msgs por bloco (±30%)

Tempo em minutos após cada bloco

Delay entre mensagens no bloco (0.1–10 min)

Dados pessoais

Alterar senha

Sessões WhatsApp

Carregando...

Solicitar mais sessões

Minhas solicitações

Nenhuma solicitação ainda
Sessões aquecendo
Mensagens hoje
Agendador

Minhas Sessões no Aquecedor

🔥
Nenhuma sessão cadastrada no aquecedor
Total de janelas
últimas 48h
Ativas
dentro do prazo
Expirando em breve
menos de 1 hora
Expiradas
só templates

Janelas de atendimento

Contato Última mensagem recebida Recebida Janela Ação
📨
Selecione a aba Meta para carregar as janelas
Como funciona a janela de 24h: Quando um usuário envia qualquer mensagem para seu número Meta (API Oficial), uma janela de 24 horas se abre — nesse período você pode responder com qualquer tipo de mensagem, sem restrições. Após as 24h, a janela fecha e você só pode iniciar conversas usando templates aprovados no WhatsApp Business Account (WABA).
Enviar mensagem livre
Para: · Sessão:

📖 Documentação da API

Baixar coleção Postman
Base URL https://api-notifier.704app.com.br

Enviar Mensagem

Enfileira uma mensagem de texto ou imagem para um número. Para sessões Meta (API Oficial), também aceita envio via template aprovado no WABA.

POSThttps://api-notifier.704app.com.br/whatsapp/send-message
Parâmetros do Body (JSON)
CampoTipoDescrição
sessionName*stringNome da sessão ou o reference de 6 caracteres
phoneNumber*stringNúmero de destino com DDI — ex: 5511999999999
messageopcional*stringTexto da mensagem. Obrigatório para Baileys; para Meta, obrigatório se templateName não for informado
templateNameMetastringSomente sessões Meta. Nome do template aprovado no WABA. Substitui message
templateLanguageopcionalstringCódigo de idioma do template. Padrão: "pt_BR"
templateComponentsopcionalobject[]Componentes do template. Cada item tem type ("header", "body", "button") e parameters[]. Omitir se o template não tiver variáveis
isImageopcionalbooleanSe true, envia image como imagem. Padrão: false
imageopcionalstringURL ou base64 da imagem (requer isImage: true)
ignoreQueueopcionalbooleanEnvia sem respeitar cadência. Padrão: false
timeToResetQueueopcionalnumberMinutos de pausa após envio (0.1–10). Padrão: 1
randomCharsetopcionalbooleanCaractere invisível aleatório para evitar detecção de duplicata. Padrão: false
Exemplo — texto (Baileys)
POST https://api-notifier.704app.com.br/whatsapp/send-message Content-Type: application/json { "sessionName": "minha_empresa", "phoneNumber": "5511999999999", "message": "Olá! Tudo bem?", "timeToResetQueue": 2 }
Exemplo — template com parâmetro nomeado
// template com {{customer_name}} (nomeado) { "sessionName": "meta_empresa", "phoneNumber": "5511999999999", "templateName": "doacao_apae", "templateLanguage": "pt_BR", "templateComponents": [ { "type": "header", "parameters": [ { "type": "text", "text": "Maria Silva", "parameter_name": "customer_name" } ] } ] }
Exemplo — template com parâmetro posicional
// template com {{1}}, {{2}}… (posicional) { "sessionName": "meta_empresa", "phoneNumber": "5511999999999", "templateName": "confirmacao_pedido", "templateComponents": [ { "type": "body", "parameters": [ { "type": "text", "text": "João" }, { "type": "text", "text": "#1234" } ] } ] }
Resposta (200)
{ "status": "queued", "messageId": "clxyz123...", "sessionStatus": "Conectado", "queuePaused": false }
Valores de status
"queued" — enfileirado normalmente "queued_paused" — fila pausada, enfileirado
Parâmetros nomeados vs posicionais
Verifique como o template foi criado:
Nomeados {{customer_name}} → inclua parameter_name com o nome exato da variável em cada parâmetro
Posicionais {{1}}, {{2}} → sem parameter_name, a ordem dos itens define a substituição
Sem variáveis → omita templateComponents inteiramente

Envio em Massa

Distribui uma lista de números em blocos com pausas entre eles para respeitar os limites anti-ban do WhatsApp. Suporta múltiplas sessões em paralelo e, para sessões Meta (API Oficial), envio via templates aprovados no WABA.

POSThttps://api-notifier.704app.com.br/whatsapp/send-bulk
Parâmetros do Body (JSON)
CampoTipoDescrição
sessionName*string | string[]Uma sessão ou lista (nome ou reference). Com lista, os números são distribuídos igualmente entre as sessões
phones*string[] | object[]Lista de destinatários. Cada item pode ser uma string (número simples) ou um objeto { phone, templateComponents } para sobrescrever os componentes por destinatário
messageopcionalstring | string[]Texto único ou lista em rodízio. Obrigatório se templateName não for informado
templateNameMetastringSomente Meta. Nome do template aprovado no WABA. Substitui message
templateLanguageMetastringCódigo de idioma do template. Padrão: pt_BR
templateComponentsMetaobject[]Componentes globais — usados para todos que não tiverem componente próprio em phones[].templateComponents. Para variáveis nomeadas adicione parameter_name; para posicionais, omita
blockSizeopcionalnumberNúmeros por bloco. Padrão: 10. Ignorado para Meta (1 bloco único)
pauseBetweenBlocksopcionalnumberMinutos de pausa entre blocos. Padrão: 10. Ignorado para Meta
timeToResetQueueopcionalnumber | number[]Cadência por mensagem dentro do bloco (0.1–10 min). Array para variar por bloco em rodízio
isImageopcionalbooleanEnviar imagem. Padrão: false (somente Baileys)
imageopcionalstringURL ou base64 da imagem
randomCharsetopcionalbooleanCaractere invisível aleatório por mensagem. Padrão: false (somente Baileys)
campaignNameopcionalstringNome para registrar no histórico de campanhas
Exemplo — texto (Baileys)
{ "sessionName": "minha_empresa", "phones": ["5511999999999", "5521988888888"], "message": "Promoção especial!", "blockSize": 20, "pauseBetweenBlocks": 15, "timeToResetQueue": 1.5 }
Exemplo — template Meta sem variáveis
{ "sessionName": "sessao_meta", "phones": ["5511999999999"], "templateName": "ridepromo_boas_vindas", "templateLanguage": "pt_BR" // sem templateComponents }
Exemplo — template com parâmetro nomeado
// Template com {{customer_name}} (nomeado) // → obrigatório: "parameter_name" com o nome da variável { "sessionName": "sessao_meta", "phones": ["5511999999999", "5521988888888"], "templateName": "doacao_apae", "templateLanguage": "pt_BR", "templateComponents": [ { "type": "header", "parameters": [ { "type": "text", "text": "Maria Silva", "parameter_name": "customer_name" } ] } ] }
Exemplo — template com parâmetro posicional
// Template com {{1}}, {{2}} (posicional) // → sem "parameter_name", a ordem define a substituição { "sessionName": "sessao_meta", "phones": ["5511999999999"], "templateName": "boas_vindas", "templateComponents": [ { "type": "body", "parameters": [ { "type": "text", "text": "João" }, // {{1}} { "type": "text", "text": "704Apps" } // {{2}} ] } ] }
Exemplo — parâmetro diferente por destinatário
// phones como objetos com templateComponents por destinatário { "sessionName": "sessao_meta", "templateName": "doacao_apae", "templateLanguage": "pt_BR", "phones": [ { "phone": "5511999990001", "templateComponents": [{ "type": "header", "parameters": [{ "type": "text", "text": "João", "parameter_name": "customer_name" }] }] }, { "phone": "5521888880002", "templateComponents": [{ "type": "header", "parameters": [{ "type": "text", "text": "Maria", "parameter_name": "customer_name" }] }] } ] }
Exemplo — mix: próprio + fallback global
// strings usam templateComponents global; objetos usam o próprio { "sessionName": "sessao_meta", "templateName": "doacao_apae", "templateComponents": [{ "type": "header", "parameters": [{ "type": "text", "text": "Cliente", "parameter_name": "customer_name" }] }], "phones": [ { "phone": "5511999990001", "templateComponents": [{ "type": "header", "parameters": [{ "type": "text", "text": "João", "parameter_name": "customer_name" }] }] }, "5521888880002", // usa fallback global → "Cliente" "5531777770003" // usa fallback global → "Cliente" ] }
Resposta (200)
{ "status": "scheduled", "batchId": "lx3k-a9f2", "total": 100, "queued": 100, "skipped": 0, "blocks": 5, "blockSize": 20, "pauseBetweenBlocks": 15, "sessions": [{ "session": "minha_empresa", "phones": 100, "status": "Conectado", "queued": true, "queuePaused": false }] }
Anti-ban: ignoreQueue não é permitido em envios em massa. O tamanho do bloco varia ±30% e uma presença "online" é simulada antes de cada bloco (somente Baileys). Sessões desconectadas são ignoradas e reportadas em sessions[i].queued = false. Sessões Meta ignoram blocos e pausas — todos os envios são imediatos via API.

Listar Templates Meta

Retorna os templates aprovados no WhatsApp Business Account (WABA) da sessão. Cacheado por 5 minutos. Exclusivo para sessões com provider Meta (API Oficial).

GEThttps://api-notifier.704app.com.br/whatsapp/templates
Query Params
ParamTipoDescrição
sessionName*stringNome da sessão Meta ou reference de 6 caracteres
statusopcionalstringFiltrar por status: APPROVED, PENDING, REJECTED
nameopcionalstringFiltrar por nome exato do template
Exemplo de request
GET https://api-notifier.704app.com.br/whatsapp/templates?sessionName=sessao_meta&status=APPROVED
Resposta (200)
{ "templates": [ { "id": "123456789", "name": "boas_vindas", "status": "APPROVED", "category": "MARKETING", "language": "pt_BR", "components": [ { "type": "HEADER", "format": "TEXT", "text": "Olá, {{1}}!" }, { "type": "BODY", "text": "Bem-vindo à {{2}}." } ] } ] }