關系服務
1 概述
本文檔是設備與用戶基礎關系服務接口定義。
基礎關系提供:設備 -> 設備組 -> 用戶組 -> 用戶的關系模型的管理能力。默認情況下,云端會自動處理用戶的人臉權限到關聯設備的權限部署。每個項目下面的實體數量和關系數量不能超過一定上限,詳見第3節。
基礎關系可以簡化業務平臺對下發邏輯的處理。
在沒有關系管理的情況下,下發人員權限要查詢到關聯的設備,再一一下發。復雜度是O(n);
有關系管理的情況下,只要正常更新人員權限即可。云端會管理所有關聯設備的權限下發。用戶復雜度是O(1)。云端會通過數據模型把同步結果推送給ISV。
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 使用限制
單個項目下,各類實體的數量與關系綁定的數量存在以下限制:
用戶數上限:50000
設備數上限:500
用戶組數上限:20
設備組數上限:20
單用戶綁定的用戶組數上限:10
單設備綁定的設備組數上限:10
單用戶組綁定的設備組數上限:10
單設備組綁定的用戶組數上限:10
如有特殊需求,請與阿里小二聯系。人如有特殊需求,請與聯阿里處理