Configuración de GoHighLevel
Esta guía resume los pasos para habilitar la integración con GoHighLevel en producción.
1. Credenciales Necesarias
- Inicia sesión en GHL → Settings → API Keys
- Genera una API Key con permisos sobre Contacts, Opportunities y Tags
- Copia el
Location IDdesde Settings → Business Profile - Genera un secreto para webhooks (
python -c "import secrets; print(secrets.token_urlsafe(32))") - Añade al
.envdel backend:
GHL_API_KEY=...
GHL_API_URL=https://services.leadconnectorhq.com
GHL_LOCATION_ID=...
GHL_WEBHOOK_SECRET=...
Nota importante:
- Para Private Integrations (recomendado), usa
https://services.leadconnectorhq.com - Para instancias personalizadas:
https://services.[tu-dominio](ej:https://services.suitesapiens.com) - El token se usa con formato
Bearer <TOKEN>en el header Authorization
2. Migraciones y Despliegue
- Asegúrate de ejecutar
alembic upgrade headpara aplicar las tablas relacionadas (ghl_sync_log) - Reinicia el backend para cargar variables
3. Configurar Webhooks de GHL
- En Settings → Integrations → Webhooks, crea un webhook con:
- URL:
https://api.tu-dominio.com/api/webhooks/ghl - Secret: el mismo
GHL_WEBHOOK_SECRET - Eventos recomendados:
Contact Create,Contact Update,Contact Tag Update,Opportunity Create,Opportunity Update
- URL:
- Guarda y prueba el webhook
4. Pruebas Funcionales
- Registrar un usuario y verificar que se crea un contacto en GHL
- Publicar un proyecto y confirmar que se genera la oportunidad
- Verificar un experto y confirmar que se actualizan las etiquetas en GHL (
exp/verificado) - Cambiar el nivel de un experto y verificar sincronización (
exp/nivel-*) - Revisar la tabla
ghl_sync_logy los logs del backend si hay fallos
Endpoints de Diagnóstico
Una vez configurado, puedes usar los endpoints de diagnóstico:
# Diagnóstico completo de un usuario
GET /api/admin/users/{user_id}/ghl-diagnosis
# Sincronización manual si hay discrepancias
POST /api/admin/users/{user_id}/ghl-sync-tags
5. Checklist Rápido
- Variables
GHL_*definidas en el backend - Migraciones aplicadas
- Webhook configurado y activo
- Sincronizaciones verificadas (contacto + oportunidad)
- Verificación de experto sincroniza correctamente
- Cambio de nivel de experto sincroniza correctamente
- Actualización de perfil sincroniza campos básicos y personalizados
- Logs (
ghl_sync_log) sin errores pendientes - Endpoints de diagnóstico funcionando correctamente
6. Funcionalidades de Sincronización
La integración sincroniza automáticamente:
- Registro de usuarios → Crea contacto en GHL con etiquetas iniciales
- Verificación de expertos → Actualiza etiquetas (
exp/verificado,exp/solicitud) - Cambio de nivel de experto → Actualiza etiquetas de nivel (
exp/nivel-*) - Activación/desactivación → Actualiza etiquetas de estado (
emp/inactivo,exp/inactivo) - Pre-evaluación → Añade/remueve
exp/pre-evaluación - Recontacto → Añade
emp/recontacto - Baja → Añade
emp/bajayemp/baja-confirmada - Publicación de proyecto → Crea oportunidad en GHL
- Asignación de experto → Actualiza oportunidad y etiquetas
- Completado de proyecto → Actualiza oportunidad y etiquetas