
# 查询空间规格定义列表
#### 功能介绍
应用服务器可调用此接口查询空间规格定义列表，规格定义了用户期望的属性列表信息，每个属性包含属性名称、属性编码及属性的约束等。
#### URI
GET /v1/iotfm/zone-definitions
表1Query参数 
| 参数     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| limit  | 否    | Integer | **参数说明**：分页查询时每页显示的记录数。 **取值范围**：默认值为10，取值范围为1-50的整数。                                                                                                                                                                                             |
| marker | 否    | String  | **参数说明**：上一次分页查询结果中最后一条记录的ID，在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的，越新的数据记录ID也会越大。若填写marker，则本次只查询记录ID小于marker的数据记录。若不填写，则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据，则每次查询时必须填写上一次查询响应中的marker值。 **取值范围**：长度固定24，只允许大小写字母、数组的组合。               |
| offset | 否    | Integer | **参数说明**：表示从marker后偏移offset条记录开始查询。当offset为0时，表示从marker后第一条记录开始输出。限制offset最大值是出于API性能考虑，您可以搭配marker使用该参数实现翻页，例如每页50条记录，1-11页内都可以直接使用offset跳转到指定页，但到11页后，由于offset限制为500，您需要使用第11页返回的marker作为下次查询的marker，以实现翻页到12-22页。 **取值范围**：默认为0，取值范围为0-500的整数。 |
   
#### 请求参数
表2请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token  | 是    | String | **参数说明** ：用户Token。通过调用 [生成Token](https://support.huaweicloud.com/api-ocsmartcampus/ocsmartcampus_06_0008.html) 接口获取，接口返回的响应消息头中"X-Subject-Token"就是需要获取的用户Token。 |
| X-Instance-Id | 是    | String | **参数说明**：实例ID。通过访问智能设施云平台界面后获取，智能设施云平台资源均为实例级隔离，所有业务接口必须填写正确的实例ID才能被成功调用。 **取值范围**：长度8-36，只允许大小写字母、数字和-字符的组合。             |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数          | 参数类型                                                                                                            | 描述                                                                                                 |
|:---|:---|:---|
| definitions | Array of [ZoneDefinition] objects | **参数说明**：空间规格定义列表。 **取值范围**：长度0-200，最大长度范围系统可配置，当前最大值默认是50。 |
| page        | [Page] object                               | 查询批量分页结构体，定义了分页页码、每页记录数、记录总数、该页记录的最大ID。                                                            |
   
 表4ZoneDefinition 
| 参数          | 参数类型                                                                                                                    | 描述                                                                                                                             |
|:---|:---|:---|
| id          | String                                                                                                                  | **参数说明**：规格唯一ID。 **取值范围**：长度1-32。                                                     |
| code        | String                                                                                                                  | **参数说明**：规格定义编码，实例级唯一。 **取值范围**：长度1-32，只允许大小写字母、数字以及-字符的组合。                             |
| name        | String                                                                                                                  | **参数说明**：规格定义名称，实例级唯一。 **取值范围**：长度1-32，只允许中文、大小写字母、数字以及_-字符的组合。                       |
| description | String                                                                                                                  | **参数说明**：规格定义描述。 **取值范围**：长度0-256，只允许中文、大小写字母、数字以及_-字符的组合。                              |
| properties  | Array of [PropertyDefinition] objects | **参数说明**：规格属性字段列表，其中display_in_list属性保留，未使用。 **取值范围**：长度0-200，最大长度范围系统可配置，当前最大值默认是50。 |
| create_time | String                                                                                                                  | **参数说明**：创建时间，格式为：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。 **取值范围**：大小为0-24。                      |
   
 表5PropertyDefinition 
| 参数              | 参数类型             | 描述                                                                                                                                                                                                                 |
|:---|:---|:---|
| property_name   | String           | **参数说明**：属性名称。注：设备服务内不允许重复。属性名称作为设备影子JSON文档中的key不支持特殊字符：点(.)、dollar符号($)、空char(十六进制的ASCII码为00)，如果包含了以上特殊字符则无法正常刷新影子文档。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。 |
| property_code   | String           | **参数说明**：属性名称。注：设备服务内不允许重复。属性名称作为设备影子JSON文档中的key不支持特殊字符：点(.)、dollar符号($)、空char(十六进制的ASCII码为00)，如果包含了以上特殊字符则无法正常刷新影子文档。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。  |
| data_type       | String           | **参数说明**：属性的数据类型。 **取值范围**：int，long，decimal，string，DateTime，jsonObject，enum，boolean，string list。                                                                            |
| required        | Boolean          | **参数说明**：属性是否必选。默认为false。                                                                                                                                                                                          |
| enum_list       | Array of strings | **参数说明**：属性的枚举值列表。                                                                                                                                                                                                 |
| min             | String           | **参数说明**：属性的最小值，用来支持int、long、decimal类型。 **取值范围**：长度不超过16，int类型值范围为：-2147483648\~2147483647。                                                                              |
| max             | String           | **参数说明**：属性的最大值，用来支持int、long、decimal类型。 **取值范围**：长度不超过16，int类型值范围为：-2147483648\~2147483647                                                                                |
| max_length      | Integer          | **参数说明**：属性的最大长度。                                                                                                                                                                                                  |
| min_length      | Integer          | **参数说明**：属性的最小长度。                                                                                                                                                                                                  |
| unit            | String           | **参数说明**：属性的单位。 **取值范围**：长度不超过16。                                                                                                                                         |
| description     | String           | **参数说明**：属性的描述。 **取值范围**：长度不超过128，只允许中文、字母、数字、空白字符、以及_?'#().,;\&%@!- ，、：；。/字符的组合。                                                                                         |
| default_value   | Object           | **参数说明**：属性的默认值。如果设置了默认值，使用该产品创建设备时，会将该属性的默认值写入到该设备的设备影子预期数据中，待设备上线时将该属性默认值下发给设备。                                                                                                                                  |
| display_in_list | Boolean          | **参数说明**：属性是否呈现在列表页。如果值为True，该属性将被展现在列表页中，否则，将不再列表页展示。不设置，则默认为false。                                                                                                                                               |
   
 表6Page 
| 参数     | 参数类型   | 描述                                                                                                 |
|:---|:---|:---|
| count  | Long   | **参数说明**：本次分页查询结果中，获取的记录总数。                                                                        |
| marker | String | **参数说明**：本次分页查询结果中最后一条记录的ID，可在下一次分页查询时使用。 **取值范围**：长度0-64。 |
   
#### 请求示例
查询空间规格定义列表
```
GET https://{endpoint}/v1/iotfm/zone-definitions
```
#### 响应示例
**状态码：200**
OK
```
{
  "definitions" : [ {
    "id" : "a0ed5ea25c3cc3d328f61af50fc9452a",
    "code" : "store",
    "name" : "门店解决方案",
    "description" : "门店解决方案",
    "properties" : [ {
      "property_name" : "门店类型",
      "property_code" : "store_type",
      "data_type" : "enum",
      "enum_list" : [ "荣耀Life店", "荣耀高级体验店", "荣耀体验店", "HFS:旗舰店", "HES-H:高级体验店", "HES:授权体验店", "HES-R:授权专卖店", "旗舰服务中心FSC", "综合服务中心MSC", "授权服务中心ASC" ]
    }, {
      "property_name" : "门店状态",
      "property_code" : "store_status",
      "data_type" : "enum",
      "enum_list" : [ "筹建中", "建设中", "运营中", "暂停营业" ]
    }, {
      "property_name" : "物业类型",
      "property_code" : "property_type",
      "data_type" : "enum",
      "enum_list" : [ "独立店", "商场内场店", "公共设施内场店" ]
    }, {
      "property_name" : "所属商圈",
      "property_code" : "business_poi",
      "data_type" : "string",
      "min_length" : 0,
      "max_length" : 256
    }, {
      "property_name" : "详细地址",
      "property_code" : "address",
      "data_type" : "string",
      "min_length" : 0,
      "max_length" : 256
    }, {
      "property_name" : "纬度",
      "property_code" : "latitude",
      "data_type" : "float",
      "max" : 360,
      "min" : 0
    }, {
      "property_name" : "精度",
      "property_code" : "longtitude",
      "data_type" : "float",
      "max" : 360,
      "min" : 0
    } ],
    "create_time" : "2022-12-26T01:52:49.999Z"
  } ],
  "page" : {
    "count" : 1,
    "marker" : "18bcc7baf6a059c46a81d186"
  }
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
