查询设备命令撤销任务
接口说明
应用服务器创建了设备命令撤销任务后,可调用此接口查询设备命令撤销任务的详细信息和执行状态,以了解撤销任务的执行情况,可指定条件查询单个或多个撤销任务。
URI
| 请求方法 | GET |
|---|---|
| URI | /iocm/app/cmd/v1.4.0/deviceCommandCancelTasks |
| 传输协议 | HTTPS |
请求参数
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| app_key | 必选 | String | header | 访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。 |
| Authorization | 必选 | String | header | 访问物联网平台的认证信息,值为“Bearer {accessToken}”,其中{accessToken}为调用鉴权接口返回的accessToken。 |
| pageNo | 可选 | Integer(>=0) | query | 分页查询参数,查询结果分页显示时指定要查看的页信息,默认值0,查询第一页,取值范围为大于等于0的整数。 |
| pageSize | 可选 | Integer[1,1000] | query | 分页查询参数,查询结果分页显示时每页显示的记录数,默认值为1000,取值范围为1-1000的整数。 |
| taskId | 可选 | String | query | 撤销任务的任务ID。 |
| deviceId | 可选 | String | query | 执行设备命令撤销任务的设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| status | 可选 | String | query | 设备命令撤销任务的状态。 |
| startTime | 可选 | String | query | 查询创建撤销设备命令任务时间在startTime之后的记录。需要填写UTC时间,格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。 您需要根据本地所在时区自己进行时间转换。 |
| endTime | 可选 | String | query | 查询创建撤销设备命令任务时间在endTime之前的记录。需要填写UTC时间,格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。 您需要根据本地所在时区自己进行时间转换。 |
| appId | 可选 | String | query | 命令所属的应用ID,当查询授权应用下的命令撤销任务时才需要填写。 |
响应参数
Status Code: 200 OK
| 参数 | 类型 | 描述 |
|---|---|---|
| pagination | 页码信息。 | |
| data | 设备命令列表。 |
| 参数 | 类型 | 描述 |
|---|---|---|
| pageNo | long | 查询结果页码。 |
| pageSize | long | 每页信息数量。 |
| totalSize | long | 记录总数,即查询到的撤销任务中的命令总数。 |
| 参数 | 类型 | 描述 |
|---|---|---|
| taskId | String(1-64) | 设备命令撤销任务的任务ID。 |
| appId | String(1-64) | 设备命令撤销任务所属的应用ID。 |
| deviceId | String(1-64) | 设备命令撤销任务指定撤销命令的设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| status | String | 撤销任务的任务状态。
|
| totalCount | Integer | 撤销的设备命令总数。 |
| deviceCommands | List<DeviceCommandResp> | 设备命令撤销任务信息列表。 |
| 参数 | 类型 | 描述 |
|---|---|---|
| commandId | String(1-64) | 设备命令ID,用于唯一标识一条命令,在下发设备命令时由物联网平台分配获得。 |
| appId | String(1-64) | 设备命令撤销任务所属的应用ID。 |
| deviceId | String(1-64) | 下发命令的设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| command | 下发命令的信息。 | |
| callbackUrl | String(1024) | 令状态变化通知地址,当命令状态变化时(执行失败,执行成功,超时,发送,已送达)会通知应用。 |
| expireTime | Integer(>=0) | 下发命令的超时时间,单位为秒,表示设备命令在创建后expireTime秒内有效,超过这个时间范围后命令将不再下发,如果未设置则默认为48小时(86400s*2)。 |
| status | String | 下发命令的状态。
|
| result | ObjectNode | 下发命令执行的详细结果。 |
| creationTime | String(20) | 命令创建的UTC时间,时间格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 若需要显示本地时区时间,您需要自己进行时间转换。 |
| executeTime | String(20) | 命令执行的UTC时间,时间格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 若需要显示本地时区时间,您需要自己进行时间转换。 |
| platformIssuedTime | String(20) | 平台发送命令的UTC时间,时间格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 若需要显示本地时区时间,您需要自己进行时间转换。 |
| deliveredTime | String(20) | 平台将命令送达到设备的UTC时间,时间格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 若需要显示本地时区时间,您需要自己进行时间转换。 |
| issuedTimes | Integer(>=0) | 平台发送命令的次数。 |
| maxRetransmit | Integer(0~3) | 命令下发最大重传次数。 |
| 参数 | 类型 | 描述 |
|---|---|---|
| serviceId | String(1-64) | 命令对应的服务ID,用于标识一个服务。 |
| method | String(1-128) | 命令服务下具体的命令名称,要与profile中定义的命令名保持一致。 |
| paras | ObjectNode | 命令参数,jsonString格式,里面是一个个健值对,每个健都是profile中命令的参数名(paraName),具体格式需要应用和设备约定。 |
请求示例
GET https://{host}:{port}/iocm/app/cmd/v1.4.0/deviceCommandCancelTasks?pageNo={pageNo}&pageSize={pageSize}&taskId={taskId}&deviceId={deviceId}&status={status}&startTime={startTime}&endTime={endTime}&appId={appId}
Content-Type: application/json
app_key: ******
Authorization: Bearer ****** 正常响应示例
Status Code: 200 OK
Content-Type: application/json
{
"pagination": {
"pageNo": 0,
"pageSize": 20,
"totalSize": 100
},
"data": [
{
"taskId": "********",
"appId": "********",
"deviceId": "********",
"status": "WAITTING",
"totalCount": 1,
"deviceCommands": [
{
"commandId": "********",
"appId": "********",
"deviceId": "********",
"command": {
"serviceId": "********",
"method": "********",
"paras": {
"paraName1": "paraValue1",
"paraName2": "paraValue2"
}
},
"callbackUrl": "http://127.0.0.1:9999/cmd/callbackUrl",
"expireTime": null,
"status": "PENDDING",
"result": null,
"creationTime": "20170222T164000Z",
"executeTime": null,
"platformIssuedTime": null,
"deliveredTime": null,
"issuedTimes": null,
"maxRetransmit": ******
}
]
},
{
"taskId": "********",
"appId": "********",
"deviceId": "********",
"status": "WAITTING",
"totalCount": 1,
"deviceCommands": [
{
"commandId": "********",
"appId": "********",
"deviceId": "********",
"command": {
"serviceId": "********",
"method": "********",
"paras": {
"paraName1": "paraValue1",
"paraName2": "paraValue2"
}
},
"callbackUrl": "http://127.0.0.1:9999/cmd/callbackUrl",
"expireTime": null,
"status": "PENDDING",
"result": null,
"creationTime": "20170222T164000Z",
"executeTime": null,
"platformIssuedTime": null,
"deliveredTime": null,
"issuedTimes": null,
"maxRetransmit": ******
}
]
}
]
} 错误码
| Http状态码 | 错误码 | 错误描述 | 说明 |
|---|---|---|---|
| 200 | 100203 | The application is not existed. | 应用不存在。 处理建议:
|
| 200 | 100217 | The application hasn't been authorized. | 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 |
| 200 | 100418 | The deviceData is not existed. | 设备信息不存在。 处理建议:
|
| 400 | 100022 | The input is invalid. | 输入参数无效。 处理建议:请检查接口调用请求中携带参数的合法性。 |
| 403 | 100203 | The application is not existed. | 应用不存在。 处理建议:
|
| 403 | 100217 | The application hasn't been authorized. | 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 |
| 403 | 1010009 | app throttle exceed. | 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 |
| 403 | 1010005 | Invalid access token or appId. | 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 |
| 500 | 100001 | Internal server error. | 服务内部处理错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 |
| 500 | 100220 | Get AppKey from header failed. | 获取appKey失败。 处理建议 : 请检查接口请求的header中是否携带appId。 |
| 503 | 100501 | Congestion occurs, and the current network has been flow-controlled | 发生拥塞,当前的网络已经被流控。 |
Last Article: 创建设备命令撤销任务
Next Article: 设备命令下发
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.