交易类接口

同步单条发码

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
saleChannelOrderId String 渠道制码订单id 最长32位,当上送相同订单号时返回上一次成功信息,如果上一次请码失败,则本次会重新生成码
requestId String 请求流水号 最长32位,用于标识唯一一笔交易
remark JSONString 订单备注信息 最长200位,订单查询时原样返回
notifyType Object<notifyType> 制码通知类型  
item Object<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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<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 销售渠道和活动产品权限不匹配

发码订单查询

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
originalChannelOrderId String 原取码方制码订单id 小于64个字符
requestId String 请求流水号 32个字符,用于标识唯一一笔交易

请求报文举例

{
    "originalChannelOrderId": "20180912162026",
    "requestId":"20180912162026"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<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

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
saleChannelOrderId String 渠道制码订单id 小于64个字符
requestId String 请求流水号 32个字符,用于标识唯一一笔交易
callBackUrl String 异步结果回调地址 易百以POST请求方式推送
items List<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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
batchMakeCodeResponseData Object<batchMakeCodeResponseData> 批量制码返回数据

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "saleChannelOrderId": "201811261721",
        "saleChannelId": 99000014,
        "tradeNo": "4a784d0ec74d4211bb3c425f004f95ac",
        "createTime": "20181126172115",
        "codeNum": 5,
        "createDate": "20181126"
    }
}

批量发码结果通知

接口用途

接口说明

返回参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<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": "未使用"
            }]
        }]
    }
}

发码撤销

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
originalChannelOrderId String 原取码方制码订单id 小于64个字符
requestId String 请求流水号 32个字符,用于标识唯一一笔交易

请求报文举例

{
    "originalChannelOrderId": "20180912162026",
    "requestId":"20180912162026"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data List<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

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
originalChannelOrderId String 取码方制码订单id 小于64个字符
orderDate String 原下单日期 yyyyMMdd
requestId String 请求流水号 32个字符,用于标识唯一一笔交易

请求报文举例

{
    "originalChannelOrderId": "20180912162026",
    "orderDate": "20180905",
    "requestId":"20180912162026"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data List<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

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
requestId String 请求流水号 32个字符,用于标识唯一一笔交易
code String 码号 小于22个字符
optTag String(2) 操作分类 01:作废

请求报文举例

{
    "requestId": "20181019112535100000000000000008",
    "code": "1021242013780905000",
    "optTag":"01"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码
returnMsg String 请求返回信息
data Object<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

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
channelOrderId String 销售渠道制码订单id 小于64个字符
requestId String 请求流水号 32个字符,用于标识唯一一笔交易
code String 码号 小于22个字符
optTag String(2) 操作分类 02:冻结

请求报文举例

{
    "channelOrderId": "20180912162026",
    "requestId": "20181019112535100000000000000008",
    "code": "1021242013780905000",
    "optTag":"02"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateData> 码状态更新返回数据

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20181019112535100000000000000008",
        "currentStatus": "01",
        "statusDesc": "已作废",
        "updateDate":"20181019",
        "updateTime":"20181019112535"
    }
}

码解冻接口

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
channelOrderId String 销售渠道制码订单id 小于64个字符
requestId String 请求流水号 32个字符,用于标识唯一一笔交易
code String 码号 小于22个字符
optTag String(2) 操作分类 03:解冻

请求报文举例

{
    "channelOrderId": "20180912162026",
    "requestId": "20181019112535100000000000000008",
    "code": "1021242013780905000",
    "optTag":"03"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateData> 码状态更新返回数据

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20181019112535100000000000000008",
        "currentStatus": "01",
        "statusDesc": "已作废",
        "updateDate":"20181019",
        "updateTime":"20181019112535"
    }
}

码激活接口

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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> 激活通知类型
makeFundsChannels Array<fundsChannel> 资金渠道 针对阶梯价场景为必填
makeFundsChannel Object<makeFundsChannel> 资金渠道 当需要在对账报表中体现时必填
optTag String(2) 操作分类 04:激活

请求报文举例

{
    "requestId": "20181019112535100000000000000008",
    "code": "1021242013780905000",
    "codeValidDays":9,
    "purchaseOrderNum":"20191119192700123",
    "optTag":"04"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码
returnMsg String 请求返回信息
data Object<statusUpdateData> 码状态更新返回数据

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20181019112535100000000000000008",
        "currentStatus": "00",
        "statusDesc": "未使用",
        "updateDate":"20181019",
        "updateTime":"20181019112535"
    }
}

失败返回报文举例

{
    "returnCode": "32",
    "returnMsg": "流水号重复,请调用查询接口",
    "data": {}
}

批量码激活

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码 返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果
returnMsg String 请求返回信息  
data/checkResult Object<data/checkResult> 批量码激活初步校验返回

同步返回报文举例

{
    "returnCode": "00",
    "returnMsg": "操作成功",
    "data": {
        "requestId": "10000000000000000000002",
        "tradeNo": "10000000000000000000002",
        "saleChannelId":10002410,
        "createDate": "20191119",
        "createTime": "20191119200100",
        "codeNum": 1,
        "resultCode": "00",
        "resultMsg": "SUCCESS",
    }
}

回调返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateData> 码状态更新返回数据

回调返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20181019112535100000000000000008",
        "currentStatus": "00",
        "statusDesc": "未使用",
        "updateDate":"20181019",
        "updateTime":"20181019112535"
    }
}

批量码延期

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateData> 批量码作废初步校验返回

同步返回报文举例

{
    "returnCode": "00",
    "returnMsg": "操作成功",
    "data": {
        "requestId": "10000000000000000000002",
        "tradeNo": "10000000000000000000002",
        "codeNum": 1
    }
}

回调返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateCallbackData> 码状态更新返回数据

回调返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20181019112535100000000000000008",
        "totalCodeNum": 1,
        "successCodeNum": 1,
        "codeArray": [{
            "code": "100213321414112234",
            ...
            }],
    }
}

批量码作废

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateData> 批量码作废初步校验返回

同步返回报文举例

{
    "returnCode": "00",
    "returnMsg": "操作成功",
    "data": {
        "requestId": "10000000000000000000002",
        "tradeNo": "10000000000000000000002",
        "codeNum": 1
    }
}

回调返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateCallbackData> 码状态更新返回数据

回调返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20181019112535100000000000000008",
        "totalCodeNum": 1,
        "successCodeNum": 1,
        "codeArray": [{
            "codeId": "1212431432",
            "searchCode": "100***1234",
            "codeSecret": "100213321414112234",
            ...
            }],
    }
}

码信息更新接口

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 字段意义 备注
requestId String 请求流水号 32个字符,用于标识唯一一笔交易
code String 码号  
updateOpts <updateOpt> 码明细更新操作

请求报文举例

{
    "requestId": "20180912162026",
    "code": "1012123342335432145",
    "updateOpts": {
        "updatePurchaseTime": "20181103105501",
        "updateMakeNotifyType": {
            "mobilePhone": "13510121314"
        },
        "updateMerchantRealAmount": 1200
    }
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateData> 码状态更新返回数据

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20180912162026",
        "currentStatus": "00",
        "statusDesc":"未使用",
        "updateDate":"20181019",
        "updateTime":"20181019112535"
    }
}

码信息查询

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
requestId String 请求流水号 32个字符,用于标识唯一一笔交易
codes List 验码集合 最大不超过20
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 未生效 当制码时选择次日生效,核销时会返回该状态
08 不能退款 仅核销场景-不支持核销撤销(根据业务场景配置是否支持隔日和当日核销撤销)
09 券不存在 券码不存在(券码查询、核销、核销撤销)
21 电子凭证不可用

券码不在有效期

35 码配置异常
51 改码不存在制码方
97 报文错误 接口调用参数校验不通过
C2 商户无权限 券码查询和核销 权限校验不通过

单码核销

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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> 门店核销时上送,组合劵必填  
cashTotalAmount Number 订单总金额(收银机总金额也是用此字段) 单位:分
goodsDetail List<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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码 返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果
returnMsg String 请求返回信息  
data Object<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

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
requestId String 请求流水号 小于32个字符
originalRequestId String 原核销请求流水号 32个字符,用于标识唯一一笔交易

请求报文举例

{
    "requestId": "10000000000000000000001",
    "originalRequestId":"10000000000000000000002"
}

返回参数,WHALE===>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 元现金抵价券 "
}

单码核销查询

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
requestId String 请求流水号 32个字符,用于标识唯一一笔交易
originalRequestId String 原核销请求流水号 32个字符
originalDate String 原交易日期 传入需要查询的原交易日期,不传默认为当天格式为yyyyMMdd

请求报文举例

{
    "requestId": "20180905000",
    "originalRequestId":"1021867639235435",
    "originalDate": "20170912"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
requestId String 原样返回  
verifyRemark String 核销备注信息 核销接口上送原样返回
data Object<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===>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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码

09   券码不存在

01   券码已使用

00   券码核销成功

returnMsg String 请求返回信息
requestId String 原样返回

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "操作成功",
    "requestId": "10000000000000000000001"
}

单码核销撤销通知

接口用途

接口说明

请求参数,WHALE<===>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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
requestId String 原样返回

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "操作成功",
    "requestId": "10000000000000000000001"
}

码预核销接口

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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> 折抵产品明细 目前支持单码预核销检查使用

请求报文举例

{
    "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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 00为成功,其他均为失败  
returnMsg String 请求返回信息  
data/checkResult Object<data/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 核销异常

批量码核销

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
verifyScene String 交易场景.offline线下,online线上 线上也可以传抖音、美团等
codes List 码号数组  
verifyCodes List<codeArr> 指定券码阶梯价序号
isProductCheck String 是否校验订单产品规则 是Y,否N
requestId String 请求流水号确保永久唯一性 32位长度
refNo String 系统参考号 12位长度
cashierTransNo String 收银机流水号 最长64位长度
storeInfo Object<storeInfo> 此信息为线下门店核销时上送 线下核销必填
cashTotalAmount Number 订单总金额 单位:分
goodsDetail List<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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码 返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果
returnMsg String 请求返回信息  
data/checkResult Object<data/checkResult> 券码核销信息明细返回

返回报文举例

{
    "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 其他异常

批量码核销查询

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
requestId String 请求流水号 32个字符,用于标识唯一一笔交易
originalRequestId String 原核销请求流水号 32个字符
originalDate String 原交易日期 传入需要查询的原交易日期,不传默认为当天格式为yyyyMMdd

请求报文举例

{
    "requestId": "20180905000",
    "originalRequestId":"1021867639235435",
    "originalDate": "20170912"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
requestId String 原样返回  
verifyRemark String 核销备注信息 核销接口上送原样返回
data/verifyQueryResponse Object<data/verifyQueryResponse> 券码核销订单明细返回  

返回报文举例

{
    "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

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
requestId String 请求流水号 小于32个字符
originalRequestId String 原核销请求流水号 32个字符,用于标识唯一一笔交易
codes List 原订单中批量核销撤销的码 此字段不填默认整订单撤销
voidDate String 原交易时间,默认当天 格式:YYYYMMDD
isAtomicity String 是否需要支持原子性,原交易中码核销撤销要么全部成功要么全部失败 Y:是,N:否(默认)

请求报文举例

{
    "requestId": "10000000000000000000001",
    "originalRequestId":"10000000000000000000002"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码 返回码32时,请调用单码核销查询接口CodeVerifyQuery,确认核销结果
returnMsg String 请求返回信息  
verifyRemark String 核销备注信息 核销接口上送原样返回
data/voidResult Object<data/voidResult> 券码核销信息明细返回  

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "操作成功",
    "requestId": 10000000000000000000002,
    "data": {
        "voidResult":[{
              "code":"1021242013780905000",
              "status":"00",
              "statusDesc":"成功",
              "amount": "5000",
              "ticketName": "50 元现金抵价券 "
        }]
    }
}

取码方可用券查询

接口用途

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
activityValidStart String 活动开始时间 yyyyMMddHHmmss
activityValidEnd String 活动结束时间 yyyyMMddHHmmss
requestId String 请求流水号 32个字符,用于标识唯一一笔交易

请求报文举例

{
    "requestId": "20181019112535100000000000000002",
    "activityValidStart": "20180901000000",
    "activityValidEnd": "20181231595959"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data List<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":"使用说明"
        }
    }]
}

外部核销通知

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
requestId String 原样返回

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "操作成功",
    "requestId": "10000000000000000000002"
}

外部核销撤销通知

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
requestId String 原样返回

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "操作成功",
    "requestId": "10000000000000000000001"
}

串码通知到用户微信卡包接口

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
code String 待通知串码号
callBackUrl String 结果回调地址  
weChatCardPackageInfo Object<weChatCardPackageInfo> 微信卡包信息

请求报文举例

{
    "requestId":"20181018183139",
    "code": "100243020180912162026",
    "callBackUrl": "www.XXX.com",
    "weChatCardPackageInfo":{
        "userUnionId":"1rbu123430vj"
    }
}

同步返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<notifyCodeToCardPackageResponse> 同步返回报文

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20181018183139",
    }
}

异步返回参数,ESB===>CHANNEL

星巴克箱包本码查询

接口用途

接口说明

 

请求参数

字段 类型 是否必填 字段意义 备注
queryType String 查询类型 X 箱, B1 包, B2本
queryCode String 查询编号  

请求报文举例

{
    "queryType": "X",
    "queryCode":"123"
}

返回参数,WHALE===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码 00 正常,非00是错误
returnMsg String 请求返回信息  
codeList List<String> 码信息  

返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": [
    	"100000000001212121",
        "100000000001212122",
        "100000000001212123"
    ]
}

异步第三方制码

接口用途

接口说明

action

请求参数,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 子订单号  

请求报文举例

{
  "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>      

返回报文举例

{
	"returnCode": "00",
    "returnMsg": "SUCCESS",
    "sendChannelOrderId": "",
    "thirdCodeFamilySet": []
}

 

第三方码异步结果通知

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
createDate String   创建日期  
createTime String   创建时间  
returnCode String   返回编码  
outerOrderId String   制码订单号  
codeFamilyInfo CodeFamilyInfoBO   券码  

 

 

 

 

 

 

 

 

同步批量码作废

接口用途

接口说明

action

请求参数,CHANNEL===>WHALE

字段 类型 是否必填 字段意义 备注
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===>CHANNEL

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
data Object<statusUpdateCallbackData> 码状态更新返回数据

回调返回报文举例

{
    "returnCode": "00",
    "returnMsg": "SUCCESS",
    "data": {
        "tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
        "requestId": "20181019112535100000000000000008",
        "totalCodeNum": 1,
        "successCodeNum": 1,
        "codeArray": [{
            "codeId": "1212431432",
            "searchCode": "100***1234",
            "codeSecret": "100213321414112234",
            ...
            }],
    }
}

 

 

 

 

 

 

 

异步第三方作废接口

接口用途

接口说明

action

请求参数,whale===>whale-gateway

字段 类型 是否必填 字段意义 备注
outerOrderId String 渠道Id  
channelTicketId String 渠道批次Id  
reason String 退款原因  

请求报文举例

{
  "outerOrderId": "03136aaaaaaaaaaa",
  "channelTicketId": "162",
  "reason": "reason"
}

返回参数,whale-gateway===>whale

字段 类型 是否必填 字段意义 备注
returnCode String 请求返回码  
returnMsg String 请求返回信息  
sendChannelOrderId String 订单号  
thirdCodeFamilySet List<CodeFamilyInfoBO>      

返回报文举例

{
	"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]