# 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"
  }
}