Webhooks

Erhalten Sie Echtzeitbenachrichtigungen über Ereignisse in Ihrem LicenseChain-Konto. Automatisieren Sie Arbeitsabläufe und halten Sie Ihre Anwendung synchron.

LicenseChain verwendet separate Signaturkanäle für Kern-API-Webhooks, Bezahlen Sie Händler-Webhooks, und Mirror Redirect HMAC (siehe Spiegel-SDK).

Warum Webhooks verwenden?

Vorteile von Webhooks

Echtzeit-Updates

  • Sofortige Benachrichtigungen, wenn Ereignisse auftreten
  • Es ist nicht erforderlich, unsere API wiederholt abzufragen
  • Reduzierte API-Nutzung und Kosten
  • Bessere Benutzererfahrung durch sofortige Updates

Automatisierung

  • Lösen Sie benutzerdefinierte Aktionen in Ihrer Anwendung aus
  • Synchronisieren Sie Daten über verschiedene Systeme hinweg
  • Automatisieren Sie die Kundenkommunikation (z. B. Ablauferinnerungen)
  • Integrieren Sie Dienste von Drittanbietern

Verfügbare Veranstaltungen

Lizenzveranstaltungen

  • „license.created“ – Eine neue Lizenz wird generiert
  • „license.updated“ – Die Eigenschaften einer Lizenz werden geändert
  • „license.expired“ – Eine Lizenz hat ihr Ablaufdatum erreicht
  • „license.revoked“ – Eine Lizenz wird manuell widerrufen
  • „license.deleted“ – Eine Lizenz wird dauerhaft entfernt
  • „license.transferred“ – Eine Lizenz wird auf einen anderen Benutzer/eine andere App verschoben

Zahlungsereignisse

  • „ payment.succeeded“ – Eine Zahlung wurde erfolgreich verarbeitet
  • „zahlung.failed“ – Ein Zahlungsversuch ist fehlgeschlagen
  • „subscription.created“ – Ein neues Abonnement wird gestartet
  • „subscription.updated“ – Die Details eines Abonnements werden geändert
  • „subscription.canceled“ – Ein Abonnement wird gekündigt (Webhook bezahlen; kündigen über POST /v1/subscriptions/:id/cancel wenn die API-Route bereitgestellt wird)
  • „invoice.paid“ – Eine Rechnung wird als bezahlt markiert

Implementierungsschritte

1. Webhook-Endpunkt konfigurieren

Richten Sie in Ihrem LicenseChain-Dashboard oder über die API eine URL ein, an die Ereignisse gesendet werden.

// 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. Implementieren Sie den Webhook-Handler

Erstellen Sie in Ihrer Anwendung einen Endpunkt, um eingehende Webhook-Ereignisse zu verarbeiten.

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

3. Überprüfen Sie die Webhook-Signatur

Überprüfen Sie stets die Webhook-Signaturen, um sicherzustellen, dass die Anfrage von LicenseChain stammt.

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

Best Practices

  • Asynchrone Verarbeitung - Reagieren Sie sofort (innerhalb von 3 Sekunden) auf Webhooks und verarbeiten Sie Ereignisse asynchron in einem Hintergrundjob.
  • Idempotenz - Entwerfen Sie Ihre Event-Handler so, dass sie idempotent sind, um doppelte Ereignisse sicher zu verarbeiten.
  • Fehlerbehandlung und Wiederholungsversuche - Implementieren Sie eine robuste Fehlerbehandlung und nutzen Sie den automatischen Wiederholungsmechanismus von LicenseChain für fehlgeschlagene Lieferungen.
  • Sicherheit - Überprüfen Sie stets Webhook-Signaturen, um Spoofing-Angriffe zu verhindern. Verwenden Sie HTTPS für Ihren Endpunkt.
  • Überwachung - Überwachen Sie Ihren Webhook-Endpunkt auf Fehler und Zustellungsfehler.