# 通行规则
# 接口说明
| host | path | method | content-type |
|---|---|---|---|
| open.wecard.qq.com | /cgi-bin/guard/device/pass-rule | POST | application/json |
# 请求参数
{
"access_token": "z8WH...R7Fd",
"device_no": "MRC00001",
"page": 1,
"page_size": 20
}
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
access_token | ✔️ | string | 接口请求凭证 |
device_no | ✔️ | string | 门禁机具设备号 |
page | int | 分页页数(从 1 开始) | |
page_size | int | 分页每页记录条数 |
# 响应参数
{
"code": 0,
"message": "",
"data": {
"open": true,
"page": 1,
"page_size": 20,
"total": 0,
"version": 4
}
}
{
"code": 0,
"message": "",
"data": {
"rules": [
{
"mark": "3tx",
"configs": [
{
"time_ranges": [
{
"start": "00:00:00",
"end": "23:59:59"
}
]
}
]
}
],
"page": 1,
"page_size": 20,
"total": 1,
"version": 4
}
}
# data 中的参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
open | bool | 是否开放通行,当open为true时,rules将不返回 |
rules | array | 通行规则,见下方说明 |
page | int | 分页页数,根据请求参数确定 |
page_size | int | 分页每页记录条数,根据请求参数确定 |
total | int | 总记录条数 |
version | int | 对应名单规则版本号 |
# 开放通行
当管理员将某个门禁设置为开放通行时,门禁机具只需要将电子卡/电子码成功解析之后,即可放行,不需要校验通行名单。
# 通行规则说明
{
"mark": "3tx",
"configs": [
{
"range": {
"start": "2020-01-01",
"end": "2020-12-31"
},
"time_ranges": [
{
"start": "07:30:00",
"end": "08:30:00"
},
{
"start": "11:00:00",
"end": "13:30:00"
},
{
"start": "17:30:00",
"end": "23:00:00"
}
],
"months": [1, 4, 5, 6, 9, 10, 11, 12],
"weekdays": [0, 1, 6]
},
{
"range": {
"start": "2020-01-01",
"end": "2020-12-31"
},
"time_ranges": [
{
"start": "00:00:00",
"end": "23:59:59"
}
],
"months": [2, 3, 7, 8],
"weekdays": [1, 2, 3, 4, 5]
}
]
}
| 参数 | 类型 | 说明 |
|---|---|---|
mark | string | 每个通行规则唯一的标志 |
configs | array | 规则配置列表,满足任意一条规则即视为通过门禁验证 |
# 规则配置
在门禁核验过程中,机具需要根据range、time_range、months和weekdays这四个配置对当前时间进行判断,确定是否允许通行。
其中,range表示日期范围,time_range表示日内时间范围,months表示月份限制,weekdays表示一周内周日到周六的日期限制范围。
以如下配置为例,该配置表示:
- 从
2020年1月1日起,到2020年12月31日止 - 在
一、四、五、六、九、十、十一和十二月时 - 在
周日、周一和周六时 - 在每天的
早上7点30分起到8点30分、中午11点整到13点30分和傍晚17点30分到晚上23点整这三个时间段,该用户允许通行。
{
"range": {
"start": "2020-01-01",
"end": "2020-12-31"
},
"time_ranges": [
{
"start": "07:30:00",
"end": "08:30:00"
},
{
"start": "11:00:00",
"end": "13:30:00"
},
{
"start": "17:30:00",
"end": "23:00:00"
}
],
"months": [1, 4, 5, 6, 9, 10, 11, 12],
"weekdays": [0, 1, 6]
}
一般情况下,用户设置的规则会比较简单,因此获取到的配置可能只有range、time_range、months和weekdays这四个配置中的一部分。
比如下面这个配置,表示每天的 6 点起到 22 点止都允许通行。
{
"time_ranges": [
{
"start": "06:00:00",
"end": "22:00:00"
}
]
}
而下面的配置,则表示每年七八月的周末允许通行。
{
"months": [7, 8],
"weekdays": [0, 6]
}
# 多配置
每一条规则中,可能有多条规则配置,只要满足一条规则,即视为通过门禁验证。
以如下为例,这个配置表示在周一到周五时从早上5点30分到晚上21点半允以及在周末(周日、周六)时从早上5点30分到晚上23点半允许进出。
{
"mark": "ac2",
"configs": [
{
"time_ranges": [
{
"start": "05:30:00",
"end": "23:30:00"
}
],
"weekdays": [0, 6]
},
{
"time_ranges": [
{
"start": "05:30:00",
"end": "21:30:00"
}
],
"weekdays": [1, 2, 3, 4, 5]
}
]
}