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/cancelwenn 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.