2.2 门禁一体机标准协议接口定义
1 方案介绍
门禁一体机标准协议支持人脸识别、二维码、刷卡、蓝牙、可视对讲、梯控功能接入物业管理一体机。
2 通用
门禁机对接边缘服务器,访问10000端口。
边缘服务器访问门禁机的端口由设备厂商自定义,定义后固定不变。
所有HTTP 报文的首部信息中,不能带有Connection: Keep-Alive字段,可以设置为Connection:Close。
物业管理一体机,以下简称“边缘服务器”。
下面接口是必须实现的通用接口。
2.1 建立连接
调用此接口建立门禁机与边缘服务器的双向通信连接,门禁设备跟边缘服务器互为客户端和服务端。
URL:http://[边缘服务器IP 或 门禁机IP]:[端口]/connect
Method:POST
Content-Type:application/json
说明
连接建立流程:
门禁机携带下面的请求参数向边缘服务器发起连接请求。
边缘服务器校验IP参数是否已经配置,如未配置,拒绝连接请求。设备信息配置需要预先在云端配置好,并部署到边缘。
门禁机收到边缘服务器返回的成功消息后,单向连接建立完成。响应消息中包含一个有效的token信息。
边缘服务器携带下面的请求参数向门禁机发起连接请求。
门禁机收到请求后,返回成功消息,里面包含一个有效的token信息。
边缘服务器收到成功消息后,双向连接建立完成。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
sn | String | 是 | 123456789 | 长度为4-32个字符,可以包含英文字母、数字和特殊字符:连字符(-)、下划线(_)、at符号(@)、点号(.)、和英文冒号(:)。 |
time | Integer | 是 | 1589472000 | 请求的时间戳。以秒为单位,需要使用UTC时间。 |
ip | String | 是 | 192.168.1.128 | 连接发起方的IPv4地址。 |
mac | String | 是 | 00-**-3D-40 | 连接发起方的MAC地址。 |
keepalive | Integer | 是 | 30 | 单位:秒,合法取值范围[10,120]。 |
signMethod | String | 是 | md5 | 签名方式,目前支持MD5、SHA-1、SHA-256。取值范围{ md5, sha1, sha256 }。 |
sign | String | 是 | 4db511**42 | 需要签名的内容封装格式: "TIME{time}MAC{mac}SN{sn}IP{ip}"大括号内的是具体内容,其外面的是名称。备注:time要转换成string类型。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | 调用成功时,返回内容定义如下。 |
名称 | 类型 | 示例值 | 描述 |
token | String | 6f2a-***-1-128 | 连接成功后,由接收连接的server端颁发的连接成功标识,代表一个有效连接,最大长度位64字节。在后续client的请求中需要携带,如“心跳保活”。 |
示例
请求示例
{
"sn": "123456789",
"time": 1589472000,
"ip": "192.168.1.128",
"mac": "00-16-EA-AE-3D-40",
"keepalive": 30,
"signMethod": "md5",
"sign": "4db51117ad87cef349f45a3b14c05142"
}
正常返回示例
{
"code": 0,
"message": "success",
"data":{
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128"
}
}
错误码
code | 描述 |
7 | 设备IP地址未在边缘服务器上注册。需要在IoT物联网平台上添加子设备,配置好IP,部署到边缘服务器上,即可。 |
附录查看更多错误码
2.2 心跳保活
门禁机与边缘服务器之间定期发送心跳消息,以确保消息通道的连通性,维持对方的在线状态。
URL:http://[边缘服务器IP 或 门禁机IP]:[端口]/keepalive
Method:POST
Content-Type:application/json
说明
建立连接后,服务器会向客户端颁发一个token,心跳消息中需要携带此token。当发送心跳时,对方返回token无效,那么需要重新建立连接,获取有效token。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-1-128 | 有效连接的标识。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128"
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
code | 描述 |
4 | token失效,需要重新建立连接,获取有效token。 |
附录查看更多错误码
2.3 远程开门
边缘服务器发送开门指令给门禁机。
URL:http://[门禁机IP]:[端口]/remoteOpen
Method:POST
Content-Type:application/json
说明
云端调用IoT设备的远程开门服务,边缘端接收到消息后,发送开门指令给门禁机,设备收到指令后开门放行。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-1-128 | 有效连接的标识。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128"
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
code | 描述 |
4 | token失效,需要重新建立连接,获取有效token。 |
附录查看更多错误码
2.4 报警事件
门禁机上报报警事件给边缘服务器。
URL:http://[边缘服务器IP]:[端口]/alarmEvent
Method:POST
Content-Type:application/json
说明
门禁机上报设备报警事件给边缘服务器,边缘服务器发送事件到云端。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
alarmType | Integer | 是 | 1 | 报警类型,枚举如下:
|
cardId | String | 否 | 777342461 | 门禁卡或蓝牙卡的卡号。当alarmType为2或3时,需要加入此参数。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"alarmType":2,
"cardId":"777342461"
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
code | 描述 |
4 | token失效,需要重新建立连接,获取有效token。 |
附录查看更多错误码
2.5 设置常开状态
边缘服务器设置门禁设备的常开状态。
URL:http://[门禁机IP]:[端口]/setKeepOpen
Method:POST
Content-Type:application/json
说明
目前设置门常开状态的功能只支持具有刷卡功能的门禁设备。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
data | JSONArray | 是 | ||
| Integer | 是 | 1 | 门禁设备常开状态,枚举如下:
|
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"data":{
"keeOpen": 1
}
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
附录查看更多错误码
2.6 查询常开状态
边缘服务器查询门禁设备的常开状态。
URL:http://[门禁机IP]:[端口]/getKeepOpen
Method:POST
Content-Type:application/json
说明
目前查询门常开状态的功能只支持具有刷卡功能的门禁设备。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | ||
| Integer | 0 | 门禁设备常开状态,枚举如下:
|
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128"
}
正常返回示例
{
"code": 0,
"message": "success",
"data":{
"keepOpen": 0
}
}
错误码
附录查看更多错误码
2.7 设置测温规则
边缘服务器设置门禁的测温开关和测温的阈值。
URL:http://[门禁机IP]:[端口]/setTempCheckRule
Method:POST
Content-Type:application/json
说明
对门禁机设置用户通行认证的测温规则,包括测温开关,温度上下限。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
data | JSONObject | 是 | ||
| Integer | 是 | 1 | 门禁测温开关,枚举如下:
|
| String | 否 | 37.5 | 测温阈值的上限。默认单位为摄氏度。isCheck为1时,传递此参数。 |
| String | 否 | 36.5 | 测温阈值的下限。默认单位为摄氏度。isCheck为1时,传递此参数。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"data":{
"isCheck": 1,
"maxThreshold": "37.5",
"minThreshold": "36.5"
}
}
正常返回示例
{
"code": 0,
"message": "success"
}
3 人脸
3.1 【边缘端识别】人脸识别
门禁机抓拍通行人员的人脸照片,向边缘服务器发起人脸识别请求。
URL:http://[边缘服务器IP]:[端口]/recognize
Method:POST
Content-Type:multipart/form-data
说明
当有人员通行时,门禁设备向边缘服务器发起人脸识别。边缘认证成功后,返回给门禁设备允许放行,并上报人脸匹配通行事件。如果认证失败,返回失败结果给设备。
如果开启体温检测功能,体温值超过正常范围,则不允许通行。体温的正常范围由后台配置。
图片质量要求:
• 抓拍的图片中需要包含完整人脸像素
• 可根据自身设备能力选择在设备端或者边缘端完成人脸抠图处理(推荐设备端完成)
• 如果设备端进行人脸抠图,要求图片尺寸(宽、高)保证一致
• 图片分辨率不低于120 * 120 像素,大小不超过1MB
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
photo | File | 是 | 支持jpg,jpeg,png格式 | |
disableEdgeDetectFace | String | 否 | 1 | 参数固定为1,表示边缘服务器对图片中的人脸进行检测定位,可以提高识别准确率,但识别时间会增加。 |
temperature | String | 否 | 36.5 | 通过人脸识别获取的面部体温值。默认单位为摄氏度。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | 调用成功时,返回内容定义如下。 | |
| String | ac1c2-31a7-3**066 | 人脸(人员身份)的唯一标识,字符串长度最大64字节。 |
| String | 王*飞 | 识别的人员名字。 |
| String | d8a9a-dd-**-d355 | 在边缘人脸照片库中,通行人员人脸照片的唯一标识。 |
| String | 777342461 | 用户ID |
示例
请求示例
token: "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128"
photo: xxx.jpg
disableEdgeDetectFace: "1"
temperature: "36.5"
正常返回示例
{
"code": 0,
"message": "success",
"data":{
"faceId": "ac4af1c2-31a7-4206-9c8d-2a69cdaac066",
"name": "王小飞",
"photoId": "d8a0e59a-ddeb-11ea-a8c7-6c96cfdfd355",
"userId": "123456"
}
}
错误码
code | 描述 |
1 | 人脸识别认证失败。 |
附录查看更多错误码
3.2 【设备端识别】同步人脸信息
边缘服务器同步人脸特征值信息到门禁机。
URL:http://[门禁机IP]:[端口]/faceAC/syncFaces
Method:POST
Content-Type:application/json
说明
当人脸数据超过50条,会被拆分为多次同步调用。每次同步最大50条,每次同步超时时间为10秒。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
faces | JSONArray | 是 | ||
| Integer | 是 | 1 | 人脸信息操作类型,枚举如下:
更新操作中有三种情形: 情形一:只更新userInfo 情形二:只更新feature 情形三:userInfo和feature都更新 |
| String | 否 | ac1c2-31a7-3**066 | 人脸(人员身份)的唯一标识,字符串长度最大64字节。 |
| JSONArray | 否 | 人脸照片的特征值。 元素类型为浮点型。 | |
| String | 否 | 259**704 | 人脸照片特征值(feature)的MD5值。 |
| JSONObject | 否 | 人员信息。 | |
| String | 否 | 用户ID 增加、更新时必选 | |
| String | 否 | 王*飞 | 人员姓名。 |
| String | 否 | 1905004800000 | 人脸信息失效时间。以毫秒为单位,需要使用UTC时间。 |
| Bool | 否 | true | 代表人员是否在黑名单中。 |
| String | 否 | 56s**sk9 | 人员信息(userInfo)的MD5值。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"faces":[
{
"type":4
},
{
"type":1,
"faceId":"452f3570-4717-4a39-910b-d72542550001",
"userInfo":{
"userName":"张三",
"expiryTime":"1599892792000",
"isInBlackList":false
},
"userInfoMd5":"25984f381c98bfc842280b528f424701",
"feature":[0.0069077396765351295, 0.06679696589708328, ...],
"featureMd5":"4be6f1e4bda138a555416b866a90530c"
},
{
"type":3,
"faceId":"452f3570-4717-4a39-910b-d72542550002",
"feature":[0.0069077396765351295, 0.06679696589708328, ...],
"featureMd5":"4be6f1e4bda138a555416b866a90530c"
},
{
"type":3,
"faceId":"452f3570-4717-4a39-910b-d72542550003",
"userInfo":{
"userName":"李四",
"expiryTime":"1599892792111",
"isInBlackList":true
},
"userInfoMd5":"25984f381c98bfc842280b528f424703"
},
{
"type":3,
"faceId":"452f3570-4717-4a39-910b-d72542550004",
"userInfo":{
"userName":"赵五",
"expiryTime":"1599892792222",
"isInBlackList":false
},
"userInfoMd5":"25984f381c98bfc842280b528f424704",
"feature":[0.0069077396765351295, 0.06679696589708328, ...],
"featureMd5":"4be6f1e4bda138a555416b866a90530c"
},
{
"type":2,
"faceId":"452f3570-4717-4a39-910b-d72542550009"
}
]
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
code | 描述 |
0 | 同步成功,非0为同步失败。 |
附录查看更多错误码
3.3 【设备端识别】查询设备上人脸库信息
边缘服务器查询设备上的人脸特征值信息。
URL:http://[门禁机IP]:[端口]/faceAC/queryFaces
Method:POST
Content-Type:application/json
说明
当门禁机首次连接到边缘服务器或重新连接到边缘服务器时,获取设备上的人脸特征值存储情况,用于计算还需要同步到设备端的人脸数据。每次查询超时时间为10秒。
当人脸数量较多时,支持分页查询。边缘服务器先向设备发送全量查询请求,如果设备上的人脸数超过设备可处理的最大值,那么设备返回第1页的人脸数据和分页信息,之后边缘服务器会进行分页查询。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
currentPage | Integer | 否 | 1 | 当前页号。 如果不传此参数,表示全量查询。设备最多返回一次可查询的最大人脸数。 |
pageSize | Integer | 否 | 200 | 指定返回结果中每页的最大人脸数量。 与currentPage参数一起使用。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | ||
| Integer | 1 | 当前页号。 |
| Integer | 93 | 总页数。 |
| Integer | 200 | 每页的最大人脸数量。 |
| Integer | 18483 | 设备上的人脸总数。 |
| JSONArray | ||
String | ac1c2-31a7-3**066 | 人脸(人员身份)的唯一标识,字符串长度最大64字符。 | |
String | 259**704 | 人员信息(userInfo)的MD5值。 | |
String | 56s**sk9 | 人脸照片特征值(feature)的MD5值。 |
说明:faceInfo中元素顺序固定。
人脸的唯一标识
人员信息的MD5值
人脸照片特征值的MD5值
示例
请求示例
{
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"currentPage": 1,
"pageSize": 200
}
正常返回示例
{
"code": 0,
"message": "success",
"data": {
"currentPage": 1,
"pageCount": 93,
"pageSize": 200,
"total": 18483,
"faceInfo": [
[
"452f3570-4717-4a39-910b-d72542550001",
"25984f381c98bfc842280b528f424701",
"4be6f1e4bda138a555416b866a90530c"
],
[
"452f3570-4717-4a39-910b-d72542550004",
"25984f381c98bfc842280b528f424704",
"4be6f1e4bda138a555416b866a90530c"
]
]
}
}
错误码
code | 描述 |
0 | 同步成功,非0为同步失败。 |
附录查看更多错误码
3.4 【设备端识别】人脸通行事件
门禁机上报通行人员识别人脸的通行事件给边缘服务器。
URL:http://[边缘服务器IP]:[端口]/faceAC/passEvent
Method:POST
Content-Type:multipart/form-data
说明
门禁机上报通行人员刷脸成功的事件给边缘服务器,边缘服务器发送事件到云端。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
faceId | String | 是 | ac1c2-31a7-3**066 | 人脸(人员身份)的唯一标识,字符串长度最大64字节。 |
similarity | String | 是 | 0.68 | 通行人脸照片与人脸库照片匹配的相似度。内容为0-1之间的小数,0代表匹配度最低,1代表匹配的最高。 |
photo | File | 是 | 人员通行时抓拍的人脸照片。 | |
temperature | String | 否 | 36.5 | 通过人脸识别获取的面部体温值。默认单位为摄氏度。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | ||
| String | d8a9a-dd-**-d355 | 在边缘人脸照片库中,通行人员人脸照片的唯一标识。 |
示例
请求示例
token: "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128"
faceId: "ac4af1c2-31a7-4206-9c8d-2a69cdaac066"
photo: xxx.jpg
similarity: "0.78654"
temperature: "36.5"
正常返回示例
{
"code": 0,
"message": "success",
"data":{
"photoId": "d8a0e59a-ddeb-11ea-a8c7-6c96cfdfd355"
}
}
错误码
code | 描述 |
5 | 人脸照片内容无效 |
附录查看更多错误码
4 二维码
4.1 二维码识别
门禁机识别通行人员的手机二维码,向边缘服务器发起二维码识别请求。
URL:http://[边缘服务器IP]:[端口]/qrcode
Method:POST
Content-Type:application/json
说明
当有人员通行时,门禁设备向边缘服务器发起二维码识别。边缘认证成功后,返回给门禁设备允许放行,并上报通行事件。如果认证失败,返回失败结果给设备。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
qrCode | String | 是 | ALIw***xz6x | 长度为32个字节。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | ||
| String | 777342461 | 用户ID |
示例
请求示例
{
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"qrCode": "ALI1234567890azxswdfghggfgsgERTG"
}
正常返回示例
{
"code": 0,
"message": "success",
"data": {
"userId": "123456"
}
}
错误码
code | 描述 |
1 | 二维码认证失败。 |
附录查看更多错误码
5 门禁卡
5.1 同步卡权限
边缘服务器同步卡权限信息到门禁机。
URL:http://[门禁机IP]:[端口]/cardAC/syncPermissions
Method:POST
Content-Type:application/json
说明
边缘服务器接收云端下发的卡权限信息,调用此接口发送到设备端。每次同步最大200条,同步超时时间为5秒。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
permissions | List | 是 | ||
| Integer | 是 | 1 | 门禁卡操作类型,枚举如下:
说明:对于增加和修改处理方式相同,如果该卡信息存在则对已有的卡信息做更新处理,如果该卡信息不存在则做新增处理。 |
| String | 否 | 777342461 | 用户ID |
| String | 是 | 777342461 | 门禁卡的卡号。 |
| String | 是 | 1589472000000 | 门禁卡生效的时间。以毫秒为单位,需要使用UTC时间。 |
| String | 是 | 1905004800000 | 门禁卡过期的时间。以毫秒为单位,需要使用UTC时间。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"permissions":[
{
"type":1,
"cardId":"777342461",
"effectiveTime":"1589472000000",
"expiryTime":"1905004800000"
},
{
"type":2,
"cardId":"777342461",
"effectiveTime":"1589472000000",
"expiryTime":"1905004800000"
},
{
"type":3,
"cardId":"777342461",
"effectiveTime":"1589472000000",
"expiryTime":"1905004800000"
}
]
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
附录查看更多错误码
5.2 刷卡通行事件
门禁机上报刷卡通行事件给边缘服务器。
URL:http://[边缘服务器IP]:[端口]/cardAC/passEvent
Method:POST
Content-Type:application/json
说明
门禁机上报人员刷卡通行的事件给边缘服务器,边缘服务器发送事件到云端。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
cardId | String | 是 | 777342461 | 门禁卡的卡号。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"cardId": "777342461"
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
附录查看更多错误码
6 蓝牙
6.1 同步蓝牙权限
边缘服务器同步蓝牙权限信息到门禁机。
URL:http://[门禁机IP]:[端口]/bleAC/syncPermissions
Method:POST
Content-Type:application/json
说明
边缘服务器接收云端下发的蓝牙权限信息,调用此接口发送到设备端。每次同步最大200条,同步超时时间为5秒。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
permissions | List | 是 | ||
| Integer | 是 | 1 | 蓝牙卡操作类型,枚举如下:
说明:对于增加和修改处理方式相同,如果该卡信息存在则对已有的卡信息做更新处理,如果该卡信息不存在则做新增处理。 |
| String | 否 | 777342461 | 用户ID |
| String | 是 | 777342461 | 蓝牙卡的卡号。 |
| String | 是 | 1589472000000 | 蓝牙卡生效的时间。以毫秒为单位,需要使用UTC时间。 |
| String | 是 | 1905004800000 | 蓝牙卡过期的时间。以毫秒为单位,需要使用UTC时间。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"permissions":[
{
"type":1,
"cardId":"777342461",
"effectiveTime":"1589472000000",
"expiryTime":"1905004800000"
},
{
"type":2,
"cardId":"777342461",
"effectiveTime":"1589472000000",
"expiryTime":"1905004800000"
},
{
"type":3,
"cardId":"777342461",
"effectiveTime":"1589472000000",
"expiryTime":"1905004800000"
}
]
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
附录查看更多错误码
6.2 蓝牙通行事件
门禁机上报蓝牙通行事件给边缘服务器。
URL:http://[边缘服务器IP]:[端口]/bleAC/passEvent
Method:POST
Content-Type:application/json
说明
门禁机上报人员蓝牙通行的事件给边缘服务器,边缘服务器发送事件到云端。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
cardId | String | 是 | 777342461 | 蓝牙卡的卡号。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"cardId":"777342461"
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
附录查看更多错误码
7 对讲
7.1 颁发门禁机SIP Number
边缘服务器同步SIP Number给门禁机。
URL:http://[门禁机IP]:[端口]/visualIntercom/syncSipNumber
Method:POST
Content-Type:application/json
说明
当云端下发的SIP账号时,边缘服务器推送SIP Number等信息给到门禁机。
每次门禁机与边缘服务器建立连接后,边缘服务器会再次同步SIP Number给门禁机。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
sipNumber | String | 是 | MNUt***CBz | 连接SIP Server的账号。 |
password | String | 是 | ****** | 连接SIP Server的密码。 |
sipServerAddr | String | 是 | 47.103.XX.XXX | SIP Server的IP地址。 |
sipServerPort | String | 是 | 6050 | SIP Server的端口。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"sipNumber": "MNUtFSr9soldjp34IxYCBz",
"password": "******",
"sipServerAddr": "47.103.XX.XXX",
"sipServerPort": "6050"
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
附录查看更多错误码
7.2 获取groupID
门禁机向边缘服务器查询房号的SIP组ID。
URL:http://[边缘服务器IP]:[端口]/visualIntercom/getGroupId
Method:POST
Content-Type:application/json
说明
用户输入呼叫的房号时,门禁机向边缘服务器查询房号对应的SIP group ID。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
roomId | String | 是 | 1-9-3-1202 | 规则:期号-楼幢号-单元号-房号 例如: 1-9-3-1202 1-10-3A-1709 1-5-767-801 最大位数:1位-3位-4位-5位,规则数字+字母。 期号默认为1。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
groupId | String | 4sews***HlbWkjbL | 成功时,返回房号对应的SIP组ID。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"roomId": "1-9-3-1202"
}
正常返回示例
{
"code": 0,
"message": "success",
"groupId": "4sewsEXT8ezMnlHlbWkjbL"
}
错误码
附录查看更多错误码
7.3 验证手机号
门禁机向边缘服务器查询房号的SIP组ID。
URL:http://[边缘服务器IP]:[端口]/visualIntercom/checkPhoneNumber
Method:POST
Content-Type:application/json
说明
由门禁机通过边缘服务器向云端发送手机号校验请求。边缘服务器返回给门禁机的结果只能表明边缘服务器是否已成功向云端发起校验请求,并不能代表校验结果。校验结果会通过“7.4 手机号校验结果”接口异步下发,因此设备需要自己处理等待校验结果超时的情况。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
phoneNumber | String | 是 | 139****1111 | 待校验的手机号。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"phoneNumber": "139****1111"
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
附录查看更多错误码
7.4 手机号校验结果
云端将手机号校验结果,通过边缘服务器下发给门禁机。
URL:http://[门禁机IP]:[端口]/visualIntercom/verifyPhoneResult
Method:POST
Content-Type:application/json
说明
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
phoneNumber | String | 是 | 139****1111 | 待校验的手机号。 |
result | Integer | 是 | 0 | 校验结果,枚举如下:
|
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"phoneNumber": "139****1111",
"result": 0
}
正常返回示例
{
"code": 0,
"message": "success"
}
错误码
附录查看更多错误码
7.5 上报开门事件
门禁机向边缘服务器上报对讲开门事件。
URL:http://[边缘服务器IP]:[端口]/visualIntercom/reportOpenDoor
Method:POST
Content-Type:application/json
说明
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
type | Integer | 是 | 0 | 对讲类型,枚举如下:
|
number | String | 是 | MNUt***CBz | 云对讲类型,值为SipNumber。 固话对讲类型,值为手机号。 |
roomId | String | 否 | 1-9-3-1202 | 对讲类型为云对讲时,提供此参数。 规则:期号-楼幢号-单元号-房号 例如: 1-9-3-1202 1-10-3A-1709 1-5-767-801 最大位数:1位-3位-4位-5位,规则数字+字母。 期号默认为1。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"token":"6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"type": 0,
"number": "MNUtFSr9soldjp34IxYCBz",
"roomId": "1-9-3-1202"
}
正常返回示例
{
"code": 0,
"message": "success"
}
8 梯控接口
8.1 上报电梯运行状态
梯控上报电梯的运行状态给边缘服务器。
URL:http://[边缘服务器IP]:[端口]/elevator/reportRunState
Method:POST
Content-Type:application/json
说明
每次建立连接后,上报一次电梯运行状态。当电梯运行状态变化时,立即上报实时的电梯工作状态。
限制
调用该接口的每秒请求数(QPS)最大限制为100。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
data | JSONArray | 是 | 电梯信息。 | |
| String | 否 | 01 | 电梯ID,电梯的唯一标识。 |
| String | 是 | 9 | 电梯当前所在楼层。 |
| Integer | 是 | 1 | 电梯轿厢的运行状态,枚举如下:
|
| Integer | 是 | 2 | 电梯轿厢的运行方向,枚举如下:
|
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"data": [
{
"elevatorId": "01",
"currentFloor": "9",
"carState": 1,
"carDirection": 2
},
{
"elevatorId": "02",
"currentFloor": "1",
"carState": 0,
"carDirection": 0
}
]
}
正常返回示例
{
"code": 0,
"message": "success"
}
8.2 查询电梯运行状态
边缘服务器获取电梯当前运行状态。
URL:http://[门禁机IP]:[端口]/elevator/getRunState
Method:POST
Content-Type:application/json
说明
可以查询一个或多个电梯的运行状态,如果未指定电梯ID,需要返回全部电梯的运行状态。
限制
调用该接口的每秒请求数(QPS)最大限制为100。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
elevatorList | JSONArray | 否 | 01,02 | 待查询的elevatorId列表。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONArray | 电梯信息。 | |
| String | 01 | 【可选参数】电梯ID,电梯的唯一标识。 |
| String | 9 | 【可选参数】电梯当前所在楼层。 |
| Integer | 1 | 【可选参数】电梯轿厢的运行状态,枚举如下:
|
| Integer | 2 | 【可选参数】电梯轿厢的运行方向,枚举如下:
|
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"data": [
"01",
"02"
]
}
正常返回示例
{
"code": 0,
"message": "success",
"data": [
{
"elevatorId": "01",
"currentFloor": "9",
"carState": 1,
"carDirection": 2
},
{
"elevatorId": "02",
"currentFloor": "1",
"carState": 0,
"carDirection": 0
}
]
}
8.3 释放受控楼层
边缘服务器发送释放楼层控制指令,通知电梯开放指定楼层,允许用户选择已被授权的楼层。
URL:http://[门禁机IP]:[端口]/elevator/releaseFloors
Method:POST
Content-Type:application/json
说明
当用户在轿厢内进行权限认证时,例如刷卡,电梯释放其所在楼层权限。多用于用户拥有多楼层权限的情况,由用户手动选择目的楼层。
限制
调用该接口的每秒请求数(QPS)最大限制为100。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
elevatorId | String | 否 | 01 | 电梯的唯一标识。 如果不传此参数,表示操作所有电梯。 |
floorRoomList | JSONArray | 否 | 楼层房号列表。 如果不传此参数,表示释放全部楼层。 | |
| String | 否 | 9 | 需要释放的楼层。 如果存在贯通门的情况,使用房号区分不同的电梯门。如果不存在贯通门,不需要传房间号。 |
| String | 否 | 601 | 需要释放的楼层的房间号。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"elevatorId": "01",
"floorRoomList": [
{
"floor": "9",
"room": "901"
},
{
"floor": "6",
"room": "602"
}
]
}
正常返回示例
{
"code": 0,
"message": "success"
}
8.4 点亮目标楼层
边缘服务器发送点亮楼层控制指令,电梯自动选中并点亮指定楼层。
URL:http://[门禁机IP]:[端口]/elevator/activateFloor
Method:POST
Content-Type:application/json
说明
当用户在轿厢内进行权限认证时,例如刷卡,电梯自动点亮其所在楼层权限。多用于用户只拥有某一楼层权限的情况。
一次接口调用可点亮多个楼层。
限制
调用该接口的每秒请求数(QPS)最大限制为100。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
elevatorId | String | 否 | 01 | 电梯的唯一标识。 如果不传此参数,表示操作所有电梯或默认电梯。 |
floorRoomList | JSONArray | 否 | 楼层房号列表。 如果不传此参数,表示释放全部楼层。 | |
| String | 是 | 目标楼层 | |
| String | 否 | 01 | 目标房间号。 存在贯通门的情况,需要传递此参数。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"elevatorId": "01",
"floorRoomList": [
{
"floor": "9",
"roomNumber": "901"
},
{
"floor": "6",
"roomNumber": "602"
}
]
}
正常返回示例
{
"code": 0,
"message": "success"
}
8.5 呼叫电梯
边缘服务器发送呼叫电梯指令,控制电梯到指定楼层。
URL:http://[门禁机IP]:[端口]/elevator/call
Method:POST
Content-Type:application/json
说明
起始楼层是用户出发时乘坐电梯的楼层。
目标楼层是用户乘坐电梯将要达到的楼层。
当只给出起始楼层时,目标楼层为空,表示指派电梯到起始楼层等待用户乘用。
当给出起始楼层和目标楼层时,表示指派电梯到起始楼层接用户到目标楼层。
如果电梯ID字段为空,那么梯控可以使用默认电梯或随机指定电梯。
限制
调用该接口的每秒请求数(QPS)最大限制为100。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
elevatorId | String | 否 | 01 | 电梯ID,电梯的唯一标识。如果电梯ID字段为空,那么梯控可以使用默认电梯或随机指定电梯。 |
startFloor | String | 是 | 6 | 用户乘梯出发的楼层。 |
startRoom | String | 否 | 601 | 用户在出发楼层的房间号。 |
targetFloor | String | 否 | 9 | 用户乘梯到达的楼层。 |
targetRoom | String | 否 | 902 | 用户在到达楼层的房间号。 |
targetDirection | Integer | 否 | 1 | 乘坐电梯要去的方向,枚举如下:
此参数针对电梯轿厢外呼场景,在不指定targetFloorName的时候使用。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"elevatorId": "01",
"startFloor": "1",
"startRoom": "01",
"targetFloor": 8,
"targetRoom": "02"
}
正常返回示例
{
"code": 0,
"message": "success"
}
8.6 获取电梯信息
边缘服务器获取梯控的电梯ID和用户楼层房间信息。
URL:http://[门禁机IP]:[端口]/elevator/info/get
Method:POST
Content-Type:application/json
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | ||
| String | GROUP | 【必选参数】 SINGLE:单控;只能控制特定的电梯, 多部电梯时需指定elevatorId GROUP:群控;多部电梯时呼叫电梯根据梯控内部算法进行就近呼叫,不能指定特定电梯 ALL:双模(单控和群控);多部电梯即可进行指定电梯呼叫,也可根据梯控内部算法进行就近呼叫 |
| JSONArray | ||
| String | 01 | 【可选参数】 电梯设备唯一标识。 |
| String | 【可选参数】 电梯设备别名 | |
| Bool | 【必选参数】 True:贯通门 False:单开门 | |
| JSONObject | 【必选参数】 楼层信息 | |
| String | 【必选参数】 住户可见楼层 | |
| JSONArray | 【可选参数】 住户可见房间列表 | |
| String | 【可选参数】 住户可见房间 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128"
}
正常返回示例
{
"code": 0,
"message": "success",
"data": {
"elevatorMode": "ALL",
"floorInfoList": [
{
"elevatorId": "01",
"elevatorName": "dongti",
"isDualCardDoor": true,
"floorInfo": [
{
"floor": "5",
"roomList": [
"501",
"502"
]
},
{
"floor": "6",
"roomList": [
"601",
"602"
]
}
]
}
]
}
}
9 人梯联动
9.1 同步用户电梯规则
边缘服务器同步用户电梯规则信息到梯控。
URL:http://[门禁机IP]:[端口]/elevator/rule/sync
Method:POST
Content-Type:application/json
说明
当数据超过200条,会被拆分为多次同步调用。每次同步最大200条,每次同步超时时间为10秒。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
rules | JSONArray | 是 | ||
| Integer | 是 | 1 | 设备规则操作类型,枚举如下:
|
| String | 否 | 电梯设备规则ID | |
| String | 否 | 01 | 电梯ID,电梯的唯一标识。 |
| String | 否 | 777342461 | 用户ID |
| String | 否 | CALL_ONLY:呼梯到起始楼层 CALL_WITH_TARGET:呼梯到起始楼层,并指定一个或多个目标楼层 RELEASE_ONLY:轿厢内,释放一个或多个目标楼层 ACTIVATE_ONLY:轿厢内,点亮单个目标楼层 | |
| String | 否 | 触发联动场景的设备所在楼层 | |
| String | 否 | 触发联动场景的设备所在楼层的房间号 | |
| JSONArray | 用户拥有权限的楼层房号列表。 | ||
| String | 否 | 8 | 用户拥有权限的楼层。 如果存在贯通门的情况,使用房号区分不同的电梯门。如果不存在贯通门,不传房间号。 |
| String | 否 | 01 | 用户拥有权限的房间号。 |
| Integer | 否 | 延迟执行的秒数,不填则表示立即执行,最大支持300秒 | |
| String | 否 | 1589472000000 | 用户电梯规则生效的时间。以毫秒为单位,需要使用UTC时间。 |
| String | 否 | 1905004800000 | 用户电梯规则过期的时间。以毫秒为单位,需要使用UTC时间。 |
说明:
此模式下需要传入参数:
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"rules": [
{
"ruleId": "fa1a6-31a7-3**098",
"userId": "ac1c2-31a7-3**066",
"elevatorId": "01",
"controlMode": "CALL_WITH_TARGET",
"startFloor": "01",
"startRoom": "601",
"targetFloorRoomList": [
{
"floor": "9",
"roomNumber": "01"
}
],
"delaySeconds": 10,
"effectiveTime": "1589472000000",
"expiryTime": "1905004800000"
}
]
}
正常返回示例
{
"code":0,
"message":"success"
}
9.2 获取用户电梯规则
边缘服务器从梯控获取用户电梯规则。
URL:http://[门禁机IP]:[端口]/elevator/rule/get
Method:POST
Content-Type:application/json
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
currentPage | Integer | 否 | 当前页号。 如果不传此参数,表示全量查询。设备最多返回一次可查询的最大人脸数。 | |
pageSize | Integer | 否 | 200 | 指定返回结果中每页的最大人脸数量。 与currentPage参数一起使用。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | ||
| Integer | 1 | 必填,当前页号。 |
| Integer | 93 | 必填,总页数。 |
| Integer | 200 | 必填,每页的最大数量。 |
| JSONArray | 必填,子项目是否必填与《同步用户电梯规则》一致 | |
| String | 电梯设备规则ID | |
| String | 01 | 电梯ID,电梯的唯一标识。 |
| String | 777342461 | 用户ID |
| String | CALL_ONLY | CALL_ONLY:呼梯到起始楼层 CALL_WITH_TARGET:呼梯到起始楼层,并指定一个或多个目标楼层 RELEASE_ONLY:轿厢内,释放一个或多个目标楼层 ACTIVATE_ONLY:轿厢内,点亮单个目标楼层 |
| String | 1 | 触发联动场景的设备所在楼层 |
| String | 601 | 触发联动场景的设备所在楼层的房间号 |
| JSONArray | 用户拥有权限的楼层房号列表。 | |
| String | 8 | 用户拥有权限的楼层。 如果存在贯通门的情况,使用房号区分不同的电梯门。如果不存在贯通门,不传房间号。 |
| String | 01 | 用户拥有权限的房间号。 |
| Integer | 延迟执行的秒数,不填则表示立即执行,最大支持300秒 | |
| String | 1589472000000 | 用户电梯规则生效的时间。以毫秒为单位,需要使用UTC时间。 |
| String | 1905004800000 | 用户电梯规则过期的时间。以毫秒为单位,需要使用UTC时间。 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"currentPage": "01",
"pageSize": "01"
}
正常返回示例
{
"code": 0,
"message": "success",
"data": {
"currentPage": 1,
"pageCount": 10,
"pageSize": 2,
"userData": [
{
"ruleId": "fa1a6-31a7-3**098",
"userId": "ac1c2-31a7-3**066",
"elevatorId": "01",
"controlMode": "CALL_WITH_TARGET",
"startFloor": "01",
"startRoom": "601",
"targetFloorRoomList": [
{
"floor": "9",
"roomNumber": "01"
}
],
"delaySeconds": 10,
"effectiveTime": "1589472000000",
"expiryTime": "1905004800000"
}
]
}
}
9.3 上报人梯联动事件
梯控系统向边缘服务器上报人梯联动结果。
URL:http://[边缘服务器IP]:[端口]/elevator/rule/report
Method:POST
Content-Type:application/json
说明
当用户在电梯内刷门禁卡、蓝牙卡、扫描二维码、人脸识别后呼梯或释放楼层,执行完成后由梯控系统向边缘服务器发起事件上报请求。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式:YYYY-MM-DD,最新版本为2021-12-13 。接口可能存在多个版本。 |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
ruleId | String | 是 | 设备规则ID | |
elevatorId | String | 否 | 电梯编号 | |
userId | String | 是 | 777342461 | 用户ID |
authType | String | 是 | 认证类型:
| |
authContent | String | 是 | 认证内容,由authType决定该内容。 authType为card时,该值填入cardId。 authType为bluetooth时,该值填入cardId。 authType为qrcode时,该值填入qrcode。 authType为face时,该值填入faceId。 | |
controlMode | String | 是 | CALL_ONLY:呼梯到起始楼层 CALL_WITH_TARGET:呼梯到起始楼层,并指定一个或多个目标楼层 RELEASE_ONLY:轿厢内,释放一个或多个目标楼层 ACTIVATE_ONLY:轿厢内,点亮单个目标楼层 | |
startFloor | String | 否 | 1 | 用户乘梯出发的楼层。 说明:相对于最底层的相对楼层数。 |
startRoom | String | 否 | 01 | 用户在出发楼层的房间号。 |
targetFloorRoomList | JSONArray | 用户拥有权限的楼层房号列表。 | ||
| String | 否 | 9 | 用户拥有权限的楼层。 如果存在贯通门的情况,使用房号区分不同的电梯门。如果不存在贯通门,不传房间号。 |
| String | 否 | 601 | 用户拥有权限的房间号。 |
delaySeconds | Integer | 否 | 延迟执行的秒数,不填则表示立即执行,最大支持300秒 |
controlMode为CALL_ONLY:
参数 | 是否必填 |
startFloor | 必填 |
startRoom | 根据《获取电梯信息》返回值决定, 对应floor有roomNumber时为必填,否则为不填。 |
targetFloorRoomList | 不填 |
controlMode为CALL_WITH_TARGET:
参数 | 是否必填 |
startFloor | 必填 |
startRoom | 根据《获取电梯信息》返回值决定, 对应floor有roomNumber时为必填,否则为不填。 |
targetFloorRoomList | 必填 |
floor | 必填 |
roomNumber | 根据《获取电梯信息》返回值决定, 对应floor有roomNumber时为必填,否则为不填 |
controlMode为RELEASE_ONLY:
参数 | 是否必填 |
startFloor | 不填 |
startRoom | 不填 |
targetFloorRoomList | 必填 |
floor | 必填 |
roomNumber | 根据《获取电梯信息》返回值决定, 对应floor有roomNumber时为必填,否则为不填 |
controlMode为ACTIVATE_ONLY:
参数 | 是否必填 |
startFloor | 不填 |
startRoom | 不填 |
targetFloorRoomList | 必填 |
floor | 必填 |
roomNumber | 根据《获取电梯信息》返回值决定, 对应floor有roomNumber时为必填,否则为不填 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"ruleId": "fa1a6-31a7-3**098",
"elevatorId": "01",
"userId": "ac1c2-31a7-3**066",
"authType": "face",
"authContent": "452f3570-4717-4a39-910b-d72542550001",
"controlMode": "CALL_WITH_TARGET",
"startFloor": "01",
"startRoom": "601",
"targetFloorRoomList": [
{
"floor": "9",
"roomNumber": "01"
}
],
"delaySeconds": 10
}
正常返回示例
{
"code":0,
"message":"success",
}
9.4 设置人梯联动开关
边缘服务器同步人梯联动规则使能信息到梯控。
URL:http://[门禁机IP]:[端口]/elevator/rule/setAvailability
Method:POST
Content-Type:application/json
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
availability | String | 是 | enable | disable:禁用 enable:使能,设备出厂默认打开 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128",
"availability": "enable"
}
正常返回示例
{
"code":0,
"message":"success"
}
9.5 获取人梯联动开关状态
边缘服务器获取人梯联动规则使能信息。
URL:http://[门禁机IP]:[端口]/elevator/rule/getAvailability
Method:POST
Content-Type:application/json
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
version | String | 是 | 2021-12-13 | API版本号,为日期形式: |
token | String | 是 | 6f2a-***-128 | 有效连接标识。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
code | Integer | 0 | 调用成功时,返回0。失败时,返回的错误码。详见错误码表。 |
message | String | success | 调用结果描述。 |
data | JSONObject | ||
availability | String | enable |
|
示例
请求示例
{
"version": "2021-12-13",
"token": "6f2ae65e-d7f3-11ea-9a16-6c96cfdfd355-192-168-1-128"
}
正常返回示例
{
"code": 0,
"message": "success",
"data": {
"availability": "enable"
}
}
错误码
附录查看更多错误码
附录
错误码
结果码 | 结果说明 | |
0 | 成功 | success |
1 | 识别认证错误 | |
2 | 保留字段 | |
3 | 保留字段 | |
4 | token失效 | device is offline |
5 | 参数错误 | |
6 | 签名校验错误 | verify sign error |
7 | 设备IP地址未配置 | device is illegal |
99 | 其他错误 |