Webhooks

Recevez des notifications en temps réel sur les événements de votre compte LicenseChain. Automatisez les flux de travail et gardez votre application synchronisée.

LicenseChain utilise des canaux de signature distincts pour Webhooks de l'API principale, Payer les webhooks du marchand, et la redirection miroir HMAC (voir SDK miroir).

Pourquoi utiliser des webhooks ?

Avantages du webhook

Mises à jour en temps réel

  • Notifications instantanées lorsque des événements se produisent
  • Pas besoin d'interroger notre API à plusieurs reprises
  • Utilisation et coûts réduits des API
  • Meilleure expérience utilisateur avec des mises à jour immédiates

Automation

  • Déclenchez des actions personnalisées dans votre application
  • Synchronisez les données sur différents systèmes
  • Automatisez la communication avec les clients (par exemple, les rappels d'expiration)
  • Intégrer des services tiers

Événements disponibles

Événements de licence

  • `license.created` - Une nouvelle licence est générée
  • `license.updated` - Les propriétés d'une licence sont modifiées
  • `license.expired` - Une licence a atteint sa date d'expiration
  • `license.revoked` - Une licence est révoquée manuellement
  • `license.deleted` - Une licence est définitivement supprimée
  • `license.transferred` - Une licence est déplacée vers un autre utilisateur/application

Événements de paiement

  • `payment.succeeded` - Un paiement est traité avec succès
  • `payment.failed` - Une tentative de paiement a échoué
  • `subscription.created` - Un nouvel abonnement est démarré
  • `subscription.updated` - Les détails d'un abonnement sont modifiés
  • `subscription.canceled` - Un abonnement est annulé (payer le webhook ; annuler via POST /v1/subscriptions/:id/cancel lorsque la route API est déployée)
  • `invoice.paid` - Une facture est marquée comme payée

Étapes de mise en œuvre

1. Configurer le point de terminaison du Webhook

Configurez une URL dans votre tableau de bord LicenseChain ou via l'API où les événements seront envoyés.

// 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. Implémenter le gestionnaire de Webhook

Créez un point de terminaison dans votre application pour gérer les événements de webhook entrants.

// Express.js example
// Handle webhook endpoint
// Get signature from headers
// Verify webhook signature
// Process different event types
// Return success response

3. Vérifiez la signature du webhook

Vérifiez toujours les signatures des webhooks pour vous assurer que la demande provient de LicenseChain.

// Import crypto module
// Create webhook signature verification function
// Generate expected signature using HMAC
// Compare signatures securely
// Return verification result

Meilleures pratiques

  • Traitement asynchrone - Répondez immédiatement aux webhooks (dans les 3 secondes) et traitez les événements de manière asynchrone dans une tâche en arrière-plan.
  • Idempotence - Concevez vos gestionnaires d'événements pour qu'ils soient idempotents afin de traiter en toute sécurité les événements en double.
  • Gestion des erreurs et tentatives - Implémentez une gestion robuste des erreurs et exploitez le mécanisme de nouvelle tentative automatique de LicenseChain en cas d'échec des livraisons.
  • Sécurité - Vérifiez toujours les signatures des webhooks pour éviter les attaques d'usurpation d'identité. Utilisez HTTPS pour votre point de terminaison.
  • Surveillance - Surveillez le point de terminaison de votre webhook pour détecter les erreurs et les échecs de livraison.