Webhooks
Receba notificações em tempo real sobre eventos em sua conta LicenseChain. Automatize fluxos de trabalho e mantenha seu aplicativo sincronizado.
LicenseChain usa canais de assinatura separados para Webhooks da API principal, Pague webhooks de comerciante, e HMAC de redirecionamento de espelho (consulte Espelho SDK).
Por que usar webhooks?
Benefícios do webhook
Atualizações em tempo real
- Notificações instantâneas quando eventos ocorrem
- Não há necessidade de pesquisar nossa API repetidamente
- Uso e custos reduzidos de API
- Melhor experiência do usuário com atualizações imediatas
Automação
- Acione ações personalizadas em seu aplicativo
- Sincronize dados em diferentes sistemas
- Automatize a comunicação com o cliente (por exemplo, lembretes de vencimento)
- Integrar com serviços de terceiros
Eventos disponíveis
Eventos de licença
- `license.created` - Uma nova licença é gerada
- `license.updated` - As propriedades de uma licença são alteradas
- `license.expired` - Uma licença atingiu sua data de expiração
- `license.revoked` - Uma licença é revogada manualmente
- `license.deleted` - Uma licença é removida permanentemente
- `license.transferred` - Uma licença é movida para outro usuário/aplicativo
Eventos de pagamento
- `payment.succeeded` - Um pagamento foi processado com sucesso
- `payment.failed` - Uma tentativa de pagamento falhou
- `subscription.created` - Uma nova assinatura é iniciada
- `subscription.updated` - Os detalhes de uma assinatura são alterados
- `subscription.canceled` - Uma assinatura foi cancelada (webhook de pagamento; cancelar via
POST /v1/subscriptions/:id/cancelquando a rota da API é implantada) - `invoice.paid` - Uma fatura é marcada como paga
Etapas de implementação
1. Configurar o ponto final do webhook
Configure uma URL no painel do LicenseChain ou por meio da API para onde os eventos serão enviados.
// 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. Implementar manipulador de webhook
Crie um endpoint em seu aplicativo para lidar com eventos de webhook recebidos.
// Express.js example // Handle webhook endpoint // Get signature from headers // Verify webhook signature // Process different event types // Return success response
3. Verifique a assinatura do Webhook
Sempre verifique as assinaturas do webhook para garantir que a solicitação veio do LicenseChain.
// Import crypto module // Create webhook signature verification function // Generate expected signature using HMAC // Compare signatures securely // Return verification result
Melhores Práticas
- Processamento Assíncrono - Responda aos webhooks imediatamente (dentro de 3 segundos) e processe eventos de forma assíncrona em um trabalho em segundo plano.
- Idempotência - Projete seus manipuladores de eventos para serem idempotentes para processar eventos duplicados com segurança.
- Tratamento de erros e novas tentativas - Implemente um tratamento robusto de erros e aproveite o mecanismo de nova tentativa automática do LicenseChain para entregas com falha.
- Segurança - Sempre verifique as assinaturas do webhook para evitar ataques de falsificação. Use HTTPS para seu terminal.
- Monitoramento - Monitore seu endpoint de webhook em busca de erros e falhas de entrega.