3. 基础信息接口

3.1. 登录接口

基于安全验证考虑,所有的业务接口均需依据atoken验证请求合法性。atoken是通过本接口进行获取到的。 根据appkey以及用户名密码登录系统,并获取atoken值,后续所有的接口请求均要求提供atoken值。

  • 注:appkey目前只做记录,后期会加入校验,暂时传入公司英文名称或中文全拼,确保唯一。例:vionvision
Verb: POST
Path: api/v1/user/login
Header: (Content-Type: application/json)
Request Body
{
        appkey:"xxxxx",                  // appkey,暂未做校验。推荐使用公司简拼
        username:"your uname",           //用户名
        password:"your password"        //密码
}
Response Body:
{
        atoken:"2cb4ff2f-191a-4b7f-8ef4-7e59bb3d87f4",     //成功登录后返回的atoken值
        msg_code:200,                                      //状态码
        msg_info:"登录成功"                                //接口返回状态结果
}

3.2. 门店分组信息

分组一般是指按运营区域划分的组合,支持多级划分。每个分组下有多个门店(广场)。 分组并不是必需的,可以不进行划分。如果没有划分分组,则直接在集团下是所有门店(广场)。

Verb: GET
Path: api/v1/base/groupInfo
Header: (authorization, {$atoken})
Request Params
Response Body:
{
        msg_code: 200,
        msg_info: "成功"
        data: [{
                id: "115",                                   //分组的id,作为分组信息的唯一标识
                name: "西北大区",                            //分组的名称。
                name_en: "xxxxxxx",                         //分组的英文名称
                pid: "11"                                   //分组的父级id
        }]
}

3.3. 门店(广场)信息列表

门店是指在连锁零售平台里对一家店铺的称呼。 广场是指在商业地产平台里对一个购物中心的称呼。 本接口是获取门店的基础信息,包括uuid等字段。后续业务门店(广场)数据接口查询需要使用的unid是本接口提供的。

Verb: GET
Path: api/v1/base/plazaInfo
Header: (authorization, {$atoken})
Request Params:
Response Body:
{
        msg_code: 200,
        msg_info: "this is info",
        data: [{
                plaza_unid: "1231233",                          //(广场)门店的unid,作为门店信息的全局唯一标识
                plaza_externalid: "9876632",            //(广场)门店的外部编码,一般用作于第三方对接时,与第三方系统编码保持一致。
                plaza_name: "门店名称",                             //(广场)门店的名称
                group_id:"门店分组id",                              //(广场)门店所属分组的id,分组信息参见上一章节:分组信息
                group_name:"门店分组name"                   //(广场)门店所属分组的名称,分组信息参见上一章节:分组信息
        },
        {
                plaza_unid: "1231233",
                plaza_externalid: "9876632",
                plaza_name: "门店名称",
                group_id:"广场分组id",
                group_name:"广场分组name"
        },
        {
                plaza_unid:"1231233",
                plaza_externalid: "9876632",
                plaza_name: "门店名称",
                group_id:"广场分组id",
                group_name:"广场分组name"
        }]
}

3.4. 楼层信息

在购物中心项目中往往会有多个楼层的数据需要采集,这个接口可以获取楼层的基本信息。 在连锁零售平台里,有时候也会存在一些较大的门店分为上下两层、甚至多层的。同样本接口也可以提供楼层基本信息。

Verb: GET
Path: /api/v1/base/floorInfo
Header: (authorization, {$atoken})
Request Params:
  • plaza_unid: 广场(门店)唯一编码。示例:8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6
Response Body:
{
        msg_code: 200,
        msg_info: "成功"
        data: [{
                plaza_unid: "8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6",    //(广场)门店唯一编码
                floor_unid: "***",                                     //楼层的唯一编码
                floor_name: "1F",                                      //楼层的名称
                floor_plan: "http://xxxx.jpg",    // 楼层平面图
                floor_status: "1",    // 状态
                floor_externalid: "***"                                //楼层的外部编号
        }]
}

3.5. 店铺(分区)

在购物中心项目中,往往需要采集每个楼层每个店铺的客流数据。本接口可以提供所有的店铺基础信息。 在连锁零售项目中,有时候也会存在一些较大的门店,将店内空间分成不同的区域(站台)进行数据采集、顾客跟踪等。同样,本接口也可以提供零售门店内的分区情况。

Verb: GET
Path: api/v1/base/zoneInfo
Header: (authorization, {$atoken})
Request Params
  • plaza_unid: 广场(门店)唯一编码。示例:8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6
Response Body:
{
        msg_code: 200,
        msg_info: "成功"
        data: [{
                plaza_unid: "8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6",   //(广场)门店唯一编码
                floor_unid: "***",                                    //楼层的唯一编码
                zone_unid: "9734758a-e0b0-11e8-b6e8-7cd30ac4c912",    //区域的唯一编码
                zone_name: "店铺名称",                                //区域名称
                zone_x: "177.0",                                //x坐标
                zone_y: "506.0",                                //y坐标
                zone_status: "1",                                //状态
                zone_externalid: "***"                                //区域的外部编号
        }]
}

3.6. 出入口信息

出入口是指顾客进出的位置。 门店(广场)、楼层、店铺(分区)都有出入口。没有出入口的区域是无法产生客流数据的。并且一个出入口可以同时属于多个店铺(分区)。

Verb: GET
Path: api/v1/base/gateInfo
Header: (authorization, {$atoken})
Request Params
  • plaza_unid: 广场(门店)唯一编码。示例:8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6
Response Body:
{
        msg_code: 200,
        msg_info: "成功"
        data: [{
                plaza_unid: "8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6",   //(广场)门店唯一编码
                gate_unid: "***",                                     //监控点的唯一编码
                is_mall_gate: "1",                                    //是否为门店出入口监控点,0:否 1:是
                gate_name: "出入口名称",                              //出入口的名称
                gate_x: "140.0",                              // x坐标
                gate_y: "560.0",                              // y坐标
                gate_status: "1",                              // 状态
                gate_externalid: "***"                                //监控点的外部编号
        }]
}

3.7. 门店设备信息

根据门店(广场)的unid获取其下的所有设备信息。

Verb: GET
Path: api/v1/base/device
Header: (authorization, {$atoken})
Request Params
  • plaza_unid: 广场(门店)唯一编码。示例:8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6
  • gate_unid: 监控点唯一编码。 示例:2362931c-391d-11eb-a81e-506b4bc26e0a
Response Body:
{
        msg_code: 200,
        msg_info: "成功"
        data: [{
                serialnum: "e0b0-11e8-b6e8-7cd30ac4c9a6",             //设备序列号
                name: "***",                                          //设备名称
                channel_count: 1,                                     //设备通道数
                mac: "00-10-ff-12-43-12",                             //设备的mac地址
                status: 1,                                            //设备状态  0离线 1在线 停用3
                local_ip:"192.168.2.123",                             //本地ip
                modify_time:"2018-01-01 00:00:00"                     //更新时间
        }]
}

3.8. 门店店员信息

根据门店(广场)的unid获取其下的所有店员信息。包括姓名、照片等。

Verb: GET
Path: api/v1/base/staff
Header: (authorization, {$atoken})
Request Params
  • plaza_unid: 广场(门店)唯一编码。示例:8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6
Response Body:
{
        msg_code: 200,
        msg_info: "成功"
        data: [{
                person_unid: "e0b0-11e8-b6e8-7cd30ac4c9a6",             //员工id,与抓拍记录中的person_unid一致
                name: "张先生",                                          //员工姓名
                gender: 1,                                                       //性别   0:女     1:男
                age: 29,                                                                  //年龄
                photo: "http://xxxx.jpg",                                               //注册照片。可访问的url地址
                createtime:"2018-01-01 00:00:00"                     //更新时间
        }]
}

3.9. 人员库信息

根据门店(广场)的unid以及人员类型id获取其下的人员信息。包括姓名、照片等。

Verb: GET
Path: api/v1/base/persons
Header: (authorization, {$atoken})
Request Params
  • plaza_unid: 广场(门店)唯一编码。示例:8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6
  • type_id: 人员类型id。示例:157334
Response Body:
{
        msg_code: 200,
        msg_info: "成功"
        data: [{
                person_unid: "e0b0-11e8-b6e8-7cd30ac4c9a6",             //员工id,与抓拍记录中的person_unid一致
                name: "张先生",                                          //员工姓名
                gender: 1,                                                       //性别   0:女     1:男
                age: 29,                                                                  //年龄
                photo: "http://xxxx.jpg",                                               //注册照片。可访问的url地址
                createtime:"2018-01-01 00:00:00"                     //更新时间
        }]
}

3.10. 人员类型信息

获取品牌(集团)的所有人员库标签(名称)信息。包括名称、ID等。

Verb: GET
Path: api/v1/base/personLib
Header: (authorization, {$atoken})
Request Params
  • plaza_unid: 广场(门店)唯一编码。示例:8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6
Response Body:
{
        msg_code: 200,
        msg_info: "成功"
        data: [{
                id: 157334,                                          //人员类型id
                name: "vip会员",                                          //人员类型名称
                createtime:"2018-01-01 00:00:00",                     //更新时间
                plaza_unid:"8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6",                              //广场(门店)唯一编码,当人员类型属于集团的时候,该字段返回可能为空
                account_unid:"1734758a-e0b0-11e8-b6e8-7cd30ac4c9a6"                             //集团唯一编码
        },{
                id: 157335,                                          //人员类型id
                name: "超级vip会员",                                    //人员类型名称
                createtime:"2018-01-01 00:00:00",                     //更新时间
                plaza_unid:"8734758a-e0b0-11e8-b6e8-7cd30ac4c9a6",                              //广场(门店)唯一编码,当人员类型属于集团的时候,该字段返回可能为空
                account_unid:"1734758a-e0b0-11e8-b6e8-7cd30ac4c9a6"                             //集团唯一编码
        }]
}