Como enviar mensagem pelo WhatsApp sem complicação
Enviar mensagem pelo WhatsApp parece simples até você precisar fazer isso em escala. A API oficial existe, mas tem limitações que quase ninguém menciona. Se você quer automatizar algo básico, tem caminhos que funcionam. Se precisa de algo mais robusto, o caminho é mais lungo. A abordagem mais direta é usar a API do WhatsApp Business. Você cria uma conta no Meta for Developers, configura um número e pronto. Mas o problema é que a API não permite iniciar conversas com qualquer pessoa — só responde a mensagens que o usuário enviou primeiro, dentro de uma janela de 24 horas. Isso mata muita automação útil de
O que funciona na prática para mensagem de para whatsapp
A solução que eu uso quando preciso enviar mensagem de para whatsapp em volume é o WhatsApp Web com automação via Puppeteer ou Selenium. Você loga uma vez no celular, abre a sessão no navegador, e o script controla tudo a partir daí. Custa perto de zero se você já sabe o básico de código. O truque que ninguém conta é sobre a variável de tempo entre envios. O WhatsApp detecta padrões robotizados se você enviar mensagem após mensagem sem intervalo. Eu costumo usar delays aleatórios entre 8 e 22 segundos. Isso quebra o padrão e reduz drasticamente o risco de bloqueio. Já vi gente enviando a cada 2 segundos e levando bloqueio em menos de 30 minutos. É rápido e desnecessário.
Outro ponto que passa despercebido: o WhatsApp Web desconecta se você usar o app no celular ao mesmo tempo. Sempre deixe o número dedicado apenas para automação, sem acesso pelo telefone. Eu aprendi isso na marra quando um cliente estava usando o app no celular enquanto o script rodava, e todas as conexões caíram de uma vez. Perdi três horas de processamento porque não tinha fila de reprocessamento configurada.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Limitações que você precisa saber antes de começar
A automação via navegador não é estável. Atualizações do WhatsApp Web quebram seletores CSS e funcionalidades sem aviso. No último trimestre, tive que refazer todo o script depois de uma atualização que mudou a estrutura dos componentes de input. Isso acontece umas duas ou três vezes por ano. Se isso for importante para o seu negócio, considere contratar alguém que mantenha isso ou usar uma solução paga que já lida com isso. Outro problema real é o limbo de mensagens não enviadas. Se o destinatário não tem o número salvo ou bloqueou você, a mensagem fica como "enviada" mas nunca chega. Não há como saber disso diretamente pela API não-oficial. Minha solução foi criar um log de falhas e marcar números com múltiplas tentativas fracassadas para revisão manual. Achei uns 12% dos meus contatos nessa situação em uma lista de 4 mil números.
Se você precisa de algo sério, a API oficial com provedores autorizados como Twilio ou 360Dialog é mais cara mas muito mais confiável. O custo por mensagem gira em torno de R$ 0,05 a R$ 0,15 dependendo do volume e do provedor. Para menos de 500 mensagens por mês, a diferença de preço não justifica o risco de usar automação não-oficial.
Passo a passo básico
Primeiro, baixe o Puppeteer se estiver usando Node.js. Crie um arquivo main.js com a inicialização do navegador e a navegação para web.whatsapp.com. Faça o login escaneando o QR code manualmente na primeira vez. Depois, adicione uma função que recebe um número e uma mensagem, localiza o campo de busca, digita o número, seleciona o contato e envia. Adicione o delay aleatório entre cada envio. Salve o estado da sessão com puppeteer-extra-plugin-stealth para evitar detecção básica. Não tente enviar mais de 100 mensagens por dia nessa abordagem. O risco aumenta significativamente a partir daí. Se você precisa de volume maior, migre para a API oficial. O trabalho de configuração inicial compensa.