Executando verificação de segurança...
1

Integre o WhatsApp com sua aplicação usando uma API HTTP simples e poderosa

Recentemente eu precisei integrar o WhatsApp com uma aplicação — só que, como todo mundo que já passou por isso sabe, as soluções prontas são ou muito caras ou complicadas demais.

Então pensei: "e se eu criasse uma API REST que usa o WhatsApp Web por baixo dos panos, mas que qualquer dev conseguisse subir com um Docker e sair usando?" Foi assim que nasceu o projeto WhatsApp HTTP API.

🛠️ O que ela faz?

  • Envia e recebe mensagens de texto via WhatsApp
  • Trabalha com múltiplas sessões (ideal pra multiusuário ou multi-conta)
  • Expõe webhooks para receber mensagens e atualizações em tempo real
  • Tem documentação automática via Swagger
  • E roda tudo dentro de um container Docker

Tudo isso usando Node.js + TypeScript + Express + whatsapp-web.js por trás.

🐳 Quer testar agora?

Só rodar isso aqui:

docker run -d \
  --name whatshttp \
  -p 3000:3000 \
  -v whatsapp-sessions:/app/data \
  crazynds/whatshttp:latest

Depois acessa em http://localhost:3000/docs e já sai brincando com os endpoints. No primeiro uso, ele mostra o QR Code pra você conectar o número ao WhatsApp Web, e pronto: já pode enviar e receber mensagens pela API.

💡 Proximos passos

Ainda o projeto está bem simples, e recem dando os primeiros passos, abaixo ainda algumas coisas que estão para ser desenvolvidas:

  • Acesso aos contatos vinculados a conta;
  • Envio de midia como imagens, videos, audio, etc...;
  • Sistema de autenticação;

🤝 Quer contribuir?

O projeto tá open source, e toda ajuda é bem-vinda. Se você curte esse tipo de automação, dá uma passada no repositório e deixa uma ⭐ pra fortalecer:

Carregando publicação patrocinada...
2
1

A ideia é interessante, mas ao tentar realizar a autenticação, dá um erro simples que derruba o container:

All models were synchronized successfully.
!!WebServer Started!!
/app/node_modules/whatsapp-web.js/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:299
            reject(new Error([
                   ^

Error: Failed to launch the browser process! spawn /app/node_modules/whatsapp-web.js/node_modules/puppeteer-core/.local-chromium/linux-1045629/chrome-linux/chrome ENOENT


TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md

    at onClose (/app/node_modules/whatsapp-web.js/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:299:20)
    at ChildProcess.<anonymous> (/app/node_modules/whatsapp-web.js/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:293:24)
    at ChildProcess.emit (node:events:518:28)
    at ChildProcess._handle.onexit (node:internal/child_process:291:12)
    at onErrorNT (node:internal/child_process:483:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)

Node.js v22.18.0
1