
# 查询项目列表
#### 功能介绍
应用服务器可调用此接口查询项目列表。
#### URI
GET /v1/iotfm/root-zones
表1Query参数 
| 参数     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| name   | 否    | String  | **参数说明**：项目名称，实例级唯一。 **取值范围**：长度1-256。                                                                                                                                                                                                           |
| code   | 否    | String  | **参数说明**：项目编码，实例级唯一。 **取值范围**：长度为1-32，只允许大小写字母、数字、#、_、.和-的组合。                                                                                                                                                                                    |
| 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参数 
| 参数    | 参数类型                                                                                                | 描述                                      |
|:---|:---|:---|
| zones | Array of [RootZone] objects | 项目列表                                    |
| page  | [Page] object                   | 查询批量分页结构体，定义了分页页码、每页记录数、记录总数、该页记录的最大ID。 |
   
 表4RootZone 
| 参数             | 参数类型    | 描述                                                                                                                 |
|:---|:---|:---|
| id             | String  | **参数说明**：项目全局唯一ID。 **取值范围**：长度固定24，只允许大小写字母、数字的组合。                        |
| code           | String  | **参数说明**：项目编码。可由用户指定，实例级唯一。 **取值范围**：长度为1-32，只允许大小写字母、数字、#、_、.和-的组合。     |
| name           | String  | **参数说明**：项目名称，实例级唯一。 **取值范围**：长度1-256。                                      |
| description    | String  | **参数说明**：项目描述。 **取值范围**：长度0-1024。                                           |
| time_zone      | String  | **参数说明**：项目所属的时区，格式为UTC±hh:mm。 **取值范围**：默认值为UTC+08:00，                      |
| area           | Integer | **参数说明**：面积（m²）。单位：平方米。 **取值范围**：数字类型，值范围是1-100000000（1亿平方米）。             |
| base_location  | String  | **参数说明**：详细地址信息。 **取值范围**：长度0-256。                                        |
| country        | String  | **参数说明**：国家/地区。当前只支持"中国"，其他不支持。 **取值范围**：长度1-256。                           |
| province       | String  | **参数说明**：省份。当前只支持中国行政区域，其他不支持。 **取值范围**：长度1-256。                          |
| city           | String  | **参数说明**：城市。当前只支持中国行政区域，其他不支持。 **取值范围**：长度1-256。                           |
| county         | String  | **参数说明**：区县。当前只支持中国行政区域，其他不支持。 **取值范围**：长度1-256。                            |
| city_code      | String  | **参数说明**：城市编码。根据中国行政区域为每个区县级别定义的唯一编码，当前只支持中国行政区域，其他不支持。 **取值范围**：长度1-32。 |
| children_count | Integer | **参数说明**：直接下级数量。 **取值范围**：大小为0-100。                                         |
| create_time    | String  | **参数说明**：创建时间，格式为：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。 **取值范围**：大小为0-20。          |
| is_default     | Boolean | **参数说明**：是否为默认项目。 **取值范围**：true或者false。                                     |
   
 表5Page 
| 参数     | 参数类型   | 描述                                                                                                 |
|:---|:---|:---|
| count  | Long   | **参数说明**：本次分页查询结果中，获取的记录总数。                                                                        |
| marker | String | **参数说明**：本次分页查询结果中最后一条记录的ID，可在下一次分页查询时使用。 **取值范围**：长度0-64。 |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                         |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。     |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
查询项目列表
```
GET https://{endpoint}/v1/iotfm/root-zones
```
#### 响应示例
**状态码：200**
OK
```
{
  "zones" : [ {
    "id" : "18bcc7baf6a059c46a81d186",
    "code" : "5c8ba99030344005c02316ad",
    "name" : "MyZone",
    "description" : "深圳园区",
    "time_zone" : "UTC+08:00",
    "area" : 1000000,
    "base_location" : "深圳市龙岗区坂田街道1栋",
    "country" : "中国",
    "province" : "广东省",
    "city" : "深圳市",
    "county" : "龙岗区",
    "city_code" : "285130",
    "children_count" : 2,
    "create_time" : "2023-11-14T06:18:59.818Z"
  } ],
  "page" : {
    "count" : 1,
    "marker" : "18bcc7baf6a059c46a81d186"
  }
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
