V2.1 Get Command


获取单个命令信息。

该 API 支持在 EnOS 2.1.0 及以上环境中使用。


如果你在使用 API 批量更新相关命令后调用当前 API,建议两次调用间隔 2 秒左右,以免获取到未更新数据。

请求格式

GET https://{apigw-address}/connect-service/v2.1/commands?action=get

请求参数(URI)

备注

以下非必需字段中,必须提供 assetIdproductKey + deviceKey 的组合,用于指定设备。

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

命令所属的 OU ID。如何获取 orgId 信息>>

assetId

Query

可选(见上述注解)

String

设备的 asset ID。如何获取 assetId 信息>>

productKey

Query

可选(见上述注解)

String

设备的 product key,需与 deviceKey 一起使用。如何获取设备的三元组信息>>

deviceKey

Query

可选(见上述注解)

String

设备的 device key,需与 productKey 一起使用。如何获取设备的三元组信息>>

commandId

Query

必需

String

命令 ID。

响应参数

名称

数据类型

描述

data

Command 结构体

命令的相应信息,参见 Command 结构体

Command 结构体


名称

数据类型

描述

commandId

String

命令 ID

orgId

String

命令所属的 OU ID。

productKey

String

设备的 Product Key。

deviceKey

String

设备的 Device Key。

assetId

String

设备的 asset ID。

createTime

String

创建时间。

createLocaltime

String

本地创建时间。

commandType

Integer

命令类型。1. 测点设置 2. 服务调用。

commandName

StringI18n

命令的名称。

timeout

Integer

命令超时时长,单位是秒,范围[1-60],默认30。

pendingTtl

Long

命令缓存时长,单位是秒,范围[ 0 - 48 * 60 * 60 ],默认0,表示即时命令。

state

Integer

命令状态,用1-7的整数表示。 1表示已创建;2表示已取消;3表示已过期;4表示已下发;5表示发送成功;6表示发送失败;7表示响应超时。

tslIdentifier

String

命令标识符。

inputData

Map( Key 为 String,Value 为 String,Number,Array 或 Object )

输入参数。key为输入参数标识符,value的数据类型需要符合模型的定义。

outputData

Map( Key 为 String,Value 为 String,Number,Array 或 Object)

输出数据。key为输出参数标识符,value为服务的输出结果。其中value的数据类型需要符合模型的定义。

错误码

代码

描述

11404

commandId 未找到或不存在。

11810

当 Product 支持自定义数据格式时,无法将命令编码成 Product 自定义格式。

11888

设备未激活,即时命令无法发送。

11900

设备不在线,即时命令无法发送。

11902

缓存命令已达上限。

11904

命令未发送,即时命令超时。

11915

命令已发送,但是响应超时。

示例

请求示例

url: https://{apigw-address}/connect-service/v2.1/commands?action=get&deviceKey=yourDeviceKey&productKey=yourProductKey&commandId=yourCommandId&orgId=yourOrgId
method: GET

返回示例

{
    "code": 0,
    "msg": "OK",
    "requestId": "7d863d517eae4f18a2776452eb1305bb",
    "data": {
        "commandId": "2242591201245044736",
        "orgId": "yourOrgId",
        "productKey": "yourProductKey",
        "deviceKey": "yourDeviceKey",
        "assetId": "yourAssetId",
        "createTime": "15910899018",
        "createLocalTime": "2020-06-02 17:25:01",
        "commandType": 2,
        "commandName": {
            "defaultValue": "",
            "i18nValue": {
                "en_US": "test_service"
            }
        },
        "timeout": 30,
        "pendingTtl": 1000,
        "state": 2,

        "tslIdentifier": "test_service",
        "inputData": {
            "parameter_1": 1.3,
            "parameter_2": 13
        },
        "outputData": null
    }
}

SDK 示例


你可以在 Github 上获取接入服务的 SDK 示例: