Webhook

Ricevi notifiche in tempo reale sugli eventi nel tuo account LicenseChain. Automatizza i flussi di lavoro e mantieni sincronizzata la tua applicazione.

LicenseChain utilizza canali di firma separati per Webhook API principali, Paga i webhook del commerciante, e Mirror reindirizzamento HMAC (vedi SDK mirror).

Perché utilizzare i webhook?

Vantaggi del webhook

Aggiornamenti in tempo reale

  • Notifiche istantanee quando si verificano eventi
  • Non è necessario interrogare ripetutamente la nostra API
  • Utilizzo e costi API ridotti
  • Migliore esperienza utente con aggiornamenti immediati

Automazione

  • Attiva azioni personalizzate nella tua applicazione
  • Sincronizza i dati su diversi sistemi
  • Automatizzare la comunicazione con i clienti (ad esempio, promemoria di scadenza)
  • Integrazione con servizi di terze parti

Eventi disponibili

Eventi di licenza

  • `license.created`: viene generata una nuova licenza
  • `license.updated`: le proprietà di una licenza vengono modificate
  • `license.expired` - Una licenza ha raggiunto la data di scadenza
  • `license.revoked`: una licenza viene revocata manualmente
  • `license.deleted`: una licenza viene rimossa in modo permanente
  • `license.transferred`: una licenza viene spostata su un altro utente/app

Eventi di pagamento

  • `payment.succeeded` - Un pagamento è stato elaborato con successo
  • `payment.failed` - Un tentativo di pagamento non è riuscito
  • `subscription.created` - Viene avviata una nuova sottoscrizione
  • `subscription.updated` - I dettagli di un abbonamento vengono modificati
  • `subscription.canceled`: un abbonamento viene annullato (webhook a pagamento; annulla tramite POST /v1/subscriptions/:id/cancel quando viene distribuita la route API)
  • "invoice.paid" - Una fattura è contrassegnata come pagata

Fasi di implementazione

1. Configurare l'endpoint webhook

Imposta un URL nella dashboard di LicenseChain o tramite l'API a cui verranno inviati gli eventi.

// 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. Implementare il gestore webhook

Crea un endpoint nella tua applicazione per gestire gli eventi webhook in entrata.

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

3. Verifica la firma del webhook

Verifica sempre le firme dei webhook per assicurarti che la richiesta provenga da LicenseChain.

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

Migliori pratiche

  • Elaborazione asincrona - Rispondi immediatamente ai webhook (entro 3 secondi) ed elabora gli eventi in modo asincrono in un processo in background.
  • Idempotenza - Progetta i tuoi gestori eventi in modo che siano idempotenti per elaborare in modo sicuro eventi duplicati.
  • Gestione degli errori e tentativi - Implementa una solida gestione degli errori e sfrutta il meccanismo di riprovazione automatica di LicenseChain per le consegne non riuscite.
  • Sicurezza - Verifica sempre le firme dei webhook per prevenire attacchi di spoofing. Utilizza HTTPS per il tuo endpoint.
  • Monitoraggio - Monitora l'endpoint webhook per errori ed errori di consegna.