传统门禁服务API
更新时间:2020-08-31 19:06:39
传统门禁通行解决方案
接口文档
接口以阿里云IoT统一网关HTTP接口的形式提供(使用方法参考API网关客户端)。
访问域名:api.link.aliyun.com,接口协议:HTTPS。
通用对象
人员信息UserDTO
字段 | 类型 | 备注 |
---|---|---|
identityId | String | 统一身份ID。 |
name | String | 人员称谓。 |
extInfo | String | 自定义信息。 |
门禁卡权限CardDTO
字段 | 类型 | 备注 |
---|---|---|
iotId | String | 门禁设备的iotId |
expiryTime | String | 密码有效期,时间格式 yyyy-MM-dd HH:mm:ss" |
cardId | String | 门禁卡id |
identityId | String | 统一身份ID |
接口列表
模块 | 接口名称 | 接口说明 |
---|---|---|
人员信息管理 | 添加或更新人员信息 | 添加或更新人员信息 |
删除人员信息 | 删除某人员信息 | |
查询人员信息 | 查询人员信息 | |
查询人员列表 | 查询人员列表 | |
刷卡门禁权限管理 | 批量设置门禁卡权限 | 批量设置门禁卡权限 |
删除刷卡门禁上某用户的权限 | 删除刷卡门禁上某用户的权限 | |
查询用户的门禁卡权限信息 | 查询人在指定门禁卡设备上的门禁卡权限信息 | |
查询门禁设备上的权限信息 | 查询门禁设备上的权限信息 | |
查询门禁设备的常开门状态 | 查询门禁设备的常开门状态 | |
设置门禁设备的常开门状态 | 设置门禁设备的常开门状态 | |
二维码门禁通行方式 | 生成二维码 | 分配二维码 |
二维码权限配置 | 为指定门禁设备配置二维码权限 | |
二维码权限删除 | 删除刷卡门禁上某用户的权限 | |
生成二维码并配置权限(旧) | 生成二维码并为指定门禁设备配置权限 | |
密码门禁通行方式 | 设置门禁密码 | 为密码门禁通行设置门禁密码 |
远程控制开门 | 远程控制开门 | 远程控制开门 |
设备消息订阅 | 增加设备消息推送订阅 | 授权租户想接收设备上报的事件 |
查询订阅消息推送设备列表 | 查询订阅消息推送设备列表 | |
删除设备消息推送订阅 | 删除设备消息推送订阅 |
人员信息管理
添加或更新人员信息
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/user/modify | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
identityId | String | 是 | 统一身份ID。若identityId在库里存在走更新流程,若identityId在库里不存在走创建流程 |
name | String | 否 | 人员称谓。在更新的时候,如不传不会对原有值做修改。在创建的时候必须传。 |
extInfo | String | 否 | 自定义信息。在更新的时候,如不传不会对原有值做修改。在创建时候可以不填。 |
出参
返回结果使用通用结果类型,data域为空。
示例
请求示例
{
"identityId":"50acopfd3a94900494085ed2699e052432c34452",
"name":"王先生",
"extInfo":{}
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null
}
删除人员信息
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/user/delete | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
identityId | String | 是 | 统一身份ID。 |
示例
请求示例
{
"identityId":"50acopfd3a94900494085ed2699e052432c34452"
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null
}
查询人员信息
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/user/get | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
identityId | String | 是 | 统一身份ID。 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSON |
人员信息 |
示例
请求示例
{
"identityId":"50acopfd3a94900494085ed2699e052432c34452"
}
返回示例
{
"code": 200,
"data": {{
"identityId":"50acopfd3a94900494085ed2699e052432c34452"
"name": "馄饨面",
"extInfo":{}
},
"id": "4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null
}
人员列表
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/user/query | 1.0.0 | 否 |
入参
pageSize | Integer | 是 | 分页查询一页内的记录数,上限100 |
---|---|---|---|
pageNo | Integer | 是 | 分页数,从1开始 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONObject |
返回的分页数据对象 |
分页数据对象PageDTO
pageSize | Integer | 传入的pageSize |
---|---|---|
pageNo | Integer | 传入的pageNo |
total | Long | 总记录数 |
data | JSONArray |
人员信息 |
示例
请求示例
{
"pageSize":10,
"pageNo":1
}
返回示例
{
"code": 200,
"data": {
"total": 1,
"data": [{
"identityId":"50acopfd3a94900494085ed2699e052432c34452"
"name": "馄饨面",
"extInfo":{}
}]
},
"id": "4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null
}
刷卡门禁权限管理
批量设置门禁卡权限
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/perm/card/batchmodify | 1.0.2 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
cards | JSONArray |
是 | 待创建对象列表,上限1000 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONArray |
处理失败的记录,建议可以依照这个列表重新添加 |
FailureResultDTO
字段 | 类型 | 备注 |
---|---|---|
iotId | String | 门禁设备的iotId |
cardId | String | 门禁卡id |
identityId | String | 统一身份ID |
示例
请求示例
{
"cards": [{
"identityId": "50acopfd3a94900494085ed2699e052432c34452",
"iotId": "p2OsgId2N2kXMWThRCQP000101",
"expiryTime": "2020-03-04 18:00:00",
"cardId":"3d8deae9402d38adfji38"
}]
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"data":[{
"identityId": "50acopfd3a94900494085ed2699e052432c34452",
"iotId":"p2OsgId2N2kXMWThRCQP000101",
"cardId":"3d8deae9402d38adfji38"
}],
"message": null,
"localizedMsg": null
}
删除刷卡门禁上某用户的权限
删除门禁卡的权限实际是删除这个设备上的人的权限
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/perm/card/batchdelete | 1.0.1 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
list | JSONArray |
是 | 待删除对象列表 |
PermDTO
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
identityId | String | 是 | 统一身份ID |
iotId | String | 是 | 门禁id |
cardId | String | 是 | 门禁卡id,最大长度255字符 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONArray |
删除失败的列表 |
ModifyResultDTO
字段 | 类型 | 备注 |
---|---|---|
iotId | String | 门禁设备的iotId |
cardId | String | 门禁卡id |
identityId | String | 统一身份ID |
示例
请求示例
{
"list": [{
"iotId": "p2OsgId2N2kXMWThRCQP000101",
"identityId": "50acopfd3a94900494085ed2699e052432c34452",
"cardId":"3d8deae9402d38adfji38"
}]
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"data":[],
"message": null,
"localizedMsg": null
}
查询用户的门禁卡权限信息
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/user/perm/query | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
identityId | String | 是 | 统一身份ID |
iotIds | JSONArray |
是 | 门禁设备列表,上限100 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONObject |
分页对象 |
分页数据对象PermDTO
identityId | String | 统一身份ID |
---|---|---|
data | JSONArray |
门禁卡权限对象 |
示例
请求示例
{
"identityId":"50acopfd3a94900494085ed2699e052432c34452",
"iotIds":[
"p2OsgId2N2kXMWThRCQP000101"
]
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data":{
"identityId": "p2OsgId2N2kXMWThRCQP000101",
"data":[{
"iotId": "50acopfd3a94900494085ed2699e052432c34452",
"identityId": "p2OsgId2N2kXMWThRCQP000101",
"expiryTime": "2020-03-04 18:00:00",
"cardId":"3d8deae9402d38adfji38"
}]
}
}
查询门禁设备上的权限信息
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/device/perm/query | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
iotId | String | 是 | 刷卡门禁设备的iotId |
pageSize | Integer | 是 | 分页查询一页内的记录数,上限100 |
pageNo | Integer | 是 | 分页数,从1开始 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONObject |
分页对象 |
分页数据对象PageDTO
pageSize | Integer | 传入的pageSize |
---|---|---|
pageNo | Integer | 传入的pageNo |
total | Long | 总记录数 |
data | JSONArray |
门禁卡权限对象列表 |
示例
请求示例
{
"iotId":"p2OsgId2N2kXMWThRCQP000101",
"pageSize":10,
"pageNo":1
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null
"data":{
"total":1,
"pageSize":10,
"pageNo":1,
"data":[{
"identityId": "50acopfd3a94900494085ed2699e052432c34452",
"iotId": "p2OsgId2N2kXMWThRCQP000101",
"expiryTime": "2020-03-04 18:00:00",
"cardId":"3d8deae9402d38adfji38"
}],
}
}
查询门禁设备的常开门状态
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/keepopen/get | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
iotId | String | 是 | 刷卡门禁设备的iotId |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | Boolean | 设备是否处于常开状态 |
示例
请求示例
{
"iotId":"p2OsgId2N2kXMWThRCQP000101"
}
返回示例
{
"code": 200,
"message": null,
"data": false
}
设置门禁设备的常开门状态
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/keepopen/set | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
iotId | String | 是 | 刷卡门禁设备的iotId |
keepOpen | Boolean | 是 | 是否常开 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
示例
请求示例
{
"iotId":"p2OsgId2N2kXMWThRCQP000101",
"keepOpen":true
}
返回示例
{
"code": 200,
"message": null
}
二维码门禁通行方式
生成二维码
path | 版本 | 是否需要登录 |
---|---|---|
/homelink/common/qrcode/generate | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
identityId | String | 是 | 申请二维码人员的统一身份ID |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | String | 二维码 |
示例
请求示例
{
"identityId":"50acopfd3a94900494085ed2699e052432c34452"
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"data":"24DD9END8CD3",
"message": null,
"localizedMsg": null
}
二维码权限配置
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/perm/qrcode/config | 1.0.1 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
qrCode | String | 是 | 二维码 |
iotIds | JSONArray | 是 | 待配置权限的门禁设备iotId |
identityId | String | 是 | 申请二维码人员的统一身份ID |
effectiveTime | String | 否 | 二维码生效期,时间格式 yyyy-MM-dd HH:mm:ss 默认为当前时间 |
expiryTime | String | 是 | 二维码失效期,时间格式 yyyy-MM-dd HH:mm:ss |
maxScanTimes | Integer | 否 | 最大刷卡次数,默认为-1不做次数限制 |
maxScanScope | String | 否 | 最大刷码次数作用范围,默认为每个设备独立计数。SHARE – 共享; DEVICE – 设备 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONArray | 权限配置结果 |
->iotId | String | 门禁设备ID |
->code | Integer | 成功为200 |
->message | String | 错误信息 |
示例
请求示例
{
"qrCode": "24DD9END8CD3",
"identityId":"50acopfd3a94900494085ed2699e052432c34452",
"iotIds": [
"p2OsgId2N2kXMWThRCQP000101"
],
"effectiveTime":"2019-03-04 18:00:00",
"expiryTime":"2020-03-04 18:00:00"
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null,
"data": [
{
"iotId": "p2OsgId2N2kXMWThRCQP000101",
"code": "200"
}
]
}
二维码权限删除
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/perm/qrcode/remove | 1.0.1 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
qrCode | String | 是 | 二维码 |
identityId | String | 是 | 申请二维码人员的统一身份ID |
iotIds | JSONArray | 是 | 门禁设备iotId |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONArray | 权限配置结果 |
->iotId | String | 门禁设备ID |
->code | Integer | 成功为200 |
->message | String | 错误信息 |
示例
请求示例
{
"qrCode": "24DD9END8CD3",
"iotIds": [
"p2OsgId2N2kXMWThRCQP000101"
],
"identityId":"50acopfd3a94900494085ed2699e052432c34452"
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null,
"data": [
{
"iotId": "p2OsgId2N2kXMWThRCQP000101",
"code": "200"
}
]
}
生成二维码并配置权限(旧)
该接口有限流,每个租户每秒最多设置2000次门禁二维码
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/perm/qrcode/generate | 1.0.1 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
iotIds | JSONArray |
是 | 待配置权限的门禁设备iotId,最多支持500个设备 |
identityId | String | 是 | 申请二维码人员的统一身份ID |
expiryTime | String | 是 | 二维码有效期,时间格式 yyyy-MM-dd HH:mm:ss 不能超过生效期时间+24h |
effectiveTime | String | 否 | 二维码生效期,时间格式 yyyy-MM-dd HH:mm:ss 不能小于当前时间,如为空则取当前时间 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | String | 二维码 |
示例
请求示例
{
"identityId":"50acopfd3a94900494085ed2699e052432c34452",
"iotIds":[
"p2OsgId2N2kXMWThRCQP000101"
],
"expiryTime":"2020-03-04 18:00:00",
"effectiveTime":"2020-03-03 18:00:01"
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"data":"24DD9END8CD3",
"message": null,
"localizedMsg": null
}
密码门禁通行方式
设置门禁密码
该接口有限流,每个租户每秒最多设置2000次门禁密码
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/perm/passwd/modify | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
passwords | JSONArray |
是 | 密码信息。最长100条记录 |
PasswordDTO对象
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
identityId | String | 是 | 统一身份ID。若identityId+iotId在数据库中存在走更新流程,若identityId+iotId不存在走创建流程 |
iotId | String | 是 | 门禁设备的iotId |
password | String | 是 | 密码信息。最大长度255字符 |
number | Integer | 是 | 密码编号,一个密码门禁有可能有多个密码。 |
expiredDate | String | 是 | 密码有效期,时间格式 yyyy-MM-dd HH:mm:ss |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONArray |
设置失败的记录列表 |
ModifyResultDTO
字段 | 类型 | 备注 |
---|---|---|
iotId | String | 门禁设备的iotId |
示例
请求示例
{
"identityId": "50acopfd3a94900494085ed2699e052432c34452",
"passwords": [{
"iotId": "p2OsgId2N2kXMWThRCQP000101",
"password": "a2d34f84dfafe",
"number": "030",
"expiryDate": "2020-03-04 18:00:00"
}]
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"data":[
"iotId":"p2OsgId2N2kXMWThRCQP000101"
],
"message": null,
"localizedMsg": null
}
远程控制开门
远程控制开门
接口定义
path | 版本 | 是否需要登录 |
---|---|---|
/cloud/thing/service/invoke | 1.0.1 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
iotId | String | 是 | 门禁设备的iotId |
identifier | String | 是 | 固定值“remoteOpen” |
args | JSNOObject | 是 | 固定值{} |
出参
返回结果使用通用结果类型,data域为空。
示例
请求示例
{
"identifier": "remoteOpen",
"iotId": "p2OsgId2N2kXMWThRCQP000101",
"args": {}
}
返回示例
{
"code": 200,
"id":"4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null
}
传统门禁通行事件
设备消息订阅(推荐使用数据模型订阅)
增加设备消息推送订阅
当存在跨租户给设备授权的时候,被授权租户想接收设备上报的事件,需要调用这个接口来做授权
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/device/subscription/modify | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
iotIds | JASONArray |
是 | 待订阅的设备iotId列表,上限50 |
subscribed | Integer | 否 | 1 订阅,0取消订阅;默认是1 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONArray |
订阅设置失败的设备iotId |
ModifyResultDTO
字段 | 类型 | 备注 |
---|---|---|
iotId | String | 门禁设备的iotId |
示例
请求示例
{
"iotId": "50acopfd3a94900494085ed2699e052432c34452",
"passwords": [{
"iotId": "p2OsgId2N2kXMWThRCQP000101"
}]
}
查询订阅消息推送设备列表
查询已经订阅消息的设备列表,包括已经取消了订阅的设备
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/device/subscription/query | 1.0.0 | 否 |
入参
pageSize | Integer | 是 | 分页查询一页内的记录数,上限100 |
---|---|---|---|
pageNo | Integer | 是 | 分页数,从1开始 |
出参
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 返回码 |
message | String | 返回信息 |
data | JSONObject |
返回的分页数据对象 |
分页数据对象PageDTO
pageSize | Integer | 传入的pageSize |
---|---|---|
pageNo | Integer | 传入的pageNo |
total | Long | 总记录数 |
data | JSONArray |
订阅数据列表 |
DeviceTenantRelationDTO
字段 | 类型 | 备注 |
---|---|---|
iotId | String | 设备iotId |
deviceName | String | 设备dn |
productKey | String | 设备pk |
categoryKey | String | 设备品类 |
tenantId | String | 租户Id |
subscribed | Integer | 是否订阅消息 |
gmtCreate | Date | 订阅创建时间 |
gmtModified | Date | 订阅更新时间 |
示例
请求示例
{
"pageSize":10,
"pageNo":1
}
返回示例
{
"code": 200,
"data": {
"total": 1,
"data": [{
"bizCode": "bizTypeTest",
"categoryKey": "categoryKeyTest",
"deviceName": "deviceNameTest",
"gmtCreate": 1556517249000,
"gmtModified": 1556517249000,
"iotId": "iotTest",
"productKey": "productKeyTest",
"subscribed": 1,
"tenantId": "tenantTest"
}]
},
"id": "4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null
}
删除设备消息推送订阅
删除订阅关系
path | 版本 | 是否需要登录 |
---|---|---|
/entrance/paas/device/subscription/delete | 1.0.0 | 否 |
入参
字段 | 类型 | 是否必传 | 备注 |
---|---|---|---|
iotIds | JASONArray |
是 | 待订阅的设备iotId列表,上限50 |
出参
返回结果使用通用结果类型,data域为空。
示例
请求示例
{
"iotIds":[
"p2OsgId2N2kXMWThRCQP000101"
]
}
返回示例
{
"code": 200,
"id": "4a70179d-47d8-4fdf-9067-8a5eedf63483",
"message": null,
"localizedMsg": null
}