文章目录
1.授权认证
功能描述
云眸平台所有REST API的调用都需要身份认证,采用Client Credentials授权方式
接口定义
接口地址:https://api2.hik-cloud.com/oauth/token
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 | 备注 |
---|---|---|---|---|---|
client_id | 客户端ID | String | 32 | 是 | 使用云眸系统管理员账号登录开放平台门户网站open2.hik-cloud.com,进入秘钥管理页面查看获取 |
client_secret | 访问密钥 | String | 32 | 是 | 使用云眸账号登录开放平台门户网站open2.hik-cloud.com,进入秘钥管理页面查看获取 |
grant_type | 认证模式 | String | 32 | 是 | 目前仅支持client_credentials |
scope | 权限范围 | Srting | 32 | 否 | 可选填app |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
access_token | 访问令牌 | String | 32 | 是 |
token_type | 令牌类型 | String | 32 | 是 |
expires_in | 过期时间(秒) | Long | 8 | 是 |
scope | 权限范围 | String | 32 | 否 |
实现示例
HTTP请求报文
POST /oauth/token HTTP/1.1
Host:api2.hik-cloud.com
client_id=a4f********b324&client_secret=0b********df59e68&grant_type=client_credentials&scope=app
返回示例
{
"access_token": "62c54b72-c85f-4a4e-8fd0-6941744d0af7",
"token_type":"bearer",
"expires_in": 43199,
"scope":"app"
}
2.区域管理
创建区域
功能描述
提供租户创建区域功能,目的是为了管理门店分组
注:根区域为海康云眸平台默认生成,需要客户提供根区域ID,海康云眸平台研发人员进行初始化
接口定义
接口地址
/v1/customization/extern/areas
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externAreaId | 区域ID | String | 64 | 是 |
areaName | 区域名称 | String | 32 | 是 |
externParentId | 上级区域ID | String | 64 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明:
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
areaId | 云眸区域ID | String | 32 | 是 |
externAreaId | 区域ID | String | 64 | 是 |
实现示例
HTTP请求报文
POST /v1/customization/extern/areas HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
Content-Type: application/json
{
"externAreaId":"c738886e8ae948c738886e8ae9486db266b4b3fbbac38d6db266b4b3fbbac38d",
"areaName":"测试区域",
"externParentId":"db266b4b486db266b4b3fbc738886e8ae9bac38dc738886e8ae94863fbbac38d"
}
返回示例
{
"code": 200,
"message": "操作成功",
"data": {
"areaId": "86db266b4b3fbbac38dc738886e8ae94",
"externAreaId":"c738886e8ae948c738886e8ae9486db266b4b3fbbac38d6db266b4b3fbbac38d"
}
}
更新区域
功能描述
更新区域
接口定义
接口地址
/v1/customization/extern/areas/{externAreaId}
请求方式:PUT
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
areaName | 区域名称 | String | 32 | 是 |
externAreaId | 区域ID | String | 64 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
实现示例
HTTP请求报文
PUT /v1/customization/extern/areas/bd48eeb0bd48eeb07da4459b84a294abaa18399f7da4459b84a294abaa18399f HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 5d6384a9-5d56-453a-b7d9-88770c14d36d
Content-Type: application/json
{
"areaName":"测试修改"
}
返回示例
{
"code": "200",
"message": "操作成功"
}
删除区域
功能描述
删除区域
接口定义
接口地址
/v1/customization/extern/areas/{externAreaId}
请求方式:DELETE
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externAreaId | 区域ID | String | 64 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
实现示例
HTTP请求报文
DELETE /v1/customization/extern/areas/bd48eeb0bd48eeb07da4459b84a294abaa18399f7da4459b84a294abaa18399f HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
返回示例
{
"code": "200",
"message": "操作成功"
}
获取区域列表
功能描述
异步获取下一级区域列表功能
接口定义
接口地址
/v1/customization/extern/areas
请求方式:GET
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externAreaId | 区域ID,不传则查询租户根区域 | String | 64 | 否 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externAreaId | 区域ID | String | 64 | 是 |
areaName | 区域名称 | String | 16 | 是 |
externParentId | 上级区域ID | String | 64 | 是 |
path | 区域路径 | String | 是 |
实现示例
HTTP请求报文
GET /v1/customization/extern/areas?externAreaId=0965ed6a0965ed6ad3e24103b1353eb0dced7976d3e24103b1353eb0dced7976 HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
返回示例
{
"code": "200",
"message": "操作成功",
"data": [
{
"externAreaId": "e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2",
"areaName": "二级区域01",
"externParentId": "0965ed6a0965ed6ad3e24103b1353eb0dced7976d3e24103b1353eb0dced7976",
"path": "/一级区域/二级区域01/"
},
{
"externAreaId": "f4402d9f9f4402d9f91ae49268ad0de400baf6dfa1ae49268ad0de400baf6dfa",
"areaName": "二级区域02",
"parentId": "0965ed6a0965ed6ad3e24103b1353eb0dced7976d3e24103b1353eb0dced7976",
"path": "/一级区域/二级区域02/"
}
]
}
3.门店管理
创建门店
功能描述
创建门店
接口定义
接口地址
/v1/customization/extern/stores
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externStoreId | 门店ID | String | 64 | 是 |
storeName | 门店名称 | String | 32 | 是 |
externAreaId | 归属区域ID | String | 64 | 是 |
addressProvince | 归属省(参考2.8.1查询省市区信息接口) | String | 64 | 是 |
addressCity | 归属市(参考2.8.1查询省市区信息接口) | String | 64 | 是 |
addressCounty | 归属区(参考2.8.1查询省市区信息接口) | String | 64 | 是(市下无区县可不填) |
addressDetail | 详细地址 | String | 128 | 否 |
storeMeasure | 门店面积(精确到小数点后一位) | String | 8 | 否 |
storeRemark | 备注 | String | 128 | 否 |
storeTel | 门店电话 | String | 16 | 否 |
storeNo | 门店编号 | String | 16 | 否 |
storeLng | 门店经度 | Double | 15,6 | 是 |
storeLat | 门店纬度 | Double | 15,6 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明:
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
storeId | 云眸门店ID | String | 32 | 是 |
externStoreId | 门店ID | String | 64 | 是 |
实现示例
HTTP请求报文
POST /v1/customization/extern/stores HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
Content-Type: application/json
{
"externStoreId":"c1bb1d613bc94c2c1bb1d613bc94c28ab31bff96aaed1398ab31bff96aaed139"
"storeName": "测试门店",
"externAreaId": "bff96aaed139c1bb1d613bc94c28ab31c1bb1d613bc94c28ab31bff96aaed139",
"addressProvince": "150000",
"addressCity": "150500",
"addressCounty": "150523",
"addressDetail": "开鲁镇",
"storeNo": "zk001",
"storeMeasure": "10.2",
"storeRemark": "第一个门店",
"storeTel": "0475-6832332",
"storeLng": "20.1992",
"storeLat": "30.19926"
}
返回示例
{
"code": 200,
"message": "操作成功",
"data": {
"storeId": "c1bb1d613bc94c28ab31bff96aaed139",
"externStoreId":"c1bb1d613bc94c2c1bb1d613bc94c28ab31bff96aaed1398ab31bff96aaed139"
}
}
批量删除门店
功能描述
批量删除门店
接口定义
接口地址
/v1/customization/extern/stores/delete
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externStoreIds | 门店ID列表 | Array[String] | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
实现示例
HTTP请求报文
POST /v1/customization/extern/stores/delete HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
Content-Type: application/json
{
"externStoreIds": [
"a0d949a0d9490820dc4c728bf60d7cd6ab950d0820dc4c728bf60d7cd6ab950d"
]
}
返回示例
{
"code": "200",
"message": "操作成功"
}
获取区域下的门店列表
功能描述
获取区域下的门店列表
接口定义
接口地址
/v1/customization/extern/stores
请求方式:GET
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externAreaId | 区域ID | String | 64 | 是 |
pageNo | 当前页码(大于0) | Integer | 8 | 是 |
pageSize | 每页记录数,最大为999 | Integer | 3 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
pageNo | 当前页数 | Integer | 8 | 否 |
pageSize | 每页数据记录数 | Integer | 3 | 否 |
total | 查询数据记录总数 | Integer | 8 | 否 |
totalPage | 总共页数 | Integer | 8 | 否 |
hasNextPage | 是否有下一页 | Boolean | 否 | |
hasPreviousPage | 是否有上一页 | Boolean | 否 | |
isfirstPage | 是否首页 | Boolean | 否 | |
islastPage | 是否尾页 | Boolean | 否 | |
rows | 对象列表,若未查到记录,空集合 | List | 否 |
rows对象说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externStoreId | 门店ID | String | 64 | 是 |
storeName | 门店名 | String | 16 | 是 |
externAreaId | 归属区域 | String | 64 | 是 |
path | 门店路径 | String | 是 | |
addressPcc | 门店完整地址 | String | 64 | 否 |
addressProvince | 归属省 | String | 64 | 是 |
addressProvinceName | 归属省名称 | String | 64 | 是 |
addressCity | 归属市 | String | 64 | 是 |
addressCityName | 归属市名称 | String | 64 | 是 |
addressCounty | 归属区 | String | 64 | 是 |
addressCountyName | 归属区名称 | String | 64 | 是 |
addressDetail | 详细地址 | String | 255 | 否 |
storeTel | 门店电话 | String | 16 | 否 |
storeNo | 门店编号 | String | 16 | 否 |
storeLng | 门店经度 | Double | 15,6 | 是 |
storeLat | 门店纬度 | Double | 15,6 | 是 |
storeRemark | 门店描述 | String | 128 | 否 |
storeMeasure | 门店面积(精确到小数点后一位) | String | 8 | 否 |
实现示例
HTTP请求报文
GET /v1/customization/extern/stores?areaId=b2e61e04d1b2e61e04d1e241c6a2467575cb3d0fd2e241c6a2467575cb3d0fd2&pageNo=1&pageSize=11 HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
返回示例
{
"code": "200",
"message": "操作成功",
"data": {
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"isfirstPage": true,
"islastPage": true,
"rows": [
{
"externStoreId": "2111111111111111111111111111111111111111111111111111111111111113",
"storeName": "门店004",
"externAreaId": "b2e61e04d1b2e61e04d1e241c6a2467575cb3d0fd2e241c6a2467575cb3d0fd2",
"path": "/测试/二级区域4/三级区域4-1/",
"addressProvince": "460000",
"provinceName": "海南省",
"addressCity": "460200",
"cityName": "三亚市",
"addressCounty": "460203",
"countyName": "吉阳区",
"addressDetail": "开鲁镇",
"addressPcc": "海南省三亚市吉阳区开鲁镇",
"storeMeasure": "10.2",
"storeRemark": "益丰门店002",
"storeLng": 109.611223,
"storeLat": 49.26,
"storeNo": "sss004",
"storeTel": "0475-6832332"
}
]
}
}
获取门店详情
功能描述
获取单个门店的详细信息
接口定义
接口地址
/v1/customization/extern/stores/{externStoreId}
请求方式:GET
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externStoreId | 门店ID | String | 64 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externStoreId | 门店ID | String | 64 | 是 |
storeName | 门店名 | String | 16 | 是 |
externAreaId | 所属区域ID | String | 64 | 是 |
path | 门店路径 | String | 是 | |
addressPcc | 门店完整地址 | String | 64 | 否 |
addressProvince | 归属省 | String | 64 | 是 |
addressProvinceName | 归属省名称 | String | 64 | 是 |
addressCity | 归属市 | String | 64 | 是 |
addressCityName | 归属市名称 | String | 64 | 是 |
addressCounty | 归属区 | String | 64 | 是 |
addressCountyName | 归属区名称 | String | 64 | 是 |
addressDetail | 详细地址 | String | 255 | 否 |
storeMeasure | 门店面积(精确到小数点后一位) | String | 16 | 否 |
storeTel | 门店电话 | String | 16 | 否 |
storeNo | 门店编号 | String | 16 | 否 |
storeLng | 门店经度 | Double | 15,6 | 否 |
storeLat | 门店纬度 | Double | 15,6 | 否 |
storeRemark | 门店描述 | String | 128 | 否 |
实现示例
HTTP请求报文
GET /v1/customization/extern/stores/b2e61e04d1b2e61e04d1e241c6a2467575cb3d0fd2e241c6a2467575cb3d0fd2 HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
返回示例
{
"code": 200,
"message": "操作成功",
"data": {
"externStoreId": "b2e61e04d1b2e61e04d1e241c6a2467575cb3d0fd2e241c6a2467575cb3d0fd2",
"storeName": "开发门店",
"externAreaId": "e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2",
"path": "/海康云眸/00A开发区域M1/",
"addressProvince": "330000",
"provinceName": "浙江省",
"addressCity": "330100",
"cityName": "杭州市",
"addressCounty": "330108",
"countyName": "滨江区",
"addressDetail": "阡陌路556号海康威视3期",
"addressPcc": "浙江省杭州市滨江区阡陌路556号海康威视3期",
"storeMeasure": "",
"storeRemark": "",
"storeLng": 120.229992,
"storeLat": 30.217058,
"storeNo": "",
"storeTel": ""
}
}
更新门店
功能描述
更新单个门店信息(覆盖更新)
接口定义
接口地址
/v1/customization/extern/stores/{externStoreId}
请求方式:PUT
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externStoreId | 门店ID | String | 64 | 是 |
storeName | 门店名称 | String | 16 | 是 |
externAreaId | 归属区域ID | String | 64 | 是 |
addressProvince | 归属省(参考2.8.1查询省市区信息接口) | String | 64 | 是 |
addressCity | 归属市(参考2.8.1查询省市区信息接口) | String | 64 | 是 |
addressCounty | 归属区(参考2.8.1查询省市区信息接口) | String | 64 | 是(市下无区县可不填) |
addressDetail | 详细地址 | String | 128 | 否 |
storeMeasure | 门店面积(精确到小数点后一位) | String | 8 | 否 |
storeRemark | 备注 | String | 128 | 否 |
storeTel | 门店电话 | String | 16 | 否 |
storeNo | 门店编号 | String | 16 | 否 |
storeLng | 门店经度 | Double | 15,6 | 是 |
storeLat | 门店纬度 | Double | 15,6 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
实现示例
HTTP请求报文
PUT /v1/customization/extern/stores/80a9b820e0b6ead4d264380a9b820ee58c6827639e58c68276396430b6ead4d2 HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
Content-Type: application/json
{
"storeName": "开发门店",
"externAreaId": "e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2",
"addressProvince": "330000",
"provinceName": "浙江省",
"addressCity": "330100",
"cityName": "杭州市",
"addressCounty": "330108",
"countyName": "滨江区",
"addressDetail": "阡陌路556号海康威视3期",
"storeMeasure": "10.2",
"storeRemark": "xxxxxxxxxxgggggg",
"storeLng": 120.229992,
"storeLat": 30.217058,
"storeNo": "xxxxxxxggggg",
"storeTel": ""
}
返回示例
{
"code": 200,
"message": "操作成功"
}
4.部门组织管理
创建组织
功能描述
创建部门组织
注:根组织为海康云眸平台默认生成,需要客户提供根组织ID,海康云眸平台研发人员进行初始化
接口定义
接口地址
/v1/auth/extern/orgs
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externOrgId | 组织ID | String | 64 | 是 |
orgName | 组织名称 | String | 16 | 是 |
externParentId | 上级组织ID | String | 64 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明:
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
orgId | 云眸组织ID | String | 32 | 是 |
externOrgId | 组织ID | String | 64 | 是 |
实现示例
HTTP请求报文
POST /v1/auth/extern/orgs HTTP/1.1
Host: api2.hik-cloud.com
Content-Type: application/json
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
{
"orgName":"测试组织",
"externOrgId":"e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2",
"externParentId":"80a9b820e0b6ead4d264380a9b820e0b6ead4d2e58c6827639e58c6827639643"
}
返回示例
{
"code": 200,
"message": "操作成功",
"data": {
"orgId": "c1bb1d613bc94c28ab31bff96aaed139",
"externOrgId": "e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2"
}
}
更新组织
功能描述
更新部门组织
接口定义
接口地址
/v1/auth/extern/orgs/{externOrgId}
请求方式:PUT
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
orgName | 组织名称 | String | 16 | 是 |
externOrgId | 组织ID | String | 64 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
实现示例
HTTP请求报文
PUT /v1/auth/extern/orgs/e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2 HTTP/1.1
Host: api2.hik-cloud.com
Content-Type: application/json
Authorization: bearer 5d6384a9-5d56-453a-b7d9-88770c14d36d
{
"orgName":"测试修改"
}
返回示例
{
"code": "200",
"message": "操作成功"
}
删除组织
功能描述
删除部门组织
接口定义
接口地址
/v1/auth/extern/orgs/{externOrgId}
请求方式:DELETE
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externOrgId | 组织ID | String | 64 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
实现示例
HTTP请求报文
DELETE /v1/auth/extern/orgs/e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2 HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
返回示例
{
"code": "200",
"message": "操作成功"
}
获取组织列表
功能描述
异步获取下一级组织列表功能
接口定义
接口地址
/v1/auth/extern/orgs
请求方式:GET
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externOrgId | 组织ID,不传则查询根组织 | String | 64 | 否 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externOrgId | 组织ID | String | 64 | 是 |
orgName | 组织名称 | String | 16 | 是 |
externParentId | 上级组织ID | String | 64 | 是 |
path | 组织路径 | String | 是 |
实现示例
HTTP请求报文
GET /v1/auth/extern/orgs?externOrgId=e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2 HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 5d6384a9-5d56-453a-b7d9-88770c14d36d
返回示例
{
"code": "200",
"message": "操作成功",
"data": [
{
"externOrgId": "ad4d264380a9b820e0b6ead4d2e58c6827639e58c682763964380a9b820e0b6e",
"orgName": "二级组织01",
"externParentId": "xxe58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2xx",
"path": "/一级组织/二级组织01/"
},
{
"externOrgId": "ad4d264380a9b820e0b6ead4d2e58c6827639e58c682763964380a9b820e0b6e",
"orgName": "二级组织01",
"externParentId": "e58c6827639e58c682763964380a9b820e0b6ead4d264380a9b820e0b6ead4d2",
"path": "/一级组织/二级组织02/"
}
]
}
5.用户管理
创建用户
功能描述
该接口用于创建云眸用户。支持传入账号、密码及手机号,且账号、手机号在整个云眸系统内(不限于本租户/企业)不可重复。
通过接口创建用户,一个账号只允许在一个租户(企业)中存在
注:管理员为海康云眸平台默认生成,需要客户提供管理员ID,海康云眸平台研发人员进行初始化
接口定义
接口地址
/v1/auth/extern/users
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 | 备注 |
---|---|---|---|---|---|
externUserId | 用户ID | String | 64 | 是 | 用户ID |
userAccount | 账号 | String | 32 | 是 | 格式要求:大小写字母、数字和@._(不能为纯数字), 最大32位 |
password | 密码 | String | 64 | 是 | 密码明文限制:8-16位字符,需包含数字和字母,特殊字符随意,加密后传输,加密方式采用sha256,加密后长度为64 |
userNo | 用户编号 | String | 16 | 否 | 格式要求:大小写字母、数字和. |
userName | 用户姓名 | String | 32 | 是 | 格式要求:大小写字母、数字和中文 |
gender | 性别 | Integer | 1 | 是 | 性别:1-男,0-女 |
externOrgId | 归属组织 ID | String | 64 | 是 | 归属组织ID |
phoneNumber | 手机号 | String | 11 | 是 | 格式要求:以1开头的第二位不能是0、1、2的11位数字 |
邮箱地址 | String | 100 | 否 | ||
description | 备注 | String | 128 | 否 | |
listPositionId | 关联的职位 ID | Array[String] | 是 | ||
relatedExternOrgIds | 管理的组织 ID | Array[String] | 否 | ||
relatedExternAreaIds | 管理的区域 ID | Array[String] | 否 | ||
relatedExternStoreIds | 管理的门店 ID | Array[String] | 否 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | Integer | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明:
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
userId | 云眸用户ID | String | 32 | 是 |
externUserId | 用户ID | String | 64 | 是 |
实现示例
HTTP请求报文
POST /v1/auth/extern/users HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
Content-Type: application/json
{ "externUserId":"1111111111111111111111111111111111111111111111111111111111111110",
"userAccount": "account001",
"password": "ce54ab9e6b095cc4c579c07d6c22c8892db86d2fe1465b7ad08ff8427df84353",
"userNo":"user001",
"userName":"user001",
"gender":"1",
"externOrgId":"27bb3bbd075d27bb3bbd075d4f64abbdf501c023a2104f64abbdf501c023a210",
"phoneNumber":"18800142558",
"email":"18800142558@qq.com",
"description":"我是描述",
"listPositionId":[
"fc9ae86ffcce43a9bf24e15c4b4f98eb"
],
"relatedExternOrgIds":[
"8113e745998113e74599f440718acdd04d95add391f440718acdd04d95add391"
],
"relatedExternAreaIds ":[
"c657d026c3fc657d026c3ff4b2ba2760c912ff35165f4b2ba2760c912ff35165"
],
"relatedExternStoreIds ":[
"8113e74598113e74599f440718acdd04d95add3919f440718acdd04d95add391"
]
}
返回示例
{
"code": 200,
"message": "操作成功",
"data": {
"userId": "a657d026c3ec657d026c3ff4b5ba2760",
"externUserId": "1111111111111111111111111111111111111111111111111111111111111110"
}
}
更新用户
功能描述
该接口用于更新单个云眸用户
接口定义
接口地址
/v1/auth/extern/users/{externUserId}
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 | 备注 |
---|---|---|---|---|---|
externUserId | 用户ID | String | 64 | 是 | 用户ID |
userNo | 用户编号 | String | 16 | 否 | 格式要求:大小写字母、数字和. |
userName | 用户姓名 | String | 32 | 是 | 格式要求:大小写字母、数字和中文 |
gender | 性别 | Integer | 1 | 是 | |
externOrgId | 归属组织ID | String | 64 | 是 | |
phoneNumber | 手机号 | String | 11 | 是 | 格式要求:以1开头的第二位不能是0、1、2的11位数字 |
邮箱地址 | String | 100 | 否 | ||
description | 备注 | String | 128 | 否 | |
listPositionId | 关联的职位ID | Array | 是 | ||
relatedExternOrgIds | 管理的组织ID | Array | 否 | ||
relatedExternAreaIds | 管理的区域ID | Array | 否 | ||
relatedExternStoreIds | 管理的门店ID | Array | 否 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
实现示例
HTTP请求报文
POST /v1/auth/extern/users/8113e74599f48113e74599f440718acdd04d95add39140718acdd04d95add391 HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
Content-Type: application/json
{
"userNo": "xxxx",
"userName": "测试1031",
"gender": "1",
"externOrgId": "xxxxxxx",
"phoneNumber": "xxxxxx",
"email": "xxxxxx@123.com",
"description": "我是描述",
"listPositionId": [
"xxxxxxx"
],
"relatedExternOrgIds": [
"8113e74598113e74599f440718acdd04d95add3919f440718acdd04d95add391"
],
"relatedExternAreaIds ": [
"c657d026c657d026c3ff4b2ba2760c912ff35165c3ff4b2ba2760c912ff35165"
],
"relatedExternStoreIds ": [
"7557e7557e02fe3f8db2ba8560c912ff351ed02fe3f8db2ba8560c912ff351ed"
]
}
返回示例
{
"code": "200",
"message": "操作成功"
}
批量删除用户
功能描述
该接口用于批量删除云眸用户。为兼容老版本,若该账号只关联一个租户(企业),则在用户删除后,账号也被删除。
接口定义
接口地址
/v1/auth/extern/users/delete
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externUserIds | 用户ID列表 | Array[String] | 最大50 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
实现示例
HTTP请求报文
POST /v1/auth/users/delete HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
Content-Type: application/json
{
"externUserIds": [
"7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed"
]
}
返回示例
{
"code": "200",
"message": "操作成功"
}
获取组织下用户列表
功能描述
该接口用于查询组织下用户列表,包括直属的用户与子组织下用户。
接口定义
接口地址
/v1/auth/extern/users
请求方式:GET
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externOrgId | 组织ID | String | 64 | 是 |
pageNo | 当前页码(大于0) | Integer | 8 | 是 |
pageSize | 每页记录数,最大为999 | Integer | 3 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
pageNo | 当前页数 | Integer | 8 | 否 |
pageSize | 每页数据记录数 | Integer | 3 | 否 |
total | 查询数据记录总数 | Integer | 8 | 否 |
totalPage | 总共页数 | Integer | 8 | 否 |
hasNextPage | 是否有下一页 | Boolean | 否 | |
hasPreviousPage | 是否有上一页 | Boolean | 否 | |
isfirstPage | 是否首页 | Boolean | 否 | |
islastPage | 是否尾页 | Boolean | 否 | |
rows | 对象列表,若未查到记录,空集合 | List | 否 |
rows对象说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externUserId | 用户ID | String | 64 | 是 |
userName | 用户姓名 | String | 32 | 是 |
path | 归属组织路径 | String | 是 | |
roleIds | 关联职位ID | Array | 是 | |
positionNames | 职位名称 | String | 是 | |
gender | 性别 | Integer | 1 | 是 |
邮箱地址 | String | 100 | 否 | |
phoneNumber | 联系方式 | String | 11 | 是 |
description | 备注 | String | 128 | 否 |
forbiddenStatus | 禁用状态 | Boolean | 是 | |
userAccount | 用户名 | String | 32 | 是 |
userNo | 用户编号 | String | 16 | 否 |
externOrgId | 归属组织ID | String | 64 | 是 |
实现示例
HTTP请求报文
GET /v1/auth/users?pageNo=1&pageSize=11&externOrgId=7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
返回示例
{
"code": "200",
"message": "操作成功",
"data": {
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"isfirstPage": true,
"islastPage": true,
"rows": [
{
"externUserId": "7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed",
"userName": "xxxx",
"roleIds": [
"xxxxx"
],
"positionNames": "xxxxxx",
"path": "xxxx/1/12",
"gender": 1,
"email": "",
"phoneNumber": "xxxxxxxx",
"description": "",
"forbiddenStatus": false,
"userAccount": "xxxxx",
"userNo": "xxxxx",
"externOrgId": "7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed"
},
{
"externUserId": "7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed",
"userName": "xxxxxx",
"roleIds": [
"xxxxx"
],
"positionNames": "xxxxx",
"path": "xxxxxx/测试组织12",
"gender": 1,
"email": "test@hikvision.com",
"phoneNumber": "xxxxx",
"description": "用户测试",
"forbiddenStatus": false,
"userAccount": "xxxx",
"userNo": null,
"externOrgId": "7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed"
}
]
}
}
获取用户职位列表
功能描述
获取用户的职位列表
接口定义
接口地址
/v1/customization/positions
请求方式:GET
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
pageNo | 当前页码(大于0) | Integer | 8 | 是 |
pageSize | 每页记录数,最大为999 | Integer | 3 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
pageNo | 当前页数 | Integer | 8 | 否 |
pageSize | 每页数据记录数 | Integer | 3 | 否 |
total | 查询数据记录总数 | Integer | 8 | 否 |
totalPage | 总共页数 | Integer | 8 | 否 |
hasNextPage | 是否有下一页 | Boolean | 否 | |
hasPreviousPage | 是否有上一页 | Boolean | 否 | |
isfirstPage | 是否首页 | Boolean | 否 | |
islastPage | 是否尾页 | Boolean | 否 | |
rows | 对象列表,若未查到记录,空集合 | List | 否 |
rows对象说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
positionId | 职位ID | String | 32 | 否 |
positionName | 职位名称 | String | 20 | 否 |
menuNames | 菜单名称 | String | 否 | |
positionRemark | 备注 | String | 128 | 否 |
实现示例
HTTP请求报文
GET /v1/customization/positions?pageNo=1& pageSize=11 HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
返回示例
{
"code": "200",
"message": "操作成功",
"data": {
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"isfirstPage": true,
"islastPage": true,
"roles": [
{
"positionId": "6d10b7dd52ac49a18ad7852e59661636",
"positionName": "巡查员",
"menuNames": "运维管理(设备管理、设备查看、设备离线报警、设备上线报警、标签管理)",
"positionRemark": "职位描述"
}
]
}
}
绑定第三方职位列表
功能描述
获取用户的职位列表
接口定义
接口地址
/v1/auth/role/actions/bindThirdRole
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
thridRoleId | 第三方角色 | String | 32 | 是 |
positionId | 云眸角色 | Integer | 32 | 是 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
pageNo | 当前页数 | Integer | 8 | 否 |
实现示例
HTTP请求报文
POST /v1/auth/role/actions/bindThirdRole HTTP/1.1
Host: api2.hik-cloud.com
Authorization: bearer 31e89b7f-144b-49e3-97b2-272d379e3632
{
"thridRoleId": "xxxxxxxxxxxx2222",
"positionId": "xxxx222222222222222"
}
返回示例
{
"code": "200",
"message": "操作成功",
"data": {
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"isfirstPage": true,
"islastPage": true,
"roles": [
{
"positionId": "6d10b7dd52ac49a18ad7852e59661636",
"positionName": "巡查员",
"menuNames": "运维管理(设备管理、设备查看、设备离线报警、设备上线报警、标签管理)",
"positionRemark": "职位描述"
}
]
}
}
获取单个用户详情
功能描述
该接口用于,根据手机号或账号,查询单个用户信息。
接口定义
接口地址
/v1/auth/extern/users/get
请求方式:GET
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 | 备注 |
---|---|---|---|---|---|
phoneNumber | 手机号 | String | 11 | 否 | 手机号或账号不能同时为空 |
userAccount | 账号 | String | 32 | 否 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
data | 节点对象 | Object | 是 |
data字段说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externUserId | 用户ID | String | 64 | 是 |
userName | 用户姓名 | String | 32 | 是 |
externOrgs | 组织信息 | Array[Object] | 是 | |
roleIds | 关联职位ID | Array | 是 | |
positionNames | 职位名称 | String | 是 | |
gender | 性别 | Integer | 1 | 是 |
邮箱地址 | String | 100 | 否 | |
phoneNumber | 联系方式 | String | 11 | 是 |
description | 备注 | String | 128 | 否 |
forbiddenStatus | 禁用状态 | Boolean | 是 | |
userAccount | 用户名 | String | 32 | 是 |
userNo | 用户编号 | String | 16 | 否 |
relatedExternAreaIds | 管理区域 | Array[String] | ||
relatedExternStoreIds | 管理门店 | Array[String] |
organizations对象说明
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
externOrgId | 组织id | String | 64 | 是 |
orgPathName | 组织路径 | String | 是 |
实现示例
HTTP请求报文
GET /v1/auth/extern/users/get?phoneNumber=18888888888 HTTP/1.1
HTTP: api2.hik-cloud.com
Content-Type: application/json; charset=utf-8
Authorization: bearer 62c54b72-c85f-4a4e-8fd0-6941744d0af7
返回示例
{
"code": 200,
"message": "操作成功",
"data": {
"externUserId": "7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed",
"userName": "wld",
"externOrgs": [
{
"externOrgId": "7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed",
"orgPathName": "/wld门禁"
}
],
"roleIds": [],
"positionNames": "",
"gender": 0,
"email": "11111233@qq.com",
"phoneNumber": “18888888888”,
"description": null,
"forbiddenStatus": false,
"userAccount": "wld0305",
"userNo": null
}
}
启用/禁用用户
功能描述
该接口用于启用/禁用云眸用户
接口定义
接口地址
/v1/auth/extern/users/status/update
请求方式:POST
接口参数
输入参数
表1.输入参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 | 备注 |
---|---|---|---|---|---|
externUserId | 用户ID | String | 64 | 是 | |
ban | 是否禁用 | Boolean | 是 | true为禁用,false为启用 |
输出参数
表2.输出参数
属性名称 | 属性描述 | 类型 | 长度 | 是否必填 |
---|---|---|---|---|
code | 返回码 | String | 10 | 是 |
message | 返回消息 | String | 64 | 是 |
实现示例
HTTP请求报文
POST /v1/auth/extern/users/status/update HTTP/1.1
HTTP: api2.hik-cloud.com
Content-Type: application/json; charset=utf-8
Authorization: bearer 62c54b72-c85f-4a4e-8fd0-6941744d0af7
{
"externUserId": "7557e02fe3f8db2ba8560c557e02fe3f8db2ba912ff351ed7557e02fe3f8db2ba8560c912ff351ed",
"ban": false
}
返回示例
{
"code": "200",
"message": "操作成功"
}