传统门禁边缘网关接入API

更新时间:2019-11-07 14:44:07

传统门禁边缘解决方案>>

1、规约信息

1、通信协议基于HTTP,建立双向通道(即先由Edge端发起连接,成功后再由设备端发起, 只有双向通道都建立成功后,才能进行业务通信)。
2、访问格式:http://:<相对url>
3、时间字段类型:stirng-utc, 如:"1502175700"
4、edge 端的服务端口:10020
5、AC: 门禁, 全称 access control

2、接口说明

2.1 通用接口

2.1.1 连接

  • 相对url: /connect

  • method: POST

  • Content-Type:application/json

  • 描述: 先有Edge端主动发起, 等连接成功后,再由门禁服务系统向边缘网关建立连接

  • 参数:

参数 类型 必选 说明 备注
sn string 设备sn N/A
time string-utc utc时间戳 例如:1502175700
ip string ip地址 格式:192.168.1.110
mac string mac地址 格式:11:22:33:44:55:66
version string 版本号 格式:xx.xx.xx
keepalive int 保活超时时间 单位:s,
signMethod string 签名算法 目前支持的有: md5/sha1/sha256
sign string 签名后的内容 需要签名的内容封装格式:"TIME{time}MAC{mac}SN{sn}IP{ip}"

大括号内的是具体内容,其外面的是名称。备注:time要转换成string类型 |

  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容 该消息必须包含token字段,该字段的含义:连接成功后,Edge会颁发身份标示信息,在后续的“心跳包活”、“业务请求”时需要携带。

示例:
请求:

{
    "sn": "1234567890",
  "time": "123456789",
  "ip": "192.168.1.110",
  "mac": "11:22:33:44:55:66",
  "keepalive": 10,
  "signMethod": "md5",
  "sign": "sdfdgdsghgfdhfghgfhjdfj"
}

响应:

{
    "code": 0,
  "message": "success",
  "data": {
      "token": "234353455456"
  }

}

2.1.2 心跳

  • 相对url: /keepalive

  • method: POST

  • Content-Type:application/json

  • 描述: http clinet 端发起。每个业务通信都可当作一次心跳,只有链路出现空闲的时候,则发送心跳,若对端长时间未收到心跳,则认为设备掉线,即当前链路通道失效,需要重新做connect操作。建议心跳间隔:30s

  • 参数

参数 类型 说明 备注
token string 设备的标识信息 在建立连接时,由对端下发,在规定的时间内未收到心跳,则token失效。
  • 返回值
{

   "code": 0,
   "message": ""
}

2.2 刷卡门禁-接口

2.2.1 远程开门

  • 相对url: /cardAC/remoteOpen

  • method: POST

  • Content-Type:application/json

  • 描述: 由Edge端发起开门操作。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由门禁服务管理系统下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token": "1234567890",
      "deviceId": "zxcvbnm",
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.2.2 同步刷卡门禁的权限

  • 相对url: /cardAC/syncPermissions

  • method: POST

  • Content-Type:application/json

  • 描述: 由Edge端发起权限下发操作。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由门禁服务管理系统下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
permissions list 权限列表
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token": "1234567890",
      "deviceId": "zxcvbnm",
   "permissions":[
     {"cardId": "门禁卡id""endTime": "截止时间", "type": 1}, // type 1:增加,2:删除, 3:修改 
     {"cardId": "门禁卡id""endTime": "截止时间", "type": 2}, // 截止时间为 UTC string 单位精确到毫秒
     {"cardId": "门禁卡id""endTime": "截止时间", "type": 3},
     ...

   ]
}

响应:

{
   "code": 0,
   "message": "",
   "data":{}
}

2.2.3 通行事件

  • 相对url: /cardAC/passEvent

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
cardId string 门禁卡ID
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
   "cardId": "门禁卡ID"
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}
{
   "code": 2,
   "message": "Token and deviceId should be string type"
}
{
   "code": 1,
   "message": "Token is invalid"
}
{
   "code": 7,
   "message": "Invalid device"
}
{
   "code": 99,
   "message": "Device is not online"
}

2.2.4 报警事件

  • 相对url: /cardAC/alarmEvent

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
alarmType enum 0 防拆报警
1 防拆报警解除
2 无效卡
cardId string 门禁卡ID 当alarmType 的类型为2时有效
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
   "alarmType": 0,
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.2.5 运行状态

  • 相对url: /cardAC/runState

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。备注:connect 操作后, 运行状态默认为正常。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
runState enum 0 运行正常
1 运行异常
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.3 密码门禁-接口

2.3.1 远程开门

  • 相对url: /passwordAC/remoteOpen

  • method: POST

  • Content-Type:application/json

  • 描述: 由Edge端发起开门操作。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由门禁服务管理系统下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token": "1234567890",
      "deviceId": "zxcvbnm",
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.3.2 密码设置

  • 相对url: /passwordAC/setPassword

  • method: POST

  • Content-Type:application/json

  • 描述: 由Edge端发起密码操作。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由门禁服务管理系统下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
operateType enum 0 设置密码
1 删除密码
number int 密码编号
password string 密码 设置密码时,该参数有效
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
   "operateType": 0,
   "number": 123,
   "password": "密码"
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.3.3 通行事件

  • 相对url: /passwordAC/passEvent

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
number int 密码编号
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
      "number": 123
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.3.4 报警事件

  • 相对url: /passwordAC/alarmEvent

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
alarmType enum 0 防拆报警
1 防拆报警解除
2 挟持报警
3 挟持报警解除
4 三次密码错误报警
5 三次密码错误报警解除
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
   "alarmType": 0,
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.3.5 运行状态

  • 相对url: /passwordAC/runState

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。备注:connect 操作后, 运行状态默认为正常。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
runState enum 0 运行正常
1 运行异常
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.4 二维码门禁-接口

2.4.1 远程开门

  • 相对url:/qrCodeAC/remoteOpen

  • method: POST

  • Content-Type:application/json

  • 描述: 由Edge端发起开门操作。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由门禁服务管理系统下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token": "1234567890",
      "deviceId": "zxcvbnm",
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.4.2 请求通行

  • 相对url: /qrCodeAC/reqPass

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
qrCode string 二维码
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
   "qrCode": "二维码"
}

响应:

{

   "code": 0,
   "message": "",
   "data":{
       "state": 1   // 0 二维码比对失败,1,二维码比对成功
   }
}
{

   "code": 5,
   "message": "qrCode is invalid",
   "data":{
       "state": 0   // 0 二维码比对失败,1,二维码比对成功
   }
}

2.4.3 报警事件

  • 相对url: /qrCodeAC/alarmEvent

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
alarmType enum 0 防拆报警
1 防拆报警解除
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
   "alarmType": 0,
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

2.4.4 运行状态

  • 相对url: /qrCodeAC/runState

  • method: POST

  • Content-Type:application/json

  • 描述: 由门禁服务发起。备注:connect 操作后, 运行状态默认为正常。

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
deviceId string 设备ID
runState enum 0 运行正常
1 运行异常
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{
   "token" : "1234567890",
      "deviceId": "zxcvbnm",
}

响应:

{

   "code": 0,
   "message": "",
   "data":{}
}

3、错误码表

错误码 说明
0 成功
1 token无效
2 请求参数无效或非法
3 验签失败
4 权限失效
5 无权限
6 传统门禁系统身份无法识别
7 门禁设备身份无法识别
99 未知错误

results matching ""

    No results matching ""