
# 创建产品分类
#### 功能介绍
应用服务器可调用此接口创建产品分类。产品分类是针对同一类型的产品的一个分类，也是创建产品的前置条件。
#### URI
POST /v1/iotfm/product-categories
#### 请求参数
表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参数 
| 参数                   | 是否必选 | 参数类型   | 描述                                                                                                  |
|:---|:---|:---|:---|
| category_name        | 是    | String | **参数说明**：产品分类名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、空格以及_-字符的组合。 |
| category_description | 否    | String | **参数说明**：产品分类描述。 **取值范围**：长度不超过256，只允许中文、字母、数字、空格以及_-字符的组合。   |
| category_id          | 否    | String | **参数说明**：产品分类ID。 **取值范围**：长度不超过36，只允许字母、数字、以及_-字符的组合。       |
| parent_category_id   | 否    | String | **参数说明**：产品分类父级ID。 **取值范围**：长度不超过64，只允许字母、数字、以及_-字符的组合。       |
   
#### 响应参数
**状态码：201**
表3响应Body参数 
| 参数                   | 参数类型    | 描述                                                                                                |
|:---|:---|:---|
| category_name        | String  | **参数说明**：产品分类名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、空格以及_-字符的组合。 |
| category_description | String  | **参数说明**：产品分类描述。 **取值范围**：长度不超过256，只允许中文、字母、数字、空格以及_-字符的组合。 |
| category_code        | String  | **参数说明**：产品分类编码。 **取值范围**：长度不超过36，只允许字母、数字、以及_-字符的组合。     |
| category_id          | String  | **参数说明**：产品分类ID。 **取值范围**：长度不超过36，只允许字母、数字、以及_-字符的组合。      |
| parent_category_id   | String  | **参数说明**：产品分类父级ID。 **取值范围**：长度不超过64，只允许字母、数字、以及_-字符的组合。      |
| children_count       | Integer | **参数说明**：直接下级数量。 **取值范围**：大小为0-100。                        |
   
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述                                                                    |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。 |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
- 创建产品分类（无父类产品分类）
  ```
  POST https://{endpoint}/v1/iotfm/product-categories
  {
    "category_name" : "暖通空调系统",
    "category_description" : "暖通空调系统",
    "category_code" : "BES-HVAC"
  }
  ```
  
- 创建产品分类（指定父类产品分类）
  ```
  POST https://{endpoint}/v1/iotfm/product-categories
  {
    "category_name" : "暖通空调系统",
    "category_description" : "暖通空调系统",
    "category_code" : "BES-HVAC",
    "parent_category_id" : "18c7bd523873f800009c2f25"
  }
  ```
  
 
#### 响应示例
**状态码：201**
Created
- 示例 1
  ```
  {
    "category_name" : "暖通空调系统",
    "category_description" : "暖通空调系统",
    "category_code" : "BES-HVAC",
    "category_id" : "18c7bd523873f800009c2f25"
  }
  ```
  
- 示例 2
  ```
  {
    "category_name" : "暖通空调系统",
    "category_description" : "暖通空调系统",
    "category_code" : "BES-HVAC",
    "category_id" : "18c7bd50d393f800009c2f1f",
    "parent_category_id" : "18c7bd523873f800009c2f25"
  }
  ```
  
 
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 201 | Created     |
| 400 | Bad Request |
   
