Webhook

LicenseChain アカウントのイベントに関するリアルタイムの通知を受け取ります。ワークフローを自動化し、アプリケーションの同期を維持します。

LicenseChain は、次の目的のために別の署名チャネルを使用します。 コア API Webhook, 有料販売者の Webhook、 およびミラー リダイレクト HMAC (「 ミラーSDK).

Webhook を使用する理由

Webhook の利点

リアルタイム更新

  • イベント発生時の即時通知
  • APIを繰り返しポーリングする必要はありません
  • API の使用量とコストの削減
  • 即時アップデートによるユーザーエクスペリエンスの向上

オートメーション

  • アプリケーションでカスタム アクションをトリガーする
  • 異なるシステム間でデータを同期する
  • 顧客とのコミュニケーションを自動化する (有効期限のリマインダーなど)
  • サードパーティサービスとの統合

利用可能なイベント

ライセンスイベント

  • `license.created` - 新しいライセンスが生成されます
  • `license.updated` - ライセンスのプロパティが変更されます
  • `license.expired` - ライセンスは有効期限に達しました
  • `license.revoked` - ライセンスは手動で取り消されます
  • `license.deleted` - ライセンスは完全に削除されます
  • `license.transferred` - ライセンスは別のユーザー/アプリに移動されます

支払いイベント

  • `payment.succeeded` - 支払いは正常に処理されました
  • `payment.failed` - 支払いの試みが失敗しました
  • `subscription.created` - 新しいサブスクリプションが開始されます
  • `subscription.updated` - サブスクリプションの詳細が変更されます
  • `subscription.canceled` - サブスクリプションはキャンセルされます (Web フックを支払う、経由でキャンセルします) POST /v1/subscriptions/:id/cancel APIルートがデプロイされている場合)
  • `invoice.paid` - 請求書は支払い済みとしてマークされます

実装手順

1. Webhook エンドポイントの構成

LicenseChain ダッシュボードで、またはイベントが送信される API 経由で URL を設定します。

// 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.Webhookハンドラーの実装

受信 Webhook イベントを処理するためにアプリケーション内にエンドポイントを作成します。

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

3. Webhook 署名の検証

リクエストが LicenseChain からのものであることを確認するために、Webhook 署名を常に検証してください。

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

ベストプラクティス

  • 非同期処理 - Webhook に即座に (3 秒以内に) 応答し、バックグラウンド ジョブでイベントを非同期に処理します。
  • べき等性 - 重複したイベントを安全に処理できるように、イベント ハンドラーをべき等になるように設計します。
  • エラー処理と再試行 - 堅牢なエラー処理を実装し、失敗した配信に対して LicenseChain の自動再試行メカニズムを活用します。
  • 安全 - スプーフィング攻撃を防ぐために、Webhook 署名を常に検証してください。エンドポイントには HTTPS を使用します。
  • 監視 - Webhook エンドポイントのエラーや配信失敗を監視します。