修改设备快照信息
此接口用于修改指定设备的属性信息。
属性key需提前在iot管理平台定义,且大小写以页面显示为准,未定义的属性将被过滤,流程:
- 校验设备存在性、是否禁用、全部下发属性是否未定义
- 针对已定义的属性更新到期望。至此,同步调用结束
- 设备在线时,异步下发属性到设备,若成功,则将期望值更新到上报值
- 设备不在线,但上线后,会将期望值下发到设备,若成功,则将期望值更新到上报值
1 接口路径
POST /api/v1/device/attributes/{deviceId}
2 请求参数
路径参数:
| 名称 | 类型 | 是否必需 | 描述 | 
|---|---|---|---|
| deviceId | BigInteger | 是 | 设备ID | 
body参数,json格式:
| 名称 | 类型 | 是否必需 | 描述 | 
|---|---|---|---|
| productKey | String | 是 | 产品标识 | 
| desired | Object | 是 | 期望值,用户自定义的json对象 | 
3 返回参数
统一返回参数说明参考:公共参数,正常的返回业务参数(data) 如下:
| 名称 | 类型 | 描述 | 
|---|---|---|
| filterKeys | String[] | 已过滤的属性(未定义或大小写不一致) | 
| failedKeys | String[] | 更新失败的属性 | 
4 返回状态码
公共状态码说明参考:公共参数,以下是业务关联的状态码说明:
| code | 描述 | 
|---|---|
| 120106 | 设备不存在或无权限 | 
| 120105 | 设备属性期望值不能为空 | 
| 120110 | 设备已禁用或状态未知 | 
5 示例
请求示例
{
    "productKey": "1_783dcb3cf4d",
    "desired": {
        "color": "aqua",
        "coloR": "red",
        "color1": "green"
    }
}
返回示例
{
    "code": "000000",
    "data": {
        "filterKeys": [   //已过滤的属性(未定义或大小写不一致)
            "color1",
            "coloR"
        ],
        "failedKeys": []  //更新失败的属性
    },
    "message": "success"
}