网络钩子
接收有关您的 LicenseChain 帐户中的事件的实时通知。自动化工作流程并使您的应用程序保持同步。
LicenseChain 使用单独的签名通道 核心 API 网络钩子, 支付商家 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` - 订阅被取消(支付 webhook;通过取消
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签名
始终验证 Webhook 签名以确保请求来自 LicenseChain。
// 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 端点是否有错误和传送失败。