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/cancel cuando 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.