更新时间:2022-02-24 GMT+08:00

查询指定批量任务信息

典型场景

第三方应用通过“创建批量任务”接口创建了设备的批量操作任务后,可调用此接口查询该批量任务的信息,包括任务的当前状态、子任务完成情况等。

接口功能

支持第三方应用通过任务ID查询单个批量任务的信息。

接口描述

1
public function queryOneTask($taskId, $select, $appId, $accessToken)

接口所属类

BatchProcess

参数说明

参数

必选/可选

位置

描述

$taskId

必选

path

批量任务ID,创建批量任务后获得。

$select

必选

query

指定可选的返回值,可取值:“tag”。不指定时可填写null。

$appId

必选

query

如果是本应用的任务,此参数值可以填写null,否则填写授权应用的appId。

$accessToken

必选

header

填写鉴权接口获取的accessToken。

返回值

QueryOneTaskOutDTO

参数

描述

$taskId

批量任务ID。

$taskName

批量任务名称。

$appId

批量任务所归属的appId。

$operator

下发该批量任务的操作员。

$taskFrom

批量任务的来源。

  • “Portal”:通过SP Portal创建的。
  • “Northbound”:调用北向API接口创建的。

$taskType

批量任务的类型,取值范围:“DeviceReg/DeviceCmd”

$status

批量任务的状态,取值范围:“Pending/Running/Complete/Timeout”

$startTime

批量任务的创建时间。

$timeout

批量任务的超时时间,单位秒。

$progress

批量任务的进度,单位:千分比,范围:0-1000,向下取整。

$totalCnt

任务的详情总数。

$successCnt

成功的任务详情数。

$failCnt

失败的任务详情数

$timeoutCnt

超时的任务详情数。

$expiredCnt

未执行的失效任务详情数。

$completeCnt

完成的任务详情数,完成的任务详情数=成功的任务详情数+失败的任务详情数+超时的任务详情数。

$successRate

任务成功率,单位:千分比,范围:0-1000,向下取整。

$param

不同任务类型的具体参数,具体参见DeviceCmd结构。

$tags

批量任务的标签列表,具体参见TagDTO2结构体。

DeviceCmd:

参数

描述

type

批量命令类型,取值范围: DeviceList/DeviceType/DeviceArea/GroupList/Broadcast/GroupIdList。

deviceList

设备ID列表,type为DeviceList时返回值。

deviceType

设备类型,type为DeviceType时返回值,其值应当与profile中定义的一致。

manufacturerId

厂商ID,type为DeviceType时返回值,其值应当与profile中定义的一致。

model

设备型号,type为DeviceType时返回值,其值应当与profile中定义的一致。

deviceLocation

设备位置,type为DeviceArea时返回值。

groupList

群组名称列表,type为GroupList时返回值。

command

命令信息。具体参见CommandDTO

callbackUrl

命令执行结果的推送地址。

maxRetransmit

命令下发最大重传次数,取值范围:0-3。

groupTag

群组标签。

CommandDTO:

参数

描述

serviceId

命令对应的服务ID,要与profile中定义的serviceId保持一致。

method

服务下具体的命令名称,要与profile中定义的命令名保持一致。

paras

命令参数,jsonString格式,里面是一个个健值对,每个健都是profile中命令的参数名(paraName),具体格式需要应用和设备约定。

TagDTO2结构体说明:

参数

描述

$tagName

标签名称。

$tagValue

标签值。

错误码

Http状态码

错误码

错误描述

说明

400

100019

Illegal request.

非法请求。

处理建议:请检查接口请求中的必须参数是否为空。

400

100022

The input is invalid

输入参数无效。

处理建议:请检查接口调用请求中携带参数的合法性。

403

100203

The application is not existed.

应用不存在。

处理建议:

  • 请检查HTTP请求头域中携带的appId是否有误。
  • 请检查请求路径(url)中传入的appId是否有误。

403

100217

The application hasn't been authorized

应用未被授权。

处理建议:若非应用授权场景,请确认请求参数中的appId为空。

403

1010009

app throttle exceed.

应用调用接口过于频繁,超过流控值(默认值是100次/60s)。

处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。

403

1010005

App_key or access_token is invalid.

错误的token信息。

处理建议:请检查接口请求中所携带的accessToken是否有误。

404

105005

The batchTask is not existed.

批量任务不存在。

处理建议:请检查接口请求中的taskId是否有误。

500

100203

The application is not existed.

应用不存在。

处理建议:

  • 请检查HTTP请求头域中携带的appId是否有误。
  • 请检查请求路径(url)中传入的appId是否有误。