Вебхуки

Получайте уведомления в режиме реального времени о событиях в вашей учетной записи LicenseChain. Автоматизируйте рабочие процессы и синхронизируйте свое приложение.

LicenseChain использует отдельные каналы подписи для Основные веб-перехватчики API, Платные вебхуки для продавцов, и зеркальное перенаправление HMAC (см. Зеркальный SDK).

Зачем использовать вебхуки?

Преимущества вебхука

Обновления в реальном времени

  • Мгновенные уведомления о происходящих событиях
  • Нет необходимости повторно опрашивать наш API
  • Сокращение использования API и затрат.
  • Улучшение пользовательского опыта благодаря немедленным обновлениям

Автоматизация

  • Запускайте специальные действия в вашем приложении
  • Синхронизация данных в разных системах
  • Автоматизируйте общение с клиентами (например, напоминания об истечении срока действия)
  • Интеграция со сторонними сервисами

Доступные события

Лицензионные события

  • `license.created` — создается новая лицензия.
  • `license.updated` — свойства лицензии изменяются.
  • `license.expired` — срок действия лицензии истек.
  • `license.revoked` — лицензия отозвана вручную.
  • `license.deleted` — лицензия удалена навсегда.
  • `license.transferred` — лицензия перемещается к другому пользователю/приложению.

Платежные события

  • `pay.succeeded` — платеж успешно обработан.
  • `pay.failed` — попытка оплаты не удалась.
  • `subscription.created` — запускается новая подписка.
  • `subscription.updated` — детали подписки изменяются.
  • `subscription.canceled` — подписка отменена (платный вебхук; отмена через POST /v1/subscriptions/:id/cancel когда маршрут API развернут)
  • `invoice.paid` — счет помечен как оплаченный.

Этапы реализации

1. Настройте конечную точку вебхука.

Настройте URL-адрес на панели управления LicenseChain или через API, куда будут отправляться события.

// 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. Внедрить обработчик веб-перехватчика

Создайте конечную точку в своем приложении для обработки входящих событий веб-перехватчика.

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

3. Проверьте подпись вебхука

Всегда проверяйте подписи веб-перехватчиков, чтобы убедиться, что запрос поступил от LicenseChain.

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

Лучшие практики

  • Асинхронная обработка - Немедленно реагируйте на веб-перехватчики (в течение 3 секунд) и обрабатывайте события асинхронно в фоновом задании.
  • Идемпотентность - Создавайте обработчики событий идемпотентными для безопасной обработки повторяющихся событий.
  • Обработка ошибок и повторные попытки - Внедрите надежную обработку ошибок и используйте механизм автоматической повторной попытки LicenseChain в случае неудачных доставок.
  • Безопасность - Всегда проверяйте подписи веб-перехватчиков, чтобы предотвратить спуфинг-атаки. Используйте HTTPS для своей конечной точки.
  • Мониторинг - Отслеживайте конечную точку веб-перехватчика на наличие ошибок и сбоев доставки.