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