Saltar al contenido principal

Configuración de GoHighLevel

Esta guía resume los pasos para habilitar la integración con GoHighLevel en producción.

1. Credenciales Necesarias

  1. Inicia sesión en GHL → Settings → API Keys
  2. Genera una API Key con permisos sobre Contacts, Opportunities y Tags
  3. Copia el Location ID desde Settings → Business Profile
  4. Genera un secreto para webhooks (python -c "import secrets; print(secrets.token_urlsafe(32))")
  5. Añade al .env del 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

  1. Asegúrate de ejecutar alembic upgrade head para aplicar las tablas relacionadas (ghl_sync_log)
  2. Reinicia el backend para cargar variables

3. Configurar Webhooks de GHL

  1. 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
  2. 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_log y 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/baja y emp/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

Más Información