Webhooks
Reciba notificaciones en tiempo real sobre eventos en su cuenta LicenseChain. Automatice los flujos de trabajo y mantenga su aplicación sincronizada.
LicenseChain utiliza canales de firma separados para Webhooks de API principales, Pagar webhooks comerciales, y Redireccionamiento espejo HMAC (consulte SDK espejo).
¿Por qué utilizar webhooks?
Beneficios del webhook
Actualizaciones en tiempo real
- Notificaciones instantáneas cuando ocurren eventos
- No es necesario sondear nuestra API repetidamente
- Uso y costos de API reducidos
- Mejor experiencia de usuario con actualizaciones inmediatas
Automation
- Activa acciones personalizadas en tu aplicación
- Sincronizar datos entre diferentes sistemas
- Automatizar la comunicación con el cliente (por ejemplo, recordatorios de vencimiento)
- Integrar con servicios de terceros
Eventos disponibles
Eventos de licencia
- `license.created` - Se genera una nueva licencia
- `license.updated`: se cambian las propiedades de una licencia
- `license.expired`: una licencia ha llegado a su fecha de vencimiento
- `license.revoked`: una licencia se revoca manualmente
- `license.deleted`: una licencia se elimina permanentemente
- `license.transferred`: una licencia se mueve a otro usuario/aplicación
Eventos de pago
- `pago.succeeded` - Un pago se procesa exitosamente
- `pago.failed` - Un intento de pago falló
- `subscription.created`: se inicia una nueva suscripción
- `subscription.updated`: se cambian los detalles de una suscripción
- `subscription.canceled`: se cancela una suscripción (pagar webhook; cancelar mediante
POST /v1/subscriptions/:id/cancelcuando se implementa la ruta API) - `invoice.paid`: una factura se marca como pagada
Pasos de implementación
1. Configurar el punto final de Webhook
Configure una URL en su panel de LicenseChain o mediante la API donde se enviarán los eventos.
// Via Dashboard 1. Go to Settings > Webhooks 2. Click "Add Endpoint" 3. Enter your URL (e.g., https://your-app.com/webhooks/licensechain) 4. Select the events you want to receive (e.g., license.created, license.updated) 5. Save configuration // Via API // Create webhook with URL and events // Set webhook endpoint // Select events to receive
2. Implementar el controlador de webhook
Cree un punto final en su aplicación para manejar eventos de webhook entrantes.
// Express.js example // Handle webhook endpoint // Get signature from headers // Verify webhook signature // Process different event types // Return success response
3. Verificar la firma del webhook
Verifique siempre las firmas de los webhooks para asegurarse de que la solicitud provenga de LicenseChain.
// Import crypto module // Create webhook signature verification function // Generate expected signature using HMAC // Compare signatures securely // Return verification result
Mejores prácticas
- Asynchronous Processing - Responda a los webhooks inmediatamente (en 3 segundos) y procese eventos de forma asincrónica en un trabajo en segundo plano.
- Idempotency - Diseñe sus controladores de eventos para que sean idempotentes para procesar de forma segura eventos duplicados.
- Manejo de errores y reintentos - Implemente un manejo sólido de errores y aproveche el mecanismo de reintento automático de LicenseChain para entregas fallidas.
- Security - Verifique siempre las firmas de los webhooks para evitar ataques de suplantación de identidad. Utilice HTTPS para su punto final.
- Monitoring - Supervise el punto final de su webhook en busca de errores y fallas de entrega.