tunnel-setup-guide.md•2.71 kB
# 🌐 Guía de Configuración de Túnel para Webhooks
## ✅ Estado del Servidor
El servidor webhook está **FUNCIONANDO CORRECTAMENTE** en `http://localhost:3000/api/webhook`
## 🔧 Opciones de Túnel Disponibles
### 1. 🚀 Ngrok (Recomendado)
```bash
# Instalar ngrok globalmente
npm install -g ngrok
# Crear cuenta gratuita en https://ngrok.com
# Obtener authtoken desde el dashboard
ngrok config add-authtoken TU_AUTHTOKEN_AQUI
# Exponer puerto 3000
ngrok http 3000
```
**URL resultante:** `https://abc123.ngrok.io/api/webhook`
### 2. 🌍 LocalTunnel
```bash
# Ya instalado en el proyecto
lt --port 3000
```
**URL resultante:** `https://random-name.loca.lt/api/webhook`
### 3. 🔗 Serveo (SSH)
```bash
# Usando SSH (requiere cliente SSH)
ssh -R 80:localhost:3000 serveo.net
```
**URL resultante:** `https://random.serveo.net/api/webhook`
### 4. 🆓 Cloudflare Tunnel
```bash
# Instalar cloudflared
# Descargar desde: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation/
# Crear túnel
cloudflared tunnel --url http://localhost:3000
```
## 📋 Configuración en Evolution API
Una vez que tengas tu URL pública, configúrala en Evolution API:
```bash
# Ejemplo con ngrok
curl -X POST "http://tu-evolution-api.com/webhook/set" \
-H "Content-Type: application/json" \
-H "apikey: TU_API_KEY" \
-d '{
"url": "https://abc123.ngrok.io/api/webhook",
"events": ["messages.upsert"],
"webhook_by_events": false
}'
```
## 🧪 Pruebas Realizadas
✅ **Webhook básico**: Recibe y procesa eventos `messages.upsert`
✅ **Comandos**: Detecta y procesa comandos como `/status`, `/help`
✅ **Auto-respuestas**: Responde automáticamente a saludos
✅ **Logging**: Registra todas las solicitudes entrantes
✅ **Validación**: Valida formato JSON y campos requeridos
✅ **Rendimiento**: Responde en ~4ms promedio
## 📊 Endpoints Disponibles
- `POST /api/webhook` - Recibir webhooks generales
- `POST /api/webhook/:instanceName` - Recibir webhooks por instancia
- `GET /api/webhook/stats` - Estadísticas de webhooks
- `GET /api/webhook/config/:instanceName` - Configuración por instancia
## 🔍 Monitoreo
El servidor imprime todas las solicitudes entrantes con:
- Headers completos
- Body del webhook
- Procesamiento de mensajes
- Respuestas automáticas
- Errores y debugging
## 🚀 Próximos Pasos
1. Elegir una herramienta de túnel
2. Exponer el puerto 3000
3. Configurar la URL en Evolution API
4. Monitorear los logs del servidor
5. ¡Disfrutar de los webhooks funcionando!
---
**Nota**: El servidor está optimizado para producción y maneja múltiples instancias, validación robusta y logging detallado.