# InvokeThingService
调用该接口在单个设备上调用指定服务。
# 接口说明
目前平台仅支持异步方式调用。
- 异步方式:物联网平台采用异步方式下行推送请求,设备采用异步方式返回结果。
# 请求参数
# 请求方式1
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | InvokeThingService | 系统规定参数。取值:InvokeThingService。 |
| Args | String | 是 | {"param1":1} | 要启用服务的入参信息,数据格式为JSON String,例如Args={"param1":1}。若此参数为空时,需传入 Args={} 。重要物模型功能定义数据类型为float或double时,对应参数值(即使值为整数)至少携带一位小数位。 |
| Identifier | String | 是 | service1 | 服务的标识符。设备的服务Identifier的查看方式:登录物联网平台控制台,在设备所属产品的功能定义中查看。 |
| IotInstanceId | String | 是 | 6912917943269**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 |
| ProductKey | String | 是 | a1BwAGV**** | 要调用服务的设备所属的产品ProductKey。 |
| DeviceName | String | 是 | light | 要调用服务所属设备的DeviceName |
| Qos | Integer | 否 | 1 | 指定调用本接口时,消息的发送方式。取值:0(默认):最多发送一次。1:最少发送一次。 |
# 请求方式2
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | InvokeThingService | 系统规定参数。取值:InvokeThingService。 |
| Args | String | 是 | {"param1":1} | 要启用服务的入参信息,数据格式为JSON String,例如Args={"param1":1}。若此参数为空时,需传入 Args={} 。重要物模型功能定义数据类型为float或double时,对应参数值(即使值为整数)至少携带一位小数位。 |
| Identifier | String | 是 | service1 | 服务的标识符。设备的服务Identifier的查看方式:登录物联网平台控制台,在设备所属产品的功能定义中查看。 |
| IotInstanceId | String | 是 | 6912917943269**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 |
| IotId | String | 是 | Q7uOhVRdZRRlDnTLv****00100 | 设备ID。物联网平台为该设备颁发的ID,设备的唯一标识符。 |
| Qos | Integer | 否 | 1 | 指定调用本接口时,消息的发送方式。取值:0(默认):最多发送一次。1:最少发送一次。 |
# 返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Code | String | iot.system.SystemException | 调用失败时,返回的错误码。 |
| Data | Struct | 调用成功时,返回的数据。 | |
| MessageId | String | 2983119386 | 云端向设备下发服务调用的消息ID。 |
| ErrorMessage | String | 系统异常 | 调用失败时,返回的出错信息。 |
| RequestId | String | cAMeAT6qyGYTD76DkJZHWj8ba0pWZWam | 平台为该请求生成的唯一标识符。 |
| Success | Boolean | true | 是否调用成功。true:调用成功。false:调用失败。 |
# 示例
请求示例
http://open.${区域}.fenydata.com/fenydata-java-open/?Action=InvokeThingService
&ProductKey=a1rYuVF****
&IotInstanceId=70255861902711****
&Identifier=service1
&Args=%7B%22param1%22%3A1%7D
&<公共请求参数>
正常返回示例
XML格式
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xml>
<RequestId>AmlS9XiJLrRrC7YtPNDWNODrb1t6xinc</RequestId>
<Success>true</Success>
<Data>
<MessageId>2983119386</MessageId>
</Data>
</xml>
JSON格式
{
"RequestId": "AmlS9XiJLrRrC7YtPNDWNODrb1t6xinc",
"Success": true,
"Data": {
"MessageId": "2983119386"
}
}