人脸权限管理
本文档是人脸权限相关的管理接口。
模块 | API展示名称 | API路径 | API版本 |
权限管理 | 保存用户人脸 | /domain/face/image/save | 1.0.0 |
删除用户人脸 | /domain/face/image/delete | 1.0.0 | |
状态管理 | 查询用户的权限下发状态 | /domain/perm/status/user/query | 1.0.0 |
查询设备的权限下发状态 | /domain/perm/status/device/query | 1.0.0 | |
维护管理 | 人脸门禁设备数据同步 | /face/paas/permission/sync | 1.0.0 |
重部署设备人脸权限 | /face/paas/permissions/redeploy | 1.0.0 | |
查询设备端人脸权限总数 | /face/paas/permission/total/get | 1.0.0 | |
重部署needManual状态的人脸信息 | /face/paas/permission/needmanual/redeploy | 1.0.1 |
保存用户人脸
路径:/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.0
入参:
名称 | 类型 | 是否必须 | 说明 |
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 | 下发状态 |
人脸门禁设备数据同步
触发云端检查人脸设备是否完成权限数据同步并补发未完成的数据。
接口路径:/face/paas/permission/sync
接口版本:1.0.0
参数列表
参数名称 | 类型 | 说明 |
iotId | String | 设备id |
参数示例
入参示例:
{"iotId": "uulrbimJwUzbvTYdxHZd000000"}
出参示例:
{"code": 200,"message": "success"}
错误码
code | message | 说明 |
200 | success | 触发成功 |
460 | device project relation mismatch | 无权访问该设备(项目鉴权失败) |
2005 | 无设备权限 | 无权访问该设备(租户鉴权失败) |
2015 | 设备的产品类型不支持 | 设备类型不支持下发人脸 |
2028 | sync task is in progress | 设备正在同步人脸,无需再次触发 |
2030 | 设备不在线 | 设备不在线 |
重部署设备人脸权限
当设备端需要清空数据(包括本机数据和SDK数据)或更换设备时,可以调用重部署接口重新把云端数据推送到设备端。接口会检查设备端:拉取SDK上报数据为空查询设备端权限计数为0(不支持的设备会忽略)注意:清空的设备,或新换设备证书(ProductKey、DeviceName、DeviceSecret)的设备上线后,一定要先执行重部署,让云端和设备端状态达到一致。再做添加或删除人脸的操作。如果不执行重部署就下发权限,会触发一次全量人脸下发,设备端会长时间无响应(下发可能成功,也可能失败。
接口路径:/face/paas/permissions/redeploy
接口版本:1.0.0
入参
字段名 | 类型 | 必须 | 默认值 | 参数说明 |
iotId | String | 是 | 无 | 设备 |
出参
字段名 | 类型 | 非空 | 参数说明 |
code | Integer | 是 | 成功:200 |
message | String | 消息 | |
data | JSONObject | 是 | 数据部 |
total | Integer | 是 | 设备待下发人脸总数 |
入参示例:
{"iotId": "uulrbimJwUzbvTYdxHZd000000"}
出参示例:
{"code": 200,"message": "success","data": {"total": 3000}}
错误码
code | message | 说明 |
200 | success | 触发成功 |
460 | device project relation mismatch | 无权访问该设备(项目鉴权失败) |
2005 | 无设备权限 | 无权访问该设备(租户鉴权失败) |
2015 | 设备的产品类型不支持 | 设备类型不支持下发人脸 |
2028 | 服务端繁忙,请稍后重试 | 设备正在同步人脸,无需再次触发 |
2030 | 设备不在线 | 检查设备在网络,如果一切正常,启动后需要等待几分钟 |
80002 | 无设备权限 | |
80003 | 不支持的设备品类 | |
80004 | 设备上有残留的权限 | 权限计数查询非0,不支持查询的设备不会报这个错误 |
80005 | 查询设备权限错误 | |
80006 | 设备权限非空 | 设备SDK上的人脸权限未清空 |
80007 | 只支持V1版本门禁设备 | 不支持2.0门禁设备 |
80008 | 设备被加锁,等待调度重部署逻辑 | 如果云端发现设备锁,说明有处理进程在运行,不支持重部署。 |
查询设备端人脸权限总数
直接查询设备端计数要求设备端实现QueryFacePermTotal服务,如果没有实现则返回-1
接口路径:/face/paas/permission/total/get
接口版本:1.0.0
入参:无
出参:
字段名 | 类型 | 非空 | 参数说明 |
code | Integer | 是 | 成功:200 |
message | String | 消息 | |
data | JSONObject | 是 | 数据部 |
total | Integer | 是 | 设备端人脸权限总数 >= 0,正常查询-1,设备端不支持查询 |
入参示例:
{"iotId": "uulrbimJwUzbvTYdxHZd000000"}
出参示例:
{"code": 200,"message": "success","data": {"total": 128}}
设备端未实现:
{"code": 200,"message": "success","data": {"total": -1}}
错误码
code | message | 说明 |
200 | success | 触发成功 |
460 | device project relation mismatch | 无权访问该设备(项目鉴权失败) |
2005 | 无设备权限 | 无权访问该设备(租户鉴权失败) |
2015 | 设备的产品类型不支持 | 设备类型不支持下发人脸 |
2028 | sync task is in progress | 设备正在同步人脸,无需再次触发 |
2030 | 设备不在线 | 设备不在线 |
80001 | 查询设备计数失败 | 如超时等导致的查询失败 |
重部署needManual状态的人脸信息
重置needManual状态权限
接口路径:/face/paas/permission/needmanual/redeploy
接口版本:1.0.1
入参
字段名 | 类型 | 必须 | 默认值 | 参数说明 |
iotId | String | 是 | 无 | 设备 |
出参
字段名 | 类型 | 非空 | 参数说明 |
code | Integer | 是 | 成功:200 |
message | String | 消息 | |
data | JOSNObject | 是 | 数据 |
--total | Integer | 是 | addList的元素数量 |
--addList | JSONArray | 恢复的待添加权限 | |
--delList | JSONArray | 待删除的权限 | |
入参示例:
{"iotId": "uulrbimJwUzbvTYdxHZd000000"}
出参示例:
{"code": 200,"message": "success","data": {"total": 1},"addList":[],"delList":[]}
错误码
code | message | 说明 |
200 | success | 触发成功 |
460 | device project relation mismatch | 无权访问该设备(项目鉴权失败) |
2005 | 无设备权限 | 无权访问该设备(租户鉴权失败) |
2015 | 设备的产品类型不支持 | 设备类型不支持下发人脸 |
2028 | sync task is in progress | 设备正在同步人脸,无需再次触发 |
2030 | 设备不在线 | 设备不在线 |