Invoking Services¶
The device side responds to device service invocation requests through the service invocation Topic. The cloud side pushes this message using either synchronous or asynchronous methods, and the device side can respond to the message using the reply Topic.
Downstream
Request TOPIC:
/sys/{productKey}/{deviceKey}/thing/service/{tsl.service.identifier}
Reply TOPIC:
/sys/{productKey}/{deviceKey}/thing/service/{tsl.service.identifier}_reply
Note
tsl.service.identifier is the command ID that has been defined in the model.
Sample Request Format¶
{
"id": "123",
"version": "1.0",
"params": {
"Power": "on",
"WindState": 2
},
"method": "thing.service.{tsl.service.identifier}"
}
Sample Response Format¶
{
"id": "123",
"code": 200,
"data": {
"parameter_1": 1.3,
"parameter_2": 13
}
}
Request Parameter Description¶
Parameters |
Type |
Mandatory/Optional |
Description |
---|---|---|---|
id |
String |
Mandatory |
The message ID. It is a reserved parameter that is reserved for future use. |
version |
String |
Mandatory |
The version of the protocol. The current version is 1.0. |
params |
List |
Mandatory |
The parameters used for invoking device services. |
Power |
String |
Optional |
The identifier of the service that you want to report. In this example, the command has the identifier Power. The value you set must match the data type defined for this parameter. For example, when the data type of this parameter is set to string in the model, the value here must be a string. |
WindState |
Integer |
Optional |
The identifier of the service that you want to report. In this example, the command has the identifier WindState. Similar to the above, the value you set must match the data type defined for this parameter. |
method |
String |
Mandatory |
The request method. |
Response Parameter Description¶
Parameter |
Type |
Description |
---|---|---|
id |
String |
The message ID. |
code |
Integer |
The return code. “200” indicates that the request operation is executed successfully. |
data |
Map (Key is of String type and the Value can be of String, Integer, Array or Object type) |
The command output fields defined in the model. |
Error Codes¶
For the description of error codes, see Error Codes.