## Frontend - Add media display (images, audio, video, docs) in Inbox - Add pause/resume functionality for WhatsApp accounts - Fix media URLs to use nginx proxy (relative URLs) ## API Gateway - Add /accounts/:id/pause and /accounts/:id/resume endpoints - Fix media URL handling for browser access ## WhatsApp Core - Add pauseSession() - disconnect without logout - Add resumeSession() - reconnect using saved credentials - Add media download and storage for incoming messages - Serve media files via /media/ static route ## Odoo Module (odoo_whatsapp_hub) - Add Chat Hub interface with DOLLARS theme (dark, 3-column layout) - Add WhatsApp/DRRR theme switcher for chat view - Add "ABRIR CHAT" button in conversation form - Add send_message_from_chat() method - Add security/ir.model.access.csv - Fix CSS scoping to avoid breaking Odoo UI - Update webhook to handle message events properly ## Documentation - Add docs/CONTEXTO_DESARROLLO.md with complete project context ## Infrastructure - Add whatsapp_media Docker volume - Configure nginx proxy for /media/ route - Update .gitignore to track src/sessions/ source files Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
WhatsApp Centralizado
Plataforma de mensajería centralizada con automatización de chatbots, gestión multi-agente e integración profunda con Odoo.
Estado del Proyecto
| Fase | Descripción | Estado |
|---|---|---|
| Fase 1 | Fundación (WhatsApp Core + API + Frontend) | Completada |
| Fase 2 | Flow Engine Básico | Completada |
| Fase 3 | Inbox Avanzado + Multi-agente | Completada |
| Fase 4 | Flow Engine Avanzado | Completada |
| Fase 5 | Integración Odoo Completa | Completada |
| Fase 6 | Módulo Odoo (odoo_whatsapp_hub) | Completada |
| Fase 7 | Reportes y Analytics | Pendiente |
| Fase 8 | Multi-canal (Email, SMS) | Futuro |
Descripción
WhatsApp Centralizado es una solución empresarial similar a Kommo, Wasapi, ManyChat y Brevo, diseñada para:
- Automatizar conversaciones con un potente Flow Builder visual (drag & drop)
- Gestionar equipos de agentes con colas inteligentes, SLA y métricas
- Integrar con Odoo de forma bidireccional (CRM, Ventas, Inventario, Helpdesk, etc.)
- Conectar múltiples números de WhatsApp desde una sola plataforma
Características Implementadas
Flow Builder Visual
- 30+ tipos de nodos (mensajes, lógica, validación, acciones)
- Editor drag & drop con React Flow
- Variables globales y contexto de conversación
- A/B Testing integrado
- Integración con IA (DeepSeek)
- Sub-flujos reutilizables
- Plantillas predefinidas
Gestión Multi-Agente
- Sistema de colas (Ventas, Soporte, etc.)
- Asignación inteligente (round-robin, least-busy, skill-based)
- Transferencia bot → humano → bot
- Panel de supervisor en tiempo real
- SLA tracking con alertas
- Notas internas y respuestas rápidas
Integración Odoo (Fase 5)
- Conexión via XML-RPC con autenticación
- Sincronización bidireccional de contactos
- 8 nodos de flujo para Odoo:
- Buscar/Crear Partner
- Consultar Saldo
- Buscar/Ver Pedidos
- Buscar Productos
- Verificar Stock
- Crear Lead CRM
- Webhooks para eventos de Odoo
Módulo Odoo - odoo_whatsapp_hub (Fase 6)
- Módulo nativo para Odoo 19
- Gestión de cuentas WhatsApp
- Historial de conversaciones en contactos
- Widget de chat OWL en tiempo real
- Envío individual y masivo de mensajes
- Webhooks bidireccionales
- Integración completa con res.partner
Stack Tecnológico
| Componente | Tecnología | Puerto |
|---|---|---|
| WhatsApp Core | Node.js + TypeScript + Baileys | 3001 |
| API Gateway | Python + FastAPI | 8000 |
| Flow Engine | Python + FastAPI | 8001 |
| Integrations | Python + FastAPI | 8002 |
| Frontend | React + TypeScript + Vite | 3000 |
| Base de Datos | PostgreSQL 16 | 5432 |
| Cache/PubSub | Redis 7 | 6379 |
Arquitectura
┌─────────────────────────────────────────────────────────────────┐
│ FRONTEND (React) │
│ Dashboard │ Inbox Chat │ Flow Builder │ Odoo Config │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ API GATEWAY (FastAPI) │
│ JWT Auth │ REST API │ WebSocket │ Odoo Config API │
└─────────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌──────────────┐ ┌──────────────────────────┐
│ WHATSAPP CORE │ │ FLOW ENGINE │ │ INTEGRATIONS │
│ (Node.js) │ │ (Python) │ │ (Python) │
│ Baileys │ │ 30+ Nodos │ │ Odoo XML-RPC │
│ Multi-número │ │ AI Response │ │ Webhooks │
└──────────────────┘ └──────────────┘ └──────────────────────────┘
│ │ │
└───────────────┼───────────────┘
│
┌─────────┴─────────┐
▼ ▼
┌──────────┐ ┌──────────┐
│PostgreSQL│ │ Redis │
│ :5432 │ │ :6379 │
└──────────┘ └──────────┘
│
▼
┌──────────────────┐
│ ODOO 19 │
│ odoo_whatsapp_hub│
└──────────────────┘
Instalación
Requisitos
- Docker 24.0+
- Docker Compose 2.20+
- 4GB RAM mínimo (8GB recomendado)
- Odoo 19 (para el módulo)
Instalación Rápida
# Clonar repositorio
git clone https://git.consultoria-as.com/consultoria-as/WhatsAppCentralizado.git
cd WhatsAppCentralizado
# Copiar configuración
cp .env.example .env
# Editar variables de entorno (ver sección Configuración)
nano .env
# Iniciar servicios
docker-compose up -d
# Ver logs
docker-compose logs -f
# Aplicar migraciones de base de datos
docker-compose exec api-gateway alembic upgrade head
Configuración
Variables de Entorno Principales
# Base de Datos
DB_USER=whatsapp_admin
DB_PASSWORD=tu_password_seguro
DB_NAME=whatsapp_central
# JWT (generar con: openssl rand -base64 64)
JWT_SECRET=tu_secreto_jwt
# Odoo
ODOO_URL=https://tu-empresa.odoo.com
ODOO_DB=nombre_base_datos
ODOO_USER=usuario@empresa.com
ODOO_API_KEY=tu_api_key
# DeepSeek AI (opcional, para nodos AI)
DEEPSEEK_API_KEY=tu_api_key
Acceso
URLs de Acceso Local
| Servicio | URL Local | URL Red Local |
|---|---|---|
| Frontend | http://localhost:3000 | http://192.168.10.221:3000 |
| API Gateway | http://localhost:8000 | http://192.168.10.221:8000 |
| API Docs (Swagger) | http://localhost:8000/docs | http://192.168.10.221:8000/docs |
| WhatsApp Core | http://localhost:3001 | http://192.168.10.221:3001 |
| Integrations API | http://localhost:8002 | http://192.168.10.221:8002 |
Credenciales por Defecto
Usuario: admin@whatsapp.local
Password: admin123
(Cambiar inmediatamente en producción)
Instalación del Módulo Odoo
Ver guía completa en: docs/odoo-module-install.md
Instalación Rápida
- Copiar el módulo a tu instancia de Odoo:
cp -r odoo_whatsapp_hub /ruta/a/odoo/addons/
-
Reiniciar Odoo y actualizar lista de apps
-
Buscar "WhatsApp Hub" e instalar
-
Configurar la cuenta en WhatsApp > Configuración > Cuentas
Estructura del Proyecto
WhatsAppCentralizado/
├── services/
│ ├── whatsapp-core/ # Node.js + Baileys
│ ├── api-gateway/ # FastAPI principal
│ ├── flow-engine/ # Motor de flujos
│ └── integrations/ # Odoo XML-RPC
├── frontend/ # React + Vite
├── database/
│ └── migrations/ # Alembic migrations
├── odoo_whatsapp_hub/ # Módulo Odoo 19
│ ├── models/
│ ├── views/
│ ├── wizards/
│ ├── controllers/
│ └── static/
├── nginx/ # Configuración reverse proxy
├── docs/ # Documentación
└── docker-compose.yml
Documentación
- Diseño del Sistema
- Arquitectura de Base de Datos
- API Reference
- Flow Builder
- Integración Odoo
- Instalación Módulo Odoo
- Guía de Despliegue
Servicios Docker
# Ver estado de servicios
docker-compose ps
# Reiniciar un servicio
docker-compose restart api-gateway
# Ver logs de un servicio
docker-compose logs -f flow-engine
# Escalar servicios (si es necesario)
docker-compose up -d --scale whatsapp-core=2
Próximas Fases
Fase 7: Reportes y Analytics (Pendiente)
- Dashboard de analytics
- Métricas por agente/cola/flujo
- Reportes CSAT
- Exportación de datos
- Reportes programados
Fase 8: Multi-canal (Futuro)
- Integración Email (SMTP/IMAP)
- Integración SMS (Twilio)
- WhatsApp Business API oficial
- Inbox unificado
Licencia
Propietario - Todos los derechos reservados. Desarrollado por Consultoria AS.
Contacto
- Repositorio: https://git.consultoria-as.com/consultoria-as/WhatsAppCentralizado
- Desarrollado para uso interno empresarial.
Description
Plataforma de mensajería centralizada con automatización de chatbots, gestión multi-agente e integración con Odoo
Languages
Python
54.4%
TypeScript
30.3%
CSS
6.8%
JavaScript
4.8%
HTML
3.1%
Other
0.6%