Arquitetura
Diagrama Geral
Internet
|
Cloudflare Tunnel
|
+----------+----------+
| |
marie.exemple.com cmos_wpp.exemple.com
| |
+-------+-------+ +------+------+
| | | |
Frontend Backend WhatsApp API
(Next.js) (Node.js) (Go-Whatsmeow)
:3001 :3001 :3000
| |
| webhook_whatsapp
| (Node.js)
| |
+------+------+
|
RabbitMQ
(fila: events)
|
Backend
(consumer)
|
+-----------+-----------+
| | |
MongoDB RD Station Google
(Atlas) (CRM+Mkt) (Calendar,
GCS, Gemini)
Componentes
| Componente |
Tecnologia |
Funcao |
| Backend |
Node.js + Express + TypeScript |
API, agents IA, CRM sync, agendamento, follow-up, remarketing |
| Frontend |
Next.js + TypeScript |
Gestao de agents, calendarios, eventos |
| WhatsApp API |
Go-Whatsmeow |
Conexao com WhatsApp Web |
| Webhook Bridge |
Node.js |
Ponte entre WhatsApp API e RabbitMQ |
| Fila |
RabbitMQ (quorum) |
Mensageria assincrona |
| Banco de Dados |
MongoDB Atlas |
Persistencia |
| IA |
Google Gemini (via LangChain) |
Processamento de linguagem natural |
| CRM |
RD Station (Marketing + CRM v1) |
Gestao de leads e deals |
| Storage |
Google Cloud Storage |
Arquivos RAG |
| Calendario |
Google Calendar API |
Agendamento de reunioes |
Principios
- CRM como fonte de verdade para deal stages — o agent nao move stages diretamente, usa tools semanticas
- 3 pontos de sync CRM: consumer (passivo), agent tools (ativo), timeout job (temporal)
- Skills como capacidades internas — injetadas no prompt, nao sao tools
- Mensageria assincrona — todas as mensagens passam pelo RabbitMQ antes de chegar ao agent