# 交易类接口 # 同步单条发码 #### **接口用途** - 支持请码方一次单品请求调用,单品发码数量上限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系统的别称")**
字段类型是否必填字段意义备注
saleChannelOrderIdString渠道制码订单id最长32位,当上送相同订单号时返回上一次成功信息,如果上一次请码失败,则本次会重新生成码
requestIdString请求流水号最长32位,用于标识唯一一笔交易
remarkJSONString订单备注信息最长200位,订单查询时原样返回
notifyTypeObject<[notifyType](https://book.e-buy.com/books/e-buy-40/page/26657 "notifyType")>制码通知类型
itemObject<[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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
originalChannelOrderIdString原取码方制码订单id小于64个字符
requestIdString请求流水号32个字符,用于标识唯一一笔交易
**请求报文举例** ``` { "originalChannelOrderId": "20180912162026", "requestId":"20180912162026" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
saleChannelOrderIdString渠道制码订单id小于64个字符
requestIdString请求流水号32个字符,用于标识唯一一笔交易
callBackUrlString异步结果回调地址易百以POST请求方式推送
itemsList<[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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
batchMakeCodeResponseDataObject<[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系统的别称")**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
originalChannelOrderIdString原取码方制码订单id小于64个字符
requestIdString请求流水号32个字符,用于标识唯一一笔交易
**请求报文举例** ``` { "originalChannelOrderId": "20180912162026", "requestId":"20180912162026" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataList<[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系统的别称")**
字段类型是否必填字段意义备注
originalChannelOrderIdString取码方制码订单id小于64个字符
orderDateString原下单日期yyyyMMdd
requestIdString请求流水号32个字符,用于标识唯一一笔交易
**请求报文举例** ``` { "originalChannelOrderId": "20180912162026", "orderDate": "20180905", "requestId":"20180912162026" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataList<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeString码号小于22个字符
optTagString(2)操作分类01:作废
**请求报文举例** ``` { "requestId": "20181019112535100000000000000008", "code": "1021242013780905000", "optTag":"01" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
channelOrderIdString销售渠道制码订单id小于64个字符
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeString码号小于22个字符
optTagString(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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
channelOrderIdString销售渠道制码订单id小于64个字符
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeString码号小于22个字符
optTagString(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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeString码号小于22个字符
codeValidDaysNumber相对有效天数除制码当天开始相应天数结束。validStart、validEnd组合与validDay、commissionDate组合可选其一,若全部填写以相对有效期优先
codeValidStartNumber(14)码有效开始时间该字段填写时,validEnd必填格式:yyyyMMddHHmmss
codeValidEndNumber(14)码有效结束时间该字段填写时,validStart必填格式:yyyyMMddHHmmss
activateShopNoString(10)激活门店号
activateOrgString(10)激活机构
purchaseOrderNumString用户购买订单号
notifyTypeObject<[notifyType](https://book.e-buy.com/books/e-buy-40/page/26657 "notifyType")>激活通知类型
makeFundsChannelsArray<[fundsChannel](https://book.e-buy.com/books/e-buy-40/page/cee63 "makeFundsChannel")>资金渠道针对阶梯价场景为必填
makeFundsChannelObject<[makeFundsChannel](https://book.e-buy.com/books/e-buy-40/page/cee63 "makeFundsChannel")>资金渠道当需要在对账报表中体现时必填
optTagString(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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeArrayList码号数组
callBackUrlString激活成功后的回调地址
activateShopNoString(10)激活门店号
activateOrgString(10)激活机构
codeValidDaysNumber相对有效天数除制码当天开始相应天数结束。validStart、validEnd组合与validDay、commissionDate组合可选其一,若全部填写以相对有效期优先
codeValidStartNumber(14)码有效开始时间该字段填写时,validEnd必填格式:yyyyMMddHHmmss
codeValidEndNumber(14)码有效结束时间该字段填写时,validStart必填格式:yyyyMMddHHmmss
purchaseOrderNumString用户购买订单号
merchantRealAmountNumber用户购买时商户实收金额单位:分
merchantBenefitNumber用户购买时商户优惠金额单位:分
optTagString(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**
字段类型是否必填字段意义备注
returnCodeString请求返回码返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果
returnMsgString请求返回信息
data/checkResultObject<[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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeArrayList码号数组所有的码同一个有效期,与codeObjArray选择一个上传。该值上传时codeValidEnd必填
codeValidEndString码有效期结束时间codeArray上传时,该值必填
codeObjArrayList<CodeDelayInfo>码更新集每个码单独对应一个有效期。与codeArray选择一个上传
saleChannelIdLong取码方id
saleChannelOrderIdString取码方制码订单号当codeArray和codeObjArray均无值时取该订单号下所有串码进行延期。当订单号有值时取码方id必填
callBackUrlString更新成功后的回调地址
updateShopNoString(10)更新门店号
updateOrgString(10)更行机构
optTagString(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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeArrayList码号数组
saleChannelIdLong取码方id
saleChannelOrderIdString取码方制码订单号当codeArray无值时取该订单号下所有串码进行作废。当订单号有值时取码方id必填
callBackUrlString激活成功后的回调地址
updateShopNoString(10)激活门店号
updateOrgString(10)激活机构
optTagString(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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeString码号
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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codesList验码集合最大不超过20
brandIdString核销门店所属品牌组合劵必须上送,易百提供
cityIdString门店所在城市id易百提供的城市id
storeInfoObject<[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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
verifySceneString交易场景.offline线下,online线上
codeString码号
isProductCheckString是否校验订单产品规则是Y,否N
requestIdString请求流水号确保永久唯一性32位长度
refNoString系统参考号12位长度
cashierTransNoString收银机流水号最长64位长度
requestIdString请求流水号确保永久唯一性32位长度
storeInfoObject<[storeInfo](https://book.e-buy.com/books/e-buy-40/page/6f492 "storeInfo")>门店核销时上送,组合劵必填
cashTotalAmountNumber订单总金额(收银机总金额也是用此字段)单位:分
goodsDetailList<[goodsDetail](https://book.e-buy.com/books/e-buy-40/page/1d7f7-Fbe "goodsDetail")>(只有在收银POS上发起交易时才上送)
remarkString备注(在核销撤销、核销查询等接口原样返回)
**请求报文举例** ``` { "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**
字段类型是否必填字段意义备注
returnCodeString请求返回码返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果
returnMsgString请求返回信息
dataObject<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号小于32个字符
originalRequestIdString原核销请求流水号32个字符,用于标识唯一一笔交易
**请求报文举例** ``` { "requestId": "10000000000000000000001", "originalRequestId":"10000000000000000000002" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
requestIdString原样返回
amountNumber本次撤销金额单位分仅在收银一体化时用到
codeString撤销的券码号
ticketNameString券名称
verifyRemarkString核销备注信息核销接口上送原样返回
**返回报文举例** ``` { "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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
originalRequestIdString原核销请求流水号32个字符
originalDateString原交易日期传入需要查询的原交易日期,不传默认为当天格式为yyyyMMdd
**请求报文举例** ``` { "requestId": "20180905000", "originalRequestId":"1021867639235435", "originalDate": "20170912" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
requestIdString原样返回
verifyRemarkString核销备注信息核销接口上送原样返回
dataObject<[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**
字段类型是否必填字段意义备注
requestIdString核销流水号小于64个字符
channelIdString通知渠道
ticketIdString券ID
ticketNameString券名称
thirdActivityIdString第三方活动id
codeString券号
shopNoString门店编号
shopNameString门店名称
verifyRefnoString线下核销机具流水号
verifyTimeString券核销时间格式:yyyyMMddHHmmss
verifyTypeString核销类型1表示POS机验证; 2表示接口验证; 999 表示不用通知上下游
orderNoString制码订单号
orderItemIdString制码子订单号,对接方唯一识别码
discountAmountString核销折抵金额单位分
**请求报文举例** ``` { "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**
字段类型是否必填字段意义备注
returnCodeString请求返回码09 券码不存在 01 券码已使用 00 券码核销成功
returnMsgString请求返回信息
requestIdString原样返回
**返回报文举例** ``` { "returnCode": "00", "returnMsg": "操作成功", "requestId": "10000000000000000000001" } ``` # 单码核销撤销通知 #### **接口用途** - 用于实现易百券核销撤销成功后将通知到第三方系统 #### **接口说明** - 接口异步通知第三方 **请求参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")<===>CHANNEL**
字段类型是否必填字段意义备注
requestIdString核销撤销请求流水号小于64个字符
verifyTimeString券核销撤销时间格式:yyyyMMddHHmmss
codeString劵码
originalRequestIdString原核销交易流水号小于64个字符
orderNoString制码订单号
orderItemIdString制码子订单号,对接方唯一识别码
**请求报文举例** ``` { "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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
requestIdString原样返回
**返回报文举例** ``` { "returnCode": "00", "returnMsg": "操作成功", "requestId": "10000000000000000000001" } ``` # 码预核销接口 #### **接口用途** - 当需要确认码是否可用在当前场景时,调用此接口, #### **接口说明** - 建议单码场景使用。多码需确认是否满足需求。 #### **action** - `CodeCheck` **请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codesList验码集合
cashTotalAmountNumber订单金额单位:分
isProductCheckString是否校验订单产品规则是Y,否N
brandIdString品牌id多品牌使用的码,此字段必传
shopNoString(20)门店号线下场景必填
tidString(8)终端号
cityIdString城市id,对接时使用ebuy城市id有规则时必须上传
goodsDetailObject<[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**
字段类型是否必填字段意义备注
returnCodeString00为成功,其他均为失败
returnMsgString请求返回信息
data/checkResultObject<[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系统的别称")**
字段类型是否必填字段意义备注
verifySceneString交易场景.offline线下,online线上线上也可以传抖音、美团等
codesList码号数组
verifyCodesList<[codeArr](https://book.e-buy.com/books/e-buy-40/page/cfa08)>指定券码阶梯价序号
isProductCheckString是否校验订单产品规则是Y,否N
requestIdString请求流水号确保永久唯一性32位长度
refNoString系统参考号12位长度
cashierTransNoString收银机流水号最长64位长度
storeInfoObject<[storeInfo](https://book.e-buy.com/books/e-buy-40/page/6f492 "storeInfo")>此信息为线下门店核销时上送线下核销必填
cashTotalAmountNumber订单总金额单位:分
goodsDetailList<[goodsDetail](https://book.e-buy.com/books/e-buy-40/page/1d7f7-Fbe "goodsDetail")>(只有在收银POS上发起交易时才上送)
remarkString备注(在核销撤销、核销查询等接口原样返回)
**请求报文举例** ``` { "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**
字段类型是否必填字段意义备注
returnCodeString请求返回码返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果
returnMsgString请求返回信息
data/checkResultObject<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
originalRequestIdString原核销请求流水号32个字符
originalDateString原交易日期传入需要查询的原交易日期,不传默认为当天格式为yyyyMMdd
**请求报文举例** ``` { "requestId": "20180905000", "originalRequestId":"1021867639235435", "originalDate": "20170912" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
requestIdString原样返回
verifyRemarkString核销备注信息核销接口上送原样返回
data/verifyQueryResponseObject<[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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号小于32个字符
originalRequestIdString原核销请求流水号32个字符,用于标识唯一一笔交易
codesList原订单中批量核销撤销的码此字段不填默认整订单撤销
voidDateString原交易时间,默认当天格式:YYYYMMDD
isAtomicityString是否需要支持原子性,原交易中码核销撤销要么全部成功要么全部失败Y:是,N:否(默认)
**请求报文举例** ``` { "requestId": "10000000000000000000001", "originalRequestId":"10000000000000000000002" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果
returnMsgString请求返回信息
verifyRemarkString核销备注信息核销接口上送原样返回
data/voidResultObject<[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系统的别称")**
字段类型是否必填字段意义备注
activityValidStartString活动开始时间yyyyMMddHHmmss
activityValidEndString活动结束时间yyyyMMddHHmmss
requestIdString请求流水号32个字符,用于标识唯一一笔交易
**请求报文举例** ``` { "requestId": "20181019112535100000000000000002", "activityValidStart": "20180901000000", "activityValidEnd": "20181231595959" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataList<[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系统的别称")
字段类型是否必填字段意义备注
requestIdString请求流水号小于32个字符
thirdVerifyIdString核销流水号第三方码核销通知时上传该字段,用于标识在第三方库中的核销记录
ticketNameString券名称
brandIdString品牌易百定义
codeString券号
midString商户号
shopNoString门店编号
shopNameString门店名称
tidStringpos终端号
verifyTimeString券核销时间格式:yyyyMMddHHmmss
verifyTypeString核销类型1表示POS机验证;2表示接口验证
orderNoString制码订单号
orderItemIdString制码子订单号,对接方唯一识别码
amountNumber核销金额单位:分
**请求报文举例** ``` { "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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
requestIdString原样返回
**返回报文举例** ``` { "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系统的别称")**
字段类型是否必填字段意义备注
requestIdString核销撤销请求流水号小于64个字符
originalRequestIdString第三方核销时流水号32个字符,用于标识唯一一笔交易
voidTimeString券撤销时间格式:yyyyMMddHHmmss
codeString劵码
orderNoString制码订单号
orderItemIdString制码子订单号,对接方唯一识别码
**请求报文举例** ``` { "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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
requestIdString原样返回
**返回报文举例** ``` { "returnCode": "00", "returnMsg": "操作成功", "requestId": "10000000000000000000001" } ``` # 串码通知到用户微信卡包接口 #### **接口用途** - 当需要将已制出的串码通知到用户微信卡包时,调用此接口 #### **接口说明** - 易百不提供插入微信卡包功能,插入卡包的服务商为该码的制码方。 - 此接口为异步执行,同步返回成功表明任务提交成功,实际插入卡包结果异步通知到。 #### **action** - `NotifyCodeToUser` **请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段类型是否必填字段意义备注
codeString待通知串码号
callBackUrlString结果回调地址
weChatCardPackageInfoObject<[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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[notifyCodeToCardPackageResponse](https://book.e-buy.com/books/e-buy-40/page/d947b "notifyCodeToCardPackageResponse")>同步返回报文
**返回报文举例** ``` { "returnCode": "00", "returnMsg": "SUCCESS", "data": { "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5", "requestId": "20181018183139", } } ``` **异步返回参数,ESB===>CHANNEL** - 默认情况下异步报文与同步报文一致 # 星巴克箱包本码查询 #### **接口用途** - 当需查询箱包本码集合 #### **接口说明** - 传入箱、本、码编号,分别获得对应的码列表 #### **请求参数**
字段类型是否必填字段意义备注
queryTypeString查询类型X 箱, B1 包, B2本
queryCodeString查询编号
**请求报文举例** ``` { "queryType": "X", "queryCode":"123" } ``` **返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段类型是否必填字段意义备注
returnCodeString请求返回码00 正常,非00是错误
returnMsgString请求返回信息
codeListList<String>码信息
**返回报文举例** ``` { "returnCode": "00", "returnMsg": "SUCCESS", "data": [ "100000000001212121", "100000000001212122", "100000000001212123" ] } ``` # 异步第三方制码 #### **接口用途** - 用于异步第三方制码的请求参数,发送到whale-gateway数据格式 #### **接口说明** - 这里规定了标准的请求报文格式,发送到whale-gateway模块,然后具体对于不同码商的报文格式需要gateway转换 #### **action** - **MakeCode** **请求参数,whale===>whale-gateway**
字段类型是否必填字段意义备注
channelIdString渠道Id
channelTicketIdString渠道批次Id
codeValidEndString券码有效期结束时间格式为yyyyMMdd235959
codeValidStartString券码有效期开始时间格式为yyyyMMdd000000
faceValueDouble券面值
netValueDouble净值
orderIdString订单Id
requestIdString请求流水号
saleChannelOrderIdString外部订单编号
totalCountString制码数量
transDateString交易日期格式为 yyyyMMdd
transTimeString交易时间格式为 yyyyMMddHHmmss
useTimesString可核销次数
whaleTicketIdStringwhale券Id
saleChannelItemIdString子订单号
**请求报文举例** ```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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
sendChannelOrderIdString订单号
thirdCodeFamilySetList<[CodeFamilyInfoBO](https://book.e-buy.com/books/e-buy-40/page/a5bfc)>
**返回报文举例** ```JSON { "returnCode": "00", "returnMsg": "SUCCESS", "sendChannelOrderId": "", "thirdCodeFamilySet": [] } ``` # 第三方码异步结果通知 #### **接口用途** - 第三方券码异步处理完成后的通知接口 #### **接口说明** - 接收统一的报文格式 #### **action** - `AsynThirdCodeCallback` **请求参数,CHANNEL===>WHALE**
字段类型是否必填字段意义备注
createDateString 创建日期
createTimeString 创建时间
returnCodeString 返回编码
outerOrderIdString 制码订单号
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系统的别称")**
字段类型是否必填字段意义备注
requestIdString请求流水号32个字符,用于标识唯一一笔交易
codeArrayList码号数组
saleChannelIdLong取码方id
saleChannelOrderIdString取码方制码订单号当codeArray无值时取该订单号下所有串码进行作废。当订单号有值时取码方id必填
callBackUrlString激活成功后的回调地址
updateShopNoString(10)激活门店号
updateOrgString(10)激活机构
optTagString(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**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
dataObject<[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**
字段类型是否必填字段意义备注
outerOrderIdString渠道Id
channelTicketIdString渠道批次Id
reasonString退款原因
**请求报文举例** ```JSON { "outerOrderId": "03136aaaaaaaaaaa", "channelTicketId": "162", "reason": "reason" } ``` **返回参数,whale-gateway===>whale**
字段类型是否必填字段意义备注
returnCodeString请求返回码
returnMsgString请求返回信息
sendChannelOrderIdString订单号
thirdCodeFamilySetList<[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]