Queries the features of the Thing Specification Language (TSL) model of a product.
Usage notes
TSL features include properties, services, and events.
If custom modules are added to the TSL model of a product and you do not specify the FunctionBlockId parameter in the request, the operation returns the TSL features of each custom module. If you specify the FunctionBlockId parameter in the request, the operation returns the TSL features of the specified custom module.
For more information about the data format of the ThingModelJson response parameter, see Data structure of ThingModelJson.
QPS limits
You can call this API operation up to 10 times per second per account.
The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
Action | String | Yes | QueryThingModel | The operation that you want to perform. Set the value to QueryThingModel. |
IotInstanceId | String | No | iot_instc_pu****_c*-v64******** | The instance ID. You can view the instance ID on the Overview tab of the IoT Platform console. Important
For more information about instances, see Overview. |
ResourceGroupId | String | No | rg-acfm4l5tcwd**** | The resource group ID. Important IoT Platform supports resource group management only by instance. The ResourceGroupId parameter is invalid. You do not need to specify this parameter. |
ProductKey | String | No | a1BwAGV**** | The ProductKey of the product. |
ModelVersion | String | No | v1.0.0 | The version number of the TSL model. You can call the ListThingModelVersion operation to view the version numbers of the TSL model for a product. If you do not specify this parameter, the TSL model that is in the draft state is queried. If you specify this parameter, the TSL model of the specified version is queried. |
FunctionBlockId | String | No | BatteryModule | The identifier of the custom TSL module. Each identifier is unique in a product. If you do not specify this parameter, the default module is queried. |
In addition to the preceding operation-specific request parameters, you must specify 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 request failed. For more information, see Error codes. |
Data | Struct | The data returned if the request was successful. | |
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":[] } | The features of the TSL model. The TSL data format of the default module is different from that 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 occurred. | The error message returned if the request failed. |
ProductKey | String | a1BwAGV**** | The ProductKey of the product. |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | The request ID. |
Success | Boolean | true | Indicates whether the request was successful. Valid values:
|
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, see Service error codes.