# 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.