关系服务

更新时间:

1 概述

本文档是设备与用户基础关系服务接口定义。

基础关系提供:设备 -> 设备组 -> 用户组 -> 用户的关系模型的管理能力。默认情况下,云端会自动处理用户的人脸权限到关联设备的权限部署。每个项目下面的实体数量和关系数量不能超过一定上限,详见第3节。

基础关系可以简化业务平台对下发逻辑的处理。

  • 在没有关系管理的情况下,下发人员权限要查询到关联的设备,再一一下发。复杂度是O(n);

  • 有关系管理的情况下,只要正常更新人员权限即可。云端会管理所有关联设备的权限下发。用户复杂度是O(1)。云端会通过数据模型把同步结果推送给ISV。

image

2 接口列表

模块

API名称

API展示名称

API路径

API版本

用户管理

saveDomainUser

保存用户

/domain/user/save

1.0.0

deleteDomainUser

删除用户

/domain/user/delete

1.0.0

getDomainUser

获取用户

/domain/user/get

1.0.0

queryDomainUser

查询用户

/domain/user/query

1.0.0

saveDomainUserGroup

保存用户组

/domain/user/group/save

1.0.0

deleteDomainUserGroup

删除用户组

/domain/user/group/delete

1.0.0

queryDomainUserGroup

查询用户组

/domain/user/group/query

1.0.0

setUserGroupRelation

绑定/解绑用户与用户组

/domain/user/group/relation/set

1.0.0

queryUserByGroup

查询用户组中的用户

/domain/group/users/query

1.0.0

queryGroupByUser

查询用户所属的用户组

/domain/user/groups/query

1.0.0

设备管理

saveDomainDeviceGroup

保存设备组

/domain/device/group/save

1.0.0

deleteDomainDeviceGroup

删除设备组

/domain/device/group/delete

1.0.0

queryDomainDeviceGroup

查询设备组

/domain/device/group/query

1.0.0

setDeviceGroupRelation

绑定/解绑设备与设备组

/domain/device/group/relation/set

1.0.0

queryDeviceByGroup

查询设备组中的设备

/domain/group/devices/query

1.0.0

queryGroupByDevice

查询设备所属的设备组

/domain/device/groups/query

1.0.0

组关系管理

setGroupRelation

绑定/解绑用户组与设备组

/domain/group/relation/set

1.0.0

queryRelationByUserGroup

查询用户组绑定的设备组

/domain/user/group/relations/query

1.0.0

queryRelationByDeviceGroup

查询设备组绑定的用户组

/domain/device/group/relations/query

1.0.0

queryGroupRelation

查询用户组和设备组的绑定关系

/domain/group/relation/query

1.0.0

权限管理

saveFaceImageV2

保存用户人脸

/domain/face/image/save

1.0.0

deleteFaceImageV2

删除用户人脸

/domain/face/image/delete

1.0.0

状态管理

queryPermStatusByUser

查询用户的权限下发状态

/domain/perm/status/user/query

1.0.0

queryPermStatusByDevice

查询设备的权限下发状态

/domain/perm/status/device/query

1.0.1

保存用户

路径:/domain/user/save

版本:1.0.0

入参:

名称

类型

是否必须

说明

userType

String

用户类型,支持IDENTITY/OPEN

userId

String

用户ID,支持identityId/openId,最大支持64位

userName

String

用户名,最大支持128位

mobile

String

手机号,最大支持64位

出参:(无)

删除用户

路径:/domain/user/delete

版本:1.0.0

入参:

名称

类型

是否必须

说明

userType

String

用户类型,支持IDENTITY/OPEN

userId

String

用户ID,支持identityId/openId,最大支持64位

出参:(无)

获取用户

路径:/domain/user/get

版本:1.0.0

入参:

名称

类型

是否必须

说明

userType

String

用户类型,支持IDENTITY/OPEN

userId

String

用户ID,支持identityId/openId,最大支持64位

出参:

名称

类型

说明

userType

String

用户类型

userId

String

用户ID

userName

String

用户名

mobile

String

手机号

userFace

JSON

用户人脸结构体

faceId

String

人脸ID

imageUrl

String

人脸图URL

expiryTime

String

人脸有效期,格式yyyy-MM-dd HH:mm:ss

userQrCodes

List

用户二维码列表(本期暂不实现)

codeType

String

二维码类型

qrCode

String

二维码

startTime

String

生效时间,格式YYYY-MM-DD hh:mm:ss

endTime

String

失效时间,格式YYYY-MM-DD hh:mm:ss

maxScanTimes

int

最大刷码次数

maxScanScope

String

最大刷码次数作用范围,默认为每个设备独立计数(边缘专用)

userCards

List

用户卡列表(本期暂不实现)

cardType

String

卡类型

cardId

String

卡号

startTime

String

生效时间,格式YYYY-MM-DD hh:mm:ss

endTime

String

失效时间,格式YYYY-MM-DD hh:mm:ss

查询用户

路径:/domain/user/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

userType

String

用户类型

userId

String

用户ID

userName

String

用户名

mobile

String

手机号

保存用户组

路径:/domain/user/group/save

版本:1.0.0

入参:

名称

类型

是否必须

说明

userGroupId

String

用户组ID,可由调用方指定或随机生成,最大支持64位,由字母、数字和横线、下划线以及点号组成

userGroupName

String

用户组名称,最大支持32位

description

String

描述信息,最大支持256位

出参:

名称

类型

说明

userGroupId

String

用户组ID

删除用户组

路径:/domain/user/group/delete

版本:1.0.0

入参:

名称

类型

是否必须

说明

userGroupId

String

用户组ID,可由调用方指定或随机生成,最大支持64位,由字母、数字和横线、下划线以及点号组成

出参:(无)

查询用户组

路径:/domain/user/group/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

userGroupId

String

用户组ID

userGroupName

String

用户组名称

description

String

描述信息

绑定/解绑用户与用户组

路径:/domain/user/group/relation/set

版本:1.0.0

入参:

名称

类型

是否必须

说明

userGroupId

String

用户组ID

userType

String

用户类型,支持IDENTITY/OPEN

userId

String

用户ID,支持identityId/openId,最大支持64位

operation

String

绑定操作,支持BIND/UNBIND,即绑定与解绑

出参:(无)

查询用户组中的用户

路径:/domain/group/users/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

userGroupId

String

用户组ID

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

userType

String

用户类型

userId

String

用户ID

userName

String

用户名

mobile

String

手机号

查询用户所属的用户组

路径:/domain/user/groups/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

userType

String

用户类型,支持IDENTITY/OPEN

userId

String

用户ID,支持identityId/openId,最大支持64位

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

userGroupId

String

用户组ID

userGroupName

String

用户组名称

description

String

描述信息

保存设备组

路径:/domain/device/group/save

版本:1.0.0

入参:

名称

类型

是否必须

说明

deviceGroupId

String

设备组ID,可由调用方指定或随机生成,最大支持64位,由字母、数字和横线、下划线以及点号组成

deviceGroupName

String

设备组名称,最大支持32位

description

String

描述信息,最大支持256位

出参:

名称

类型

说明

deviceGroupId

String

设备组ID

删除设备组

路径:/domain/device/group/delete

版本:1.0.0

入参:

名称

类型

是否必须

说明

deviceGroupId

String

设备组ID,可由调用方指定或随机生成,最大支持64位,由字母、数字和横线、下划线以及点号组成

出参:(无)

查询设备组

路径:/domain/device/group/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

deviceGroupId

String

设备组ID

deviceGroupName

String

设备组名称

description

String

描述信息

绑定/解绑设备与设备组

路径:/domain/device/group/relation/set

版本:1.0.0

入参:

名称

类型

是否必须

说明

deviceGroupId

String

设备组ID,如该ID未保存过,则系统会默认创建一条名称和描述信息为空的记录

iotId

String

设备ID

operation

String

绑定操作,支持BIND/UNBIND,即绑定与解绑

出参:(无)

查询设备组中的设备

路径:/domain/group/devices/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

deviceGroupId

String

设备组ID

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

iotId

String

设备ID

查询设备所属的设备组

路径:/domain/device/groups/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

iotId

String

设备ID

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

deviceGroupId

String

设备组ID

deviceGroupName

String

设备组名称

description

String

描述信息

绑定/解绑用户组与设备组

路径:/domain/group/relation/set

版本:1.0.0

入参:

名称

类型

是否必须

说明

userGroupId

String

用户组ID,如该ID未保存过,则系统会默认创建一条名称和描述信息为空的记录

deviceGroupId

String

设备组ID,如该ID未保存过,则系统会默认创建一条名称和描述信息为空的记录

operation

String

绑定操作,支持BIND/UNBIND,即绑定与解绑

出参:(无)

查询用户组绑定的设备组

路径:/domain/user/group/relations/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

userGroupId

String

用户组ID

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

deviceGroupId

String

设备组ID

deviceGroupName

String

设备组名称

description

String

描述信息

查询设备组绑定的用户组

路径:/domain/device/group/relations/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

deviceGroupId

String

设备组ID

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

userGroupId

String

用户组ID

userGroupName

String

用户组名称

description

String

描述信息

查询用户组和设备组的绑定关系

路径:/domain/group/relation/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

userGroupId

String

用户组ID

userGroupName

String

用户组名称

userGroupDescription

String

用户组描述信息

deviceGroupId

String

设备组ID

deviceGroupName

String

设备组名称

deviceGroupDescription

String

设备组描述信息

保存用户人脸

路径:/domain/face/image/save

版本:1.0.0

入参:

名称

类型

是否必须

说明

userType

String

用户类型,支持IDENTITY/OPEN

userId

String

用户ID,支持identityId/openId,最大支持64位

userName

String

用户名,最大支持128位

mobile

String

手机号,最大支持64位

faceId

String

人脸ID,最大支持64位

imageUrl

String

人脸图URL,与imageBase64二选一

imageBase64

String

人脸图base64,与imageUrl二选一

faceExtInfo

String

扩展字段

expiryTime

String

过期时间,格式YYYY-MM-DD hh:mm:ss

policy

String

人脸匹配后人员通行策略:PERMISSION(默认)-允许;DENY-禁止通行

出参:(无)

删除用户人脸

路径:/domain/face/image/delete

版本:1.0.0

入参:

名称

类型

是否必须

说明

userType

String

用户类型,支持IDENTITY/OPEN

userId

String

用户ID,支持identityId/openId,最大支持64位

出参:(无)

查询用户的权限下发状态

路径:/domain/perm/status/user/query

版本:1.0.0

入参:

名称

类型

是否必须

说明

userType

String

用户类型,支持IDENTITY/OPEN

userId

String

用户ID,支持identityId/openId,最大支持64位

permType

String

查询类型,当前只支持FACE

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

iotId

String

设备ID

facePerm

JSON

人脸权限

- faceId

String

人脸ID

- syncTime

String

下发时间

- status

String

下发状态

查询设备的权限下发状态

路径:/domain/perm/status/device/query

版本:1.0.1

入参:

名称

类型

是否必须

说明

iotId

String

设备ID

permType

String

查询类型,当前只支持FACE

pageNo

int

当前页码,从1开始

pageSize

int

每页条数, 最大100条

出参:

名称

类型

说明

pageNo

int

当前页码

pageSize

int

每页条数

total

int

总条数

data

List

数据列表

userType

String

用户类型

userId

String

用户ID

userName

String

用户名

mobile

String

手机号

facePerm

JSON

人脸权限

- faceId

String

人脸ID

- syncTime

String

下发时间

- status

String

下发状态

3 使用限制

单个项目下,各类实体的数量与关系绑定的数量存在以下限制:

  1. 用户数上限:50000

  2. 设备数上限:500

  3. 用户组数上限:20

  4. 设备组数上限:20

  5. 单用户绑定的用户组数上限:10

  6. 单设备绑定的设备组数上限:10

  7. 单用户组绑定的设备组数上限:10

  8. 单设备组绑定的用户组数上限:10

如有特殊需求,请与阿里小二联系。人如有特殊需求,请与联阿里处理