Вебхуки
Получайте уведомления в режиме реального времени о событиях в вашей учетной записи 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 для своей конечной точки.
- Мониторинг - Отслеживайте конечную точку веб-перехватчика на наличие ошибок и сбоев доставки.