Waai Light
Instalación de Waai (chatbot inbound)
1. Arquitectura
WhatsApp del cliente
↓
Meta WhatsApp Cloud API
↓
Cloudflare
↓
Nginx
↓
Waai / FastAPI
↓
Claude API
↓
Odoo del cliente
Se recomienda usar Waai con Odoo en el mismo servidor:
Internet
↓
Cloudflare
↓
Nginx
├── Odoo
└── Waai
2. Servidor
Recomendado:
Ubuntu 22.04/24.04
2 vCPU
2–4 GB RAM
20 GB SSD+
Si tiene poca RAM, agregar:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Validar:
free -h
3. Usuario Waai
sudo adduser waai
sudo usermod -aG sudo waai
Entrar:
sudo -iu waai
4. Instalar lo necesario
sudo apt update
sudo apt install -y git python3 python3-venv nginx
Nada de Docker inicialmente.
5. Instalar Waai
sudo mkdir -p /opt/waai
sudo chown -R waai:waai /opt/waai
cd /opt/waai
git clone https://github.com/ramonjmz/waai-demo .
Crear entorno:
python3 -m venv .venv
source .venv/bin/activate
Instalar:
pip install -r requirements.txt
6. Configuración del cliente
Crear:
nano /opt/waai/.env
META_PHONE_NUMBER_ID=...
META_ACCESS_TOKEN=...
META_VERIFY_TOKEN=...
ANTHROPIC_API_KEY=...
ODOO_URL=https://odoo.cliente.com
ODOO_DB=...
ODOO_USERNAME=...
ODOO_PASSWORD=...
El .env nunca se sube a GitHub.
7. Dominio
Para cada instalación puedes utilizar un subdominio independiente:
waai.cliente.com
o, si tú administras el dominio:
cliente.sstdg.com
Por ejemplo:
waai-piesabot.sstdg.com
En Cloudflare:
A
waai-piesabot
IP_DEL_SERVIDOR
8. Cloudflare
Cloudflare solamente se encarga de:
DNS
HTTPS
Proxy
Flujo:
Meta
↓
https://waai-piesabot.sstdg.com
↓
Cloudflare
↓
Servidor
9. Nginx
Crear:
sudo nano /etc/nginx/sites-available/waai
server {
listen 80;
server_name waai-piesabot.sstdg.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Activar:
sudo ln -s /etc/nginx/sites-available/waai /etc/nginx/sites-enabled/waai
sudo nginx -t
sudo systemctl reload nginx
10. WhatsApp de Meta
En Meta configuramos el número del cliente.
Necesitamos:
Phone Number ID
Access Token
Verify Token
El webhook será:
https://waai-piesabot.sstdg.com/webhook
11. Webhook
Waai tendrá solamente:
GET /webhook
POST /webhook
GET
Meta lo utiliza para verificar:
Verify Token
POST
Recibe:
Mensaje de WhatsApp
y Waai procesa la solicitud.