- Updated README with all 6 completed phases - Added access URLs for local network - Added default credentials section - Created comprehensive Odoo module installation guide - Added project structure documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
283 lines
9.6 KiB
Markdown
283 lines
9.6 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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](docs/odoo-module-install.md)
|
|
|
|
### Instalación Rápida
|
|
|
|
1. Copiar el módulo a tu instancia de Odoo:
|
|
```bash
|
|
cp -r odoo_whatsapp_hub /ruta/a/odoo/addons/
|
|
```
|
|
|
|
2. Reiniciar Odoo y actualizar lista de apps
|
|
|
|
3. Buscar "WhatsApp Hub" e instalar
|
|
|
|
4. 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](docs/plans/2026-01-29-whatsapp-centralizado-design.md)
|
|
- [Arquitectura de Base de Datos](docs/database/README.md)
|
|
- [API Reference](docs/api/README.md)
|
|
- [Flow Builder](docs/flow-builder/README.md)
|
|
- [Integración Odoo](docs/odoo-integration/README.md)
|
|
- [Instalación Módulo Odoo](docs/odoo-module-install.md)
|
|
- [Guía de Despliegue](docs/deployment/README.md)
|
|
|
|
## Servicios Docker
|
|
|
|
```bash
|
|
# 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.
|