- 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>
6.8 KiB
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:
# 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:
# /etc/odoo/odoo.conf
[options]
addons_path = /usr/lib/python3/dist-packages/odoo/addons,/mnt/extra-addons
Paso 3: Reiniciar Odoo
# Systemd
sudo systemctl restart odoo
# Docker
docker-compose restart odoo
# Manual
./odoo-bin -c /etc/odoo/odoo.conf
Paso 4: Actualizar Lista de Aplicaciones
- Ir a Aplicaciones
- Hacer clic en Actualizar lista de aplicaciones
- Confirmar la actualización
Paso 5: Instalar el Módulo
- En Aplicaciones, quitar el filtro "Apps"
- Buscar "WhatsApp Hub"
- Hacer clic en Instalar
Método 2: Instalación via Git (Odoo.sh o desarrollo)
# 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
- Ir a WhatsApp > Configuración > Cuentas WhatsApp
- Editar la cuenta "WhatsApp Principal" o crear una nueva
- 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:
# 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:
- Ir a WhatsApp Centralizado > Cuentas
- Copiar el ID de la cuenta conectada
- 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
- Ir a WhatsApp > Conversaciones
- Vista Kanban agrupada por estado
- Filtros: No leídos, Activas, Mis conversaciones
Enviar WhatsApp desde Contacto
- Abrir un contacto en Contactos
- Hacer clic en Enviar WhatsApp (botón verde)
- Escribir mensaje y enviar
Envío Masivo
- Seleccionar múltiples contactos en la lista
- Acción > Enviar WhatsApp
- Escribir mensaje con variables opcionales (
{{name}},{{email}}) - 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
- Verificar que la carpeta esté en
addons_path - Reiniciar Odoo con
-u allo--update=all - Verificar logs:
tail -f /var/log/odoo/odoo.log
Error de conexión a la API
- Verificar que WhatsApp Centralizado esté corriendo
- Probar conexión:
curl http://192.168.10.221:8000/health - Verificar firewall permite conexión desde Odoo
Webhooks no funcionan
- Verificar que Odoo sea accesible desde WhatsApp Central
- Probar endpoint:
curl https://tu-odoo.com/whatsapp/webhook/test - Revisar logs de Odoo para errores
Mensajes no se envían
- Verificar API Key válido
- Verificar ID Externo correcto
- Verificar cuenta conectada en WhatsApp Central
- Revisar logs del servicio integrations
Actualizaciones
Para actualizar el módulo:
# 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:
- Ir a Aplicaciones
- Buscar "WhatsApp Hub"
- Menú ⋮ > Actualizar
Soporte
Para problemas o consultas:
- Repositorio: https://git.consultoria-as.com/consultoria-as/WhatsAppCentralizado
- Issues: Crear issue en el repositorio