华为云用户手册

  • 参数说明 参数 必选/可选 类型 位置 描述 quplInDTO 必选 QueryUpgradePackageListInDTO query 见下表QueryUpgradePackageListInDTO的描述。 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。 QueryUpgradePackageListInDTO 参数 必选/可选 类型 位置 描述 fileType 可选 String(256) query 版本包类型。 firmwarePackage:固件包 softwarePackage:软件包 deviceType 可选 String(256) query 版本包适用的设备类型。 model 可选 String(256) query 版本包适用的设备型号。 manufacturerName 可选 String(256) query 版本包适用的设备厂商名称。 version 可选 String(256) query 版本包的版本号。 pageNo 可选 Integer query 分页查询参数,默认值0。 值为空时,查询内容不分页。 值为大于等于0的整数时,分页查询。 值为0时查询第一页。 pageSize 可选 Integer query 查询结果分页时的每页结果数量,取值范围1-100,默认值10。
  • 错误码 Http状态码 错误码 错误描述 说明 200 100601 The number of device in the group has reach the max. 设备组内设备达到最大值。 处理建议:请确认当前设备组内的设备数量在maxDevNum设置值的范围内。 200 100603 The device group is not existed. 设备组不存在。 处理建议:请检查设备组ID是否正确。 400 100604 The device group request parameter is invalid. 请求参数不合法。 处理建议: 请检查接口请求中的设备ID是否有误。 请检查设备组是否达到最大设备数量限制。 400 50400 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 Invalid access token or appId. 错误的Token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 500 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 示例 设备登录。 1 LoginService.login(); 开发者调用登录接口前需要实现Agent Lite提供的观察者接口。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public class AgentliteLogin implements MyObserver { public AgentliteLogin (Observable loginService) { loginService. registerObserver (this); } //登录结果回调,在AgentliteLogin中重写update方法 @Override public void update(IotaMessage arg0) { // TODO Auto-generated method stub System.out.println("LoginManager收到通知:" + arg0); int mMsgType = arg0.getMsgType(); switch(mMsgType) { case 1: loginResultAction(arg0); break; case 2: logoutResultAction(arg0); break; default: break; } }
  • 参数说明 参数 必选/可选 类型 位置 描述 qddhInDTO 必选 QueryDeviceDataHistoryInDTO query 见下表QueryDeviceDataHistoryInDTO的描述。 accessToken 必选 String header 填写鉴权接口获取的accessToken。 QueryDeviceDataHistoryInDTO 参数 必选/可选 类型 位置 描述 appId 必选 String query 如果是本应用的设备,此参数值可以填写None,否则填写授权应用的appId。 deviceId 必选 String query 设备ID,用于唯一标识一个设备。 gatewayId 必选 String query 网关ID,用于标识一个网关设备。 serviceId 可选 String query 设备的服务标识。 property 可选 String query 服务属性数据。 pageNo 可选 Integer query 查询的页码。 值为空时查询内容不分页 值大于等于0的整数时分页查询 值等于0时查询第一页 pageSize 可选 Integer query 查询每页信息的数量, 缺省值:“1”。 startTime 可选 String query 查询产生时间在startTime之后的历史数据。时间格式:yyyyMMdd'T'HHmmss'Z',如 “20151212T121212Z”。 endTime 可选 String query 查询产生时间在endTime之前的历史数据。时间格式: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. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 返回值 AuthRefreshOutDTO 参数 类型 描述 scope String(256) 申请的权限范围,参数值固定为default。 tokenType String(256) 鉴权token的类型,参数值固定为bearer。 expiresIn Integer(256) 平台生成并返回accessToken的有效时间,单位为秒。 accessToken String(256) 鉴权参数,访问物联网平台API接口的凭证。 refreshToken String(256) 鉴权参数,用来刷新accessToken,refreshToken的有效时间为1个月。
  • 参数说明 AuthRefreshInDTO 参数 必选/可选 类型 位置 描述 appId 必选 String(256) body 访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。 secret 必选 String(256) body 访问物联网平台的应用密钥,与appId对应,在物联网平台创建应用时由平台分配获得。 refreshToken 必选 String(256) body 刷新token,用来获取一个新的accessToken。refreshToken在调用鉴权接口或刷新token接口时获得。
  • 错误码 Http状态码 错误码 错误描述 说明 400 100247 Operation not allowed. The application has been frozen. 应用冻结。 处理建议:请检查应用是否因为欠费冻结。 400 102202 Required Parameter is null or empty. 必选参数为空。 处理建议:请检查请求参数中的必选参数是否已填写。 400 50400 The input is invalid. 输入参数无效。 处理建议:请检查接口调用请求中携带参数的合法性。 401 100208 AppId or secret is not right. appId、secret或refreshToken错误。 处理建议: 请检查appId、secret、refreshToken是否有误,是否新增字符或缺少字符。 请检查请求路径中的IP地址是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 错误码 Http状态码 错误码 错误描述 说明 200 100217 The application hasn't been authorized. 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 400 100003 Invalid verify code. 验证码无效。 处理建议:请检查接口请求中的verifyCode是否有误。若请求参数中未带verifyCode,请联系物联网平台维护人员处理。 400 100007 Bad request message. 参数不合法。 处理建议:deviceId未赋值,请参考请求参数说明填写请求。 400 100426 The nodeId is duplicated. nodeId重复。 处理建议:请检查接口请求中nodeId是否有误。 400 100610 Device is not active. 设备未激活。 处理建议:请检查该设备是否已接入物联网平台并激活。 400 100611 Device is online. 设备在线。 处理建议:请下线该设备或者断开设备与物联网平台的连接。 400 50400 The input is invalid. 输入参数无效。 处理建议:请检查接口调用请求中携带参数的合法性。 401 100025 AppId for auth not exist. 获取不到appId鉴权信息。 处理建议: 请检查请求结构体的Header头域中是否给字段app_key赋值。 若通过HTTP调用,请联系物联网平台维护人员确认Header头域中放置appId的字段名是app_key还是x-app-key。 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是否有误。 404 100403 The device is not existed. 设备不存在。 处理建议:物联网平台未找到deviceId对应的设备,请检查deviceId是否有误。 404 100418 The deviceData is not existed. 设备信息不存在。 处理建议: 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。 Header中携带的appId有误,请确认该appId下是否有该deviceId。 如果URL中携带了可选参数appId,请检查该appId是否有误。 500 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 参数说明 参数 必选/可选 类型 位置 描述 rdkInDTO 必选 RefreshDeviceKeyInDTO body 见下表RefreshDeviceKeyInDTO的描述。 appId 可选 String query 如果是本应用的设备,此参数值可以填写None,否则填写授权应用的appId。 accessToken 必选 String header 填写鉴权接口获取的accessToken。 RefreshDeviceKeyInDTO 参数 必选/可选 类型 位置 描述 deviceId 必选 String(256) path 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 verifyCode 可选 String(256) body 备验证码,若在请求中指定verifyCode,则响应中返回请求中指定的verifyCode;若请求中不指定verifyCode,则由物联网平台自动生成。建议和nodeId设置成一样。 nodeId 可选 String(256) body 设备的唯一标识,通常使用MAC,MAC地址,Serial No或IMEI作为nodeId。 值空时,nodeId不变。 值不为空时,更新nodeId。 说明: 若使用IMEI作为nodeId,根据不同厂家的芯片有不同填写要求。 高通芯片设备的唯一标识为urn:imei:xxxx,xxxx为IMEI号 海思芯片设备的唯一标识为IMEI号 其他厂家芯片的设备唯一标识请联系模组厂家确认。 timeout 可选 Number body 验证码超时时间,单位秒,取值大于等于0的整数。 值为空时,使用默认值(180s)。 值为0时,永不过期。 值为非0,指定时间。
  • 错误码 Http状态码 错误码 错误描述 说明 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是否有误。 404 100225 The resource is not found 找不到资源。 处理建议:请检查订阅ID是否有误。
  • 错误码 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. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 参数说明 参数 必选/可选 类型 位置 描述 qddhInDTO 必选 QueryDeviceDataHistoryInDTO query 见下表QueryDeviceDataHistoryInDTO的描述。 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。 QueryDeviceDataHistoryInDTO 参数 必选/可选 类型 位置 描述 appId 必选 String query 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。 deviceId 必选 String query 设备ID,用于唯一标识一个设备。 gatewayId 必选 String query 网关ID,用于标识一个网关设备。 serviceId 可选 String query 设备的服务标识。 property 可选 String query 服务属性数据。 pageNo 可选 Integer query 查询的页码。 值为空时查询内容不分页 值大于等于0的整数时分页查询 值等于0时查询第一页 pageSize 可选 Integer query 查询每页信息的数量, 缺省值:1。 startTime 可选 String query 查询产生时间在startTime之后的历史数据。时间格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。 endTime 可选 String query 查询产生时间在endTime之前的历史数据。时间格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。
  • 错误码 Http状态码 错误码 错误描述 说明 200 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 200 100217 The application hasn't been authorized 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 200 100603 The device group is not existed 设备组不存在。 处理建议:请检查设备组ID是否正确。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 错误码 Http状态码 错误码 错误描述 说明 400 120015 Bad request error. 请求错误。 处理建议:请检查请求参数的是否有误。 400 123016 The parameter is error, targetversion not match with device. 参数不正确,目标版本与指定设备不匹配。 处理建议:请检查接口请求中deviceType、manufacturerName、model,与参数fileId指定的目标版本包信息是否一致。 400 123019 manufacturerName is null. 厂商名称内容为空。 处理建议:请检查接口请求中的manufacturerName是否为空。 400 123020 deviceType is null 设备类型内容为空。 处理建议:请检查接口请求中的deviceType是否为空。 400 123021 model is null. 设备型号内容为空。 处理建议:请检查接口请求中的model是否为空。 400 123022 deviceGroups and devices cannot be null together deviceGroups和devices不能同时为空。 处理建议:deviceGroups与devices必须要选择一个进行赋值。 400 123023 deviceGroups and devices cannot be exist together deviceGroups和devices不能同时存在。 处理建议:deviceGroups与devices只能选择一个进行赋值。 400 123024 The number of deviceGroups or devices reached upper limit deviceGroups或devices内容数量达到上限。 处理建议:请检查deviceGroups或devices的内容,数量不能超过256个。 400 123025 executeType is error or can not to be null. executeType有误或不能为空。 处理建议:请检查接口请求中的executeType是否为空或者是否有误。 400 123026 startTime or endTime is null or error. startTime或endTime为空或有误。 处理建议:请检查接口请求中的startTime和endTime是否为空或者格式有误。 400 123028 retryTimes is null or beyond the limit. retryTimes为空或超出上限。 处理建议:请检查接口请求中的retryTimes是否为空,或者不能小于1或者大于5。 400 123032 startTime can not be later than the endTime. startTime的时间不能比endTime晚。 处理建议:请检查接口请求中的startTime是否晚于endTime。 400 123033 startTime can not be earlier than the now. startTime的时间不能比当前时间早。 处理建议:请检查接口请求中的startTime是否早于当前时间。 400 123034 endtime must be greater than 5 minutes. endtime要比startTime大5分钟。 处理建议:请检查接口请求中的startTime和endTime间隔时间必须大于5分钟。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 123002 Device or package file not found. 设备或包不存在 处理建议:请检查接口请求中的fileId是否正确。
  • 观察者模式 Java版本Agent Lite采用了观察者模式,用来实现Agent Lite上报的消息。 第三方通过实现Agent Lite提供的public void update (IotaMessage arg0)接口来接收数据。 通过registerObserver(MyObserver o)来注册观察者,removeObserver(MyObserver o)来移除观察者。 IotaMessage类说明: 1 2 3 4 bind后接收响应获取appid,deviceid,secret: String appId = iotaMsg.getString(BindService.BIND_IE_APPID); String deviceId = iotaMsg.getString(BindService.BIND_IE_DEVICEID); String secret = iotaMsg.getString(BindService.BIND_IE_DEVI CES ECRET); 1 2 3 4 上报数据收到响应: String deviceId = iotaMsg.getString(DataTransService.DATATRANS_IE_DEVICEID); int retcode = iotaMsg.getUint(DataTransService.DATATRANS_IE_RESULT, 0); intcookie = iotaMsg.getUint(DataTransService.DATATRANS_IE_COOKIE, 0); 1 2 3 4 5 6 命令接收: String deviceId = iotaMsg.getString(DataTransService.DATATRANS_IE_DEVICEID); String requestId = iotaMsg.getString(DataTransService.DATATRANS_IE_REQUSTID); String serviceId = iotaMsg.getString(DataTransService.DATATRANS_IE_SERVICEID); String method = iotaMsg.getString(DataTransService.DATATRANS_IE_METHOD); String cmd = iotaMsg.getString(DataTransService.DATATRANS_IE_CMDCONTENT); 1 2 3 设备添加收到响应(ret = 0表示成功): String deviceId =iotaMsg.getString(HubService.HUB_IE_DEVICEID); int ret = iotaMsg.getUint(HubService.HUB_IE_RESULT, HubService.HUB_RESULT_FAILED); 1 2 3 设备删除收到响应(result = 0表示成功): int result = iotaMsg.getUint(HubService.HUB_IE_RESULT, 0); int cookie = iotaMsg.getUint(HubService.HUB_IE_COOKIE, 0); 1 2 3 更新设备状态收到响应(result = 0表示成功): int result = iotaMsg.getUint(HubService.HUB_IE_RESULT, 0); int cookie = iotaMsg.getUint(HubService.HUB_IE_COOKIE, 0); 1 2 收到设备登出 (错误码信息对照loginService定义): int reason = iotaMsg.getUint(LoginService. LOG IN_IE_RESULT, -1); 父主题: 设备侧Agent Lite API参考(Java)(联通用户专用)
  • 错误码 Http状态码 错误码 错误描述 说明 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 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 500 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 参数说明 参数 必选/可选 类型 位置 描述 qdcInDTO 必选 QueryDeviceCapabilitiesInDTO query 见下表QueryDeviceCapabilitiesInDTO的描述。 accessToken 必选 String header 填写鉴权接口获取的accessToken。 QueryDeviceCapabilitiesInDTO 参数 是否必须 类型 位置 描述 gatewayId 可选 String query 网关ID,用于标识一个网关设备。 appId 必选 String query 如果是本应用的设备,此参数值可以填写None,否则填写授权应用的appId。 deviceId 可选 String query 设备ID,用于唯一标识一个设备。
  • 参数说明 参数 必选/可选 类型 位置 描述 deviceId 必选 String path 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 select 可选 String query 指定查询条件,可选值:imsi。 appId 必选 String query 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。
  • 错误码 Http状态码 错误码 错误描述 说明 400 100405 The request parameter 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 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 100403 The device is not existed. 设备不存在。 处理建议:物联网平台未找到deviceId对应的设备,请检查deviceId是否有误。 404 100418 The deviceData is not existed. 设备信息不存在。 处理建议: 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。 Header中携带的appId有误,请确认该appId下是否有该deviceId。 如果URL中携带了可选参数appId,请检查该appId是否有误。 500 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 错误码 Http状态码 错误码 错误描述 说明 400 100224 The resource exceeds 1000, please refinement query conditions. 查到端资源超出1000条,请重新设定查询条件。 处理建议:请缩小查询条件范围。 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是否有误。
  • 参数说明 参数 必选/可选 类型 位置 描述 qbsInDTO 必选 QueryBatchSubInDTO query 见下表QueryBatchSubInDTO的描述。 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。 QueryBatchSubInDTO 参数 必选/可选 类型 位置 描述 appId 可选 String(256) query 设备或者规则等订阅内容主体所属的appId。 notifyType 可选 String(256) query 通知类型,第三方应用可以根据通知类型对消息分别进行处理。 bindDevice(绑定设备) deviceAdded(添加新设备) deviceInfoChanged(设备信息变化) deviceDataChanged(设备数据变化) deviceDatasChanged(设备数据批量变化) deviceCapabilitiesChanged(设备服务能力变化,订阅后推送设备服务能力变化通知) deviceCapabilitiesAdded(设备服务能力增加,订阅后推送设备服务能力增加通知) deviceCapabilitiesDeleted(设备服务能力删除,订阅后推送设备服务能力删除通知) deviceDeleted(删除设备) messageConfirm(消息确认) commandRsp(命令响应) deviceDesiredPropertiesModifyStatusChanged(修改设备影子状态变更) swUpgradeStateChangeNotify(软件升级状态变更通知) swUpgradeResultNotify(软件升级结果通知) fwUpgradeStateChangeNotify(固件升级状态变更通知) fwUpgradeResultNotify(固件升级结果通知) pageNo 可选 Integer query 分页查询参数。 值为空时,查询内容不分页 值大于等于0的时分页查询 值等于0时查询第一页 pageSize 可选 Integer query 分页查询参数,取值大于等于1的整数,缺省值:10。
  • 错误码 Http状态码 错误码 错误描述 说明 400 100247 Operation not allowed. The application has been frozen. 应用冻结。 处理建议:请检查应用是否因为欠费冻结。 400 102202 Required Parameter is null or empty. 必选参数为空。 处理建议:请检查请求参数中的必选参数是否已填写。 401 100208 AppId or secret is not right. appId或secret错误。 处理建议: 请检查appId和secret是否有误,是否新增字符或缺少字符。 请检查请求路径中的IP地址是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 返回值 AuthOutDTO 参数 类型 描述 scope String(256) 申请权限范围,即accessToken所能访问物联网平台资源的范围,参数值固定为default。 tokenType String(256) accessToken的类型,参数值固定为bearer。 expiresIn Integer(256) 平台生成并返回accessToken的有效时间,单位为秒。 accessToken String(256) 鉴权参数,访问物联网平台API接口的凭证。 refreshToken String(256) 鉴权参数,用来刷新accessToken,refreshToken的有效时间为1个月。
  • 错误码 Http状态码 错误码 错误描述 说明 200 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 200 100217 The application hasn't been authorized. 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 200 100418 The deviceData is not existed. 设备信息不存在。 处理建议: 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。 Header中携带的appId有误,请确认该appId下是否有该deviceId。 如果URL中携带了可选参数appId,请检查该appId是否有误。 200 100428 The device is not online. 设备不在线。 处理建议:请检查设备与网关的连接是否正常。 200 100432 The device command is muted. 设备命令已被禁用。 处理建议:请检查接口请求参数method中的命令是否有误。 400 100022 The input is invalid. 输入参数无效。 处理建议:请检查接口调用请求中携带参数的合法性。 400 102203 CommandName is invalid. 命令名称无效。 处理建议:请检查接口请求参数method中携带的命令是否有误。 403 100450 The gateway is not online. 网关不在线。 处理建议:请检查网关与物联网平台的连接是否正常。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 100444 The serviceType is not exist. 服务类型不存在。 处理建议:请检查接口请求参数toType中的服务类型是否有误。 500 100001 Internal server error. 服务内部处理错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 500 100023 The data in dataBase is abnomal. 数据库异常。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 500 50252 Internal server error. 服务内部处理错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 503 100501 Congestion occurs, and the current network has been flow-controlled 发生拥塞,当前的网络已经被流控。
  • 参数说明 参数 必选/可选 类型 位置 描述 deviceId 必选 String(1-64) path 设备ID,用于唯一标识一个设备。 serviceId 必选 String(1-64) path 服务ID,唯一标识一个服务。 commandDTO 必选 CommandDTO2 body 见下表CommandDTO2的描述。 appId 必选 String query 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。 CommandDTO2 参数 必选/可选 类型 位置 描述 header 必选 CommandNA2CloudHeader body 具体参见CommandNA2CloudHeader结构体。 body 可选 Object body 消息的消息体。JsonObject里面是一个个健值对。每个健都是profile中命令的参数名(paraName)。 CommandNA2CloudHeader结构体说明: 参数 必选/可选 类型 位置 描述 requestId 可选 String(0-128) body 用于标识一个命令,不能重复。 mode 必选 Enum body 是否要确认消息。 NOACK:不需要确认消息 ACK:需要确认消息 其它值无效 from 可选 String(128) body 表示消息发布者的地址。 App发起的请求:/users/{userId} 第三方应用发起的请求:/{serviceName} 物联网平台发起的请求:/cloud/{serviceName} toType 可选 Enum body 消息接受者的类型,CLOUD/GATEWAY。 to 可选 String(128) body 消息接收者的地址。 method 必选 String(1-32) body 命令名称,如:“DISCOVERY”为发现非直连设备,“REMOVE”为删除非直连设备。 callbackURL 可选 String(1024) body 命令的回调路径。
  • 典型场景 设备Profile文件中定义了物联网平台可向设备下发的命令,第三方应用可调用此接口向设备下发命令,配置或修改设备的服务属性,以实现对设备的控制。 物联网平台不对设备命令进行缓存而是直接下发命令,设备不在线时命令下发失败。下发命令的具体格式需要第三方应用与设备自定义,物联网平台在接口中直接进行封装,透传。 此接口适用于使用MQTT协议接入的设备,例如集成了AgentLite SDK的设备。
  • 响应参数 InvokeDeviceServiceOutDTO 参数 类型 描述 status String(128) 命令状态。 sent:已发送 deliveried:已投递,toType为CLOUD的请求才有该返回值 failed:失败,toType为CLOUD的请求才有该返回值 timestamp String(128) 发送命令的时间戳,时间格式:yyyyMMdd'T'HHmmss'Z', 如20151212T121212Z。 requestId String(128) 设备命令ID。 toType为GATEWAY时,如果请求有requestId则同请求的requestId一致,如果请求无requestId则平台分配一个序列号。 toType为CLOUD时,则为空。
  • 错误码 Http状态码 错误码 错误描述 说明 400 120015 Bad request error. 请求错误。 处理建议:请检查请求参数的是否有误。 400 123016 The parameter is error, targetversion not match with device. 参数不正确,目标版本与指定设备不匹配。 处理建议:请检查接口请求中deviceType、manufacturerName、model,与参数fileId指定的目标版本包信息是否一致。 400 123019 manufacturerName is null. 厂商名称内容为空。 处理建议:请检查接口请求中的manufacturerName是否为空。 400 123020 deviceType is null 设备类型内容为空。 处理建议:请检查接口请求中的deviceType是否为空。 400 123021 model is null. 设备型号内容为空。 处理建议:请检查接口请求中的model是否为空。 400 123022 deviceGroups and devices cannot be null together deviceGroups和devices不能同时为空。 处理建议:deviceGroups与devices必须要选择一个进行赋值。 400 123023 deviceGroups and devices cannot be exist together deviceGroups和devices不能同时存在。 处理建议:deviceGroups与devices只能选择一个进行赋值。 400 123024 The number of deviceGroups or devices reached upper limit deviceGroups或devices内容数量达到上限。 处理建议:请检查deviceGroups或devices的内容,数量不能超过256个。 400 123025 executeType is error or can not to be null. executeType有误或不能为空。 处理建议:请检查接口请求中的executeType是否为空或者是否有误。 400 123026 startTime or endTime is null or error. startTime或endTime为空或有误。 处理建议:请检查接口请求中的startTime和endTime是否为空或者格式有误。 400 123028 retryTimes is null or beyond the limit. retryTimes为空或超出上限。 处理建议:请检查接口请求中的retryTimes是否为空,或者不能小于1或者大于5。 400 123032 startTime can not be later than the endTime. startTime的时间不能比endTime晚。 处理建议:请检查接口请求中的startTime是否晚于endTime。 400 123033 startTime can not be earlier than the now. startTime的时间不能比当前时间早。 处理建议:请检查接口请求中的startTime是否早于当前时间。 400 123034 endtime must be greater than 5 minutes. endtime要比startTime大5分钟。 处理建议:请检查接口请求中的startTime和endTime间隔时间必须大于5分钟。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 123002 Device or package file not found. 设备或包不存在 处理建议:请检查接口请求中的fileId是否正确。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 //配置登录参数 LoginConfig.setConfig(LoginConfig.LOGIN_CONFIG_DEVICEID, “deviceId”); LoginConfig.setConfig(LoginConfig.LOGIN_CONFIG_APPID, “appId”); LoginConfig.setConfig(LoginConfig.LOGIN_CONFIG_SECRET, “passWord”); LoginConfig.setConfig(LoginConfig.LOGIN_CONFIG_IOCM_ADDR, “haAddr”); LoginConfig.setConfig(LoginConfig.LOGIN_CONFIG_IOCM_PORT, “8943”); LoginConfig.setConfig(LoginConfig.LOGIN_CONFIG_MQTT_ADDR, “haAddr”); LoginConfig.setConfig(LoginConfig.LOGIN_CONFIG_MQTT_PORT, “8883”); //调用登录接口 LoginService.login(); 然后等待Agent Lite的连接状态广播。 建议: 在连接成功的处理函数中进行非直连设备状态上报的处理,并且将缓存的上报数据进行上报。 在连接断开的处理函数中记录设备断开状态,之后如果有非直连设备上报数据,需要进行缓存,等到连接成功后再进行上报。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 //接收登录成功响应 BroadcastReceiver mReceiverConnect; mReceiverConnect = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //获取IotaMessage IotaMessage iotaMsg = (IotaMessage)intent.getSerializableExtra(LoginService. LOGIN_BROADCAST_MSG_IE_IOTAMSG); //从回调返回的消息句柄中获取当前系统状态 int status = uspMsg.getint(LoginService.LOGIN_IE_STATUS, 0); //update device states ... return true; } } mLocalBroadcastManager = LocalBroadcastManager.getInstance(this); IntentFilter filterCon= new IntentFilter(LoginService.TOPIC_LOGIN_CONNECTED); mLocalBroadcastManager.registerReceiver(mReceiverConnect, filterCon); //接收登录失败响应 BroadcastReceiver mReceiverDisconnect; mReceiverDisconnect = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //获取IotaMessage IotaMessage iotaMsg = (IotaMessage)intent.getSerializableExtra(LoginService. LOGIN_BROADCAST_MSG_IE_IOTAMSG); //获取响应的错误码 int reason = iotaMsg.getint(LoginService.LOGIN_IE_REASON, 0); //stop reporting data ... return true; } } mLocalBroadcastManager = LocalBroadcastManager.getInstance(this); IntentFilter filterDiscon= new IntentFilter(LoginService.TOPIC_LOGIN_DISCONNECTED); mLocalBroadcastManager.registerReceiver(mReceiverDisconnect, filterDiscon); 设备登录后,表示该设备已经成功的连接到物联网平台。 连接成功后,如果因为网络或服务器原因导致连接断开,Agent Lite会自动尝试重新连接,并将实时状态通过这两个广播上报给第三方应用。
共100000条