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/cancel quando 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.