Ferramentas
whatsapp-web.js
Biblioteca Node.js não oficial que controla o WhatsApp Web por código para criar bots e integrações; o número pode ser banido, então use um dedicado.

Precisa que um programa leia e responda mensagens de WhatsApp? O whatsapp-web.js é uma biblioteca para Node.js que abre o WhatsApp Web num navegador controlado pelo Puppeteer e expõe as funções internas do cliente como uma API orientada a objetos. Ela funciona com contas pessoais e Business, e não tem ligação com o WhatsApp nem aval da empresa.
Para que serve
- Responder mensagens automaticamente, como um comando que devolve uma resposta pronta.
- Enviar e receber imagens, áudio, documentos, figurinhas, vídeo, contatos e localização.
- Criar enquetes, reagir a mensagens e mencionar pessoas ou grupos.
- Administrar grupos: entrar por convite, adicionar, remover e promover participantes.
Como começar
Você precisa de Node.js 18 ou mais novo. A instalação é um pacote do npm:
npm install whatsapp-web.jsNo exemplo do README, o cliente mostra um QR code no terminal com o pacote qrcode-terminal. Você escaneia com o celular e passa a tratar eventos como ready e message. Botões e listas não funcionam mais, e o envio de vídeo exige o Google Chrome. O guia em wwebjs.dev e a documentação em docs.wwebjs.dev cobrem o resto.
Licença e custo
A licença Apache 2.0 deixa você usar a biblioteca em projeto próprio ou de cliente, alterar e redistribuir, com a obrigação de manter os avisos de licença. Não existe plano pago, e você só gasta com o servidor onde o bot roda.
Quando vale a pena
Bot e cliente não oficial são proibidos pelo WhatsApp, e o README avisa que não há garantia de que o número não será bloqueado. Por isso, use sempre um número dedicado, nunca o principal da empresa. O espaço dela é o protótipo e a automação interna de pouco volume.
Para atendimento comercial em escala, o caminho seguro é a API oficial, explicada no post sobre WhatsApp Business API. Se você quer uma API REST pronta em vez de programar em Node.js, a Evolution API faz esse papel.