Calls multiple device services at a time.
Usage notes
This operation can only be asynchronously called.
When the device receives the service call, the device returns a response to the service caller. When you configure the device, you must specify the response logic and response parameters. The data formats of response parameters must comply with the Alink protocol. Example:
{
"id": "58***89",
"code": 200,
"data": {},
"message": "success",
"localizedMsg": "localizedMsg"
}
- The id parameter specifies the unique identifier of the request. The ID is generated by IoT Platform. The device can obtain the ID from the request parameters and return the ID.
- The code parameter specifies the result of the service call. The value is an integer.
- The data parameter indicates the result of the service call. This parameter is returned to the service caller. You can specify the parameters included in the returned result. The data must be in JSON format.
The message and localizedMsg parameters are optional.
Link SDK for C of IoT Platform provides an example on how to use a Thing Specification Language (TSL) model. For more information, see Call device services.
QPS limits
You can call this API operation up to 10 times per second per account.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | InvokeThingsService | The operation that you want to perform. Set the value to InvokeThingsService. |
Args | String | Yes | {"param1":1} | The input parameter of the service. The value is a JSON string. Example: Args={"param1": 1}. If you do not want to configure an input parameter for the service, set the value to Args={}. Important If the TSL data is of the float type or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1. |
DeviceName.N | RepeatList | Yes | device1 | The name of the device whose service is called. You can specify up to 100 device names. |
Identifier | String | Yes | Set | The identifier of the service. To view the identifier of the service, you can use one of the following methods:
Note If a service named testService belongs to a custom module named testFb, you can set this parameter to testFb:testService. The custom module is not the default module. |
ProductKey | String | Yes | a1BwAGV**** | The ProductKey of the product to which the device belongs. |
IotInstanceId | String | No | iot_instc_pu****_c*-v64******** | The ID of the IoT instance. You can view the ID of the instance on the Overview page in the IoT Platform console. Important
For more information, see Instance overview. |
Qos | Integer | No | 1 | The quality of service (QoS) level of the message. Valid values:
|
In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see Common parameters.
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
Code | String | iot.system.SystemException | The error code returned if the call fails. For more information about error codes, see Error codes. |
ErrorMessage | String | A system exception occurred. | The error message returned if the call fails. |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | The ID of the request. |
Success | Boolean | true | Indicates whether the call was successful. Valid values:
|
Examples
Sample requests
https://iot.cn-shanghai.aliyuncs.com/?Action=InvokeThingsService
&Args=%7B%20%20%20%20%20%22walk%22%3A%22a~z%22%2C%20%20%20%20%20%22city%22%3A%22shanghai%22%20%7D
&DeviceName.1=1102andriod02
&DeviceName.2=1102android01
&Identifier=TimeReset
&ProductKey=a1hWjHD****
&<Common request parameters>
Sample success responses
XML
format
<InvokeThingsServiceResponse>
<RequestId>059C3274-6197-4BEC-95E4-49A076330E57</RequestId>
<Success>true</Success>
</InvokeThingsServiceResponse>
JSON
format
{
"RequestId": "059C3274-6197-4BEC-95E4-49A076330E57",
"Success": true
}
Error codes
For a list of error codes, see Service error codes.