# Guía de Instalación: Módulo Odoo WhatsApp Hub Esta guía explica cómo instalar y configurar el módulo `odoo_whatsapp_hub` en tu instancia de Odoo 19. ## Requisitos Previos - Odoo 19 Community o Enterprise - Acceso de administrador a la instancia de Odoo - WhatsApp Centralizado en ejecución y accesible desde Odoo - Python 3.10+ (incluido en Odoo 19) ## Método 1: Instalación Manual (Recomendado) ### Paso 1: Copiar el Módulo Copia la carpeta `odoo_whatsapp_hub` al directorio de addons de tu instalación de Odoo: ```bash # Si Odoo está instalado localmente cp -r /ruta/a/WhatsAppCentralizado/odoo_whatsapp_hub /ruta/a/odoo/addons/ # Si usas Docker docker cp odoo_whatsapp_hub odoo_container:/mnt/extra-addons/ # Si usas Odoo.sh # Sube el módulo via Git al repositorio de tu proyecto ``` ### Paso 2: Agregar Ruta de Addons (si es necesario) Si usas un directorio custom, asegúrate de que esté en la configuración de Odoo: ```ini # /etc/odoo/odoo.conf [options] addons_path = /usr/lib/python3/dist-packages/odoo/addons,/mnt/extra-addons ``` ### Paso 3: Reiniciar Odoo ```bash # Systemd sudo systemctl restart odoo # Docker docker-compose restart odoo # Manual ./odoo-bin -c /etc/odoo/odoo.conf ``` ### Paso 4: Actualizar Lista de Aplicaciones 1. Ir a **Aplicaciones** 2. Hacer clic en **Actualizar lista de aplicaciones** 3. Confirmar la actualización ### Paso 5: Instalar el Módulo 1. En **Aplicaciones**, quitar el filtro "Apps" 2. Buscar "**WhatsApp Hub**" 3. Hacer clic en **Instalar** ## Método 2: Instalación via Git (Odoo.sh o desarrollo) ```bash # En el directorio de tu proyecto Odoo cd /ruta/a/tu/proyecto/odoo # Clonar o copiar como submódulo git submodule add https://git.consultoria-as.com/consultoria-as/WhatsAppCentralizado.git external/whatsapp # Crear enlace simbólico ln -s ../external/whatsapp/odoo_whatsapp_hub addons/odoo_whatsapp_hub # Commit y push git add . git commit -m "Add WhatsApp Hub module" git push ``` ## Configuración Post-Instalación ### 1. Configurar Cuenta WhatsApp 1. Ir a **WhatsApp > Configuración > Cuentas WhatsApp** 2. Editar la cuenta "WhatsApp Principal" o crear una nueva 3. Configurar: | Campo | Valor | Descripción | |-------|-------|-------------| | Nombre | Mi WhatsApp | Nombre descriptivo | | URL API | http://192.168.10.221:8000 | URL de WhatsApp Centralizado | | API Key | (tu token JWT) | Token de autenticación | | ID Externo | (ID de la cuenta) | ID de la cuenta en WhatsApp Central | | Cuenta por Defecto | ✓ | Marcar si es la principal | ### 2. Obtener el API Key Para obtener el token JWT: ```bash # Hacer login en la API curl -X POST http://192.168.10.221:8000/api/auth/login \ -H "Content-Type: application/json" \ -d '{"email": "admin@whatsapp.local", "password": "admin123"}' # Respuesta: # {"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."} ``` Copia el `access_token` y pégalo en el campo **API Key** de la cuenta WhatsApp. ### 3. Vincular Cuenta Externa El **ID Externo** es el ID de la cuenta de WhatsApp en el sistema central: 1. Ir a WhatsApp Centralizado > Cuentas 2. Copiar el ID de la cuenta conectada 3. Pegarlo en el campo **ID Externo** en Odoo ### 4. Configurar Webhook en WhatsApp Central Para recibir mensajes en Odoo, configura el webhook: **URL del Webhook:** `https://tu-odoo.com/whatsapp/webhook` En WhatsApp Centralizado, ve a Configuración y agrega: - URL: `https://tu-odoo.com/whatsapp/webhook` - Eventos: `message`, `status_update`, `conversation_update` ## Uso del Módulo ### Ver Conversaciones 1. Ir a **WhatsApp > Conversaciones** 2. Vista Kanban agrupada por estado 3. Filtros: No leídos, Activas, Mis conversaciones ### Enviar WhatsApp desde Contacto 1. Abrir un contacto en **Contactos** 2. Hacer clic en **Enviar WhatsApp** (botón verde) 3. Escribir mensaje y enviar ### Envío Masivo 1. Seleccionar múltiples contactos en la lista 2. Acción > **Enviar WhatsApp** 3. Escribir mensaje con variables opcionales (`{{name}}`, `{{email}}`) 4. Confirmar envío ### Widget de Chat El widget de chat OWL está disponible en la vista de conversaciones para enviar mensajes en tiempo real. ## Estructura del Módulo ``` odoo_whatsapp_hub/ ├── __manifest__.py # Manifest del módulo (v19.0.1.0.0) ├── __init__.py ├── models/ │ ├── whatsapp_account.py # Cuentas WhatsApp │ ├── whatsapp_conversation.py # Conversaciones │ ├── whatsapp_message.py # Mensajes │ └── res_partner.py # Extensión de contactos ├── controllers/ │ └── webhook.py # Endpoint para webhooks ├── wizards/ │ ├── send_whatsapp.py # Wizard envío individual │ └── mass_whatsapp.py # Wizard envío masivo ├── views/ │ ├── whatsapp_menu.xml │ ├── whatsapp_account_views.xml │ ├── whatsapp_conversation_views.xml │ ├── res_partner_views.xml │ └── send_whatsapp_wizard.xml ├── security/ │ └── ir.model.access.csv # Permisos de acceso ├── data/ │ └── whatsapp_data.xml # Datos iniciales └── static/src/ ├── css/whatsapp.css # Estilos WhatsApp ├── js/chat_widget.js # Widget OWL └── xml/chat_widget.xml # Template OWL ``` ## Permisos | Modelo | Usuario Normal | Administrador | |--------|----------------|---------------| | whatsapp.account | Solo lectura | CRUD completo | | whatsapp.conversation | Leer, Crear, Escribir | CRUD completo | | whatsapp.message | Leer, Crear, Escribir | CRUD completo | ## Solución de Problemas ### El módulo no aparece en la lista 1. Verificar que la carpeta esté en `addons_path` 2. Reiniciar Odoo con `-u all` o `--update=all` 3. Verificar logs: `tail -f /var/log/odoo/odoo.log` ### Error de conexión a la API 1. Verificar que WhatsApp Centralizado esté corriendo 2. Probar conexión: `curl http://192.168.10.221:8000/health` 3. Verificar firewall permite conexión desde Odoo ### Webhooks no funcionan 1. Verificar que Odoo sea accesible desde WhatsApp Central 2. Probar endpoint: `curl https://tu-odoo.com/whatsapp/webhook/test` 3. Revisar logs de Odoo para errores ### Mensajes no se envían 1. Verificar API Key válido 2. Verificar ID Externo correcto 3. Verificar cuenta conectada en WhatsApp Central 4. Revisar logs del servicio integrations ## Actualizaciones Para actualizar el módulo: ```bash # Copiar nueva versión cp -r /nueva/version/odoo_whatsapp_hub /ruta/a/odoo/addons/ # Reiniciar y actualizar ./odoo-bin -c /etc/odoo/odoo.conf -u odoo_whatsapp_hub ``` O desde la interfaz: 1. Ir a **Aplicaciones** 2. Buscar "WhatsApp Hub" 3. Menú ⋮ > **Actualizar** ## Soporte Para problemas o consultas: - Repositorio: https://git.consultoria-as.com/consultoria-as/WhatsAppCentralizado - Issues: Crear issue en el repositorio