
# 新增项目
#### 功能介绍
应用服务器可调用此接口新增项目，项目包含名称、编码、时区、面积、详细地址信息、国家/地区、省份、城市、区县等。
国家/地区、省份、城市、区县值可以通过查询行政区域信息列表接口获得。
创建项目后，在前端可以切换到该项目，然后在空间管理中创建空间，空间为树状结构，通过为待创建空间指定父空间ID实现父子关系，进而逐级构成树状结构。
#### URI
POST /v1/iotfm/root-zones
#### 请求参数
表1请求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，只允许大小写字母、数字和-字符的组合。             |
   
表2请求Body参数 
| 参数            | 是否必选 | 参数类型    | 描述                                                                                                                            |
|:---|:---|:---|:---|
| code          | 否    | String  | **参数说明**：项目编码，实例级唯一。由用户指定，相当于外部ID，系统内部ID会自动生成。 **取值范围**：长度为1-32，只允许大小写字母、数字、#、_、.和-的组合。 |
| name          | 是    | String  | **参数说明**：项目名，实例级唯一。 **取值范围**：长度1-256。                                                  |
| description   | 否    | String  | **参数说明**：项目描述。 **取值范围**：长度不超过1024。                                                    |
| 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。                                       |
   
#### 响应参数
**状态码：201**
表3响应Body参数 
| 参数             | 参数类型    | 描述                                                                                                              |
|:---|:---|:---|
| 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。                                  |
   
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述                                                                     |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。 |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。  |
   
#### 请求示例
新增项目
```
POST https://{endpoint}/v1/iotfm/root-zones
{
  "code" : "5c8ba99030344005c02316ad",
  "name" : "深圳园区",
  "description" : "深圳园区",
  "area" : 1000000,
  "base_location" : "深圳市龙岗区坂田街道1栋",
  "country" : "中国",
  "province" : "广东省",
  "city" : "深圳市",
  "county" : "龙岗区"
}
```
#### 响应示例
**状态码：201**
Created
```
{
  "id" : "1c8ba11111344005c02316a2",
  "code" : "5c8ba99030344005c02316ad",
  "name" : "深圳园区",
  "description" : "深圳园区",
  "time_zone" : "UTC+08:00",
  "area" : 100000,
  "base_location" : "坂田街道1栋",
  "country" : "中国",
  "province" : "广东省",
  "city" : "深圳市",
  "county" : "龙岗区",
  "city_code" : "285130",
  "children_count" : 2,
  "create_time" : "2023-11-14T06:18:59.818Z"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 201 | Created     |
| 400 | Bad Request |
   
