NATSotp.ticket.consume消费已验证工单
Try it 面板需要启用 JavaScript。
下游服务(identity / profile)在落库前回源消费 verifyTicket,确保绑定目标与工单一致;消费一次性。
Request Payload
消息格式:JSON
| Name | Data Type | Required | Description |
|---|---|---|---|
| verifyTicketId | string | Yes | 已验证工单 |
| expectedTarget | string | Yes | 下游要落库的目标(手机号 / 邮箱),不一致即拒绝 |
| scene | string | Yes | 预期用途:register / bind / login |
type RequestBody = {
/** 已验证工单 */
verifyTicketId: string
/** 下游要落库的目标(手机号 / 邮箱),不一致即拒绝 */
expectedTarget: string
/** 预期用途:register / bind / login */
scene: string
}{
"verifyTicketId": "otv_3d81fa09c2476b5e",
"expectedTarget": "chen.lin@example.com",
"scene": "register"
}Response Payload
回复使用统一信封 {id, code, messages, result},其 result:
| Name | Data Type | Required | Description |
|---|---|---|---|
| consumed | boolean | Yes | 是否消费成功 |
| channel | string | Yes | 通道 |
| target | string | Yes | 已验证的目标 |
type ResponseBody = {
/** 是否消费成功 */
consumed: boolean
/** 通道 */
channel: string
/** 已验证的目标 */
target: string
}{
"consumed": true,
"channel": "email",
"target": "chen.lin@example.com"
}Response Code
回复使用统一信封 {id, code, messages, result},其 code 字段:
| code | Meaning | Notes |
|---|---|---|
| 0 | 成功 | 消费已验证工单 |
| 2202 | 工单无效 | 已消费或目标 / 用途不匹配 |
Examples
{ "verifyTicketId": "otv_3d81fa09c2476b5e", "expectedTarget": "chen.lin@example.com", "scene": "register" }
{
"id": "01JD8SVDH9S5U2VR",
"code": 0,
"messages": [],
"result": { "consumed": true, "channel": "email", "target": "chen.lin@example.com" }
}
Remarks
消费与下游落库之间由调用方保证事务边界(先消费后落库,失败由调用方重试整个业务操作)。