上量全场景渠道电子卷接口平台
类型
权益类型分为2种
- 卡密
- 直冲
直冲下单一般情况下三分钟内到账,可使用查询订单查询状态
部分平台的直冲需先获取卡密,再调用兑换卡密实现直冲
错误码
建议调用者通过 error.code != 0 判断接口调用失败
if (response.error.code != 0 ) {
log(response.error.message)
}
0 成功
1 失败(原因见 error.message)
100120001 AK错误
100120002 SK错误
100130001 重复订单
100130002 卡密库存不足
100130003 此订单无记录
100130004 优惠券ID不存在
100130006 优惠券调用超过每日限制
100130007 卡密不存在
100130008 卡密已被兑换过
100140001 余额不足
直冲下单
POST https://coupon.admpv.com/api/coupon/order/submit
提交充值账号下单
因为官方平台限制,下单成功不代表充值成功,下单后一分钟需要通过 查询订单 接口确认充值是否成功
下单会先先扣款,如果充值失败,会在最快1分钟后退款.
Request
| Header | |
|---|---|
| Content-Type | application/json |
| Body | ||
|---|---|---|
| ak | string | |
| sk | string | |
| couponID | number | 优惠券ID |
| consumerClientIP | string | 消费者客户端IP |
| clientOrderNumber | string | 客户订单号,建议为uuid,用于后续查询订单和处理消费幂等 |
| channel | string | 渠道,用于同一个客户标识不同渠道 |
| rechargeAccount | string | 充值账户,一般为qq号,手机号,账户名 |
示例请求JSON
// 正式提交时替换 为正确值
{
"ak": "",
"sk": "",
"couponID": 3,
"consumerClientIP": "",
"clientOrderNumber": "",
"channel": "abc",
"rechargeAccount": "1198882221"
}
Response
// 下单成功
{
"error": {
"code": 0,
"message": ""
}
}
// 订单号重复: 此时请检查 clientOrderNumber 是否重复
{
"error": {
"code": 100130001,
"message": "订单号重复"
}
}
查询订单
POST https://coupon.admpv.com/api/coupon/order/query
查询订单
Request
| Header | |
|---|---|
| Content-Type | application/json |
| Body | ||
|---|---|---|
| ak | string | |
| sk | string | |
| couponID | number | 优惠券ID |
| clientOrderNumber | string | 客户订单号,建议为uuid,用于后续查询订单和处理消费幂等 |
示例请求JSON
// 正式提交时替换 为正确值
{
"ak": "",
"sk": "",
"couponID": 3,
"clientOrderNumber": "此处填写直冲下单时候提交的clientOrderNumber",
}
Response
// 正在充值
{
"status": 1,
"description": "处理中",
"error": {
"code": 0,
"message": ""
}
}
// 充值成功
{
"status": 2, //
"description": "订单成功",
"error": {
"code": 0,
"message": ""
}
}
// 充值失败
{
"status": 3,
"description": "订单失败",
"error": {
"code": 0,
"message": ""
}
}
// 未查询到订单
{
"status": 4,
"description": "未查询到订单,请人工核实",
"error": {
"code": 0,
"message": ""
}
}
获取卡密
POST https://coupon.admpv.com/api/coupon/get_stock
获取卡密
Request
| Header | |
|---|---|
| Content-Type | application/json |
| Body | ||
|---|---|---|
| ak | string | |
| sk | string | |
| couponID | number | 优惠券ID |
| consumerClientIP | string | 消费者客户端IP |
| clientOrderNumber | string | 客户订单号,建议为uuid,用于后续查询订单和处理消费幂等 |
| channel | string | 渠道,用于同一个客户标识不同渠道 |
示例请求JSON
/ 正式提交时替换 为正确值
{
"ak": "",
"sk": "",
"couponID": 3,
"consumerClientIP": "",
"clientOrderNumber": "",
"channel": "abc",
}
Response
// 成功
// type 1 时读取 cdkey
// type 2 时读取 exchangeNumber|exchangePassowrd
// type 3 时读取 exchangeLink
{
"cdkey": "ea73bdd18c58",
"type": 1,
"exchangeNumber": "",
"exchangePassowrd": "",
"exchangeLink": "",
"error": {
"code": 0,
"message": ""
}
}
// 订单号重复: 此时请检查 clientOrderNumber 是否重复
{
"error": {
"code": 100130001,
"message": "重复订单,请通过 /api/coupon/stock_by_client_order_number 接口查询订单信息"
}
}
查询卡密
POST https://coupon.admpv.com/api/coupon/stock_by_client_order_number
使用订单号查询卡密
Request
| Header | |
|---|---|
| Content-Type | application/json |
| Body | ||
|---|---|---|
| ak | string | |
| sk | string | |
| couponID | number | 优惠券ID |
| clientOrderNumber | string | 客户订单号,建议为uuid,用于后续查询订单和处理消费幂等 |
示例请求JSON
// 正式提交时替换 为正确值
{
"ak": "",
"sk": "",
"couponID": 3,
"clientOrderNumber": ""
}
Response
// 成功
// type 1 时读取 cdkey
// type 2 时读取 exchangeNumber|exchangePassowrd
// type 3 时读取 exchangeLink
{
"cdkey": "ea73bdd18c58",
"type": 1,
"exchangeNumber": "",
"exchangePassowrd": "",
"exchangeLink": "",
"error": {
"code": 0,
"message": ""
}
}
// 订单无记录
{
"error": {
"code": 100130003,
"message": "此订单无记录"
}
}
兑换卡密
POST https://coupon.admpv.com/api/coupon/exchange
Request
| Header | |
|---|---|
| Content-Type | application/json |
| Body | ||
|---|---|---|
| ak | string | |
| sk | string | |
| accountName | string | |
| mobile | string | |
| string | ||
| code | string | 查询卡密接口获取的 cdkey |
| couponID | string | 优惠券ID |
示例请求JSON
// 正式提交时替换 为正确值
{
"ak": "",
"sk": "",
"couponID": 3,
"accountName": "timtom"
}
Response
// 成功
{
"error": {
"code": 0,
"message": ""
}
}
// 已经兑换过
{
"error": {
"code": 100130008,
"message": "已经兑换过"
}
}