RSconnection — Sistema Broker Webhook WhatsApp
Resumo
Sistema webhook/wrapper WhatsApp como serviço broker — similar ao UazAPI.
Cada número cadastrado gera um token único para conexão via API REST.
Canal
- - Discord: #webhook-dev (thread isolada, sem mistura com outras aplicações)
- - UazAPI: https://uazapi.dev/interno?p=conecte
- - Backend: Node.js + Express + Baileys v6
- - Frontend: HTML puro (preto #0a0a0a + branco, com fundo ASCII animado)
- - Banco: SQLite (local em /var/www/wazapi/instances/
/) - - Porta: 3005
- - URL: https://rsconnection.rochasalesseguros.com.br/
- - bg-video-1: padrão glitch
- - bg-video-2: padrão 2
- - bg-video-3: maomao (70% da tela, centered, object-fit:contain — para não cortar rosto)
- - bg-video-4: all-about-the-benjamins
- - JS crossfade: no final do
, emauto-executado (IIFE) - - QR Code via SSE ✓
- - Código de pareamento ✓
- - Envio de mensagens com token ✓
- - Webhook para receber mensagens ✓
- - Painel web básico ✓
- - Float settings bar com API token ✓
- - Test webhook endpoint ✓
- - [ ] Testar conexão WhatsApp real com número novo (QR code agora deve aparecer após reset)
- - [ ] Testar webhook de entrada com número conectado
- - [ ] Testar envio de mensagem via API
- - [ ] Persistir instâncias em memória (reinício perde actives{})
- - [ ] Health check / ping
- - [ ] Limite de rate
- - [ ] Documentação API completa
- - [ ] Corrigir card "torto" — se aparecer novamente, screenshot necessário
Objetivo
Gateway WhatsApp com gestão de instâncias, token por número, webhooks para receber/enviar mensagens.
Referência
Stack
Pasta do projeto
/var/www/wazapi/
Fundo ASCII Animado (bg-videos)
4 vídeos ASCII art em crossfade (30s cada, opacity 0.30):
Endpoints da API
Criar instância
POST /api/instance/create
Body: { "name": "Nome opcional" }
Response: { id, token, status }
Conectar (inicia QR/pareamento)
POST /api/instance/:id/connect
QR Code (SSE)
GET /api/instance/:id/qr
Código de pareamento
POST /api/instance/:id/pairing
Body: { "phone": "11999999999" }
Status / Info
GET /api/instance/:id
Configurar Webhook
PUT /api/instance/:id/webhook
Body: { "webhook": "https://..." }
Testar Webhook
POST /api/instance/:id/webhook/test
Body: { "webhook": "https://...", "payload": {...} }
Enviar mensagem (requer Bearer token)
POST /api/instance/:id/send
Headers: Authorization: Bearer *
Body: { "number": "5511999999999", "text": "Olá" }
Desconectar
DELETE /api/instance/:id/logout
Deletar instância
DELETE /api/instance/:id
Status geral
GET /api/status
Status: BETA — funcionalidades principais prontas
Debug QR Code (2026-07-21)
Problema: Meta/WA rejeita login com "Error: Connection Failure" — WhatsApp bloqueando.
Causa: creds.json de sessões anteriores causavam reconnect automático com mesmo número.
Solução: ao limpar instâncias, o Baileys gera QR code limpo (semcreds.json = nova sessão).
Reset: kill $(pgrep -f 'node server.js'); rm -rf /var/www/wazapi/instances/*
Restart: cd /var/www/wazapi && nohup node server.js > /tmp/wazapi.log 2>&1 &
Log: tail -f /tmp/wazapi.log
Importante: meta.json restaurado de .bak pelo server.js ao restart. Para resetar mesmo, deletar o diretório da instância.