# 交易类接口
# 同步单条发码
#### **接口用途**
- 支持请码方一次单品请求调用,单品发码数量上限100
#### **接口说明**
- 每次调用时必须有明确的渠道订单编号。
- commissionDate = -1时,所制码不具有支付功能(即码没有激活),如果需要激活该码的支付功能需要再次调用"码激活"接口。
- 同步单条发码时,saleChannelOrderId和saleChannelItemId可用同一值。
- returnCode = "00"时,说明订单进入制码流程。itemResultCode = "00"时,说明订单制码成。
- notifyType为券码发送到用户的形式,是否需要通知以券配置为开关
#### **action**
- `MakeCode`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
saleChannelOrderId | String | 是 | 渠道制码订单id | 最长32位,当上送相同订单号时返回上一次成功信息,如果上一次请码失败,则本次会重新生成码 |
requestId | String | 是 | 请求流水号 | 最长32位,用于标识唯一一笔交易 |
remark | JSONString | 是 | 订单备注信息 | 最长200位,订单查询时原样返回 |
notifyType | Object<[notifyType](https://book.e-buy.com/books/e-buy-40/page/26657 "notifyType")> | 否 | 制码通知类型 | |
item | Object<[makeOrderItems](https://book.e-buy.com/books/e-buy-40/page/3ad7c "makeOrderItems")> | 是 | 制码明细 | 同步制码时,仅支持单产品单码 |
**请求报文举例**
```
{
"saleChannelId": "102410058",
"saleChannelOrderId": "20181024154201",
"requestId": "20181024154201",
"notifyType": {
"mobilePhone": "13524161800"
},
"item": {
"saleChannelItemId":"20181024154201",
"commissionDate":"1",
"validDays": 10,
"ticketId": 1,
"makeFundsChannel": {
"channelBenefit": 0,
"merchantBenefit": 500,
"userRealAmount": 2500
}
}
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[makeCodeResponseData](https://book.e-buy.com/books/e-buy-40/page/faa9a "makeCodeResponseData")> | 否 | 码信息 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"saleChannelOrderId": "20181120155110",
"tradeNo": "c1eca7fbda51430cb5100ec0699a5b00",
"createTime": "20181120155225",
"isNotify": "1",
"codeNum": 1,
"items": [{
"codeDetail": [{
"codeURL": "http://qrcode.url.ag/make?0000001496A382FA4725D24FA27839FC1680D136CAFE515519B94B1D&type=QRCODE",
"code": "10116574123700278846",
"useTimes": 10,
"status": "00",
"statusDesc": "未使用"
}],
"validEnd": "20181201000000",
"validStart": "20181121000000",
"itemResultMsg": "SUCCESS",
"itemResultCode": "00",
"saleChannelItemId": "20181120155110",
"ticketId": 9000000010,
"ticketName":"星巴克30元代金券",
"activityId":"1000000006",
"activityName":"中信银行星巴克代金券活动"
}],
"createDate": "20181120"
}
}
```
#### **券状态枚举**
字段 | 字段意义 | 备注 |
---|
04 | 参数配置不正确 | RequestId参数不能为空
appId参数不能为空
|
50 | 活动产品信息不存在 |
|
97 | 活动产品信息不存在 | 活动产品信息不存在
或者其他配置信息错误 |
06 | 活动产品未经过测试 |
|
50 | 销售渠道信息不存在 |
|
07 | 销售渠道和活动产品权限不匹配 |
|
# 新页面
# 新页面
# 发码订单查询
#### **接口用途**
- 当需要查询发码订单结果时,取码方调用此接口
- 当调用`同步单条发码`超时或未知状态,取码方调用此接口确认交易结果
- 此接口不支持`异步批量发码`的订单查询
#### **接口说明**
- 每一次销售渠道对接[whale](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")进行制码,生成一个制码订单。
- 制码订单以渠道方订单编号为分表位,每次调用时必须有明确的订单编号
#### **action**
- `MakeQuery`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
originalChannelOrderId | String | 是 | 原取码方制码订单id | 小于64个字符 |
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
**请求报文举例**
```
{
"originalChannelOrderId": "20180912162026",
"requestId":"20180912162026"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[makeQueryResponseData](https://book.e-buy.com/books/e-buy-40/page/faa9a "makeQueryResponseData")> | 否 | 码信息 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"saleChannelOrderId": "20181025152303",
"tradeNo": "cee533ae3e504179868e1801e697c5dc",
"createTime": "20181025155331",
"isNotify": "1",
"codeNum": 1,
"createDate": "20181025",
"items": [{
"saleChannelItemId": "20181025105101",
"itemResultMsg": "SUCCESS",
"itemResultCode": "00",
"validStart": "20181025155300",
"ticketId": 1,
"ticketName":"星巴克30元代金券",
"activityId":"1000000006",
"activityName":"中信银行星巴克代金券活动",
"validEnd": "20181104155300",
"codeDetail": [{
"codeURL": "http://xxxx/hbw?A3rVNNEgPLQV",
"code": "10110544106453980943",
"useTimes": 10,
"status": "00",
"statusDesc": "未使用"
},
{
"codeURL": "http://xxxx/hbw?A3rVNNEgPLQQ",
"code": "10110544106453980944",
"useTimes": 10,
"status": "00",
"statusDesc": "未使用"
}]
},
{
"saleChannelItemId": "20181025105102",
"itemResultMsg": "SUCCESS",
"itemResultCode": "00",
"validStart": "20181025155300",
"ticketId": 2,
"ticketName":"星巴克50元代金券",
"activityId":"1000000006",
"activityName":"中信银行星巴克代金券活动"
"validEnd": "20181104155300",
"codeDetail": [{
"codeURL": "http://xxxx/hbw?A3rVNNEgPLQV",
"code": "10110544106453980943",
"useTimes": 10,
"status": "00",
"statusDesc": "未使用"
}]
}]
}
}
```
# 异步批量发码
#### **接口用途**
- 电子凭证取码方需要批量(一次请求取码数超过1条)制码时,调用此接口
#### **接口说明**
- 每一次取码方对接[whale](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")进行制码,生成一个制码订单。
- 制码订单以渠道方订单编号为分表位,每次调用时必须有明确的订单编号。
- 制码请求接收后,会同步返回制码前校验结果,后端成功生成码后,异步通知到callBackUrl指定的回调接口。
#### **action**
- `MakeBatchCode`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
saleChannelOrderId | String | 是 | 渠道制码订单id | 小于64个字符 |
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
callBackUrl | String | 是 | 异步结果回调地址 | 易百以POST请求方式推送 |
items | List<[items](https://book.e-buy.com/books/e-buy-40/page/3ad7c "items")> | 是 | 制码子订单 | 一次制码请求最多支持10个子订单 |
**请求报文举例**
```
{
"saleChannelOrderId": "20180912162026",
"requestId": "20180912162026",
"totalAmount": "15800",
"notifyType": {
"mobilePhone": "13524161800"
},
"callBackUrl": "http://*****/***/api",
"items": [{
"saleChannelItemId": "20180912162026001",
"ticketId": 1,
"validDays": 10,
"validStart": "20180730000000",
"validEnd": "20181201235959",
"codeNum": 2,
"makeFundsChannel": {
"channelBenefit": 0,
"merchantBenefit": 500,
"userRealAmount": 2500
}
}, {
"saleChannelItemId": "20180912162026002",
"ticketId": 2,
"validDays": 10,
"validStart": "20180730000000",
"validEnd": "20181201235959",
"codeNum": 1,
"makeFundsChannel": {
"channelBenefit": 100,
"merchantBenefit": 0,
"userRealAmount": 900
}
}]
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
batchMakeCodeResponseData | Object<[batchMakeCodeResponseData](https://book.e-buy.com/books/e-buy-40/page/a3f39 "batchMakeCodeResponseData")> | 否 | 批量制码返回数据 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"saleChannelOrderId": "201811261721",
"saleChannelId": 99000014,
"tradeNo": "4a784d0ec74d4211bb3c425f004f95ac",
"createTime": "20181126172115",
"codeNum": 5,
"createDate": "20181126"
}
}
```
# 批量发码结果通知
#### **接口用途**
- 异步批量下单接口所要求的码全部成功生成后,通过此接口将码信息回调到取码方
#### **接口说明**
- 接口与“异步批量发码”是一组接口来完成业务
- 此接口以[http](https://book.e-buy.com/books/e-buy-40/page/7f100 "基于HTTP协议的通讯方式") post请求方式回调取码方callBackUrl地址
- returnCode = "00"时,说明订单进入制码流程。resultCode = "00"时,说明子订单制码成。
- 如果未收到易百的回调请求,取码方可以传原订单号再次调用`异步批量发码`
**返回参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[batchMakeCodeResponseData](https://book.e-buy.com/books/e-buy-40/page/faa9a "batchMakeCodeResponseData")> | 否 | 码信息 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"saleChannelOrderId": "20181025152303",
"tradeNo": "cee533ae3e504179868e1801e697c5dc",
"createTime": "20181025155331",
"isNotify": "1",
"codeNum": 1,
"createDate": "20181025",
"items": [{
"saleChannelItemId": "20181025105101",
"itemResultMsg": "SUCCESS",
"itemResultCode": "00",
"validStart": "20181025155300",
"ticketId": 1,
"ticketName":"星巴克30元代金券",
"activityId":"1000000006",
"activityName":"中信银行星巴克代金券活动",
"validEnd": "20181104155300",
"codeDetail": [{
"codeURL": "http://xxxx/hbw?A3rVNNEgPLQV",
"code": "10110544106453980943",
"useTimes": 10,
"status": "00",
"statusDesc": "未使用"
},
{
"codeURL": "http://xxxx/hbw?A3rVNNEgPLQQ",
"code": "10110544106453980944",
"useTimes": 10,
"status": "00",
"statusDesc": "未使用"
}]
},
{
"saleChannelItemId": "20181025105102",
"itemResultMsg": "SUCCESS",
"itemResultCode": "00",
"validStart": "20181025155300",
"ticketId": 2,
"ticketName":"星巴克50元代金券",
"activityId":"1000000006",
"activityName":"中信银行星巴克代金券活动"
"validEnd": "20181104155300",
"codeDetail": [{
"codeURL": "http://xxxx/hbw?A3rVNNEgPLQV",
"code": "10110544106453980943",
"useTimes": 10,
"status": "00",
"statusDesc": "未使用"
}]
}]
}
}
```
# 发码撤销
#### **接口用途**
- 当需要撤销某笔制码订单时,取码方调用此接口
#### **接口说明**
- 当对原制码订单进行撤销时,生成一个撤销订单。
- 对原订单进行撤销时,整单所制码都将被撤销。如需对单码撤销,调用电子凭证码状态更新接口。
- 此接口可对`同步单条发码`、`异步批量发码`下单接口订单进行撤销操作
- 对已撤销成功订单不能再次撤销
- 如果订单撤销部分成功时返回"tradeStatus"="P"
- 对订单中部分券码撤销成功时,可以按原制码订单号再次调用撤销接口,如还是部分撤销成功请联系易百技术方協助解决
#### **action**
- `MakeVoid`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
originalChannelOrderId | String | 是 | 原取码方制码订单id | 小于64个字符 |
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
**请求报文举例**
```
{
"originalChannelOrderId": "20180912162026",
"requestId":"20180912162026"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | List<[makeVoidResponseData](https://book.e-buy.com/books/e-buy-40/page/05f97 "makeVoidResponseData")> | 否 | 码撤销信息 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"originalChannelOrderId": "20181018183139",
"createDate": "20181018",
"createTime": "20181018183454",
"totalNum": 4,
"tradeStatus": "A",
"voidDetails": [{
"ticketId": 1,
"originalChannelItemId": "99000014001",
"voidNum": 2
}, {
"ticketId": 2,
"originalChannelItemId": "99000014002",
"voidNum": 2
}]
}
}
```
# 发码撤销查询
#### **接口用途**
- 当需要查询对某笔订单的撤销结果时,取码方调用此接口
#### **接口说明**
- 当制码撤销结果未返回或因为超时等原因未能及时收到返回结果,可进行制码撤销查询
#### **action**
- `MakeVoidQuery`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
originalChannelOrderId | String | 是 | 取码方制码订单id | 小于64个字符 |
orderDate | String | 是 | 原下单日期 | yyyyMMdd |
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
**请求报文举例**
```
{
"originalChannelOrderId": "20180912162026",
"orderDate": "20180905",
"requestId":"20180912162026"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | List<[makeVoidResponseData](https://book.e-buy.com/books/e-buy-40/page/05f97 "makeVoidResponseData")> | 否 | 码撤销信息 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"originalChannelOrderId": "20181018183139",
"createDate": "20181018",
"createTime": "20181018183454",
"totalNum": 4,
"tradeStatus": "A",
"voidDetails": [{
"ticketId": 1,
"originalChannelItemId": "99000014001",
"voidNum": 2
}, {
"ticketId": 2,
"originalChannelItemId": "99000014002",
"voidNum": 2
}]
}
}
```
# 码作废(退款)接口
#### **接口用途**
- 当需要`作废`码时,取码方调用此接口
#### **接口说明**
- 码表中以掩码为分表位,每查询某个码时必须有明确的码号。
- 已撤销(作废)/使用的码不能转换为其他状态。
- 冻结和解冻操作是相对的。
#### **action**
- `CodeStatusUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
code | String | 是 | 码号 | 小于22个字符 |
optTag | String(2) | 是 | 操作分类 | 01:作废 |
**请求报文举例**
```
{
"requestId": "20181019112535100000000000000008",
"code": "1021242013780905000",
"optTag":"01"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 |
|
returnMsg | String | 是 | 请求返回信息 |
|
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/01386 "statusUpdateData")> | 否 | 码状态更新返回数据 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"updateDate": "20241224",
"codeSecret": "10032891673449546316",
"codeValidEnd": "20250323235959",
"statusDesc": "已作废",
"data": {},
"tradeNo": "0601f61bf54a46b8a01899b444d47a38",
"codeValidStart": "20241224000000",
"currentStatus": "05",
"updateTime": "20241224093435",
"ticketId": 1000030006397
}
}
```
**失败返回报文举例**
```
{
"returnCode": "32",
"returnMsg": "流水号重复,请调用查询接口",
"data": {}
}
```
```
{
"returnCode": "91",
"returnMsg": "该码已使用不能更新状态[100***8707]",
"data": {}
}
```
```
{
"returnCode": "91",
"returnMsg": "该码已作废不能更新状态[100***6316]",
"data": {}
}
```
#### **券状态枚举**
字段 | 字段意义 | 备注 |
---|
91 | 更新码状态不支持当前操作 | 更新码状态不支持当前操作 |
10 | 券码不存在 |
|
02 | 本操作不支持,流水号长度不正确 |
|
# 码冻结接口
#### **接口用途**
- 当需要`冻结`码时,取码方调用此接口
#### **接口说明**
- 码表中以掩码为分表位,每查询某个码时必须有明确的码号。
- 已撤销(作废)/使用的码不能转换为其他状态。
- 冻结和解冻操作是相对的。
#### **action**
- `CodeStatusUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
channelOrderId | String | 是 | 销售渠道制码订单id | 小于64个字符 |
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
code | String | 是 | 码号 | 小于22个字符 |
optTag | String(2) | 是 | 操作分类 | 02:冻结 |
**请求报文举例**
```
{
"channelOrderId": "20180912162026",
"requestId": "20181019112535100000000000000008",
"code": "1021242013780905000",
"optTag":"02"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/01386 "statusUpdateData")> | 否 | 码状态更新返回数据 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181019112535100000000000000008",
"currentStatus": "01",
"statusDesc": "已作废",
"updateDate":"20181019",
"updateTime":"20181019112535"
}
}
```
# 码解冻接口
#### **接口用途**
- 当需要`解冻`码时,取码方调用此接口
#### **接口说明**
- 码表中以掩码为分表位,每查询某个码时必须有明确的码号。
- 已撤销(作废)/使用的码不能转换为其他状态。
- 冻结和解冻操作是相对的。
#### **action**
- `CodeStatusUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
channelOrderId | String | 是 | 销售渠道制码订单id | 小于64个字符 |
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
code | String | 是 | 码号 | 小于22个字符 |
optTag | String(2) | 是 | 操作分类 | 03:解冻 |
**请求报文举例**
```
{
"channelOrderId": "20180912162026",
"requestId": "20181019112535100000000000000008",
"code": "1021242013780905000",
"optTag":"03"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/01386 "statusUpdateData")> | 否 | 码状态更新返回数据 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181019112535100000000000000008",
"currentStatus": "01",
"statusDesc": "已作废",
"updateDate":"20181019",
"updateTime":"20181019112535"
}
}
```
# 码激活接口
#### **接口用途**
- 当需要`激活`码时,取码方调用此接口
#### **接口说明**
- 码表中以掩码为分表位,每查询某个码时必须有明确的码号。
- 已撤销(作废)/使用的码不能转换为其他状态。
#### **action**
- `CodeStatusUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
code | String | 是 | 码号 | 小于22个字符 |
codeValidDays | Number | 否 | 相对有效天数 | 除制码当天开始相应天数结束。validStart、validEnd组合与validDay、commissionDate组合可选其一,若全部填写以相对有效期优先 |
codeValidStart | Number(14) | 否 | 码有效开始时间 | 该字段填写时,validEnd必填格式:yyyyMMddHHmmss |
codeValidEnd | Number(14) | 否 | 码有效结束时间 | 该字段填写时,validStart必填格式:yyyyMMddHHmmss |
activateShopNo | String(10) | 否 | 激活门店号 |
|
activateOrg | String(10) | 否 | 激活机构 |
|
purchaseOrderNum | String | 否 | 用户购买订单号 |
|
notifyType | Object<[notifyType](https://book.e-buy.com/books/e-buy-40/page/26657 "notifyType")> | 否 | 激活通知类型 |
|
makeFundsChannels | Array<[fundsChannel](https://book.e-buy.com/books/e-buy-40/page/cee63 "makeFundsChannel")> | 否 | 资金渠道 | 针对阶梯价场景为必填 |
makeFundsChannel | Object<[makeFundsChannel](https://book.e-buy.com/books/e-buy-40/page/cee63 "makeFundsChannel")> | 否 | 资金渠道 | 当需要在对账报表中体现时必填 |
optTag | String(2) | 是 | 操作分类 | 04:激活 |
**请求报文举例**
```
{
"requestId": "20181019112535100000000000000008",
"code": "1021242013780905000",
"codeValidDays":9,
"purchaseOrderNum":"20191119192700123",
"optTag":"04"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 |
|
returnMsg | String | 是 | 请求返回信息 |
|
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/01386 "statusUpdateData")> | 否 | 码状态更新返回数据 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181019112535100000000000000008",
"currentStatus": "00",
"statusDesc": "未使用",
"updateDate":"20181019",
"updateTime":"20181019112535"
}
}
```
**失败返回报文举例**
```
{
"returnCode": "32",
"returnMsg": "流水号重复,请调用查询接口",
"data": {}
}
```
# 批量码激活
#### **接口用途**
- 多码批量激活时,调用此接口
#### **接口说明**
- 一次可以多码激活,一次最多20个码。
#### **action**
- `BatchCodeActivate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
codeArray | List | 是 | 码号数组 | |
callBackUrl | String | 是 | 激活成功后的回调地址 | |
activateShopNo | String(10) | 否 | 激活门店号 | |
activateOrg | String(10) | 否 | 激活机构 | |
codeValidDays | Number | 否 | 相对有效天数 | 除制码当天开始相应天数结束。validStart、validEnd组合与validDay、commissionDate组合可选其一,若全部填写以相对有效期优先 |
codeValidStart | Number(14) | 否 | 码有效开始时间 | 该字段填写时,validEnd必填格式:yyyyMMddHHmmss |
codeValidEnd | Number(14) | 否 | 码有效结束时间 | 该字段填写时,validStart必填格式:yyyyMMddHHmmss |
purchaseOrderNum | String | 否 | 用户购买订单号 | |
merchantRealAmount | Number | 否 | 用户购买时商户实收金额 | 单位:分 |
merchantBenefit | Number | 否 | 用户购买时商户优惠金额 | 单位:分 |
optTag | String(2) | 是 | 操作分类 | 04:激活 |
**请求报文举例**
```
{
"requestId":"20181019112535100000000000000001",
"codeArray": ["10215523190570712621"],
"callBackUrl": "http://test.com/api/codeActivate",
"purchaseOrderNum":"201911191947000001",
"optTag": "04",
}
```
**同步返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | 返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果 |
returnMsg | String | 是 | 请求返回信息 | |
data/checkResult | Object<[data/checkResult](https://book.e-buy.com/books/e-buy-40/page/26e35 "data")> | 是 | 批量码激活初步校验返回 |
**同步返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"data": {
"requestId": "10000000000000000000002",
"tradeNo": "10000000000000000000002",
"saleChannelId":10002410,
"createDate": "20191119",
"createTime": "20191119200100",
"codeNum": 1,
"resultCode": "00",
"resultMsg": "SUCCESS",
}
}
```
**回调返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/01386 "statusUpdateData")> | 否 | 码状态更新返回数据 |
**回调返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181019112535100000000000000008",
"currentStatus": "00",
"statusDesc": "未使用",
"updateDate":"20181019",
"updateTime":"20181019112535"
}
}
```
# 批量码延期
#### **接口用途**
- 多码批量延期时,调用此接口
- 批量延期有两种方式:1.所有的码同一个有效期;2.每个码单独对应一个有效期。
#### **接口说明**
- 一次可以多码延期,一次最多1000个码。
#### **action**
- `BatchCodeUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
codeArray | List | 否 | 码号数组 | 所有的码同一个有效期,与codeObjArray选择一个上传。该值上传时codeValidEnd必填 |
codeValidEnd | String | 否 | 码有效期结束时间 | codeArray上传时,该值必填 |
codeObjArray | List<CodeDelayInfo> | 是 | 码更新集 | 每个码单独对应一个有效期。与codeArray选择一个上传 |
saleChannelId | Long | 否 | 取码方id | |
saleChannelOrderId | String | 否 | 取码方制码订单号 | 当codeArray和codeObjArray均无值时取该订单号下所有串码进行延期。当订单号有值时取码方id必填 |
callBackUrl | String | 是 | 更新成功后的回调地址 | |
updateShopNo | String(10) | 否 | 更新门店号 | |
updateOrg | String(10) | 否 | 更行机构 | |
optTag | String(2) | 是 | 操作分类 | B5:批量延期 |
**请求报文举例**
```
{
"requestId":"20181019112535100000000000000001",
"codeArray": ["10215523190570712621"],
"callBackUrl": "http://test.com/api/codeVoid",
"codeValidEnd": "20200224235959",
"optTag": "B5",
}
```
**同步返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/598b3 "statusUpdateData")> | 是 | 批量码作废初步校验返回 |
**同步返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"data": {
"requestId": "10000000000000000000002",
"tradeNo": "10000000000000000000002",
"codeNum": 1
}
}
```
**回调返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateCallbackData](https://book.e-buy.com/books/e-buy-40/page/01386 "statusUpdateCallbackData")> | 否 | 码状态更新返回数据 |
**回调返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181019112535100000000000000008",
"totalCodeNum": 1,
"successCodeNum": 1,
"codeArray": [{
"code": "100213321414112234",
...
}],
}
}
```
# 批量码作废
#### **接口用途**
- 多码批量作废时,调用此接口
#### **接口说明**
- 一次可以多码作废,一次最多20个码。
#### **action**
- `BatchCodeUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
codeArray | List | 是 | 码号数组 | |
saleChannelId | Long | 否 | 取码方id | |
saleChannelOrderId | String | 否 | 取码方制码订单号 | 当codeArray无值时取该订单号下所有串码进行作废。当订单号有值时取码方id必填 |
callBackUrl | String | 是 | 激活成功后的回调地址 | |
updateShopNo | String(10) | 否 | 激活门店号 | |
updateOrg | String(10) | 否 | 激活机构 | |
optTag | String(2) | 是 | 操作分类 | B1:批量作废 |
**请求报文举例**
```
{
"requestId":"20181019112535100000000000000001",
"codeArray": ["10215523190570712621"],
"callBackUrl": "http://test.com/api/codeVoid",
"optTag": "B1",
}
```
**同步返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/598b3 "statusUpdateData")> | 是 | 批量码作废初步校验返回 |
**同步返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"data": {
"requestId": "10000000000000000000002",
"tradeNo": "10000000000000000000002",
"codeNum": 1
}
}
```
**回调返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateCallbackData](https://book.e-buy.com/books/e-buy-40/page/15438 "statusUpdateCallbackData")> | 否 | 码状态更新返回数据 |
**回调返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181019112535100000000000000008",
"totalCodeNum": 1,
"successCodeNum": 1,
"codeArray": [{
"codeId": "1212431432",
"searchCode": "100***1234",
"codeSecret": "100213321414112234",
...
}],
}
}
```
# 码信息更新接口
#### **接口用途**
- 当需要对指定码的部分信息进行更新时,调用此接口
#### **接口说明**
- 码表中以掩码为分表位,每查询某个码时必须有明确的码号。
#### **action**
- `CodeDetailUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
code | String | 是 | 码号 | |
updateOpts | <[updateOpt](https://book.e-buy.com/books/e-buy-40/page/02522 "updateOpt")> | 是 | 码明细更新操作 |
**请求报文举例**
```
{
"requestId": "20180912162026",
"code": "1012123342335432145",
"updateOpts": {
"updatePurchaseTime": "20181103105501",
"updateMakeNotifyType": {
"mobilePhone": "13510121314"
},
"updateMerchantRealAmount": 1200
}
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/01386 "statusUpdateData")> | 否 | 码状态更新返回数据 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20180912162026",
"currentStatus": "00",
"statusDesc":"未使用",
"updateDate":"20181019",
"updateTime":"20181019112535"
}
}
```
# 码信息查询
#### **接口用途**
- 当需要查询某个指定码时,取码方调用此接口
#### **接口说明**
- 码表中以掩码为分表位,每查询某个码时必须有明确的码号。
#### **action**
- `CodeQuery`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
codes | List | 是 | 验码集合 | 最大不超过20 |
brandId | String | 否 | 核销门店所属品牌 | 组合劵必须上送,易百提供 |
cityId | String | 否 | 门店所在城市id | 易百提供的城市id |
storeInfo | Object<[storeInfo](https://book.e-buy.com/books/e-buy-40/page/54229 "storeInfo")> | 否 | 门店串码查询时上送 |
**请求报文举例**
```
{
"requestId": "20181019112535100000000000000002",
"codes": ["1021242013780905000"],
"brandId":"2429",
"cityId":5493
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 |
|
returnMsg | String | 是 | 请求返回信息 |
|
data | Object<[codeQueryResponseData](https://book.e-buy.com/books/e-buy-40/page/0584c "codeQueryResponseData")> | 否 | 码信息 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "171698602301",
"data":{
"codeDetail":[{
"code":"1021242013780905000",
"saleChannelOrderId":"20181120155110",
"sendChannelName":"易百自制渠道",
"saleChannelCode":"990001",
"useTimes":1,
"verifyTimes":1
"remainTimes":0,
"createDate": "20180905",
"createTime": "20180905160911",
"validStart":"20181123000000",
"validEnd":"20181124235959",
"verifyDate":"20181123",
"verifyTime":"20181124121243",
"status": "01",
"statusDesc": "已使用",
"cityCheck":"Y",
"ticketId":"9000000001",
"faceValue":3000,
"ticketName":"星巴克30元代金券",
"shopNo":"1111",
"shopName":"星巴克测试门店"
"faceValue":1000,
},{
"code":"1021242013780905001",
"saleChannelOrderId":"20181120155110",
"sendChannelName":"易百自制渠道",
"remainTimes":1,
"createDate": "20180905",
"createTime": "20180905160911",
"validStart":"20181123000000",
"validEnd":"20181124235959",
"verifyDate":"20181123",
"verifyTime":"20181124121243",
"status": "01",
"statusDesc": "已使用",
"cityCheck":"Y",
"ticketId":"9000000001",
"faceValue":3000,
"ticketName":"星巴克30元代金券",
"shopNo":"1111",
"shopName":"星巴克测试门店"
"faceValue":1000,
}]
}
}
```
#### **券状态枚举**
字段 | 字段意义 | 备注 |
---|
00 | 可使用 |
|
01 | 已使用 |
|
02 | 可使用(一码多次使用时,码还有可用次数) |
|
03 | 未激活 | 未激活的码需调用激活接口才能 |
04 | 已冻结 |
|
05 | 已作废 |
|
06 | 已过期 |
|
07 | 未生效 | 当制码时选择次日生效,核销时会返回该状态 |
08 | 不能退款 | 仅核销场景-不支持核销撤销(根据业务场景配置是否支持隔日和当日核销撤销) |
09 | 券不存在 | 券码不存在(券码查询、核销、核销撤销) |
21 | 电子凭证不可用 | 券码不在有效期
|
35 | 码配置异常 |
|
51 | 改码不存在制码方 |
|
97 | 报文错误 | 接口调用参数校验不通过 |
C2 | 商户无权限 | 券码查询和核销 权限校验不通过 |
# 单码核销
#### **接口用途**
- 券码进行核销时,调用此接口
#### **接口说明**
- 一次只能对一个码进行核销。
#### **action**
- `CodeVerify`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
verifyScene | String | 是 | 交易场景.offline线下,online线上 | |
code | String | 是 | 码号 | |
isProductCheck | String | 是 | 是否校验订单产品规则 | 是Y,否N |
requestId | String | 是 | 请求流水号确保永久唯一性 | 32位长度 |
refNo | String | 否 | 系统参考号 | 12位长度 |
cashierTransNo | String | 否 | 收银机流水号 | 最长64位长度 |
requestId | String | 是 | 请求流水号确保永久唯一性 | 32位长度 |
storeInfo | Object<[storeInfo](https://book.e-buy.com/books/e-buy-40/page/6f492 "storeInfo")> | 否 | 门店核销时上送,组合劵必填 | |
cashTotalAmount | Number | 否 | 订单总金额(收银机总金额也是用此字段) | 单位:分 |
goodsDetail | List<[goodsDetail](https://book.e-buy.com/books/e-buy-40/page/1d7f7-Fbe "goodsDetail")> | 否 | (只有在收银POS上发起交易时才上送) | |
remark | String | 否 | 备注(在核销撤销、核销查询等接口原样返回) | |
**请求报文举例**
```
{
"verifyScene":"offline",
"code": "10215523190570712621",
"requestId": "20181019112535100000000000000001",
"refNo": "181215430700",
"cashierTransNo": "42441908138100007498001",
"storeInfo": {
"cityId":"1012",
"swift": "00105",
"tid": "99000014",
"mid": "99000013341001",
"shopNo": "C00001",
"storeName": "上海浦东测试门店",
"manageCompany": "上海浦东测试店管理公司",
"companyId": "218"
},
"cashTotalAmount": "20000",
"goodsDetail": [{
"sku": "1112343",
"qty": 1,
"price": 3000,
"type": "03",
"spec": "03"
}, {
"sku": "1212342",
"qty": 1,
"price": 3500,
"type": "03",
"spec": "03"
}]
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | 返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果 |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[data](https://book.e-buy.com/books/e-buy-40/page/f7490 "data")> | 是 | 券码核销订单明细返回 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "10000000000000000000002",
"data": {
"cashTotalAmount": 17800,
"faceValue": 50000,
"fundsChannel": {
"totalAmount": 50000,
"discountAmount": 50000,
"merchantRealAmount": 40000,
"channelBenefit": 10000,
"merchantBenefit": 10000,
"userRealAmount": 30000
},
"goodsDetail": [{
"sku": "1212342",
"qty": 1,
"price": 3500,
"type": "03",
"spec": "03"
}],
"code": "10215523190570712621",
"ticketId": "3",
"ticketName": "50 元现金抵价券 ",
"activityNo": "2017071951",
"activityName": "联动优势电子凭证",
"thirdActivityId": "20190226134100",
"returnCashParam":{
"tenderCode":"132"
},
"printData": "00|产品:测试券|00|团购价:100|00|订单号:100000000002100002|00|兑换码:101105********4289|"
}
}
```
# 单码核销撤销
#### **接口用途**
- 当需要将本次核销交易撤销时调用
#### **接口说明**
- 此接口支持撤销指定日期的核销交易
#### **action**
- `CodeVerifyVoid`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 小于32个字符 |
originalRequestId | String | 是 | 原核销请求流水号 | 32个字符,用于标识唯一一笔交易 |
**请求报文举例**
```
{
"requestId": "10000000000000000000001",
"originalRequestId":"10000000000000000000002"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
requestId | String | 是 | 原样返回 | |
amount | Number | 否 | 本次撤销金额单位分 | 仅在收银一体化时用到 |
code | String | 是 | 撤销的券码号 | |
ticketName | String | 是 | 券名称 | |
verifyRemark | String | 否 | 核销备注信息 | 核销接口上送原样返回 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": 10000000000000000000001,
"amount": "5000",
"code": "10215523190570712621",
"ticketName": "50 元现金抵价券 "
}
```
# 单码核销查询
#### **接口用途**
- 核销接口调用超时对核销结果未知道,可以调用此接口来查询核销结果
#### **接口说明**
- 此接口默认支持查询当日内核销交易
- 也可传参originalDate查询指定日核销交易
#### **action**
- `CodeVerifyQuery`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
originalRequestId | String | 是 | 原核销请求流水号 | 32个字符 |
originalDate | String | 否 | 原交易日期 | 传入需要查询的原交易日期,不传默认为当天格式为yyyyMMdd |
**请求报文举例**
```
{
"requestId": "20180905000",
"originalRequestId":"1021867639235435",
"originalDate": "20170912"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
requestId | String | 是 | 原样返回 | |
verifyRemark | String | 否 | 核销备注信息 | 核销接口上送原样返回 |
data | Object<[data](https://book.e-buy.com/books/e-buy-40/page/f7490 "data")> | 是 | 券码核销订单明细返回 | |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "10000000000000000000002",
"data": {
"cashTotalAmount": 17800,
"fundsChannel": {
"totalAmount": 50000,
"discountAmount": 50000,
"merchantRealAmount": 40000,
"channelBenefit": 10000,
"merchantBenefit": 10000,
"userRealAmount": 30000
},
"goodsDetail": [{
"sku": "1212342",
"qty": 1,
"price": 3500,
"type": "03",
"spec": "03"
}],
"code": "10215523190570712621",
"ticketId": "3",
"ticketName": "50 元现金抵价券 ",
"activityNo": "2017071951",
"activityName": "联动优势电子凭证",
"printData": "00|产品:测试券|00|团购价:100|00|订单号:100000000002100002|00|兑换码:101105********4289|"
}
}
```
# 单码核销通知
#### **接口用途**
- 用于实现易百券核销成功后将核销状态通知到第三方系统
#### **接口说明**
- 接口异步通知第三方
**请求参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 核销流水号 | 小于64个字符 |
channelId | String | 是 | 通知渠道 |
|
ticketId | String | 是 | 券ID |
|
ticketName | String | 是 | 券名称 |
|
thirdActivityId | String | 是 | 第三方活动id |
|
code | String | 是 | 券号 |
|
shopNo | String | 否 | 门店编号 |
|
shopName | String | 否 | 门店名称 |
|
verifyRefno | String | 否 | 线下核销机具流水号 |
|
verifyTime | String | 是 | 券核销时间 | 格式:yyyyMMddHHmmss |
verifyType | String | 是 | 核销类型 | 1表示POS机验证; 2表示接口验证;
999 表示不用通知上下游
|
orderNo | String | 是 | 制码订单号 |
|
orderItemId | String | 是 | 制码子订单号,对接方唯一识别码 |
|
discountAmount | String | 否 | 核销折抵金额 | 单位分 |
**请求报文举例**
```
{
"requestId": "10000000000000000000001",
"ticketId":"9000000021",
"ticketName":"汉堡王皇堡/天椒皇堡套餐[bobo测试取码方]",
"thirdActivityId": "20190226134100",
"code":"10112504119074937195",
"shopNo":"1870002",
"shopName":"家有好面龙阳路店",
"verifyRefno":"178491000582",
"verifyTime":"20181016103223",
"verifyType":"1",
"orderNo":"a1b626f8b39b4852bfaedc69cc4dbff5",
"orderItemId":"10191f7aee084db8915dd77293a65906",
"discountAmount":"2000"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | 09 券码不存在
01 券码已使用
00 券码核销成功
|
returnMsg | String | 是 | 请求返回信息 |
|
requestId | String | 是 | 原样返回 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "10000000000000000000001"
}
```
# 单码核销撤销通知
#### **接口用途**
- 用于实现易百券核销撤销成功后将通知到第三方系统
#### **接口说明**
- 接口异步通知第三方
**请求参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")<===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 核销撤销请求流水号 | 小于64个字符 |
verifyTime | String | 是 | 券核销撤销时间 | 格式:yyyyMMddHHmmss |
code | String | 是 | 劵码 | |
originalRequestId | String | 是 | 原核销交易流水号 | 小于64个字符 |
orderNo | String | 否 | 制码订单号 | |
orderItemId | String | 否 | 制码子订单号,对接方唯一识别码 |
**请求报文举例**
```
{
"requestId": "10000000000000000000002",
"verifyTime":"20181016103223",
"code":"10215523190570712621",
"originalRequestId": "10000000000000000001001",
"orderNo":"a1b626f8b39b4852bfaedc69cc4dbff5",
"orderItemId":"10191f7aee084db8915dd77293a65906"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
requestId | String | 是 | 原样返回 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "10000000000000000000001"
}
```
# 码预核销接口
#### **接口用途**
- 当需要确认码是否可用在当前场景时,调用此接口,
#### **接口说明**
- 建议单码场景使用。多码需确认是否满足需求。
#### **action**
- `CodeCheck`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
codes | List | 是 | 验码集合 | |
cashTotalAmount | Number | 是 | 订单金额 | 单位:分 |
isProductCheck | String | 是 | 是否校验订单产品规则 | 是Y,否N |
brandId | String | 否 | 品牌id | 多品牌使用的码,此字段必传 |
shopNo | String(20) | 否 | 门店号 | 线下场景必填 |
tid | String(8) | 否 | 终端号 | |
cityId | String | 否 | 城市id,对接时使用ebuy城市id | 有规则时必须上传 |
goodsDetail | Object<[goodsDetail](https://book.e-buy.com/books/e-buy-40/page/1d7f7-Fbe "goodsDetail")> | 否 | 折抵产品明细 | 目前支持单码预核销检查使用 |
**请求报文举例**
```
{
"requestId":"2018111911253510000010",
"codes":["101111111111","1022222222222","1033333333333","104444444444"],
"cashTotalAmount":"20000",
"brandId":"121",
"tid":"99000014",
"shopNo":"123456",
"cityId":"1012",
"companyId":"11",
"goodsDetail":[{
"sku": "1112343",
"qty": 1,
"price": 3000,
"type": "03",
"spec": "03"
}, {
"sku": "1212342",
"qty": 1,
"price": 3500,
"type": "03",
"spec": "03"
}]
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 00为成功,其他均为失败 | |
returnMsg | String | 是 | 请求返回信息 | |
data/checkResult | Object<[data/checkResult](https://book.e-buy.com/books/e-buy-40/page/e1e32 "checkResult")> | 是 | 劵码查询结果 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"data": {
"checkResult":[{
"code":"1021242013780905000",
"saleChannelCode":"990001",
"saleChannelName":"易百码",
"status": "00",
"discountAmount":3000
},{
"code":"1021242013780905000",
"saleChannelCode":"990001",
"saleChannelName":"易百码",
"status": "06",
"discountAmount":3000,
}]
}
}
```
#### **券状态枚举**
字段 | 字段意义 | 备注 |
---|
00 | 可用 |
01 | 已使用 |
03 | 未激活 | 未激活的码需调用激活接口才能 |
04 | 已冻结 |
05 | 已作废 |
06 | 已过期 | |
07 | 未生效 | 当制码时选择次日生效,核销时会返回该状态 |
09 | 码不存在 |
35 | 劵数据异常 | 联系易百确认 |
39 | 核销失败 |
91 | 核销异常 |
# 批量码核销
#### **接口用途**
- 多码批量核销时,调用此接口
#### **接口说明**
- 一次可以多码核销,一次最多10个码。
#### **action**
- `BatchCodesVerify`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
verifyScene | String | 是 | 交易场景.offline线下,online线上 | 线上也可以传抖音、美团等 |
codes | List | 是 | 码号数组 | |
verifyCodes | List<[codeArr](https://book.e-buy.com/books/e-buy-40/page/cfa08)> | 否 | 指定券码阶梯价序号 |
|
isProductCheck | String | 是 | 是否校验订单产品规则 | 是Y,否N |
requestId | String | 是 | 请求流水号确保永久唯一性 | 32位长度 |
refNo | String | 否 | 系统参考号 | 12位长度 |
cashierTransNo | String | 否 | 收银机流水号 | 最长64位长度 |
storeInfo | Object<[storeInfo](https://book.e-buy.com/books/e-buy-40/page/6f492 "storeInfo")> | 否 | 此信息为线下门店核销时上送 | 线下核销必填 |
cashTotalAmount | Number | 否 | 订单总金额 | 单位:分 |
goodsDetail | List<[goodsDetail](https://book.e-buy.com/books/e-buy-40/page/1d7f7-Fbe "goodsDetail")> | 否 | (只有在收银POS上发起交易时才上送) | |
remark | String | 否 | 备注(在核销撤销、核销查询等接口原样返回) | |
**请求报文举例**
```
{
"verifyScene":"online",
"codes": ["10215523190570712621"],
"requestId": "20181019112535100000000000000001",
"refNo": "181215430700",
"cashierTransNo": "42441908138100007498001",
"storeInfo": {
"cityId":"1012",
"shopNo": "C00001",
"shopName": "上海浦东测试门店",
"manageCompany": "上海浦东测试店管理公司",
"companyId": "218"
},
"cashTotalAmount": "20000",
"goodsDetail": [{
"sku": "1112343",
"qty": 1,
"price": 3000,
"type": "03",
"spec": "03"
}, {
"sku": "1212342",
"qty": 1,
"price": 3500,
"type": "03",
"spec": "03"
}]
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | 返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果 |
returnMsg | String | 是 | 请求返回信息 | |
data/checkResult | Object<[data/checkResult](https://book.e-buy.com/books/e-buy-40/page/1afa3 "data")> | 是 | 券码核销信息明细返回 |
**返回报文举例**
```
{
"requestId": "10000000000000000000002",
"returnCode": "00",
"returnMsg": "操作成功",
"data": {
"verifyResult":[{
"code":"1021242013780905000",
"saleChannelCode":"990001",
"saleChannelCode":"易百码",
"status":"00",
"fundsChannel": {
"discountAmount": 3000,
"merchantRealAmount":0.0,
"channelBenefit": 0.0,
"merchantBenefit": 0.0
},
"faceValue":3000,
"ticketId":"3",
"ticketName":"30元现金抵价券",
"returnCashParam":{
"tenderCode":"135"
}
},{
"code":"1021242013780905000",
"saleChannelCode":"990001",
"saleChannelCode":"易百码",
"status":"06",
"fundsChannel": {
"discountAmount": 1000,
"merchantRealAmount":0.0,
"channelBenefit": 0.0,
"merchantBenefit": 0.0
},
"faceValue":1000,
"ticketId":"6",
"ticketName":"10元现金抵价券",
"returnCashParam":{
"tenderCode":"132"
}
}]
}
}
```
#### **status枚举**
字段 | 字段意义 | 备注 |
---|
00 | 可使用 |
01 | 已使用 |
03 | 未激活 | 未激活的码需调用激活接口才能 |
04 | 已冻结 |
05 | 已作废 |
06 | 已过期 | |
07 | 未生效 | 当制码时选择次日生效,核销时会返回该状态 |
09 | 码不存在 |
10 | 券码状态异常,券码无效 |
23 | 商户商品号传送错误 |
26 | 券码不能在本门店使用 |
C1 | 商户号门店信息有误 |
C2 | 商户无权限 |
T2 | 易百调用第三方失败 |
A4 | 其他异常 |
# 批量码核销查询
#### **接口用途**
- 批量核销接口调用超时对核销结果未知道,可以调用此接口来查询核销结果
#### **接口说明**
- 此接口默认支持查询当日内核销交易
- 也可传参originalDate查询指定日核销交易
#### **action**
- `BatchCodeVerifyQuery`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
originalRequestId | String | 是 | 原核销请求流水号 | 32个字符 |
originalDate | String | 否 | 原交易日期 | 传入需要查询的原交易日期,不传默认为当天格式为yyyyMMdd |
**请求报文举例**
```
{
"requestId": "20180905000",
"originalRequestId":"1021867639235435",
"originalDate": "20170912"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
requestId | String | 是 | 原样返回 | |
verifyRemark | String | 否 | 核销备注信息 | 核销接口上送原样返回 |
data/verifyQueryResponse | Object<[data/verifyQueryResponse](https://book.e-buy.com/books/e-buy-40/page/19f3c-LQF "data")> | 是 | 券码核销订单明细返回 | |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "10000000000000000000002",
"data": {
"verifyQueryResponse": [{
"cashTotalAmount": 17800,
"fundsChannel": {
"totalAmount": 50000,
"discountAmount": 50000,
"merchantRealAmount": 40000,
"channelBenefit": 10000,
"merchantBenefit": 10000,
"userRealAmount": 30000
},
"goodsDetail": [{
"sku": "1212342",
"qty": 1,
"price": 3500,
"type": "03",
"spec": "03"
}],
"code": "10215523190570712621",
"ticketId": "3",
"ticketName": "50 元现金抵价券 ",
"activityNo": "2017071951",
"activityName": "联动优势电子凭证",
"printData": "00|产品:测试券|00|团购价:100|00|订单号:100000000002100002|00|兑换码:101105********4289|"
}]
}
}
```
# 批量码核销撤销
#### **接口用途**
- 多码批量核销订单撤销时或订单中部分码撤销,调用此接口。
#### **接口说明**
- 撤销批量核销订单,调用前请确认订单是否符合撤销条件。
#### **action**
- `BatchCodeVerifyVoid`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 小于32个字符 |
originalRequestId | String | 是 | 原核销请求流水号 | 32个字符,用于标识唯一一笔交易 |
codes | List | 否 | 原订单中批量核销撤销的码 | 此字段不填默认整订单撤销 |
voidDate | String | 否 | 原交易时间,默认当天 | 格式:YYYYMMDD |
isAtomicity | String | 否 | 是否需要支持原子性,原交易中码核销撤销要么全部成功要么全部失败 | Y:是,N:否(默认) |
**请求报文举例**
```
{
"requestId": "10000000000000000000001",
"originalRequestId":"10000000000000000000002"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | 返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果 |
returnMsg | String | 是 | 请求返回信息 | |
verifyRemark | String | 否 | 核销备注信息 | 核销接口上送原样返回 |
data/voidResult | Object<[data/voidResult](https://book.e-buy.com/books/e-buy-40/page/18997)> | 是 | 券码核销信息明细返回 | |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": 10000000000000000000002,
"data": {
"voidResult":[{
"code":"1021242013780905000",
"status":"00",
"statusDesc":"成功",
"amount": "5000",
"ticketName": "50 元现金抵价券 "
}]
}
}
```
# 取码方可用券查询
#### **接口用途**
- 当取码方需要知道自己可用的券时,可调用此接口
#### **action**
- `ChannelTicketQuery`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
activityValidStart | String | 是 | 活动开始时间 | yyyyMMddHHmmss |
activityValidEnd | String | 是 | 活动结束时间 | yyyyMMddHHmmss |
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
**请求报文举例**
```
{
"requestId": "20181019112535100000000000000002",
"activityValidStart": "20180901000000",
"activityValidEnd": "20181231595959"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | List<[channelTicketQuery](https://book.e-buy.com/books/e-buy-40/page/f7664 "channelTicketQuery")> | 否 | 券信息 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": [{
"ticketId": "10001",
"ticketName": "星巴克30元代金券",
"activityId": "20001",
"activityName": "浦发星巴克代金券活动",
"activityValidStart": "20180901000000",
"activityValidEnd": "20181231595959",
"thirdActivityId": "20190226134100",
"codeValidStart": "20180901000000",
"codeValidEnd": "20181231595959",
"createDate": "20181018",
"createTime": "20181018183454",
"activityUseDescription": {
"useDescription":活动使用说明""
},
"ticketUseDescription": {
"ticketPicture":"www.baidu.com",
"useThreshold":"使用门槛",
"discountDescription":"优惠说明",
"useDescription":"使用说明"
}
},{
"ticketId": "10002",
"ticketName": "星巴克50元代金券",
"activityId": "20001",
"activityName": "浦发星巴克代金券活动",
"activityValidStart": "20180901000000",
"activityValidEnd": "20181231595959",
"codeValidStart": "20180901000000",
"codeValidEnd": "20181231595959",
"createDate": "20181018",
"createTime": "20181018183454",
"activityUseDescription": {
"useDescription":活动使用说明""
},
"ticketUseDescription": {
"ticketPicture":"www.baidu.com",
"useThreshold":"使用门槛",
"discountDescription":"优惠说明",
"useDescription":"使用说明"
}
}]
}
```
# 外部核销通知
#### **接口用途**
- 用于实现外部系统劵成功后通知到易百
#### **接口说明**
- 第三方通知EBUY
#### **action**
- `CodeVerifyNotify`
**请求参数,CHANNEL**===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 小于32个字符 |
thirdVerifyId | String | 否 | 核销流水号 | 第三方码核销通知时上传该字段,用于标识在第三方库中的核销记录 |
ticketName | String | 否 | 券名称 | |
brandId | String | 是 | 品牌 | 易百定义 |
code | String | 是 | 券号 | |
mid | String | 否 | 商户号 | |
shopNo | String | 否 | 门店编号 | |
shopName | String | 否 | 门店名称 | |
tid | String | 否 | pos终端号 | |
verifyTime | String | 是 | 券核销时间 | 格式:yyyyMMddHHmmss |
verifyType | String | 是 | 核销类型 | 1表示POS机验证;2表示接口验证 |
orderNo | String | 否 | 制码订单号 | |
orderItemId | String | 否 | 制码子订单号,对接方唯一识别码 | |
amount | Number | 否 | 核销金额 | 单位:分 |
**请求报文举例**
```
{
"requestId": "10000000000000000000002",
"originalRequestId":"10000000000000000000001",
"ticketName":"汉堡王皇堡/天椒皇堡套餐",
"code":"10112504119074937195",
"shopNo":"1870002",
"shopName":"家有好面龙阳路店",
"verifyTime":"20181016103223",
"verifyType":"1",
"orderNo":"a1b626f8b39b4852bfaedc69cc4dbff5",
"orderItemId":"10191f7aee084db8915dd77293a65906"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
requestId | String | 是 | 原样返回 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "10000000000000000000002"
}
```
# 外部核销撤销通知
#### **接口用途**
- 用于实现第三方核销撤销EBUY的劵成功后通知[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")
#### **接口说明**
- 第三方核销撤销成功后通知EBUY
#### **action**
- `CodeVerifyVoidNotify`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 核销撤销请求流水号 | 小于64个字符 |
originalRequestId | String | 是 | 第三方核销时流水号 | 32个字符,用于标识唯一一笔交易 |
voidTime | String | 是 | 券撤销时间 | 格式:yyyyMMddHHmmss |
code | String | 是 | 劵码 | |
orderNo | String | 否 | 制码订单号 | |
orderItemId | String | 否 | 制码子订单号,对接方唯一识别码 |
**请求报文举例**
```
{
"requestId": "10000000000000000000002",
"originalRequestId":"10000000000000000000001",
"voidTime":"20181016103223",
"code":"10215523190570712621",
"orderNo":"a1b626f8b39b4852bfaedc69cc4dbff5",
"orderItemId":"10191f7aee084db8915dd77293a65906"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
requestId | String | 是 | 原样返回 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "10000000000000000000001"
}
```
# 串码通知到用户微信卡包接口
#### **接口用途**
- 当需要将已制出的串码通知到用户微信卡包时,调用此接口
#### **接口说明**
- 易百不提供插入微信卡包功能,插入卡包的服务商为该码的制码方。
- 此接口为异步执行,同步返回成功表明任务提交成功,实际插入卡包结果异步通知到。
#### **action**
- `NotifyCodeToUser`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
code | String | 是 | 待通知串码号 |
callBackUrl | String | 是 | 结果回调地址 | |
weChatCardPackageInfo | Object<[weChatCardPackageInfo](https://book.e-buy.com/books/e-buy-40/page/ad972-VKK "weChatCardPackageInfo")> | 否 | 微信卡包信息 |
**请求报文举例**
```
{
"requestId":"20181018183139",
"code": "100243020180912162026",
"callBackUrl": "www.XXX.com",
"weChatCardPackageInfo":{
"userUnionId":"1rbu123430vj"
}
}
```
**同步返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[notifyCodeToCardPackageResponse](https://book.e-buy.com/books/e-buy-40/page/d947b "notifyCodeToCardPackageResponse")> | 否 | 同步返回报文 |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181018183139",
}
}
```
**异步返回参数,ESB===>CHANNEL**
- 默认情况下异步报文与同步报文一致
# 星巴克箱包本码查询
#### **接口用途**
- 当需查询箱包本码集合
#### **接口说明**
- 传入箱、本、码编号,分别获得对应的码列表
####
**请求参数**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
queryType | String | 是 | 查询类型 | X 箱, B1 包, B2本 |
queryCode | String | 是 | 查询编号 | |
**请求报文举例**
```
{
"queryType": "X",
"queryCode":"123"
}
```
**返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | 00 正常,非00是错误 |
returnMsg | String | 是 | 请求返回信息 | |
codeList | List<String> | 否 | 码信息 | |
**返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": [
"100000000001212121",
"100000000001212122",
"100000000001212123"
]
}
```
# 异步第三方制码
#### **接口用途**
- 用于异步第三方制码的请求参数,发送到whale-gateway数据格式
#### **接口说明**
- 这里规定了标准的请求报文格式,发送到whale-gateway模块,然后具体对于不同码商的报文格式需要gateway转换
#### **action**
- **MakeCode**
**请求参数,whale===>whale-gateway**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
channelId | String | 是 | 渠道Id | |
channelTicketId | String | 是 | 渠道批次Id | |
codeValidEnd | String | 是 | 券码有效期结束时间 | 格式为yyyyMMdd235959 |
codeValidStart | String | 是 | 券码有效期开始时间 | 格式为yyyyMMdd000000 |
faceValue | Double | 是 | 券面值 | |
netValue | Double | 是 | 净值 | |
orderId | String | 是 | 订单Id | |
requestId | String | 是 | 请求流水号 | |
saleChannelOrderId | String | 是 | 外部订单编号 | |
totalCount | String | 是 | 制码数量 | |
transDate | String | 是 | 交易日期 | 格式为
yyyyMMdd
|
transTime | String | 是 | 交易时间 | 格式为
yyyyMMddHHmmss
|
useTimes | String | 是 | 可核销次数 | |
whaleTicketId | String | 是 | whale券Id | |
saleChannelItemId | String | 是 | 子订单号 | |
**请求报文举例**
```JSON
{
"channelId": "136",
"faceValue": -1,
"makeFundsChannel": {
"benefitAmount": 0,
"channelBenefit": 0,
"discountAmount": 0,
"merchantBenefit": 0,
"merchantCustomBenefit": -1,
"merchantCustomRealAmount": -1,
"merchantRealAmount": 10,
"totalAmount": 100,
"userRealAmount": 80
},
"netValue": -1,
"orderId": "d84c1302a5e84774813bc9f1b7aaea8a",
"orderRemark": "testtttt",
"requestId": "d84c1302a5e84774813bc9f1b7aaea8a",
"saleChannelOrderId": "d84c1302a5e84774813bc9f1b7aaea8a",
"totalCount": "1",
"transDate": "20220506",
"transTime": "20220506215213",
"useTimes": "12",
"whaleTicketId": "162"
}
```
**返回参数,whale-gateway===>whale**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
sendChannelOrderId | String | 否 | 订单号 | |
thirdCodeFamilySet | List<[CodeFamilyInfoBO](https://book.e-buy.com/books/e-buy-40/page/a5bfc)> | | | |
**返回报文举例**
```JSON
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"sendChannelOrderId": "",
"thirdCodeFamilySet": []
}
```
# 第三方码异步结果通知
#### **接口用途**
- 第三方券码异步处理完成后的通知接口
#### **接口说明**
- 接收统一的报文格式
#### **action**
- `AsynThirdCodeCallback`
**请求参数,CHANNEL===>WHALE**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
createDate | String | | 创建日期 | |
createTime | String | | 创建时间 | |
returnCode | String | | 返回编码 | |
outerOrderId | String | | 制码订单号 | |
codeFamilyInfo | [CodeFamilyInfoBO](https://book.e-buy.com/books/e-buy-40/page/a5bfc) | | 券码 | |
# 同步批量码作废
#### **接口用途**
- 多码批量作废时,调用此接口
#### **接口说明**
- 一次可以多码作废,一次最多20个码。
#### **action**
- `SyncBatchCodeUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
codeArray | List | 是 | 码号数组 | |
saleChannelId | Long | 否 | 取码方id | |
saleChannelOrderId | String | 否 | 取码方制码订单号 | 当codeArray无值时取该订单号下所有串码进行作废。当订单号有值时取码方id必填 |
callBackUrl | String | 是 | 激活成功后的回调地址 | |
updateShopNo | String(10) | 否 | 激活门店号 | |
updateOrg | String(10) | 否 | 激活机构 | |
optTag | String(2) | 是 | 操作分类 | B1:批量作废 |
**请求报文举例**
```
{
"requestId":"20181019112535100000000000000001",
"codeArray": ["10215523190570712621"],
"callBackUrl": "http://test.com/api/codeVoid",
"optTag": "B1",
}
```
**同步返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateCallbackData](https://book.e-buy.com/books/e-buy-40/page/15438 "statusUpdateCallbackData")> | 否 | 码状态更新返回数据 |
**回调返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181019112535100000000000000008",
"totalCodeNum": 1,
"successCodeNum": 1,
"codeArray": [{
"codeId": "1212431432",
"searchCode": "100***1234",
"codeSecret": "100213321414112234",
...
}],
}
}
```
# 异步第三方作废接口
#### **接口用途**
- 用于异步第三方制码的请求参数,发送到whale-gateway数据格式
#### **接口说明**
- 这里规定了标准的请求报文格式,接收ebuyweb-gateway请求
#### **action**
- **syncUpdateCodeStatus**
**请求参数,whale===>whale-gateway**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
outerOrderId | String | 是 | 渠道Id | |
channelTicketId | String | 是 | 渠道批次Id | |
reason | String | 否 | 退款原因 | |
**请求报文举例**
```JSON
{
"outerOrderId": "03136aaaaaaaaaaa",
"channelTicketId": "162",
"reason": "reason"
}
```
**返回参数,whale-gateway===>whale**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
sendChannelOrderId | String | 否 | 订单号 | |
thirdCodeFamilySet | List<[CodeFamilyInfoBO](https://book.e-buy.com/books/e-buy-40/page/a5bfc)> | | | |
**返回报文举例**
```JSON
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"sendChannelOrderId": "",
"thirdCodeFamilySet": []
}
```
# 测试apimock同步
\[yapi\_interface\]617\[/yapi\_interface\]
# 查询码信息查询
接口用途
接口说明
- 码表中以掩码为分表位,每查询某个码时必须有明确的码号。
action
请求参数,CHANNEL===>WHALE
字段 |
类型 |
是否必填 |
字段意义 |
备注 |
---|
requestId |
String |
是 |
请求流水号 |
32个字符,用于标识唯一一笔交易 |
codes |
List |
是 |
验码集合 |
|
brandId |
String |
否 |
核销门店所属品牌 |
组合劵必须上送,易百提供 |
cityId |
String |
否 |
门店所在城市id |
易百提供的城市id |
storeInfo |
Object<storeInfo> |
否 |
门店串码查询时上送 |
请求报文举例
{
"requestId": "20181019112535100000000000000002",
"codes": ["1021242013780905000"],
"brandId":"2429",
"cityId":5493
}
返回参数,WHALE===>CHANNEL
字段 |
类型 |
是否必填 |
字段意义 |
备注 |
---|
returnCode |
String |
是 |
请求返回码 |
|
returnMsg |
String |
是 |
请求返回信息 |
|
data |
Object<codeQueryResponseData> |
否 |
码信息 |
返回报文举例
{
"returnCode": "00",
"returnMsg": "操作成功",
"requestId": "171698602301",
"data":{
"codeDetail":[{
"code":"1021242013780905000",
"saleChannelOrderId":"20181120155110",
"sendChannelName":"易百自制渠道",
"saleChannelCode":"990001",
"useTimes":1,
"verifyTimes":1
"remainTimes":0,
"createDate": "20180905",
"createTime": "20180905160911",
"validStart":"20181123000000",
"validEnd":"20181124235959",
"verifyDate":"20181123",
"verifyTime":"20181124121243",
"status": "01",
"statusDesc": "已使用",
"cityCheck":"Y",
"ticketId":"9000000001",
"faceValue":3000,
"ticketName":"星巴克30元代金券",
"shopNo":"1111",
"shopName":"星巴克测试门店"
"faceValue":1000,
},{
"code":"1021242013780905001",
"saleChannelOrderId":"20181120155110",
"sendChannelName":"易百自制渠道",
"remainTimes":1,
"createDate": "20180905",
"createTime": "20180905160911",
"validStart":"20181123000000",
"validEnd":"20181124235959",
"verifyDate":"20181123",
"verifyTime":"20181124121243",
"status": "01",
"statusDesc": "已使用",
"cityCheck":"Y",
"ticketId":"9000000001",
"faceValue":3000,
"ticketName":"星巴克30元代金券",
"shopNo":"1111",
"shopName":"星巴克测试门店"
"faceValue":1000,
}]
}
}
券状态枚举
字段 |
字段意义 |
备注 |
---|
00 |
可使用 |
01 |
已使用 |
02 |
可使用(一码多次使用时,码还有可用次数) |
03 |
未激活 |
未激活的码需调用激活接口才能 |
04 |
已冻结 |
05 |
已作废 |
06 |
已过期 |
|
07 |
未生效 |
当制码时选择次日生效,核销时会返回该状态 |
09 |
券不存在 |
|
35 |
码配置异常 |
# 现金卡预核销
[yapi_interface]14869[/yapi_interface]