典型场景

在日常运行中,物联网平台会收到并保存设备上报业务数据,第三方应用若需要查看某个设备上报到平台的历史数据,可调用此接口查询获取。

接口功能

支持第三方应用根据设备ID,查询指定设备上报到物联网平台的历史数据。

接口描述

  1. Data::querySingleDeviceInfo($querySingleDeviceInfoArray);

接口所属类

  1. iotyun\huaweiiot\Data;

参数说明

  1. $queryDeviceDataHistoryArray = array(
  2. 'accessToken' => '你系统存储的accessToken',
  3. 'qddhInArray' => array(
  4. 'appId' => '',
  5. 'deviceId' => '',
  6. 'gatewayId' => '',
  7. 'serviceId' => '',
  8. 'property' => '',
  9. 'pageNo' => '',
  10. 'pageSize' => '',
  11. 'startTime' => '',
  12. 'endTime' => ''
  13. )
  14. );
参数 必选/可选 类型 描述
qddhInArray 必选 Array 见下表qddhInArray的描述。
accessToken 必选 String 您当前有效的accessToken。

qddhInArray

参数 必选/可选 类型 描述
appId 必选 String 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。
deviceId 必选 String 设备ID,用于唯一标识一个设备。
gatewayId 必选 String 网关ID,用于标识一个网关设备。
serviceId 可选 String 设备的服务标识。
property 可选 String 服务属性数据。
pageNo 可选 Integer 查询的页码。
- 值为空时查询内容不分页
- 值大于等于0的整数时分页查询
- 值等于0时查询第一页
pageSize 可选 Integer 查询每页信息的数量, 缺省值:1。
startTime 可选 String 查询产生时间在startTime之后的历史数据。时间格式:yyyyMMdd’T’HHmmss’Z’,如 20151212T121212Z。
endTime 可选 String 查询产生时间在endTime之前的历史数据。时间格式:yyyyMMdd’T’HHmmss’Z’,如 20151212T121212Z。

响应参数

QueryDeviceDataHistoryOutDTO

参数 类型 描述
totalCount Long 查询的记录数量。
pageNo Long 查询的页码。
pageSize Long 查询每页信息的数量。
deviceDataHistoryDTOs List 设备历史数据列表,具体参见DeviceDataHistoryDTO结构体

DeviceDataHistoryDTO结构体说明:

参数 类型 描述
serviceId String(256) 设备的服务标识。
deviceId String(256) 设备ID,用于唯一标识一个设备。
gatewayId String(256) 网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。
appId String(256) 第三方应用的身份标识,用于唯一标识一个应用。
data JsonObject 设备上报的数据。
timestamp String(256) 上报数据的时间戳,时间格式:yyyyMMdd’T’HHmmss’Z’,如:20151212T121212Z。

错误码

Http状态码 错误码 错误描述 说明
200 100418 The deviceData is not existed. 设备信息不存在。
处理建议:
- 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。
- Header中携带的appId有误,请确认该appId下是否有该deviceId。
- 如果URL中携带了可选参数appId,请检查该appId是否有误。
400 100216 The application input is invalid. 应用输入无效。
处理建议:请参考请求参数说明检查接口请求中的参数是否有误。例如,pageSize是否超过2000。
400 100419 The deviceId and gatewayId can’t be both null. deviceId和gatewayId不能同时为空。
处理建议:请检查请求参数中deviceId和gatewayId是否填写。
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 Invalid access token or appId. 错误的token信息。
处理建议:请检查接口请求中所携带的accessToken是否有误。
500 100203 The application is not existed. 应用不存在。
处理建议:
- 请检查HTTP请求头域中携带的appId是否有误。
- 请检查请求路径(url)中传入的appId是否有误。
500 50252 Internal server error. 服务器运行内部错误。
处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。