Queries the TSL features of a specified product.
Usage notes
TSL features include properties, services, and events.
If you add custom modules to a TSL model and the value of the FunctionBlockId parameter is empty, you can obtain the TSL feature of each custom module. If the value of the FunctionBlockId parameter is not empty, you can obtain the TSL feature of a specified custom module.
For more information about the data format of the ThingModelJson parameter, see Data structure of ThingModelJson.
Limits
Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | QueryThingModel |
The operation that you want to perform. Set the value to QueryThingModel. |
ProductKey | String | Yes | a1BwAGV**** |
The product key. |
IotInstanceId | String | No | iot_instc_pu****_c*-v64******** |
The instance ID. This parameter is not required for public instances. However, this parameter is required for Enterprise Edition instances. |
ResourceGroupId | String | No | rg-acfm4l5tcwd**** |
The ID of the resource group. Note You cannot specify this parameter.
|
ModelVersion | String | No | v1.0.0 |
The TSL version to be queried. You can call the ListThingModelVersion operation to view the TSL version of a product. If you do not specify this parameter, the TSL that is in the draft status is queried. If you specify this parameter, the TSL of the specified version is queried. |
FunctionBlockId | String | No | BatteryModule |
The identifier of a Thing Specification Language (TSL)-based custom module. Each identifier is unique in a product. If you do not specify this parameter, the system queries the data of the default module. |
In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information, see Common request parameters.
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
Code | String | iot.system.SystemException |
The error code returned if the call fails. For more information, see Error codes. |
Data | Struct |
The data returned if the call succeeds. |
|
ThingModelJson | String | { "productKey":"a1Jw4id***", "_ppk":{ "version":"1.1", "description":"xxx" }, "properties":[ { "identifier": "SimCardType", "dataSpecs": { "max": "1", "dataType": "INT", "unit": "mmHg", "min": "0", "step": "1" }, "std": false, "custom": true, "dataType": "INT", "rwFlag": "READ_ONLY", "productKey": "a1Jw4idFWHX", "required": false, "customFlag": true, "name": "SIM card type" } ], "services":[], "events":[] } |
Define features for the TSL model. The TSL data format of the default module is different from the TSL data format of a custom module. For more information about the data format of the ThingModelJson parameter, see Data structure of ThingModelJson. |
ErrorMessage | String | A system exception has occurred. |
The error message returned if the call fails. |
ProductKey | String | a1BwAGV**** |
The product key. |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 |
The ID of the request. |
Success | Boolean | true |
Indicates whether the call succeeds.
|
Examples
Sample requests
https://iot.cn-shanghai.aliyuncs.com/?Action=QueryThingModel
&ProductKey=a1bPo9p****
&ModelVersion=v1.0.0
&<Common request parameters>
Sample success responses
XML
format
<QueryThingModelResponse>
<RequestId>1F9041A2-ED5B-4A5A-9C44-598E28C0B434</RequestId>
<Data>
<ThingModelJson>{"_ppk":{"version":"1594253010934"},"events":[],"productKey":"a114xeJ****","properties":[{"configCode":"8C03F0EEC63D4897BF2637F89AE36B011594227294067","custom":true,"customFlag":true,"dataSpecs":{"custom":true,"dataType":"INT","max":"1","min":"0","step":"1","unit":"ppb"},"dataType":"INT","description":"1","extendConfig":"{\"originalDataType\":{\"specs\":{\"registerCount\":1,\"reverseRegister\":0,\"swap16\":0},\"type\":\"bool\"},\"identifier\":\"WakeUpData\",\"registerAddress\":\"0x04\",\"scaling\":1,\"writeFunctionCode\":0,\"operateType\":\"inputStatus\",\"pollingTime\":1000,\"trigger\":1}","identifier":"WakeUpData","name":"WakeUp_Data,"productKey":"a114xeJGj2p","required":false,"rwFlag":"READ_ONLY","std":false}],"services":[]}</ThingModelJson>
</Data>
<Success>true</Success>
</QueryThingModelResponse>
JSON
format
{
"RequestId": "1F9041A2-ED5B-4A5A-9C44-598E28C0B434",
"Data": {
"ThingModelJson": "{\"_ppk\":{\"version\":\"1594253010934\"},\"events\":[],\"productKey\":\"a114xeJ****\",\"properties\":[{\"configCode\":\"8C03F0EEC63D4897BF2637F89AE36B011594227294067\",\"custom\":true,\"customFlag\":true,\"dataSpecs\":{\"custom\":true,\"dataType\":\"INT\",\"max\":\"1\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"ppb\"},\"dataType\":\"INT\",\"description\":\"1\",\"extendConfig\":\"{\\\"originalDataType\\\":{\\\"specs\\\":{\\\"registerCount\\\":1,\\\"reverseRegister\\\":0,\\\"swap16\\\":0},\\\"type\\\":\\\"bool\\\"},\\\"identifier\\\":\\\"WakeUpData\\\",\\\"registerAddress\\\":\\\"0x04\\\",\\\"scaling\\\":1,\\\"writeFunctionCode\\\":0,\\\"operateType\\\":\\\"inputStatus\\\",\\\"pollingTime\\\":1000,\\\"trigger\\\":1}\",\"identifier\":\"WakeUpData\",\"name\":\"Wakeup_Data\",\"productKey\":\"a114xeJGj2p\",\"required\":false,\"rwFlag\":\"READ_ONLY\",\"std\":false}],\"services\":[]}"
},
"Code": "",
"Success": true
}
Error codes
For a list of error codes, visit the API Error Center.