13.0订单数据推送
通讯采用HTTP(S)协议,POST方式发生json格式的报文
json格式请求:
Content-Type:application/json;charset=utf-8
json格式返回:
Content-Type:application/json;charset=utf-8
返回响应说明:
商户处理后同步返回给果盘参数:{"status":1,"info":"返回信息"} json格式 //注:状态码返回非1或异常,即触发推送重试机制,最大推送次数:3次
//status:返回状态码1=成功;0=失败 info:返回信息
签名算法:签名生成的通用步骤如下:
第一步,将POST参数(msid、timestamp、nonce、signtype、data)按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
第二步,在stringA最后通过(半角逗号)拼接上开发商apikey得到stringSignTemp字符串,并对stringSignTemp进行sha1加密运算,得到sign值signValue
◆ 开发商apikey:果盘代理商后台-->开发管理-->APP应用管理-->对应应用ID的应用秘钥appsecret
举例:
假设推送URI地址:https://wx.dc78.cn/api/callBackUrl?sign=9A0A8659F005D6984697E2CA0A9CF3B7
传送的POST参数如下:
msid:6786
timestamp:20200320114702
nonce:45645
signtype:sha1
data:{"status":1,"id":"186200010000038842","msid":"6786","time":"2020-03-20 09:40:22","date":"20200320","type":"1","cate":"20","state":"2","count":"0","table":"001","cfmtime":"2020-03-20 09:40:06","cfmcode":""}
第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
stringA="data={"status":1,"id":"186200010000038842","msid":"6786","time":"2020-03-20 09:40:22","date":"20200320","type":"1","cate":"20","state":"2","count":"0","table":"001","cfmtime":"2020-03-20 09:40:06","cfmcode":""}&msid=6786&nonce=45645&signtype=sha1×tamp=20200320114702";
第二步:拼接开发商apikey密钥:(注意:apikey为分配给对应推送商户的gpid应用详情中的应用秘钥)
stringSignTemp=stringA+",192006250b4c09247ec02edce69f6a2d"//注:apiley为开发商后台分配是apikey
sign=sha1(stringSignTemp)="9A0A8659F005D6984697E2CA0A9CF3B7"//注:sha1签名方式
请求参数说明
参数 | 描述 | 必填 | 示例值 | 类型 | 最大长度 |
请求示例
{ }
响应参数说明
参数 | 描述 | 必填 | 示例值 | 类型 | 最大长度 |
status | 返回状态。接口成功时为1,出错为0 | 是 | 1 | number | |
id | 订单的唯一编号 | 是 | 186200010000038842 | number | |
msid | 门店编号 | 是 | 6786 | number | |
time | 订单时间 | 是 | 2020-03-20 09:40:22 | string | |
date | 订单业务日期 | 是 | 20200320 | number | |
type | 类选 | 是 | 0=堂食,1=外卖 | number | |
cate | 订单业务分类 | 是 | 10=堂食,11=打包,12=预点,20=外卖,21=外卖自提 | number | |
phone | 客人手机号 | 否 | 17086263907,765 | string | |
cust | 客人姓名 | 否 | 张** | string | |
state | 订单状态(1=下单成功,6=订单已配送,-1=退单,-2=部分退) | 否 | 1 | number | |
count | 否 | 0 | number | ||
table | 订单桌台名称 | 是 | 001 | number | |
cfmtime | 确认下单时间 | 否 | 2020-03-20 09:40:06 | string | |
cfmcode | 确认人工号 | 否 | string | ||
cfmuser | 确认人 | 否 | string | ||
pscount | 人数 | 否 | 1 | number | |
memo | 订单备注 | 否 | (饿了么#38) | string | |
addr | 订单地址(外卖业务) | 否 | 天泰金融广场B座深圳路222号 3106 | string | |
payid | 支付单id。先付模式下订单已支付,会有订单 id。为0说明未支付(后付)。已支付外卖订单为1 | 否 | 1 | number | |
paytype | 支付类型 | 是 | 1=货到付款,2=在线支付 | number | |
src | 订单来源 | 否 | el=饿了么,mt=美团 | string | |
srcid | 外卖平台订单号 | 否 | 21197015974876213008 | number | |
num | 订单序号 | 否 | 38 | number | |
srcnum | 订单流水号描述 | 否 | 饿了么#38 | string | |
wishtime | 预约时间 | 否 | string | ||
chucfs | 出菜方式 | 否 | string | ||
rider_id | 菜品外部代码 | 否 | string | ||
rider_phone | 骑手电话 | 否 | string | ||
rider_name | 骑手名称 | 否 | string | ||
package_num | 否 | string | |||
route | 路线 | 否 | string | ||
mbid | 平台id | 否 | string | ||
mbaccid | 微会员id | 否 | string | ||
mbcardno | 会员卡号 | 否 | string | ||
invoice | 是否单独推送发票信息(设置该参数备注( memo字段)与发票信息( invoice字段)分别单独显示,不设置invoice参数,默认将发票和备注信息合并到( memo字段)显示) | 否 | string | ||
pay_amt | 外卖平台客人实付金额(外卖官方接口支持) | 否 | 24 | number | |
list | 订单中的明细列表 | 否 | list | ||
└id | 明细 id | 否 | 1 | number | |
└name | 名称 | 否 | 加蛋牛肉粉 | string | |
└price | 价格 | 否 | 14 | number | |
└refid | 门店菜品id | 否 | 01003 | number | |
└unit | 单位 | 否 | 份 | string | |
└qty | 数量 | 否 | 1 | number | |
└amt | 金额 | 否 | 14 | number | |
└memo | 备注 | 否 | string | ||
└dgid | 平台菜品id | 否 | 5486366 | number | |
└parentid | 套餐明细标识 | 否 | 0 | number | |
└rebate | 折扣 | 否 | 0 | number | |
└cartid | 外卖平台订单口袋id | 否 | 33 | number | |
└cartname | 外卖平台订单口袋名称 | 否 | 333333 | number | |
other_pay_item | 外卖平台扩展参数信息支持,配送费、打包费、外卖平台佣金、外卖平台活动费、替用户承担配送费会在这个item线下可以自行处理需要的参数(开放需申请) | 否 | list | ||
└name | 名称 | 否 | 打包费 | string | |
└price | 价格 | 否 | 2 | number | |
└refid | 门店菜品id | 否 | 99902 | number | |
└unit | 单位 | 否 | 元 | string | |
└qty | 数量 | 否 | 1 | number | |
└amt | 金额 | 否 | 2 | number | |
└memo | 备注 | 否 | string | ||
└dgid | 平台菜品id | 否 | 2 | number |
响应示例
{ "status": 1, "id": "186200010000038842", "msid": "6786", "time": "2020-03-20 09:40:22", "date": "20200320", "type": "1", "cate": "20", "phone": "17086263907,765", "cust": "张**", "state": "2", "count": "0", "table": "001", "cfmtime": "2020-03-20 09:40:06", "cfmcode": "", "cfmuser": null, "pscount": "1", "memo": "(饿了么#38)", "addr": "天泰金融广场B座深圳路222号 3106", "payid": "1", "paytype": "2", "src": "el", "srcid": "21197015974876213008", "num": 38, "srcnum": "饿了么#38", "wishtime": "", "chucfs": null, "rider_id": null, "rider_phone": null, "rider_name": null, "package_num": null, "route": null, "mbid": null, "mbaccid": "", "mbcardno": "", "invoice": "", "pay_amt": 24, "list": [{ "id": "1", "name": "加蛋牛肉粉", "price": 14, "refid": "01003", "unit": "份", "qty": 1, "amt": 14, "memo": "", "dgid": 5486366, "parentid": 0, "rebate": "0", "cartid": "33", "cartname": "333333" }, { "id": "2", "name": "拌海带丝", "price": 5, "refid": "02005", "unit": "份", "qty": 1, "amt": 5, "memo": "", "dgid": 5486379, "parentid": 0, "rebate": "0", "cartid": "44", "cartname": "444444" }, { "id": "3", "name": "打包费", "price": 2, "refid": "99902", "unit": "单", "qty": 1, "amt": 2, "memo": "", "dgid": 2, "parentid": 0, "rebate": "0", "cartid": "", "cartname": "" }, { "id": "4", "name": "平台费", "price": -4, "refid": "99911", "unit": null, "qty": 1, "amt": -4, "memo": "", "dgid": 11, "parentid": 0, "rebate": "0", "cartid": "", "cartname": "" } ], "other_pay_item": [{ "name": "打包费", "price": 2, "refid": "99902", "unit": "元", "qty": 1, "amt": 2, "memo": "", "dgid": 2 }, { "name": "平台费", "price": -4, "refid": "99911", "unit": "元", "qty": 1, "amt": -4, "memo": "", "dgid": 11 }, { "name": "配送费", "price": 3, "refid": "99901", "unit": "元", "qty": 1, "amt": 3, "memo": "", "dgid": 1 } ] }
说明
外卖订单中的配送费与打包费的编码如下:
编码 | 名称 |
99901 | 配送费 |
99902 | 打包费 |
99911 | 外卖平台佣金 |
99912 | 外卖平台活动优惠 |
99913 | 口碑其他费用 |
99914 | 替用户承担配送费(新) |
99921 | 餐位/茶位费 |
99922 | 消费服务费 |
99923 | 消费税金 |