用户涉及三种行为:上传用户点菜的菜单、上传用户排号订单、上传用户预订订单行为。
1、使用说明
用户点菜后,每个状态都上传全量的用户的菜品订单信息。
用户点菜后的状态如下:
用户下单,等待商家确认;商家已经确认;商家确认,等待支付;支付完成,结账成功;点菜关闭;
detailUrl使用说明:传入的URL必须与开放平台后台,应用APPID配置的授权URL的域名相同,保证后续网页授权可以跳转过去。例如:上传的detailUrl=http://XXXXX.com?orderId=1234 会在当前URL上面追加上&openAppId=X&shopId=口碑店铺ID&bizScenario=XX。网页授权成功后跳转到ISV平台,URL会是:http://XXXXX.com?orderId=1234&openAppId=X&shopId=口碑店铺ID&bizScenario=XX&app_id=XXX&source=alipay_wallet&scope=auth_base&auth_code=ca34ea491e7146cc87d25fca24c4cD11 ,后面ISV就可以做自己的业务逻辑,比如解析orderId、auth_token参数 。然后ISV通过接口alipay.system.oauth.token根据auth_code查询支付宝会员信息。详见网页授权文档。
source说明:从第三方平台进入开发者应用,后产生的数据,传入第三方平台域名,比如当前数据是支付宝扫码后产生,传入支付宝域名alipay.com,是在微信打开后产生的数据,传入微信域名weixin.qq.com,如果数据不是从第三方平台进入后产生的数据,设置自己的域名即可,字段内容不做强制校验。
2、action_type:order_dishes
3、entity:user
4、action_detail说明
| 参数名称 | 参数类型 | 必填 | 描述 |
|---|---|---|---|
| totalPrice | Long | 是 | 总价(单位分,定义类型是long,金额单位都是分) |
| discountPrice | Long | 是 | 优惠金额(单位分,定义类型是long,金额单位都是分) |
| realPrice | Long | 是 | 实际支付(单位分,定义类型是long,金额单位都是分) |
| source | String | 否 | 菜单来源 、参考上面说明 |
| status | String | 是 | 11 用户下单、等待商家确认 12 商家已经确认 13 商家确认,等待支付 14 支付完成,结账成功 15 点菜关闭 |
| payTime | Long | 否 | 支付时间(到毫秒,参考demo) |
| channel | String | 否 | 支付来源渠道推荐使用值:alipay(支付宝支付) 、weixin(微信支付)、other(其他支付渠道)。如果是支付宝支付传入alipay,如果是微信传入:weixin 其他的支付都传入:other |
| payOrderNo | String | 否 | 交易流水号,在创建支付宝交易的时候,会拿到一个流水号,一般是以当前年开始,比如:2017XXXXX,如果是支付宝订单请传入,如果不是请不要设置。 |
| outOrderId | String | 是 | 外部订单号 |
| tableCode | String | 是 | 座位号如果有推荐填写 |
| people | Integer | 否 | 消费人数 |
| description | String | 否 | 备注(长度500) |
| detailUrl | String | 是 | 跳转的原始URL |
| dish | JSONArray | 是 | 菜品列表 1. *String goodsId 菜品ID 2. String skuId 规格ID 3. *String goodsName 菜品名称 4.*long price 价格 单位分 5. *int num 点菜数量 |
| hasClosed | int | 否 | 代表是否清桌 1:清桌,代表桌位可以被他人使用效 0:占用,代表座位正在被人使用(比如点菜中、订单没有完结,都认为是被占用中,其他人员无法再次下单) 默认0 按照isv实际场景设置 |
| statusDesc | String | 是 | 状态文案说明 |
| actionUrlList | JSONArray | 否 | 行动点对象列表,每次更新全量覆盖,字段key说明如下 String name 行动名称(比如,买单、加菜) String actionUrl 跳转URL,建议ISV自行对该url进行加签验签,以避免被恶意程序拦截篡改 String type URL类型(官方常量 addDish(加菜) pay (去买单),官方会根据类型做业务逻辑,如果不在官方说明,请设置为空) |
| realtionUserList | JSONArray | 否 | 与当前订单有关系的用户,传入json数组,如果不是支付宝用户不需要传入,如果order_channel是alipay,强制校验,必须要传入。 对象字段key如下: String userId (支付宝用户ID) String type (用户ID行为类型),type 可以选择设置字符串value:pay,pushOrder,normal type各value值含义说明: pay:支付者 pushOrder:推送订单到厨房的用户 normal:普通用户,没有做特殊说明的都是普通用户 |
json串举例:
{
"is_test_user":"0",
"date_time":"2017-04-13 20:27:21",
"action_type":"order_dishes",
"user_id":"2088202884883674",
"mobile":"1836881XXXX",
"outer_shop_do":{"shop_id":"2016041600077000000003126147","type":"xxx.com","outer_id":"2016041600077000000003126147"},
"industry":"REPAST",
"action_detail":
{
"hasClosed":0,
"actionUrlList":[{"name":"点菜","actionUrl":"https://baidu.com/order/callback/","type ":"addDish"},{"name":"详情","actionUrl":"https://baidu.com/order/callback/","type":""},{"name":"买单","actionUrl":"https://baidu.com/order/callback/","type":"pay"}],
"statusDesc":"已下单",
"payOrderNo":"XXXX",
"totalPrice":111,
"payTime":1492086442041,
"discountPrice":11,
"channel":"alipay",
"description":"描述",
"tableCode":"AO2",
"people":"22",
"realtionUserList":[
{"type":"pay","userId":"2088XXXX"},
{"type":"pushOrder","userId":"2088XXXX"}
],
"dish":[
{"goodsId":"goodsId0","price":"9","num":22,"goodsName":"秦艽肉丝0","skuId":"skuIdXXX"},
{"goodsId":"goodsId1","price":"9","num":22,"goodsName":"秦艽肉丝1","skuId":"skuIdXXX"},
{"goodsId":"goodsId2","price":"9","num":22,"goodsName":"秦艽肉丝2","skuId":"skuIdXXX"},
{"goodsId":"goodsId3","price":"9","num":22,"goodsName":"秦艽肉丝3","skuId":"skuIdXXX"},
{"goodsId":"goodsId4","price":"9","num":22,"goodsName":"秦艽肉丝4","skuId":"skuIdXXX"},
{"goodsId":"goodsId5","price":"9","num":22,"goodsName":"秦艽肉丝5","skuId":"skuIdXXX"},
{"goodsId":"goodsId6","price":"9","num":22,"goodsName":"秦艽肉丝6","skuId":"skuIdXXX"},
{"goodsId":"goodsId7","price":"9","num":22,"goodsName":"秦艽肉丝7","skuId":"skuIdXXX"},
{"goodsId":"goodsId8","price":"9","num":22,"goodsName":"秦艽肉丝8","skuId":"skuIdXXX"},
{"goodsId":"goodsId9","price":"9","num":22,"goodsName":"秦艽肉丝9","skuId":"skuIdXXX"},
{"goodsId":"goodsId10","price":"9","num":22,"goodsName":"秦艽肉丝10","skuId":"skuIdXXX"},
{"goodsId":"goodsId11","price":"9","num":22,"goodsName":"秦艽肉丝11","skuId":"skuIdXXX"},
{"goodsId":"goodsId12","price":"9","num":22,"goodsName":"秦艽肉丝12","skuId":"skuIdXXX"},
{"goodsId":"goodsId13","price":"9","num":22,"goodsName":"秦艽肉丝13","skuId":"skuIdXXX"},
{"goodsId":"goodsId14","price":"9","num":22,"goodsName":"秦艽肉丝14","skuId":"skuIdXXX"},
{"goodsId":"goodsId15","price":"9","num":22,"goodsName":"秦艽肉丝15","skuId":"skuIdXXX"}
],
"outOrderId":"XXXX你的订单号",
"detailUrl":"https://baidu.com/order/callback/00034086/000340865678a466015687c08ac56fff/koubei/45bee43ec2e1ef90d4064873d0af3e94","realPrice":100,"status":11},"source":"alipay",
"action_outer_id":"XXXX你的订单号",
"order_channel":"alipay",
"entity":"user"
}
1、使用说明
取号成功后开始上传。
detailUrl使用说明:传入的URL必须与开放平台后台,应用APPID配置的授权URL的域名相同,保证后续网页授权可以跳转过去。例如:上传的detailUrl=http://XXXXX.com?orderId=1234 会在当前URL上面追加上&openAppId=X&shopId=口碑店铺ID&bizScenario=XX。网页授权成功后跳转到ISV平台,URL会是:http://XXXXX.com?orderId=1234&openAppId=X&shopId=口碑店铺ID&bizScenario=XX&app_id=XXX&source=alipay_wallet&scope=auth_base&auth_code=ca34ea491e7146cc87d25fca24c4cD11 ,后面ISV就可以做自己的业务逻辑,比如解析orderId、auth_token参数 。然后ISV通过接口alipay.system.oauth.token根据auth_code查询支付宝会员信息。详见网页授权文档。
2、action_type:order_num
3、entity:user
4、action_detail说明
| 参数名称 | 参数类型 | 必填 | 描述 |
|---|---|---|---|
| outOrderId | String | 是 | 外部订单号(美味订单号) |
| mobile | String | 否 | 用户手机号码 |
| shopName | String | 否 | 商户店铺名称 |
| num | String | 否 | 领取号码(领取失败可以不上传) |
| qname | String | 否 | 队列名称(小桌、中桌)领号失败可能没有 |
| detailUrl | String | 是 | 跳转的原始URL |
| qattr | String | 是 | 队列属性(1-2人) |
| people | String | 是 | 领取的人数 |
| credit | Integer | 否 | 用户信誉值 (1-10)不存在不传 |
| status | Integer | 是 | 排号单状态 2 取号成功 4 叫号 5 就餐 6 过号 7 取消 |
| desc | String | 是 | 变更提示(取号成功) |
| wait | Integer | 是 | 等待人数(5) |
| waitTime | String | 否 | 具体分钟,比如30分 |
| passNumType | Integer | 是 | 过号怎么处理 (-1:不可知 0 顺延 1:不可顺延) |
| passNumDesc | String | 是 | 过号顺延不顺延文案 |
json串举例:
{
"is_test_user":"0",
"date_time":"2017-04-13 20:27:22",
"action_type":"order_num",
"user_id":"2088202884883674",
"mobile":"1836881XXXX",
"outer_shop_do":
{
"shop_id":"2016041600077000000003126147",
"type":"xxx.com",
"outer_id":"2016041600077000000003126147"
},
"industry":"REPAST",
"action_detail":{
"wait":5,
"qattr":"1-2人",
"num":"A0001",
"mobile":"1565715XXXX",
"shopName":"店铺名称",
"type":"0,1,2",
"people":6,
"passNumDesc":"过号顺延",
"passNumType":1,
"outOrderId":"XXXX你的订单号",
"qname":"小桌",
"detailUrl":"https://baidu.com/order/callback/00034086/000340865678a466015687c08ac56fff/koubei/45bee43ec2e1ef90d4064873d0af3e94",
"credit":10,
"waitTime":"30分",
"status":"2",
"desc":"变更内容"
},
"source":"alipay",
"action_outer_id":"XXXX你的订单号",
"order_channel":"alipay",
"entity":"user"
}
1、使用说明
replace的概念,无论用户是上传还是更新都调用当前接口,必填字段每次都需要,无论是更新还是插入,系统会做覆盖操作。
2、action_type:order_book_create
3、industry:order_dishes(上传用户菜单)、order_num(餐厅排号)时,设置的类型都是REPAST;order_book_create(餐厅预定)时,设置的类型是book
4、entity:user
5、action_detail说明
| 参数名称 | 参数类型 | 必填 | 描述 |
|---|---|---|---|
| outOrderId | String(50) | 是 | 外部订单号 |
| tableName | String(50) | 是 | 包厢、小桌、等ISV名称 |
| reserveTime | Long | 是 | 预约时间,到毫秒 |
| people | Int | 否 | 提交的预约人数 |
| telephone | String(15) | 是 | 预约人联系号码 |
| contactsName | String(50) | 是 | 联系人(会与性别一起在平台联合展示) |
| sex | String(2) | 否 | 联系人性别,只有F与M两个值,不清楚可以不填入。 F:男 M: 女 |
| status | String(5) | 是 | 订单状态 31待商家确认 32 预定成功 33 预定失败,商家拒绝 34 已经取消 35 已经就坐 |
| detailUrl | String(200) | 是 | 详情跳转 |
| closeReason | String(200) | 否 | 更新的原因(比如关闭为什么关闭) |
json串举例:
{
"is_test_user":"0",
"action_type":"order_book_create",
"mobile":"1836881XXXX",
"outer_shop_do":{
"shop_id":"2016041600077000000003126147",
"type":"xxx.com",
"outer_id":"2016041600077000000003126147"
},
"industry":"REPAST",
"source":"alipay",
"date_time":"2017-04-13 20:27:22",
"user_id":"2088202884883674",
"alipay_app_id":"在口碑服务市场,包装的服务ID",
"action_detail":{
"reserveTime":1492086442825,
"outOrderId":"XXXX你的订单号",
"sex":"F",
"telephone":"1565715XXXX",
"detailUrl":"https://baidu.com/order/callback/00034086/000340865678a466015687c08ac56fff/koubei/45bee43ec2e1ef90d4064873d0af3e94",
"closeReason":"用户取消",
"people":2,
"contactsName":"龙门飞甲",
"tableName":"大桌",
"status":31
},
"action_outer_id":"XXXX你的订单号",
"order_channel":"alipay",
"entity":"user"
}