文档中心 > 开放平台

用户行为数据

更新时间:2017/09/08 访问次数:24019

接入场景action_detail设置说明

用户涉及三种行为:上传用户点菜的菜单、上传用户排号订单、上传用户预订订单行为。

上传用户点菜的菜单

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:普通用户,没有做特殊说明的都是普通用户
TIPS:使用支付宝支付时payTime、channel、payOrderNo是必填项。

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

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部