# 线上交易类接口 # 同步单品发码(单个&批量发码与激活) #### **接口用途** - 支持请码方一次单品请求调用,单品发码数量上限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": "未使用" }] }] } } ``` # 码作废(退款)接口 #### **接口用途** - 当需要`作废`码时,取码方调用此接口 #### **接口说明** - 码表中以掩码为分表位,每查询某个码时必须有明确的码号。 - 已撤销(作废)/使用的码不能转换为其他状态。 - 冻结和解冻操作是相对的。 #### **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系统的别称")**
字段类型是否必填字段意义备注
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系统的别称")**
字段类型是否必填字段意义备注
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** - `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", ... }], } } ``` # 码信息更新接口 #### **接口用途** - 当需要对指定码的部分信息进行更新时,调用此接口 #### **接口说明** - 码表中以掩码为分表位,每查询某个码时必须有明确的码号。 #### **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商户无权限券码查询和核销 权限校验不通过
# 批量码核销 #### **接口用途** - 多码批量核销时,调用此接口 #### **接口说明** - 一次可以多码核销,一次最多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 元现金抵价券 " }] } } ``` # 测试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 码配置异常