文档中心 > 开放平台

店铺行为数据

更新时间:2017/09/06 访问次数:22412

接入场景action_detail设置说明

商户行为分为:店铺菜品、店铺桌位、店铺营业状态三类。

店铺菜品

菜品涉及四种行为:插入菜品信息、删除菜品信息、修改菜品信息、估清菜品信息。

插入菜品信息

1、使用说明

  • 首次仍然需要进行foreach进行初始化数据调用
  • 初始化完成后需要每次商户新增加菜品的时候进行调用
  • dishSkuList 使用说明 比如有菜品有个规格:大份10元 、小份5元 然后还可以选择加肉3元或者不加肉: [{Id=XX,property="规格:大份;配料:加肉",price=13},{Id=XX,property="规格:大份;配料:不加",price=10},{Id=XX,property="规格:小份;配料:加肉",price=8},{Id=XX,property="规格:小份;配料:不加",price=5}]

2、action_type:insert_dish

3、entity:shop

4、action_detail说明

参数名称 参数类型 必填 描述
outerDishId String 外部菜品ID
name String 菜品名称
price Long 菜品价格 (单位分,如果定义类型是long,金额单位都是分)
soldout Integer 是不是已经售卖完成
0 正常,1 估清
quantity Long 库存数量(不传 代表没有意义)
pict JSONArray 商品图片(只支持http的图片)
status Integer 0 上架(可点) 1 不在线(不可点) 默认0
desc String 菜品描述
sort Integer 传入当前菜品在isv平台的顺序,我们会按照值越小越靠前来理解这个值。如果ISV平台菜品没有顺序的概念可以不传入
unit String 菜品单位(斤、份)
dishTypeID String 菜品分类ID,菜品分类ID是ISV自己的菜品分类ID,如果你们有分类就传入你们的分类ID,如果没有可以不用传入。比如回锅肉挂在川菜分类下面,就可以传入川菜的类目ID
dishTypeName String 菜品分类名称
dishSkuList JSONArray 菜品的SKU,有就设置  没有不传入当前key。如果传入了,下面的*都要传入
1. *String  id   代表当前skuId
2. *String property 规格对  A:B;A1:B1
3. Integer quantity  菜品库存  10
4. *Long price 菜品价格   单个SKU价格 (单位分,如果定义类型是long,金额单位都是分)
具体设置规则请参考代码demo。

json举例:

{
"date_time":"2017-27-13 20:04:22",
"action_type":"insert_dish",
"outer_shop_do":
 {
  "shop_id":"2016041600077000000003126147",
  "type":"xxx.com",
  "outer_id":"2016041600077000000003126147"
 },
"industry":"REPAST",
  "action_detail":{
  "quantity":100,
  "dishTypeID":"8b7d0301204411e78ab633383948fe8a",
  "sort":1,
  "soldout":0,
  "outerDishId":"XXXX",
  "unit":"份",
  "price":10,
  "name":"菜品名称",
  "dishTypeName":"冷菜区",
  "dishSkuList":"[{\"quantity\":10,\"price\":15,\"property\":\"规格:大份\",\"id\":\"111122\"},
                         {\"quantity\":\"10\",\"pName\":\"规格:小份\",\"price\":\"5\",\"id\":\"111123\"}]",
  "pict":["http://alipay.dl.django.t.taobao.com/rest/1.0/image?fileIds=x_DNt-sAQqCCs4QdRdd40wAAACMAAQED&zoom=original","http://alipay.dl.django.t.taobao.com/rest/1.0/image?fileIds=x_DNt-sAQqCCs4QdRdd40wAAACMAAQED&zoom=original"],
  "status":0,
  "desc":"我是菜品描述"
  },
"action_outer_id":"XXXX",
"entity":"shop"
} 

修改菜品信息

1、使用说明

  • 商户对菜品进行任何变更,实时调用通知
  • 修改菜品其他信息、菜品名称、图片等等,传入就更新,不传入不更新

2、action_type:modify_dish

3、entity:shop

4、action_detail说明

参数名称 参数类型 必填 描述
outerDishId String 外部菜品ID
name String 菜品名称
price Long 菜品价格(单位分,定义类型是long,金额单位都是分)
soldout Integer 是不是已经售卖完成  0正常,1估清,默认0
quantity Long 库存数量(不传 代表没有意义)
pict JSONArray 商品图片(只支持http的图片)
status Integer 0 上架(可点) 1 不在线(不可点) 默认0
desc String 菜品描述
sort Integer

传入当前菜品在isv平台的顺序,我们会按照值越小越靠前来理解这个值。如果ISV平台菜品没有顺序的概念可以不传入
unit String 菜品单位(斤、份)
dishTypeID String 菜品分类ID,菜品分类ID是ISV自己的菜品分类ID,如果你们有分类就传入你们的分类ID,如果没有可以不用传入。比如回锅肉挂在川菜分类下面,就可以传入川菜的类目ID
dishTypeName String 菜品分类名称
dishSkuList JSONArray 菜品的SKU,有就设置  没有不传入当前key。如果传入了,下面的*都要传入
1. *String  id   代表当前skuId
2. *String property 规格对  A:B;A1:B1
3. Integer quantity  菜品库存  10
4. *Long price 菜品价格   单个SKU价格(单位分,如果定义类型是long,金额单位都是分)

json举例:

{
    "date_time":"2017-27-13 20:04:22",
    "action_type":"modify_dish",
    "outer_shop_do":
        {
            "shop_id":"2016041600077000000003126147",
            "type":"xxx.com",
            "outer_id":"2016041600077000000003126147"
        },
    "industry":"REPAST",
    "action_detail":
        {
              "quantity":100,
              "dishTypeID":"类型ID",
              "sort":1,
              "soldout":0,
              "outerDishId":"XXXX",
              "unit":"份",
              "price":10,
              "name":"菜品名称",
              "dishTypeName":"冷菜区",
              "dishSkuList":"[
                  {\"quantity\":10,\"price\":15,\"property\":\"规格:大份\",\"id\":\"111122\"},
                  {\"quantity\":\"10\",\"pName\":\"规格:小份\",\"price\":\"5\",\"id\":\"111123\"}
               ]",
              "pict":["http://alipay.dl.django.t.taobao.com/rest/1.0/image?fileIds=x_DNt-sAQqCCs4QdRdd40wAAACMAAQED&zoom=original",
"http://alipay.dl.django.t.taobao.com/rest/1.0/image?fileIds=x_DNt-sAQqCCs4QdRdd40wAAACMAAQED&zoom=original"],
              "status":0,
              "desc":"我是菜品描述"
        },
    "action_outer_id":"XXXX",
    "entity":"shop"
}

删除菜品信息

1、使用说明:商户不再经营当前菜品的时候进行调用,做物理删除

2、action_type:delete_dish

3、entity:shop

4、action_detail说明

参数名称 参数类型 必填 描述
outerDishId String 外部菜品ID

json举例:

{
    "date_time":"2017-27-13 20:04:22",
    "action_type":"delete_dish",
    "outer_shop_do":
        {  
            "shop_id":"2016041600077000000003126147",
            "type":"xxx.com",
            "outer_id":"2016041600077000000003126147"
        },
    "industry":"REPAST",
    "action_detail":{"outerDishId":"XXXX"},
    "action_outer_id":"XXXX",
    "entity":"shop"
}

估清菜品信息

1、使用说明:菜品估清的时候调用,系统会更新菜品的soldout字段。

2、action_type:soldout_dish

3、entity:shop

4、action_detail说明

参数名称 参数类型 必填 描述
outerDishId String 外部菜品ID

json举例:

{
    "date_time":"2017-27-13 20:04:22",
    "action_type":"soldout_dish",
    "outer_shop_do":
        {
            "shop_id":"2016041600077000000003126147",
            "type":"xxx.com",
            "outer_id":"2016041600077000000003126147"
        },
    "industry":"REPAST",
    "action_detail":{"outerDishId":"XXXX"},
    "action_outer_id":"XXXX",
    "entity":"shop"
}

店铺桌位

桌位涉及三种行为:插入桌位行为、修改桌位行为、每天全量一次全部座位。

插入桌位信息

1、使用说明

  • 合作商首次需要进行全量插入数据,请进行foreach调用。
  • 增量需要合作商每次新增餐桌的时候调用。
  • 多次调用插入同一个餐桌,后续插入会执行更新。

2、action_type:insert_table

3、entity:shop

4、action_detail说明

参数名称 参数类型 必填 描述
tableId String 座位ID,后面通过他更新
max Integer 最大容量
min Integer 最小容量
tableName String 餐桌名称(比如:神龙包厢)如果没有名称可以使直接传入tableNum的值
tableNum String 桌位编号(比如:A01)
tableType String 餐桌类型(0:普通桌 1:包厢)
status Integer 0空闲 1 占用 2 不可知 -1 删除

json举例:

{
"date_time":"2017-04-13 20:27:22",
"action_type":"insert_table",
"outer_shop_do":
    {
        "shop_id":"2016041600077000000003126147",
        "type":"xxx.com",
        "outer_id":"2016041600077000000003126147"
    },
"industry":"REPAST",
"action_detail":
    {
        "tableType":0,
        "min":4,
        "max":6,
        "tableNum":"A01",
        "tableId":"座位主键",
        "tableName":"4_6 人",
        "status":0
    },
"action_outer_id":"座位主键",
"entity":"shop"
}

修改桌位信息

1、使用说明

  • 在座位变更的时候,比如开桌、名字变更等进行适时调用
  • 不传入不更新,如果为null或者该字段没有更新,不用传入当前key

2、action_type:update_table

3、entity:shop

4、action_detail说明

参数名称 参数类型 必填 描述
tableId String 座位ID,后面通过他更新
max Integer 最大容量
min Integer 最小容量
tableName String 餐桌名称(比如:神龙包厢)如果没有名称可以使直接传入tableNum的值
tableNum String 桌位编号(比如:A01)
tableType String 餐桌类型(0:普通桌 1:包厢)
status Integer

0:空闲,当前桌位没人使用

1:占用,当前桌位已占用

2:不可知,无法判断当前桌位状态

-1:删除,删除掉桌位

默认空闲

json举例:

{
"date_time":"2017-04-13 20:27:22",
"action_type":"update_table",
"outer_shop_do":
   {
        "shop_id":"2016041600077000000003126147",
        "type":"xxx.com",
        "outer_id":"2016041600077000000003126147"
    },
"industry":"REPAST",
"action_detail":
    {
        "tableType":0,
        "min":1,
        "max":3,
        "tableNum":"A01",
        "tableId":"座位主键",
        "tableName":"1_3 人",
        "status":0
    },
"action_outer_id":"座位主键",
"entity":"shop"
}

批量更新一个店铺的桌位信息

1、使用说明

本接口用来全量更新一个店铺的所有桌位数据(注意:必须一次传入一个店铺在用的桌位数据,桌位状态是,空闲:0 占用:1 不可知: 2 口碑会先删除原有数据,然后插入传入数据),建议每天晚上定时上传,主要解决实时回传中数据丢失的情况。

2、action_type:insert_one_shop_all_table

3、entity:shop

4、action_detail说明

参数名称 参数类型 必填 描述
tableId String 座位ID,后面通过他更新
max Integer 最大容量
min Integer 最小容量
tableName String 餐桌名称(比如:神龙包厢)如果没有名称可以使直接传入tableNum的值
tableNum String 桌位编号(比如:A01)
tableType String 餐桌类型(0:普通桌 1:包厢)
status Integer 0空闲 1 占用 2 不可知 -1 删除

json举例:

{
    "date_time":"2017-04-13 21:01:49",
    "action_type":"insert_one_shop_all_table",
    "outer_shop_do":
         {
             "shop_id":"2016041600077000000003126147",
             "type":"xxx.com",
             "outer_id":"2016041600077000000003126147"
         },
    "industry":"REPAST",
    "action_detail":[
       {"tableType":0,"min":4,"max":6,"tableNum":"A01","tableId":"座位主键","tableName":"4_6 人","status":0},
       {"tableType":0,"min":3,"max":5,"tableNum":"A01","tableId":"XXXXX","tableName":"4_6 人","status":0}
     ],
    "action_outer_id":"口碑店铺ID",
    "entity":"shop"
}

店铺营业状态

更新店铺营业状态

1、使用说明

  • 上传商户的营业状态。status进行初步判断、后面list是初步判断的来源
  • 每隔一段时间(1-10分钟)上传一次商户的状态。
  • type说明:【营业时间: businessHours;昨天营业时间:historyBusinessHours;上一笔订单时间:lastOrderTime;交接班状态:handover;收银机状态:cashStatus 】
  • type=businessHours feature=[{"startTime";"08:00","endTime":"23:00"},{"startTime";"23:30","endTime":"03:00"}] 数组 一个开始时间一个结束时间。可以跨天
  • type=historyBusinessHours 与businessHours一样
  • type=lastOrderTime feature={time:2313123131} unix时间戳到毫秒 最后一笔订单在30分钟内
  • type=handover feature={handover:1} 1:已经交接班。 0:未发生交接班
  • type=cashStatus feature={cashStatus:1} 1:收银机在线。 0:收银机不在线

2、action_type:modify_shop_status

3、entity:shop

4、action_detail说明

参数名称 参数类型 必填 描述
status Integer 1 在线0 不在线  -1 不可知
accuracy Double 结果准确度  100代表绝对正确
list JSONArray 判断原因对象
1、*string type   收银状态、最后的订单 见上面说明
2、*String  feature(json结构,根据type不同而不同,参考上面说明)
3、String  desc 简单描述(可以空)

json举例:

{
    "date_time":"2017-36-13 20:04:41",
    "action_type":"modify_shop_status",
    "outer_shop_do":
        {  
            "shop_id":"2016041600077000000003126147",
            "type":"xxx.com",          
            "outer_id":"2016041600077000000003126147"
        },
    "industry":"REPAST",
    "action_detail":
        {
            "accuracy":80,
            "list":[
                      {
                         "feature":"[
                                 {\"startTime\";\"08:00\",\"endTime\":\"23:00\"},                 
                                 {\"startTime\";\"23:30\",\"endTime\":\"03:00\"}
                          ]",
                         "type":"businessHours",
                         "desc":"可有可无"
                      },
                     {
                        "feature":"[
                                 {\"startTime\";\"09:00\",\"endTime\":\"23:00\"},       
                                 {\"startTime\";\"23:30\",\"endTime\":\"03:00\"}
                         ]",
                        "type":"historyBusinessHours",
                        "desc":"可有可无"
                     },
                    {
                        "feature":"{\"time\":1492087001256}",
                        "type":"lastOrderTime",
                        "desc":"可有可无"
                    },
                    {
                         "feature":"{\"handover\":1}",
                         "type":"handover",
                         "desc":"可有可无"
                    }
                ],
        "status":1
     },
    "action_outer_id":"店铺ID",
    "entity":"shop"
}

 

FAQ

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