调用该接口为指定产品的物模型新增功能,支持同时新增物模型扩展描述。

限制说明

  • 如果指定产品已发布,需先调用接口CancelReleaseProduct取消该产品发布,才能调用本接口新增物模型功能。
  • 调用接口前,您可通过json-schemaThingModelJson中的入参进行预校验,请参见ThingModelJson数据说明中的“校验”。
  • 单次调用最多可新增10个功能,即新增属性、服务和事件的数量总计不超过10。
  • 单阿里云账号调用该接口的每秒请求数(QPS)最大限制为5。
    说明 RAM用户共享阿里云账号配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateThingModel

系统规定参数。取值:CreateThingModel。

ProductKey String a1BwAGV****

产品的ProductKey

可以在物联网平台控制台产品页查看,或调用QueryProductList查看ProductKey的取值。

IotInstanceId String iot-cn-0pp1n8t****

实例ID。

无需传入此参数。

ThingModelJson String { "properties":[ { "identifier": "SimCardType", "extendConfig":"{...}", "dataSpecs": { "max": "1", "dataType": "INT", "unit": "mmHg", "min": "0", "step": "1" }, "std": false, "custom": true, "dataType": "INT", "rwFlag": "READ_ONLY", "productKey": "a1bPo9p****", "required": false, "customFlag": true, "name": "sim卡类型" } ], "services":[...], "events":[...]

新增的功能定义详情。

说明 最多能包含10个功能的定义信息。

例如:


{
  "properties": [
    {
      "custom": true,
      "dataSpecsList": [
        {
          "childDataType": "TEXT",
          "childName": "设备SIM卡的CCID",
          "dataSpecs": {
            "custom": true,
            "dataType": "TEXT",
            "length": 20
          },
          "dataType": "STRUCT",
          "identifier": "CCID",
          "name": "设备SIM卡的CCID"
        },
        {
          "childDataType": "INT",
          "childName": "电池电量",
          "dataSpecs": {
            "custom": true,
            "dataType": "INT",
            "max": "60000",
            "min": "0",
            "step": "1"
          },
          "dataType": "STRUCT",
          "identifier": "battery",
          "name": "电池电量"
        },
        {
          "childDataType": "TEXT",
          "childName": "其他信息",
          "dataSpecs": {
            "custom": true,
            "dataType": "TEXT",
            "length": 1024
          },
          "dataType": "STRUCT",
          "identifier": "other_info",
          "name": "其他信息"
        }
      ],
      "dataType": "STRUCT",
      "identifier": "DEV_INFO",
      "name": "设备信息",
      "productKey": "a1T***",
      "propertyId": 18786548,
      "required": false,
      "rwFlag": "READ_ONLY"
    },
    {
      "custom": true,
      "dataSpecs": {
        "childDataType": "INT",
        "custom": true,
        "dataType": "ARRAY",
        "size": 1,
        "dataSpecs": {
          "custom": true,
          "dataType": "INT",
          "max": "65535",
          "min": "0",
          "step": "1",
          "unit": "ppm",
          "unitName": "百万分率"
        }
      },
      "dataType": "ARRAY",
      "identifier": "airRH_SR",
      "name": "除湿机湿度",
      "productKey": "a1T***",
      "propertyId": 18786551,
      "required": false,
      "rwFlag": "READ_ONLY"
    }
  ],
  "services": [...],
  "events": [...]
}

ThingModelJson每个property结构中,可以使用extendConfig来描述扩展物模型的数据。更多信息,请参见ThingModelJson数据说明

FunctionBlockId String BatteryModule

物模型自定义模块标识符,在产品中具有唯一性。支持英文大小写字母、数字和下划线(_),不超过30个字符。

需与FunctionBlockName结合使用。不传入此参数时,新增功能导入默认模块。

FunctionBlockName String 电池模块

物模型的自定义模块名称。支持中文、英文字母、日文、数字和下划线(_),长度限制为4~30个字符,一个中文、一个日文算1个字符。

需与FunctionBlockId结合使用。不传入此参数时,新增功能导入默认模块。

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回数据

名称 类型 示例值 描述
Code String iot.system.SystemException

调用失败时,返回的错误码。更多信息,请参见错误码

ErrorMessage String 系统异常

调用失败时,返回的出错信息。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

阿里云为该请求生成的唯一标识符。

Success Boolean true

表示是否调用成功。

  • true:调用成功。
  • false:调用失败。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateThingModel
&ProductKey=a1bPo9p****
&ThingModelJson={"properties":[{"identifier": "SimCardType","dataSpecs": {"max": "1", "dataType": "INT","unit": "mmHg","min": "0","step": "1"},"std": false,"custom": true,"dataType": "INT","rwFlag": "READ_ONLY","productKey": "a1bPo9p****","required": false,"customFlag": true, "name": "sim卡类型"}]}
&<公共请求参数>

正常返回示例

XML格式

<CreateThingModelResponse>
  <RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>
  <Success>true</Success>
</CreateThingModelResponse>

JSON格式

{
  "RequestId": "9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E",
  "Success": true
}

错误码

访问错误中心查看更多错误码。