Integración n8n
Integración con n8n para automatización de workflows mediante webhooks personalizados por usuario.
Características
- ✅ Webhooks externos por usuario - Cada cuenta puede configurar su propia URL
- ✅ Autenticación JWT opcional - Compatible con n8n HTTP Trigger usando JWT Auth
- ✅ Sin autenticación - Opción para webhooks sin autenticación
- ✅ Configuración desde UI - Interfaz en
/configuracion - ✅ Botón de prueba integrado - Probar webhook directamente desde el dashboard
- ✅ Gestión de secretos - Obtener y regenerar secretos JWT
- ✅ Estado de envío - Ver último estado y error si existe
Configuración en Floutic
1. Acceder a Configuración
- Iniciar sesión en Floutic
- Ir a
/configuracion - Buscar sección "Webhooks Externos"
2. Configurar Webhook
- URL del webhook: Debe ser HTTPS (requerido)
- Ejemplo:
https://tu-n8n-instance.com/webhook/floutic
- Ejemplo:
- Habilitar/Deshabilitar: Toggle para activar o desactivar
- Método de autenticación:
- JWT (recomendado): Usa autenticación JWT con secreto
- None: Sin autenticación (menos seguro)
3. Obtener Secreto JWT
Si eliges autenticación JWT:
- Hacer clic en "Obtener Secreto"
- Copiar el secreto (se muestra solo una vez)
- Guardarlo de forma segura
4. Regenerar Secreto
Si necesitas regenerar el secreto:
- Hacer clic en "Regenerar Secreto"
- Se generará un nuevo secreto
- Actualizar la configuración en n8n con el nuevo secreto
5. Probar Webhook
- Hacer clic en "Probar Webhook"
- Se enviará un evento de prueba
- Verificar en n8n que el webhook se recibió correctamente
Configuración en n8n
1. Crear Workflow
- Crear un nuevo workflow en n8n
- Añadir nodo "HTTP Trigger"
- Configurar el nodo:
2. Configuración del HTTP Trigger
Configuración básica:
- Path:
/webhook/floutic(o el path que prefieras) - Response Mode:
Last NodeoWhen Last Node Finishes
Autenticación (si usas JWT):
- Authentication:
Generic Credential Type - Credential Type:
Header Auth - Name:
Authorization - Value:
Bearer {secreto}(donde{secreto}es el secreto JWT de Floutic)
O usando JWT Auth (método recomendado):
- Authentication:
JWT - Key Type:
Secret - Algorithm:
HS256 - Secret: (el secreto JWT de Floutic)
3. Procesar el Webhook
El webhook recibirá un JSON con la siguiente estructura:
{
"type": "notification_type",
"timestamp": "2025-01-21T10:00:00Z",
"data": {
// Datos específicos según el tipo de notificación
}
}
4. Conectar con Otros Nodos
Después del HTTP Trigger, puedes:
- Filtrar por tipo de notificación
- Procesar los datos
- Enviar a otros servicios (email, Slack, etc.)
- Guardar en base de datos
- Etc.
Tipos de Eventos
Los webhooks envían los mismos eventos que las notificaciones del dashboard:
Eventos de Proyecto
project_created- Proyecto creadoproject_updated- Proyecto actualizadoproject_status_changed- Estado de proyecto cambiadoproject_expert_selected- Experto seleccionadoproject_milestone_completed- Hito completadoproject_milestone_approved- Hito aprobadoproject_milestone_rejected- Hito rechazadoproject_completed- Proyecto completado
Eventos de Aplicación
application_received- Aplicación recibidaapplication_accepted- Aplicación aceptadaapplication_rejected- Aplicación rechazada
Eventos de Chat
chat_message_received- Mensaje recibidochat_file_uploaded- Archivo subido
Eventos de Pago
payment_initiated- Pago iniciadopayment_held- Pago en depósitopayment_released- Pago liberadopayment_refunded- Pago reembolsado
Eventos de Disputa
dispute_created- Disputa creadadispute_resolved- Disputa resuelta
Eventos de Usuario
user_registered- Usuario registradoprofile_verified- Perfil verificadoprofile_updated- Perfil actualizado
Ejemplo de Payload
{
"type": "project_expert_selected",
"timestamp": "2025-01-21T10:00:00Z",
"data": {
"project_id": 123,
"project_title": "Automatizar Gestión de Pedidos",
"expert_id": 45,
"expert_name": "Carlos Méndez",
"company_id": 12,
"company_name": "TiendaOnline.es",
"budget": 800.00,
"currency": "EUR"
}
}
Endpoints de API
GET /api/users/me/webhook- Obtener configuración de webhookPUT /api/users/me/webhook- Configurar webhookGET /api/users/me/webhook/secret- Obtener secreto JWT actualPOST /api/users/me/webhook/secret- Regenerar secreto JWTPOST /api/notifications/webhook/test- Disparar evento de prueba
Seguridad
Autenticación JWT
- Algoritmo: HS256
- Secreto: Generado automáticamente por Floutic
- Header:
Authorization: Bearer {secreto} - Validación: El secreto se valida en cada request
HTTPS Obligatorio
- Todas las URLs de webhook deben ser HTTPS
- Las URLs HTTP son rechazadas automáticamente
Rate Limiting
- Los webhooks respetan el rate limiting de la API
- Si hay demasiados requests, se puede aplicar rate limiting
Troubleshooting
El webhook no se recibe
- Verificar que la URL sea HTTPS
- Verificar que el webhook esté habilitado
- Verificar la configuración en n8n
- Usar el botón "Probar Webhook" para verificar
Error de autenticación
- Verificar que el secreto JWT sea correcto
- Verificar que el algoritmo sea HS256
- Verificar que el header sea
Authorization: Bearer {secreto} - Regenerar el secreto si es necesario
El webhook se recibe pero no procesa
- Verificar la estructura del JSON recibido
- Verificar que el workflow en n8n esté activo
- Revisar los logs de n8n
- Verificar que el nodo HTTP Trigger esté configurado correctamente
El webhook se recibe con retraso
- Verificar la conectividad de red
- Verificar que n8n esté ejecutándose
- Revisar los logs de Floutic para ver si hay errores
- Verificar el estado del webhook en
/configuracion
Mejores Prácticas
- Usar autenticación JWT - Más seguro que sin autenticación
- Regenerar secretos periódicamente - Por seguridad
- Probar webhooks regularmente - Usar el botón de prueba
- Manejar errores - Configurar manejo de errores en n8n
- Logging - Registrar eventos importantes en n8n
- Validación - Validar los datos recibidos antes de procesarlos
Documentación Completa
Para más detalles sobre webhooks, consulta: