Webhook 回调是一种机制,当特定事件发生时,WaaS 将主动向商户系统发送通知, 用于异步告知某些操作的结果或状态变化。商户需提供回调 URL,并实现相关功能以接收和处理回调。


示例场景

以下为常见的回调流程示例:

1. 存币通知流程

  1. 商户向 WaaS 的存币 API 提交请求。
  2. WaaS 处理存币请求。
  3. WaaS 调用商户提供的回调 URL,通知存币结果。
  4. 商户接收通知并更新状态。

2. 提币通知流程(无二次确认)

  1. 商户向 WaaS 的提币 API 提交请求。
  2. WaaS 处理提币请求。
  3. WaaS 调用商户的回调 URL,通知提币结果(成功或失败)。
  4. 商户接收通知并更新状态。

对于需要二次确认的提币流程,回调可能会包含额外的确认步骤,请确保回调 URL 能正确处理所有场景通知。


回调接口具有以下功能:

  • 通知商户存币单的生成。
  • 在提币单执行前请求商户确认提币信息。
  • 通知商户用户钱包地址的变更。
  • 通知商户提币单的执行结果。

注意:

回调接口用于接收 WaaS 发送的通知,商户需向 WaaS 提供回调地址,通过回调机制接收事件的处理结果。所有请求需要使用与其他接口相同的 API-Key 机制 进行验证,通知内容在发送前通过 RSA 加密,密文为 Base64 格式


接口范例

  • 接口名称:https://xxxx/api/v1/uu/notify

请求方法

POST


请求头

名称类型必填示例值说明
Content-Typestringapplication/x-www-form-urlencoded请求格式,表单编码格式。
X-API-KEYstringyour-api-key授权密钥,用于身份验证。

请求体参数

以下为请求体的参数模板:

属性名类型必填示例值说明
tenantUserIdStringtenant123商户用户标识。
requestUUIDString2137890请求的唯一标识符。
trackingIdStringtrack-4567订单追踪 ID。
typeInteger2回调类型(见下方枚举)。
businessInteger0所属租户类型(暂无实际控制作用)
callBackIdString12345回调 ID。
toAddressStringTUekuiBgdk...目标地址。
chainNameStringTRON区块链名称。
txIdString22e1c72076...交易 ID。
symbolStringUSDT货币符号。
amountString0.5金额。
txIndexInteger20交易索引。
tagStringWITHDRAW_SUCCESSS标签。
fromAddressStringTUekuiBgdk...源地址。
newAddressStringTUekuiBgdk...新地址(仅在类型为 4 时使用)。
riskLevelFromInteger15存币来源地址风险评分(类型为 1 时存在)。
riskLevelToInteger15存币目标地址风险评分(类型为 1 时存在)。

回调类型枚举

以下为 type 参数的枚举值及其说明:

类型值名称描述
0NOTIFY_UNKNOWN未知通知类型,无需处理。
1NOTIFY_DEPOSITEDWaaS 通知商户存币单的生成,需解析参数并确认结果。
2NOTIFY_REQUEST_WITHDRAW请求商户确认提币单的详细信息(用于二次确认)。
3NOTIFY_WITHDRAWWaaS 通知商户提币单的执行结果。
4NOTIFY_ADDRESS通知用户地址变更,需解析新地址(newAddress)。
5NOTIFY_INVALID_ADDRESS提币失败(地址无效),需确认结果并响应。
6NOTIFY_NOT_ENOUGH_MONEY提币失败(余额不足),需确认结果并响应。
7NOTIFY_NOT_ENOUGH_HOT_MONEY提币失败(gas 不足),需确认结果并响应。

请求示例

{
  "tenantUserId": "tenant123",
  "requestUUID": "2137890",
  "trackingId": "track-4567",
  "type": 2,
  "business": 0,
  "callBackId": "12345",
  "toAddress": "TUekuiBgdk...",
  "chainName": "TRON",
  "txId": "22e1c72076...",
  "symbol": "USDT",
  "amount": 0.5,
  "txIndex": 20,
  "tag": "WITHDRAW_SUCCESSS",
  "fromAddress": "TUekuiBgdk...",
  "newAddress": "TUekuiBgdk...",
  "riskLevelFrom": 15,
  "riskLevelTo": 15
}


响应参数

属性名类型必填示例值说明
requestUUIDString2137890请求的唯一标识符
userIdString1308764租户ID
createByString创建者信息,无实际控制作用
messageString信息描述,无实际控制作用
apiKeyStringapiKey
errCodeint错误码,0表示成功,其它值表示失败
dataString用RSA公钥加密后的密文数据

以下为响应中 data 参数说明:

属性名类型示例值说明
requestUUIDString2137890请求的唯一标识符,用于唯一标记请求。
userIdInteger1用户 ID,标识触发事件的具体用户。
trackingIdStringtrack-4567订单追踪 ID。
addressStringtoAddress123目标地址,表示操作的目标地址。
tenantUserIdStringtenant123商户用户标识,用于区分商户用户。
chainNameStringTRON区块链名称,标识交易所在的区块链。
symbolStringUSDT货币符号,标识交易所涉及的代币或货币。
callBackIdString12345回调 ID,标识当前回调事件的 ID。
amountString0.5金额,表示交易或操作的具体数额。
typeInteger2回调类型,详细说明见回调类型枚举值。

响应示例

成功处理请求:

{
  "requestUUID": "2137890" ,
  "userId": 1,
  "createBy":"xxxx",
  "message": "成功处理请求",
  "apiKey": "your_api_key",
  "errCode": 0,
  "data": {
    "userId": 1,
    "trackingId": "track-4567",
    "address": "toAddress123",
    "tenantUserId": "tenant123",
    "chainName": "TRON",
    "symbol":"USDT",
    "callBackId":"12345",
    "requestUUID": "2137890",
    "amount": 0.5,
    "type": 2,
  }
}