Skip to content

智能设备

概述

智能设备是指安装了我们智能元件的资产,智能元件能与我们的系统进行交互,帮助客户随时了解资产的状态以及识别资产中sku的信息等,同时可以下发相应的命令给设备。

注意:

  • 下列接口中需要的project_code,请从我们的客户成功经理(CSM)处获取。

查询设备

接口说明

根据设备的资产码、hub_code等查询查询Smartware信息

请求信息

配置说明参数值
URL/smartware?asset_code=CB408AGD21060111&hub_code=CBSTEST30607e18f2&smart_id=sdt33455
MethodGET

请求参数

参数名类型描述是否必填
smart_idstring设备的主键id。smart_id/hub_code/asset_code 至少传一个
hub_codestring设备的hub_code。 smart_id/hub_code/asset_code 至少传一个
asset_codestring资产码。 smart_id/hub_code/asset_code 至少传一个

响应数据


data数据格式

参数名类型描述
smartwareobjectSmartware 信息
+ smart_idstring设备id
+ hub_codestring设备hub code
+ asset_codestring冰柜资产码
storeobjectStore 信息
+ codestringStore code
projectobjectProject 信息
+ codestringProject code

响应数据样例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "smartware": {
      "smart_id": "d1c79add-a725-432c-81a3-6d5ae2d0ce25",
      "hub_code": "CBSTEST30607e18f2",
      "asset_code": "CB408AGD21060111"
    },
    "store": {
      "code": "TEST001"
    },
    "project": {
      "code": "P0"
    }
  }
}

绑定项目

接口说明

将设备和对应的项目进行绑定,以便后续图像识别时能找到正确的模型

请求信息

配置说明参数值
URL/smartware/project
MethodPOST
Content-Typeapplication/json

body参数

参数名类型描述是否必填
smartwareobjectSmartware 信息
+ smart_idstring设备主键id。smart_id/hub_code/asset_code 至少传一个
+ hub_codestring设备的hub_code。smart_id/hub_code/asset_code 至少传一个
+ asset_codestring资产码。smart_id/hub_code/asset_code 至少传一个
projectobject项目信息
+ codestring项目 code

Body数据样例

json
{
  "smartware": {
    "smart_id": "d1c79add-a725-432c-81a3-6d5ae2d0ce25",
    "hub_code": "CBSTEST30607e18f2",
    "asset_code": "CB408AGD21060111"
  },
  "project": {
    "code": "P0"
  }
}

响应数据


data数据格式

参数名类型描述
smartwareobjectSmartware 信息
+ smart_idstring设备id
+ hub_codestringHub code
+ asset_codestring冰柜资产码

响应数据样例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "smartware": {
      "smart_id": "d1c79add-a725-432c-81a3-6d5ae2d0ce25",
      "hub_code": "CBSTEST30607e18f2",
      "asset_code": "CB408AGD21060111"
    }
  }
}

绑定门店

接口说明

将设备和门店进行绑定。门店相关信息请查看门店

请求信息

配置说明参数值
URL/smartware/store
MethodPOST
Content-Typeapplication/json

Body参数

参数名类型描述是否必填
smartwareobjectSmartware 信息
+ smart_idstring设备主键id。smart_id/hub_code/asset_code 至少传一个
+ hub_codestring设备的hub_code。smart_id/hub_code/asset_code 至少传一个
+ asset_codestring资产码。smart_id/hub_code/asset_code 至少传一个
storeobjectStore 信息
+ codestringStore code

Body数据样例

json
{
  "smartware": {
    "smart_id": "d1c79add-a725-432c-81a3-6d5ae2d0ce25",
    "hub_code": "CBSTEST30607e18f2",
    "asset_code": "CB408AGD21060111"
  },
  "store": {
    "code": "TEST001"
  }
}

响应数据


响应数据样例

json
{
  "code": 0,
  "message": "success"
}

解绑门店

接口说明

将设备和门店解绑。门店相关信息请查看门店

请求信息

配置说明参数值
URL/smartware/store
MethodDELETE
Content-Typeapplication/json

Body参数

参数名类型描述是否必填
smartwareobjectSmartware 信息
+ smart_idstring设备主键id。smart_id和hub_code必须传一个
+ hub_codestring设备hub_code。smart_id和hub_code必须传一个

Body数据样例

json
{
  "smartware": {
    "smart_id": "d1c79add-a725-432c-81a3-6d5ae2d0ce25",
    "hub_code": "CBSTEST30607e18f2"
  }
}

响应数据


响应数据样例

json
{
  "code": 0,
  "message": "success"
}

获取设备列表

接口说明

根据客户信息获取设备列表

请求信息

配置说明参数值
URL/smartware/list
MethodGET

请求参数

参数名类型描述是否必填
page_indexint页码信息,默认为第一页:1
page_sizeint每页数量,默认10,最大100

响应数据


data数据格式

参数名类型描述
totallong设备总数量
pageobject分页信息
+ indexint页码
+ sizeint每页数量
results[]object结果集
+ smart_idstring设备id
+ hub_codestring设备hub码
+ asset_codestring资产编码
+ fridge_tempint设定的目标温度,℃
+ fridge_min_tempint温控最小温度,℃
+ fridge_max_tempint温控最大温度,℃
+ fridge_temp_alarm_delayint温度报警延时时间,分钟
+ create_timelong创建时间,毫秒级时间戳
+ statusint设备状态,0-unactived; 1-running; 2-faulty; 3-broken; 4-recycled

响应数据样例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "total": 1000,
    "page": {
      "index": 1,
      "size": 10
    },
    "results": [
      {
        "smart_id": "008d01a1-8e33-451f-86f4-ba3a7b2daa89",
        "hub_code": "P31SZ11205M21030001-11E7",
        "asset_code": "CB408AGD21060201",
        "fridge_temp": 24,
        "fridge_min_temp": 1,
        "fridge_max_temp": 33,
        "fridge_temp_alarm_delay": 10,
        "create_time": 1622174400000,
        "status": 1
      }
    ]
  }
}

修改设备配置参数

接口说明

根据设备信息修改设备配置参数

请求信息

配置说明参数值
URL/smartware/config
MethodPUT
Content-Typeapplication/json

Body参数

参数名类型描述是否必填
smart_idstring设备主键id。smart_id/hub_code/asset_code 至少传一个
hub_codestring设备的hub_code。smart_id/hub_code/asset_code 至少传一个
asset_codestring资产码。smart_id/hub_code/asset_code 至少传一个
fridge_tempstring设定的目标温度,整数,℃ ,最小0,最大8
fridge_min_tempstring温控最小温度,整数,℃ ,最小-50,最大99,必须和fridge_max_temp同时设置
fridge_max_tempstring温控最大温度,整数,℃ ,最小-50,最大99,必须和fridge_min_temp同时设置
fridge_temp_alarm_delaystring温度报警延时时间,整数,分钟

Body数据样例

json
{
  "smart_id": "008d01a1-8e33-451f-86f4-ba3a7b2daa89",
  "hub_code": "P31SZ11205M21030001-11E7",
  "asset_code": "CB408AGD21060201",
  "fridge_temp": "24",
  "fridge_min_temp": "1",
  "fridge_max_temp": "33",
  "fridge_temp_alarm_delay": "10"
}

响应数据


响应数据样例

json
{
  "code": 0,
  "message": "success"
}

查询设备配置参数

接口说明

根据设备信息查询设备配置参数

请求信息

配置说明参数值
URL/smartware/config
MethodGET

请求参数

参数名类型描述是否必填
smart_idstring设备主键id。smart_id/hub_code/asset_code 至少传一个
hub_codestring设备hub_code。smart_id/hub_code/asset_code 至少传一个
asset_codestring资产码。smart_id/hub_code/asset_code 至少传一个

响应数据


data数据格式

参数名类型描述
fridge_tempint设定的目标温度,℃
fridge_min_tempint温控最小温度,℃
fridge_max_tempint温控最大温度,℃
fridge_temp_alarm_delayint温度报警延时时间,分钟

响应数据样例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "fridge_temp": 24,
    "fridge_min_temp": 1,
    "fridge_max_temp": 33,
    "fridge_temp_alarm_delay": 10
  }
}

下发设备控制命令

接口说明

下发对指定设备的控制命令

请求信息

配置说明参数值
URL/smartware/control
MethodPUT
Content-Typeapplication/json

Body参数

参数名类型描述是否必填
smart_idstring设备主键id。smart_id/hub_code/asset_code 至少传一个
hub_codestring设备hub_code。smart_id/hub_code/asset_code 至少传一个
asset_codestring资产码。smart_id/hub_code/asset_code 至少传一个
fridge_compressorint控制压缩机开关;0-不控制;1-开;2-关;3-智能模式
fridge_lightint控制灯条开关;0-不控制;1-开;2-关;3-智能模式

Body数据样例

json
{
  "smart_id": "008d01a1-8e33-451f-86f4-ba3a7b2daa89",
  "hub_code": "P31SZ11205M21030001-11E7",
  "asset_code": "CB408AGD21060201",
  "fridge_compressor": 1,
  "fridge_light": 1
}

响应数据


响应数据样例

json
{
  "code": 0,
  "message": "success"
}

查询设备状态信息

接口说明

根据设备信息查询设备状态

请求信息

配置说明参数值
URL/smartware/state
MethodGET

请求参数

参数名类型描述是否必填
smart_idstring设备主键id。smart_id/hub_code/asset_code 至少传一个
hub_codestring设备hub_code。smart_id/hub_code/asset_code 至少传一个
asset_codestring资产码。smart_id/hub_code/asset_code 至少传一个

响应数据


data数据格式

参数名类型描述
fridge_tempfloat64冰柜此时的温度值,℃
fridge_latest_temp_timelong温度最后上报时间,毫秒级时间戳
fridge_compressorint控制压缩机开关;0-不控制;1-开;2-关;3-智能模式
fridge_lightint控制灯条开关;0-不控制;1-开;2-关;3-智能模式
longitudefloat64位置经度
latitudefloat64位置纬度
latest_gps_timelong最后上报位置信息时间,毫秒级时间戳
alarms[]object有效报警列表
+ typestring报警类型,temp=温度,gps=位置
+ dataobject具体报警信息
+ + degreestring温度值,type=temp才存在
+ + timelong报警时间,毫秒级时间戳
+ + diffstring偏移值,单位米,type=gps时存在
latest_heartbeat_timeint最后一次上报心跳时间,毫秒级时间戳
is_power_supplybool是否供电,true = 外接电源,false代表使用电池

响应数据样例

json
{
  "code": 0,
  "message": "success",
  "data": {
      "fridge_temp": 12.22,
      "fridge_latest_temp_time": 1622174400000,
      "fridge_compressor": 1,
      "fridge_light": 1,
      "longitude": 126.63333,
      "latitude": 38.75000,
      "latest_gps_time": 1622174400000,
      "alarms":[
        {
          "type": "temp",
          "data":{ 
            "degree": "66.11",
            "time": 1622174400000
          }
        },
        {
          "type": "gps",
          "data":{
            "diff": "2.22",
            "time": 1622174400000
          }
        }
      ],
      "latest_heartbeat_time": 1622174400000,
      "is_power_supply": true
  }
}

获取设备识图信息

接口说明

获取设备识图信息

请求信息

配置说明参数值
URL/smartware/ir/result?capture_end_time=1646618412000&capture_start_time=1646618411000&image_filter=latest&store_code=5177er67378273888287321&smart_id=sdt33455
MethodGET

请求参数

参数名类型描述是否必填
store_codestring门店code码,和smart_id、asset_code、hub_code有一个必填
smart_idstring设备主键id,和store_code、asset_code、hub_code有一个必填
asset_codestring资产码,和store_code、smart_id、hub_code有一个必填
hub_codestringhub code,和store_code、asset_code、smart_id有一个必填
capture_start_timelong拍照开始时间戳(毫秒)
capture_end_timelong拍照结束时间戳(毫秒)
image_filterstring图片筛选条件, latest=最新(默认)

响应数据


data数据格式

参数名类型描述
storestring门店信息
+ codestring门店code
photos[]object拍照的图片信息,每个smartId会有一张图片信息
+ smartwarestringSmartware
+ + smart_idstringSmartware id
+ + hub_codestringHub code
+ capture_timelong拍照时间,毫秒时间戳
+ image_urlstring照片url
+ dataobject识图信息
+ + sku_list[]objectsku列表
+ + + sku_idstringsku id
+ + + sku_namestringsku名称
+ + + sku_countint64sku数量
+ + + categorystringsku类别
+ + + manufacturerstringsku制造商
+ + + flavorstringsku风味
+ + + sub_brandstringsku子品牌
+ + + pack_typestringsku包装类型
+ + + pack_sizestringsku包装尺寸
+ + + sub_categorystringsku子分类
+ + + unitstringsku单位
+ + locations[]objectsku坐标列表
+ + + box_idstringbox id
+ + + box_typeint32box type,0=未知类型 1=模型框 2= embedding框 10=价签框 11= POSM框
+ + + sku_idstringsku Id
+ + + linked_box_idint64关联的box id
+ + + positionobjectsku位置
+ + + + indexint32位置序号
+ + + + rowint32行号,具体规则见行列示意图
+ + + + colint32列号,具体规则见行列示意图
+ + + + stackingstring堆信息,0=无堆放,如果存在堆放,值为1~n
+ + + bounding_boxobject坐标框
+ + + + x_minfloat64左上角x坐标, 具体位置见box示意图
+ + + + y_minfloat64左上角Y坐标, 具体位置见box示意图
+ + + + x_maxfloat64右下角x坐标, 具体位置见box示意图
+ + + + y_maxfloat64右下角y坐标, 具体位置见box示意图
+ + qualities[]object照片质量,具体见Task识图质量说明
+ + + idstring质量id
+ + + namestring质量名称
+ + metrics[]object指标项,具体含义见api说明,具体见Task识图指标说明
+ + + idstring指标项id
+ + + namestring指标项名称
+ + + valuestring指标项值
+ + sales[]object销量信息
+ + + sku_idstringSku id
+ + + sku_namestringSku name
+ + + countint64该sku在这次照片中的销量

假设拍摄了一张350X640的照片,则(1,1)对应的真实坐标为(350,640),x_min、x_max、y_min、y_max需要按照相应比例计算真实坐标位置,box示意图如下:
box

行列的示意图如下:
col_row

响应数据样例

json
{
  "code": 0,
  "message": "",
  "data": {
    "store": {
      "code": "TEST001"
    },
    "photos": [
      {
        "smartware": {
          "smart_id": "d1c79add-a725-432c-81a3-6d5ae2d0ce25",
          "hub_code": "CBSTEST30607e18f2"
        },
        "capture_time": 1646618412000,
        "image_url": "https://f-dev.clobotics.cn/4/0040ca4d85f5e5ef7354102f486ef843.jpg",
        "data": {
          "sku_list": [
            {
              "sku_id": "1047441",
              "sku_name": "Coke Original Sparkling Can 180 ml",
              "sku_count": 7,
              "brand": "Coke",
              "category": "Sparkling",
              "manufacturer": "Coca-Cola",
              "flavor": "",
              "sub_brand": "Original",
              "pack_type": "Can",
              "pack_size": "180",
              "sub_category": ""
            }
          ],
          "locations": [
            {
              "sku_id": "1044059",
              "bounding_box": {
                "x_min": 0.46711602807044983,
                "y_min": 0.7578532695770264,
                "x_max": 0.481109082698822,
                "y_max": 0.771846354007721
              },
              "position": {
                "index": 0,
                "row": 1,
                "col": 2,
                "stacking": 0
              },
              "box_id": 0,
              "box_type": 0,
              "linked_box_id": 0
            },
            {
              "sku_id": "1044059",
              "bounding_box": {
                "x_min": 0.5359848141670227,
                "y_min": 0.7501513361930847,
                "x_max": 0.5499778389930725,
                "y_max": 0.7641443610191345
              },
              "position": {
                "index": 0,
                "row": 1,
                "col": 3,
                "stacking": 0
              },
              "box_id": 0,
              "box_type": 0,
              "linked_box_id": 0
            }
          ],
          "qualities": [
            {
              "id": "23",
              "name": "test"
            }
          ],
          "metrics": [
            {
              "id": "16",
              "name": "Purity",
              "value": "58%"
            }
          ],
          "sales": [
            {
              "sku_id": "1044059",
              "sku_name": "cool",
              "count": 2
            }
          ]
        }
      }
    ]
  }
}

获取门店或设备每日汇总数据

接口说明

根据门店或者设备Id获取每日汇总信息

请求信息

配置说明参数值
URL/smartware/ir/summary/daily?date=2022-03-01&metrics=sales&store_code=5177er67378273888287321&smart_id=sdt33455
MethodGET

请求参数

参数名类型描述是否必填
store_codestring门店code码,和smart_id、asset_code、hub_code有一个必填
smart_idstring设备主键id,和store_code、asset_code、hub_code有一个必填
asset_codestring资产码,和store_code、smart_id、hub_code有一个必填
hub_codestringhub code,和store_code、asset_code、smart_id有一个必填
datestring查询时间, yyyy-MM-dd,默认取当前的时间T-1
metricsstring数据项,sales=销量,多个数据项以","(英文逗号)隔开,现阶段只有sales这个数据项

响应数据


data数据格式

参数名类型描述
storestring门店信息
+ codestring门店code
data[]object每个设备的每日汇总信息
+ smartwareobjectSmartware
+ + smart_idstring设备主键id
+ + hub_codestring设备的hub code
+ photo_countint64照片数量
+ sales[]object销量信息
+ + sku_idstringSku id
+ + sku_namestringSku name
+ + countint64该sku在统计周期内的销量

响应数据样例

json
{
  "code": 0,
  "message": "",
  "data": {
    "store": {
      "code": "TEST001"
    },
    "data": [
      {
        "smartware": {
          "smart_id": "d1c79add-a725-432c-81a3-6d5ae2d0ce25",
          "hub_code": "CBSTEST30607e18f2"
        },
        "sales": [
          {
            "sku_id": "1044059",
            "sku_name": "cool",
            "count": 100
          }
        ]
      }
    ]
  }
}