- 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>
246 lines
6.8 KiB
Markdown
246 lines
6.8 KiB
Markdown
# 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
|