Webhook 与 Callback
Callback 和 webhook 在您的业务操作中具有不同的用途。| 机制 | 描述 | 触发条件 | 接收到消息后需要采取的操作 |
|---|---|---|---|
| Callback | 类似于 2FA 验证。您必须注册一个 Callback Endpoint才能批准并完成代币提币。 | 当您使用 WaaS API 发起提币或合约调用时触发。 | 检查交易是否符合预期,并以成功状态码(200 或 201)和响应体 ok 或 deny 响应,以指示交易批准或拒绝。 |
| Webhook | 用作事件的实时通知,例如交易状态更新。 | 当某些事件发生时触发,例如交易状态或 TSS 请求状态更改,基于您订阅的事件类型。 | 以成功状态码(200 或 201)响应。 |
处理 webhook 事件和Callback消息
按照以下步骤处理 WaaS 服务发送的 webhook 事件和Callback消息:- 创建一个 webhook 或Callback Endpoint。
- 选择服务器环境。
- 定义Endpoint URL。
- 在服务器端实现处理逻辑。
- 解析 API 请求。
- 验证签名。
- 响应 API 请求。
- 添加其他处理逻辑(如果适用)。
- 在 Cobo Portal 上注册Endpoint。
注册 Webhook Endpoint 时,您需要指定要订阅的事件类型。
从 WaaS 1.0 升级到 WaaS 2.0 的注意事项
WaaS 1.0 服务使用 API Callback进行交易通知和提币确认,类似于 WaaS 2.0 中引入的 webhook 和Callback。以下表格提供了两种版本基于事件通知机制的比较:| 通知交易状态更改的机制 | 确认提币的机制 | 注册Endpoint的位置 | |
|---|---|---|---|
| WaaS 1.0 | Callback - 交易通知 | Callback - 提币确认 | Cobo Custody |
| WaaS 2.0 | Webhook 事件 | Callback消息 | Cobo Portal |
继续使用 WaaS 1.0 API
如果您选择继续使用 WaaS 1.0 API,则无需进行任何额外配置。现有的 API Callback将按预期工作。升级到 WaaS 2.0 API
当升级到 WaaS 2.0 时,您需要执行以下操作:- 按照 设置Callback或 Webhook Endpoint 中的说明设置您的 webhook 或 Callback Endpoint。
- 按照 注册 Webhook Endpoint 或 注册 Callback Endpoint 中的说明在 Cobo Portal 上注册Endpoint。
WaaS 1.0 API Callback使用的签名算法与 WaaS 2.0 webhook 和Callback不同。请勿直接在 Cobo Portal 上注册您的 WaaS 1.0 Endpoint。否则,由于 WaaS 1.0 和 WaaS 2.0 之间的签名算法和 webhook/Callback数据结构的差异,您的Endpoint将收到错误。请确保参考提供的 示例代码 正确配置您的 WaaS 2.0 Endpoint。
如果您为交易通知配置了 WaaS 1.0 API Callback,但没有设置 WaaS 2.0 webhook,您的Endpoint仍将收到来自 WaaS 1.0 的交易通知。
如果您同时为交易通知配置了 WaaS 1.0 API Callback和 WaaS 2.0 webhook,并继续使用 WaaS 1.0 API,您的Endpoint将收到:- 来自 WaaS 1.0 的交易通知。
- 来自 WaaS 2.0 的 webhook 事件。
cobo_id)实现去重,以避免处理重复通知。