外观
接口列表
约 1425 字大约 4 分钟
接口对接接口
2026-10-19
请按照 接入准备 配置域名和鉴权参数,并参考 签名与解密 对 body 签名、对返回数据解密。
权益下发
接口地址: {域名}/equity/common/send
请求方式: POST
请求数据类型: application/json
接口描述: 采购商向我司发起权益下发。重复 transactionId 按幂等处理。
请求参数:
| 参数名称 | 参数说明 | 是否必须 | 数据类型 | 说明 |
|---|---|---|---|---|
| appId | 系统标识 | true | string | 我司分配 |
| sign | 签名 | true | string | 对 body 签名 |
| asyncNotify | 是否异步 | true | boolean | 建议传 true,开通结果以结果通知为准 |
| body | 业务数据 | true | object | |
| transactionId | 流水号 | true | string | 保证唯一 |
| orderNo | 合作方订单号 | true | string | 贵司生成,全局唯一 |
| timestamp | 请求时间 | true | string | 北京时间 yyyy-MM-dd HH:mm:ss,与当前时间间隔不超过十分钟 |
| userPhone | 用户手机号 | true | string | |
| equityCode | 产品编码 | true | string | 我司提供 |
| appId | 微信 appId | false | string | 微信用户所在应用程序 id |
| openId | 微信 openId | false | string | 微信用户在该应用中的唯一标识 |
| userTag | 用户标识 | false | string | 增量 1,存量 2 |
| sendTag | 下发标识 | false | string | 单次 1,包月 2 |
| ext | 扩展参数 | false | string | JSON 字符串,如 {"b":"1","a":"1"} |
响应参数:
| 参数名称 | 参数说明 | 类型 | 说明 |
|---|---|---|---|
| code | 状态码 | integer | 见 状态码。0 为成功 |
| message | 描述 | string | |
| data | 加密结果 | object | code 为 0 时返回,需解密 |
| secret | 解密密钥 | string | 用私钥解密后得到 AES 密钥 |
| data | 待解密数据 | string | 用 AES 密钥解密后得到业务数据 |
data 解密后:
| 参数名称 | 参数说明 | 类型 | 说明 |
|---|---|---|---|
| transactionId | 流水号 | string | 与请求一致 |
| orderNo | 合作方订单号 | string | |
| thirdOrderNo | 主订单号 | string | |
| timestamp | 创建时间 | string | yyyy-MM-dd HH:mm:ss |
| asyncNotify | 是否异步 | boolean | |
| details | 数据详情 | array | |
| id | 子订单号 | string | |
| type | 类型 | string | 1 券码,2 直充 |
| status | 状态 | string | SUCCESS 成功,FAILED 失败,PROCESSING 处理中 |
| writeOffStatus | 核销状态 | string | UNTREATED 未核销,SUCCESS 已核销 |
| message | 信息 | string | 对应状态的结果信息 |
| batchNo | 批次号 | string | 可能为空 |
| declare | 券使用说明 | string | 可能为空 |
| redeemCode | 券码 | string | type 为 1 时不为空 |
| startTime | 有效期开始时间 | string | type 为 1 时不为空 |
| expiryTime | 有效期结束时间 | string | type 为 1 时不为空 |
请求示例:
{
"appId": "65554402671661056",
"body": {
"transactionId": "sd98214163746",
"orderNo": "31886131315641561320532",
"userPhone": "13700000000",
"timestamp": "2025-01-08 18:11:01",
"equityCode": "ASS205645"
},
"asyncNotify": true,
"sign": "evcep+72SMjBpzS5O0flLQvJtbcAfBq8BtYD+rBMHr2aIgSLdlr1Uiwj5udoWrkECmFyCW7s11sDRqQDQeC+2YEFROk+mJKX5dwU03vkbJpEwTaJ1qglYF4out4yN3ywT43dyWIlYpuah1rXvCpM7/nFW+vt2o8u4m2exO+I7sAU8sG74davckxgXSr3Un8T6+DqSGTr8YvaKnH+S2xUedA5uEs89jutjQjDZlJ0Vf0jsAMhaeF1LLaJIqRQEXi2R3v4mBrqs6MVaCZEMcMXnQNL8wSCl0vRJfwz0c8hj1og9fPcCjVOiwLAP9GbP/+49yBkVNovXDtJaeGRbr0XDg=="
}响应示例:
{
"code": 0,
"message": "操作成功",
"data": {
"secret": "...",
"data": "..."
}
}解密后的业务数据:
异步受理时,status 为 PROCESSING。券码和终态在结果通知中返回。
{
"transactionId": "sd98214163746",
"orderNo": "31886131315641561320532",
"thirdOrderNo": "17554145565551553353",
"timestamp": "2025-01-08 18:11:01",
"asyncNotify": true,
"details": [
{
"id": "13546234565623",
"type": "1",
"status": "PROCESSING",
"message": "处理中"
}
]
}结果通知
异步对接时,下发响应为处理中。开通结果由我司回调贵司提供的通知地址。
请求方式: POST
请求数据类型: application/json
接口描述: 通知下发终态。报文外层与下发响应相同,data 为加密结构,解密方式见 解密步骤。
请求参数:
| 参数名称 | 参数说明 | 是否必须 | 数据类型 | 说明 |
|---|---|---|---|---|
| code | 状态码 | true | integer | 0 为成功 |
| message | 描述 | false | string | |
| data | 加密结果 | true | object | |
| secret | 解密密钥 | true | string | 用私钥解密后得到 AES 密钥 |
| data | 待解密数据 | true | string | 用 AES 密钥解密 |
解密后的业务数据:
| 参数名称 | 参数说明 | 类型 | 说明 |
|---|---|---|---|
| transactionId | 流水号 | string | 与下发请求一致 |
| orderNo | 合作方订单号 | string | |
| thirdOrderNo | 主订单号 | string | |
| timestamp | 创建时间 | string | yyyy-MM-dd HH:mm:ss |
| details | 数据详情 | array | |
| type | 类型 | string | 1 券码,2 直充 |
| status | 状态 | string | SUCCESS 成功,FAILED 失败 |
| writeOffStatus | 核销状态 | string | UNTREATED 未核销,SUCCESS 已核销 |
| message | 信息 | string | |
| batchNo | 批次号 | string | 可能为空 |
| declare | 券使用说明 | string | 可能为空 |
| redeemCode | 券码 | string | type 为 1 时不为空 |
| startTime | 有效期开始时间 | string | type 为 1 时不为空 |
| expiryTime | 有效期结束时间 | string | type 为 1 时不为空 |
响应: 返回字符串 OK 或 ok 表示接收成功。返回其他内容表示失败,我司按 接入流程 重试。
解密后示例:
{
"transactionId": "sd98214163746",
"orderNo": "31886131315641561320532",
"thirdOrderNo": "17554145565551553353",
"timestamp": "2025-01-08 18:11:01",
"details": [
{
"type": "1",
"status": "SUCCESS",
"message": "下发成功",
"redeemCode": "Wzc78561frf77",
"startTime": "2025-01-08 18:11:01",
"expiryTime": "2025-02-08 18:11:01"
}
]
}状态码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 400 | 失败 |
| 401 | 验签失败 |
| 402 | 数据加密失败 |
| 403 | 参数检验失败 |
| 404 | 用户检验失败 |
| 405 | APPID检验失败 |
| 406 | 不支持的下发类型 |
| 407 | 请勿重复操作 |
| 408 | 请求时间戳过期 |
| 409 | 领取订单号为空 |
| 410 | 领取订单不存在 |
| 411 | 非法的请求 |
| 412 | 已领取 |
| 413 | 已过期 |
| 414 | 已作废 |
| 415 | 不可领取 |
| 416 | 该权益不可重复领取 |
| 417 | 剩余领取次数不足 |
| 500 | 权益下发失败 |
| 501 | 权益编码不存在 |
| 502 | 权益编码已下线 |
| 503 | 权益库不存在 |
| 504 | 关联权益不存在或已下线 |
| 505 | 权益库规格不存在 |
| 506 | 权益库库存不足 |
| 507 | 权益领取失败 |