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).

Note Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

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.

  • true: The call succeeded.
  • false: The call failed.

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.