更新时间:2025-08-19 GMT+08:00
分享

新增空间

功能介绍

应用服务器可调用此接口新增空间,空间包含空间名称、空间关联的空间定义编码以及空间定义中各个属性的值。

空间定义编码、空间定义中各个属性的字段名及字段约束可通过 查询空间定义列表 接口获得。

创建的时候通过参数指定(X-Root-Zone-Id)该空间归属的项目,不指定该参数有可能把归属到默认的项目。

空间为树状结构,通过为待创建空间指定父空间ID实现父子关系,进而逐级构成树状结构。

注意:

  • 空间定义中包含了此类空间包含的属性定义,包含属性的校验规则(类型、是否必填以及最大值最小值等),请遵循属性定义填写空间的属性值。

URI

POST /v1/iotfm/zones

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数说明:用户Token。通过调用 生成Token 接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。

X-Instance-Id

String

参数说明:实例ID。通过访问智能设施云平台界面后获取,智能设施云平台资源均为实例级隔离,所有业务接口必须填写正确的实例ID才能被成功调用。

取值范围:长度8-36,只允许大小写字母、数字和-字符的组合。

X-Root-Zone-Id

String

参数说明:项目ID。

取值范围:长度不超过24,只允许字母、数字的组合。

表2 请求Body参数

参数

是否必选

参数类型

描述

parent_id

String

参数说明:父级空间ID。

取值范围:长度固定24,只允许大小写字母、数字的组合。

parent_code

String

参数说明:父空间编码。除了首层空间场景外,parent_id和parent_code必须有一个必填。

取值范围:长度为1-32,只允许大小写字母、数字、#、_、.和-的组合。

definition_code

String

参数说明:空间定义编码。系统预置了$default-sub-zone,可以使用该规格编码创建,但注意该规格的规格属性为空,也不允许变更该规格。

取值范围:长度1-256。

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。

properties

Map<String,String>

参数说明:属性键值对。

响应参数

状态码:201

表3 响应Body参数

参数

参数类型

描述

id

String

参数说明:空间全局唯一ID。

取值范围:长度固定24,只允许大小写字母、数字的组合。

definition_code

String

参数说明:空间规格定义编码。系统自定义规格以$开头,用户自定义不以$开头。

取值范围:长度1-256。

code

String

参数说明:空间编码。可由用户指定,实例级唯一。

取值范围:长度为1-32,只允许大小写字母、数字、#、_、.和-的组合。

name

String

参数说明:空间名称。

取值范围:长度1-256。

parent_id

String

参数说明:父级空间ID。

取值范围:长度固定24,只允许大小写字母、数字的组合。

parent_code

String

参数说明:父空间编码。

取值范围:长度为1-32,只允许大小写字母、数字、#、_、.和-的组合。

parent_name

String

参数说明:父级名称。

取值范围:长度1-256。

description

String

参数说明:空间描述。

取值范围:长度0-1024。

time_zone

String

参数说明:空间所属的时区。格式为UTC±hh:mm。

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。

path

Array of ZonePathItemDto objects

从根到当前节点的路径,不包含当前节点。

properties

Map<String,String>

参数说明:属性键值对,json格式。属性是在自定义空间规格里面定义的。

取值范围:每个值要满足空间规格自定义属性的范围要求。

create_time

String

参数说明:创建时间,格式为:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。

取值范围:大小为0-20。

表4 ZonePathItemDto

参数

参数类型

描述

id

String

空间ID

name

String

空间名称

depth

Integer

空间层级,从顶层空间到当前节点的深度,顶层空间深度为1,按层级别依次递增。如depth为2,则代表本空间为第二层级。

状态码:400

表5 响应Body参数

参数

参数类型

描述

error_code

String

参数说明:错误码。

取值范围:长度8-36。

error_msg

String

参数说明:错误描述。

取值范围:长度2-512。

请求示例

  • 新增空间(根据系统生成的父空间ID)

    POST https://{endpoint}/v1/iotfm/zones
    
    {
      "parent_id" : "1c8ba99030344005c02316a2",
      "definition_code" : "custom-sub-zone",
      "code" : "5c8ba99030344005c02316ad",
      "name" : "深圳园区1栋",
      "description" : "深圳园区1栋",
      "area" : 1000000,
      "base_location" : "深圳市龙岗区坂田街道1栋",
      "country" : "中国",
      "province" : "广东省",
      "city" : "深圳市",
      "county" : "龙岗区",
      "properties" : {
        "status" : "维护中"
      }
    }
  • 新增空间(根据用户自定义的父空间code)

    POST https://{endpoint}/v1/iotfm/zones
    
    {
      "parent_code" : "1c8ba99030344005c02316a2",
      "definition_code" : "custom-sub-zone",
      "code" : "5c8ba99030344005c02316ad",
      "name" : "深圳园区1栋",
      "description" : "深圳园区1栋",
      "area" : 1000000,
      "base_location" : "深圳市龙岗区坂田街道1栋",
      "country" : "中国",
      "province" : "广东省",
      "city" : "深圳市",
      "county" : "龙岗区",
      "properties" : {
        "status" : "维护中"
      }
    }

响应示例

状态码:201

Created

{
  "path" : [ {
    "id" : "18b94dc0bb320e7860a2607d",
    "name" : "深圳",
    "depth" : 1
  }, {
    "id" : "18b94dc0bb320e7860a2607c",
    "name" : "深圳园区",
    "depth" : 2
  } ],
  "id" : "1c8ba11111344005c02316a2",
  "parent_id" : "1c8ba99030344005c02316a2",
  "parent_code" : "1c8ba99030344005c02316a3",
  "parent_name" : "深圳园区",
  "definition_code" : "custom-sub-zone",
  "code" : "5c8ba99030344005c02316ad",
  "name" : "深圳园区1栋",
  "description" : "深圳园区1栋",
  "time_zone" : "UTC+08:00",
  "area" : 100000,
  "base_location" : "深圳市龙岗区坂田街道1栋",
  "country" : "中国",
  "province" : "广东省",
  "city" : "深圳市",
  "county" : "龙岗区",
  "city_code" : "285130",
  "children_count" : 0,
  "properties" : {
    "status" : "维护中"
  },
  "create_time" : "2023-11-14T06:18:59.818Z"
}

状态码

状态码

描述

201

Created

400

Error response

相关文档