控制设备/发送消息到设备

PUT /api/devices/$deviceId/shadows

控制设备或向设备发送消息。
发送的消息属性需要在设备模型中已定义,且仅允许下发带读权限的属性数据。

URL参数

参数名 类型 必填 描述 限制
deviceId string 设备唯一标识

请求参数

参数名 类型 必填 描述 限制
type Enum<string> 发送消息类型 取值
m:普通消息
ack:响应消息
c:配置消息
needack Boolean 是否需反馈结果 true的时候会等待设备响应才会返回
correlationId string 关联标识,needack为true时才会起作用 当该消息为ack类消息时需传人,取值为请求消息id
payload MessagePayload 消息内容
contextId STRING 上下文标识,用于查询分类
参数名 类型 必填 描述 限制
attrs List<PayloadAttribute> 消息属性列表 attrs和Actions不能同时为空
actions List<PayloadAction> 操作列表 attrs和Actions不能同时为空
参数名 类型 必填 描述 限制
channel Enum<String> 消息通道 消息通道类型,取值
m:普通消息类型
w:告警类消息
g:地理位置信息数据
code String 属性编码 需要与设备模型中定义一致
value Object 属性值 数据类型需要与设备模型中定义一致
参数名 类型 必填 描述 限制
code String 操作编码 需要与设备模型中定义一致
params Map<String, Object> 操作参数 Key:取值参数编码code,需与设备模型定义一致
Value数据类型需与设备模型定义一致

请求样例

PUT /api/devices/601b2471-f139-45d2-bf40-b76f0719c7e3/shadows HTTP/1.1
Host: 60.205.223.53:8443
Content-Type: application/json
Authorization: Bearer xxx.xxxx.xxx
Cache-Control: no-cache
Postman-Token: 1c510417-3136-47b8-2258-646fa0085954

{
    "needack": true,
    "payload": {
        "actions": [
            {
                "code": "delNVR",
                "params": {
                    "id": "111"
                }
            }
        ]
    },
    "type": "m",
    "correlationId":"acaa0b28-844f-4fd1-8643-7b686e120898"
}

响应样例

{
    "returnCode": 0,
    "result": {
        "meta": {
            "id": "64a0c2ad-8838-4437-9b99-fcb644b0dffd",
            "type": "m",
            "deviceid": "16327f0f-0106-41df-b375-f8787031cc61",
            "deviceModelId": "fef361d4-d0d2-4e8d-ac53-4bd963662d1b",
            "needack": true,
            "ts": 1574077860,
            "version": "1.0.0",
            "correlationId": "acaa0b28-844f-4fd1-8643-7b686e120898"
        },
        "payload": {
            "actions": [
                {
                    "code": "delNVR",
                    "params": {
                        "id": "111"
                    }
                }
            ],
            "resp": {
                "status": 0,
                "message": "success haha O(∩_∩)O "
            }
        },
        "route": {
            "forwardTopic": "enno/out/json/16327f0f-0106-41df-b375-f8787031cc61",
            "ackTopic": "enno/in/json"
        }
    }
}