钥匙管理模块
考勤
是否存在公司
请求链接:
/attendanceCompany/isExistenceCompany请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418481" | 锁id |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"status": 200,
"statusText": "",
"content": {
"companyId": 76089
}
}考勤信息列表(日傍)
请求链接:
/v2/attendanceRecord/listByDate请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceDate | String | Y | "1689301612592" | 当天时间 |
| companyId | String | Y | "76089" | |
| rankType | int | Y | 10 | 10:迟到傍 20:早到傍 30:勤奋傍 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"noPunchTimes": 0,
"lateTimes": 2,
"earlyTimes": 2,
"attendanceRecordList": [
{
"headurl": "",
"isSelf": 1,
"staffName": "谢谢",
"staffId": 48,
"attendanceType": 4,
"openingTimeEnd": 1721024957000,
"openingTimeStart": 1721024908000,
"colorType": 2,
"earlyTime": 1721024908000,
"lateTime": 1721024957000,
"hardworkingTime": 1
},
{
"headurl": "",
"isSelf": 1,
"staffName": "谢",
"staffId": 47,
"attendanceType": 4,
"openingTimeEnd": 1721026221000,
"openingTimeStart": 1721026197000,
"colorType": 2,
"earlyTime": 1721026197000,
"lateTime": 1721026221000,
"hardworkingTime": 0
}
]
}考勤信息列表(月傍)
请求链接:
/v2/attendanceRecord/earlyListByMonth请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceDate | String | Y | "1689301612592" | 当天时间 |
| companyId | String | Y | "76089" | |
| rankType | int | Y | 10 | 10:迟到傍 20:早到傍 30:勤奋傍 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
[
{
"headurl": "",
"isSelf": 1,
"staffName": "谢",
"staffId": 47,
"attendanceType": 4,
"countryCode": 0,
"openingTimeStart": 1721026197000,
"attendanceWay": "7",
"earlyTimes": 0,
"lateTimes": 1,
"hardworkingTime": 0
},
{
"headurl": "",
"isSelf": 1,
"staffName": "谢谢",
"staffId": 48,
"attendanceType": 4,
"countryCode": 0,
"openingTimeStart": 1721024908000,
"attendanceWay": "6",
"earlyTimes": 0,
"lateTimes": 1,
"hardworkingTime": 1
}
]考勤信息列表-早到榜(按日期查询) (废弃)
请求链接:
/attendanceRecord/listByDate请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceDate | String | Y | "1689301612592" | 当天时间 |
| companyId | String | Y | "76089" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"noPunchTimes": 0,
"lateTimes": 0,
"earlyTimes": 0,
"attendanceRecordList": [
{
"headurl": "",
"isSelf": 1,
"staffName": "李文",
"staffId": 178655,
"attendanceType": 1,
"openingTimeEnd": null,
"openingTimeStart": null,
"colorType": 0
}
]
}考勤信息列表-早到榜(按月查询) (废弃)
请求链接:
/attendanceRecord/earlyListByMonth请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceDate | String | Y | "1689301612592" | |
| companyId | String | Y | "76089" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"headurl": "",
"isSelf": 1,
"staffName": "李文",
"staffId": 178655,
"attendanceType": 1,
"countryCode": "",
"attendanceWay": "15080825640",
"departmentId": 0,
"openingTimeStart": 9999999999999
}
]
}考勤信息列表-迟到榜(按日期查询) (废弃)
请求链接:
/attendanceRecord/lateListByDate请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceDate | String | Y | "1689301612592" | |
| companyId | String | Y | "76089" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"noPunchTimes": 0,
"lateTimes": 0,
"earlyTimes": 0,
"attendanceRecordList": [
{
"headurl": "",
"isSelf": 1,
"staffName": "李文",
"staffId": 178655,
"attendanceType": 1,
"openingTimeEnd": null,
"openingTimeStart": null,
"colorType": 0
}
]
}考勤信息列表-迟到榜(按月查询) (废弃)
请求链接:
/attendanceRecord/lateEarlyListByMonth请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceDate | String | Y | "1689301612592" | |
| companyId | String | Y | "76089" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"headurl": "",
"isSelf": 1,
"staffName": "李文",
"staffId": 178655,
"attendanceType": 1,
"countryCode": "",
"attendanceWay": "15080825640",
"departmentId": 0,
"openingTimeStart": 9999999999999
}
]
}考勤信息列表-勤奋榜(日榜/月榜)
请求链接:
/attendanceRecord/listForHardworking请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceDate | String | Y | "1689301612592" | |
| companyId | String | Y | "76089" | 改为companyId |
| type | String | Y | "1" | 1为日榜,2为月榜 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
日榜:
{
"list": [
{
"staffName": "李文",
"attendanceType": 1,
"totalTime": "",
"staffId": 178655,
"isSelf": 1,
"headurl": ""
}
]
}月榜:
{
"list": [
{
"staffName": "李文",
"attendanceType": 1,
"totalTime": "",
"avgTime": 0,
"staffId": 178655,
"countryCode": "",
"attendanceWay": "222@qq.com",
"isSelf": 1,
"headurl": ""
}
]
}考勤信息详情查询
请求链接:
/attendanceRecord/listByMonth请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceDate | String | Y | "1689301612592" | |
| companyId | String | Y | "76089" | |
| staffId | String | Y | "178655" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"noPunchTimes": 9,
"lateTimes": 0,
"earlyTimes": 0,
"monthList": [
{
"openingTimeEnd": "",
"colorType": 3,
"openingTimeStart": ""
}
]
}说明: colorType: 3未打卡,1迟到,2早退
获取考勤设置信息
请求链接:
/attendanceCompany/query(路径改为:attendanceCompany/query)请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| companyId | String | Y | "76089" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"staffNum": 1,
"companyName": "深圳市志超科技",
"attendanceType": 0,
"workDay": "1,2,3,4,5,6",
"workEndTime": 1688637600000,
"workStartTime": 1688605200000
}说明: attendanceType: 0自定义, 1单修/双休
修改考勤设置信息
请求链接:
/attendanceCompany/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceType | String | Y | "0" | 工作日设置,0为自定义,1为单双休 |
| companyId | String | Y | "76089" | |
| type | String | Y | "1" | 1为修改公司名称,2为修改workEndTime,workStartTime,3为修改workDay自定义, 4为修改workDay,attendanceType=1单双休 |
| companyName | String | N | "深圳市志超科技有限公" | key为获取考勤信息接口里面返回字段 |
| workEndTime | String | N | ||
| workStartTime | String | N | ||
| workDay | String | N |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}修改考勤设置-时间
请求链接:
/companyForSciener/update请求方式:
POST(跟上面一样)参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceType | String | Y | "0" | attendanceType=1的时候,则为本周的设置 |
| companyForScienerId | String | Y | "76089" | |
| type | String | Y | "2" | type=3,则修改工作日workDay |
| workEndTime | String | Y | 1688605200000 | |
| workStartTime | String | Y | 1688605200000 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}考勤设置获取员工列表
请求链接:
/staff/list请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| companyForScienerId | String | Y | "76089" | 改为companyId |
| lockId | String | Y | "9418481" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"headurl": "",
"staffName": "李文",
"staffId": 178655,
"attendanceType": 1,
"countryCode": "",
"attendanceWay": "15080825640",
"cardStatus": 0,
"reason": ""
}
]
}说明: cardStatus: 0正常 1打卡失败
reason: 打开方式无效原因
考勤设置添加员工
请求链接:
/staff/add请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceType | String | Y | "1" | 打卡方式:看常量列表-打开方式 |
| attendanceWay | String | Y | "9851425" | 用户账号、密码、卡号、指纹号,根据attendanceType来变化 |
| companyForScienerId | String | Y | "76089" | 改为companyId |
| have | String | Y | "2" | 1有,2无。 如果是APP,无钥匙为2,无钥匙则输入用户账号并发送钥匙,如果账户不存在,则不添加。 如果是无密码,则调用获取密码接口。 如果是无卡,则调用发卡接口 如果是指纹,则调用获取指纹接口 |
| staffName | String | Y | "%E6%9D%8E%E5%BC%BA" | |
| countryCode | String | 打开方式为1,无钥匙时输入用户账号,如果是手机号,则需要传国家代码 | ||
| usernameType | String | 打开方式为1时需要传,1为手机号,2为邮箱 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
失败示例:
{
"errorCode": -1002,
"description": "用户不存在。",
"alert": "用户不存在。",
"errorMsg": "Invalid User Name."
}如果用户已经有钥匙,则返回:
{
"errorCode": -4044,
"alert": "该打卡方式已有其他员工正在使用。",
"errorMsg": "This method has been used by another Staff member",
"description": "该打卡方式已有其他员工正在使用。"
}成功示例:
{
"staffid": 1122
}考勤设置添加员工-选择钥匙
请求链接:
/staff/attendanceList请求方式:
POST参数说明: 有钥匙为1,可以选择员工钥匙
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| companyForScienerId | String | Y | "76089" | 改为companyId |
| type | String | Y | 1 | 1为APP,2为密码,3为卡,4为指纹,返回数据中,attendanceWay分别为用户名、密码、卡号、指纹号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"attendanceWay": "13685985660",
"staffName": "李总"
},
{
"attendanceWay": "13685985661",
"staffName": "h总"
},
{
"attendanceWay": "13685985@qq.com",
"staffName": "李总"
}
]
}考勤设置编辑员工信息
请求链接:
/staff/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| attendanceType | String | Y | "1" | 打卡方式:1为APP,2为密码,3为卡,4为指纹 |
| attendanceWay | String | Y | "9851425" | 用户账号、密码、卡号、指纹号,根据attendanceType来变化 |
| staffId | String | Y | "76089" | |
| have | String | Y | "2" | 1有,2无。 如果是APP,无钥匙为2,无钥匙则调用发送钥匙功能。 如果是无密码,则调用获取密码接口。 如果是无卡,则调用发卡接口 如果是指纹,则调用获取指纹接口 |
| staffName | String | Y | "%E6%9D%8E%E5%BC%BA" | |
| countryCode | String | 打开方式为1,无钥匙时输入用户账号,如果是手机号,则需要传国家代码 | ||
| usernameType | String | 打开方式为1时需要传,1为手机号,2为邮箱 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes."
}考勤设置节假日列表
请求链接:
/vacation/list请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| companyForScienerId | String | Y | "76089" | 改为companyId |
| vacationYear | String | Y | "2023" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
[
{
"vacationEndDate": 1683388799000,
"vacationName": "五一",
"vacationStartDate": 1682870400000,
"vacationYear": 2023,
"month": "05",
"vacationId": 2077
}
],
[
{
"fillClassDate": "1690214400000",
"vacationEndDate": 1689177599000,
"vacationId": 2075,
"month": "07",
"vacationName": "张卡",
"vacationStartDate": 1689004800000,
"vacationYear": 2023
}
],
[
{
"fillClassDate": "1695484800000,1694880000000",
"vacationEndDate": 1696694399000,
"vacationId": 2079,
"month": "10",
"vacationName": "李文",
"vacationStartDate": 1696089600000,
"vacationYear": 2023
}
]
]
}考勤设置添加节假日
请求链接:
/vacation/add请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| companyForScienerId | String | Y | "76089" | 改为companyId |
| fillClassDate | String | Y | "1695484800000,1694880000000" | 补班日期 |
| vacationEndDate | String | Y | "1696694399000" | |
| vacationName | String | Y | "李文" | 姓名 |
| vacationStartDate | String | Y | "1696089600000" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| vacationId | Int | 节假日ID |
{
"vacationId": 2079
}删除节假日
请求链接:
/vacation/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| vacationId | String | Y | "754013" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}删除公司
请求链接:
/attendanceCompany/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| companyId | int | Y | 754013 | 考勤公司ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}考勤删除员工
请求链接:
/staff/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| staffId | int | Y | 1 | 考勤员工ID |
| deleteKey | int | N | 0 | 是否删除员工钥匙 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}电子钥匙
电子钥匙列表
请求链接:
/key/listUser请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| endDate | String | Y | "0" | |
| keyId | String | Y | "0" | |
| keyStatus | array | N | [110401,110402] | "110403" 待生效 "110401" 正常使用 "110402" 待接收 "110405" 已冻结 "110412" 已过期 |
| keyRight | int | N | 1 | 是否授权管理员 1是 0否 |
| lockId | String | Y | "9418481" | |
| pageNo | String | Y | "1" | |
| pageSize | String | Y | "20" | |
| startDate | String | Y | "0" | |
| searchStr | String | N | "小李" | 筛选关键词:姓名、接收者账号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"pages": 1,
"list": [
{
"keyNameForAdmin": "张总",
"userid": "786612630@qq.com",
"isCameraEnable": 2,
"nickname": "午夜",
"keyId": 107170297,
"keyStatus": "110401",
"keyRight": 0,
"admin": "15080825640",
"userType": "110302",
"endDate": 1688551319000,
"isRemoteUnlock": 2,
"headUrl": "",
"date": 1688464935000,
"adminNickname": "15080825640",
"uid": 16599773,
"adminUid": 16439295,
"lockId": 9418481,
"startDate": 1688464860000,
"changeDate": 1688464935000,
"faceAuthentication": 2,
"remoteEnable": 0,
"isOnlyManageSelf": 0,
"userIdCard": {
"realName": "张三",
"idCardNumber": "111111111111111111"
}
}
],
"pageSize": 20,
"total": 1,
"pageNo": 1
}电子钥匙重置
请求链接:
/key/reset请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockFlagPos | String | Y | "1" | |
| lockId | String | Y | "9418481" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}发送电子钥匙
请求链接:
/key/send请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| createUser | int | N | "1" | 发送的邮箱未注册时重新调用接口加这个字段传1 |
| countryCode | String | N | createUser=1时使用 | |
| usernameType | String | N | 1为手机号,2为邮箱,createUser=1时使用 | |
| endDate | String | Y | "1689403439000" | 有效期结束时间(时间戳,单位毫秒) |
| faceAuthentication | String | Y | "2" | 是否实名认证:1是,2否 |
| isCameraEnable | String | Y | "2" | |
| isRemoteUnlock | String | Y | "2" | 是否支持远程开锁:1-是、2-否 |
| keyNameForAdmin | String | Y | "李小" | 钥匙名(姓名) |
| keyRight | String | Y | "0" | 是否授权管理员钥匙: 1-是、0-否,默认不授权 |
| keyType | String | Y | "4" | 类型,发送循环钥匙是传,参考常量列表 |
| lockId | String | Y | "9418481" | 锁ID |
| receiverUsername | String | Y | "786612630%40qq.com" | 接收方用户名 |
| remarks | String | Y | "" | 备注,留言 |
| startDate | String | Y | "1689316980000" | 有效期开始时间(时间戳,单位毫秒) |
| weekDays | String | Y | "[1, 2, 3, 4, 7]" | |
| startTime | int | N | 1710032400000 | keyType为循环可填,生效时间:09:00 转毫秒时间 |
| endTime | int | N | 1710079200000 | keyType为循环可填,失效时间:23:00 转毫秒时间 |
| isOnlyManageSelf | int | N | 0 | 是否仅管理自己发的钥匙0/1 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
成功示例:
{
"keyId": 109074349,
"receiverUid": 16599773
}失败示例:
说明: 如果是"发送失败,钥匙只能发送给已注册的账号。"这种情况的话需要再次调用接口,然后createUser传1。请只判断425为传createUser,其他错误代码仍然按照全局异常处理。
{
"errorCode": 425,
"alert": "发送失败,钥匙只能发送给已注册的账号。",
"errorMsg": "Failed. The eKey can only be sent to a registered account.",
"description": "发送失败,接收者账号未注册,请注册后再试。"
}发送电子钥匙(v2)
请求链接:
/v2/key/send请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| createUser | String | N | "1" | 发送的邮箱未注册时重新调用接口加这个字段传1 |
| countryCode | String | N | createUser=1时使用 | |
| usernameType | String | N | 1为手机号,2为邮箱,createUser=1时使用 | |
| endDate | String | Y | "1689403439000" | 有效期结束时间(时间戳,单位毫秒) |
| faceAuthentication | String | Y | "2" | 是否实名认证:1是,2否 |
| realName | String | N | "张三" | 实名认证打开后面必填写,身份证姓名 |
| idCardNumber | String | N | "10000000000000000" | 实名认证打开后面必填写,身份证号码 |
| isRemoteUnlock | String | Y | "2" | 是否支持远程开锁:1-是、2-否 |
| keyNameForAdmin | String | Y | "李小" | 钥匙名(姓名) |
| keyRight | String | Y | "0" | 是否授权管理员钥匙: 1-是、0-否,默认不授权 |
| keyType | String | Y | "4" | 类型,发送循环钥匙是传,参考常量列表 |
| lockId | String | Y | "9418481" | 锁ID |
| receiverUsername | String | Y | "786612630%40qq.com" | 接收方用户名 |
| remarks | String | Y | "" | 备注,留言 |
| startDate | String | Y | "1689316980000" | 有效期开始时间(时间戳,单位毫秒) |
| weekDays | String | Y | "[1, 2, 3, 4, 7]" | |
| startTime | int | N | 1710032400000 | keyType为循环可填,生效时间:09:00 转毫秒时间 |
| endTime | int | N | 1710079200000 | keyType为循环可填,失效时间:23:00 转毫秒时间 |
| isOnlyManageSelf | int | N | 0 | 是否仅管理自己发的钥匙0/1 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
成功示例:
{
"keyId": 109074349,
"receiverUid": 16599773,
"receiverUser": 1,
"tips": "你收到一把电子钥匙,您的账号信息如下:账号:545448@qq.com 初始化密码:636f6d"
}说明: receiverUser: 1首次代表创建账号
失败示例:
说明: 如果是"发送失败,钥匙只能发送给已注册的账号。"这种情况的话需要再次调用接口,然后createUser传1。请只判断425为传createUser,其他错误代码仍然按照全局异常处理。
{
"errorCode": 425,
"alert": "发送失败,钥匙只能发送给已注册的账号。",
"errorMsg": "Failed. The eKey can only be sent to a registered account.",
"description": "发送失败,接收者账号未注册,请注册后再试。"
}编辑电子钥匙名字
请求链接:
/key/modifyKeyNameForAdmin请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | String | Y | "109086023" | |
| keyNameForAdmin | String | Y | "%E8%B5%B5%E5%A7%90" | 钥匙名字 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}编辑电子钥匙的有效期、有效时间、有效日
请求链接:
/key/updateKeyDate请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | String | Y | "109086023" | |
| lockId | String | Y | "9418481" | |
| endDate | String | Y | "1689262860000" | 有效期结束时间(时间戳,单位毫秒) |
| startDate | String | Y | "1689234060000" | 有效期开始时间(时间戳,单位毫秒) |
| weekDays | String | Y | "%5B1%2C7%5D" | |
| keyType | int | N | 1 | 钥匙类型,只支持:永久改限时 |
| startTime | int | N | 1710032400000 | keyType为循环可填,生效时间:09:00 转毫秒时间 |
| endTime | int | N | 1710079200000 | keyType为循环可填,失效时间:23:00 转毫秒时间 |
| isOnlyManageSelf | int | N | 0 | 如果是授权管理员-仅管理自己的钥匙 |
| remoteEnable | int | N | 0 | 是否支持远程开锁 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}远程开锁(钥匙详情-远程开锁)
请求链接:
/key/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| isRemoteUnlock | String | Y | "2" | 开启:1 关闭:2 |
| keyId | String | Y | "109225463" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}删除电子钥匙
请求链接:
/key/delete请求方式:
POST
说明: 如果是最高管理员删除锁,请调用删除锁接口
- 参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | int | Y | "754013" | 钥匙ID |
| includeUnderlings | int | N | 0 | 是否删除授权管理员下的钥匙:授权管理员下可传 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}更新锁用户NO
请求链接:
/key/updateLockUserNo请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | String | Y | "754013" | 钥匙ID |
| lockUserNo | String | Y | 锁用户NO |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}获取单把钥匙
请求链接:
/key/get请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "754013" | 锁ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"keyId": 63,
"lockId": 28,
"lockName": "MCBN01_df4a64",
"lockAlias": "MCBN01_df4a64",
"userType": 110301,
"keyStatus": 110401,
"startDate": 1689234060000,
"endDate": 1689262860000,
"keyRight": 1,
"keyType": 1,
"remarks": null,
"remoteEnable": 0,
"appUnlockMustOnline": 1,
"lockUserNo": 222,
"lockMac": "60:E4:28:64:4A:DF",
"noKeyPwd": "MTUwLDE0NCwxNDUsMTQ3LDE0NCwxNTcsMTUwLDM5",
"electricQuantity": 100,
"groupId": 0,
"groupName": ""
}发送短信、邮件通知(1.0.51版本后废弃)
请求链接:
/key/noticeSubmit请求方式:
POST
说明: 1.0.51版本后废弃
- 参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| keyId | int | Y | 10717 | 钥匙ID |
| receiverName | String | Y | "123@168.com" | 通知账号,手机号/邮箱 |
| channelType | int | Y | 1 | 通知渠道 1短信 2邮件 |
| openDoorType | int | Y | 1 | 1电子钥匙 2密码 |
| templateType | String | Y | "template_default" | 模板Type,通过获取模板列表的type获取 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}发送短信、邮件通知(V2 1.0.52+版本)
请求链接:
/v2/key/noticeSubmit请求方式:
POST
说明: 1.0.52+版本,新增短信模式强制输入国家区号字段:countryCode
- 参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| keyId | int | Y | 10717 | 钥匙ID |
| receiverName | String | Y | "123@168.com" | 通知账号,手机号/邮箱 |
| channelType | int | Y | 1 | 通知渠道 1短信 2邮件 |
| openDoorType | int | Y | 1 | 1电子钥匙 2密码 |
| templateType | String | Y | "template_default" | 模板Type,通过获取模板列表的type获取 |
| countryCode | int | N | 86 | 短信渠道:必须 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}获取电子钥匙通知模板
请求链接:
/key/getNoticeTemplate请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| keyId | int | Y | 10717 | 钥匙ID |
| channelType | int | Y | 1 | 渠道:1短信 2邮箱 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"type": "template_default",
"name": "默认模板",
"template": "你收到一把电子钥匙,请使用APP来开门。https://pre.lock.star-lock.cn:8093/apps",
"isUse": 0,
"fee": 1
},
{
"type": "template_2",
"name": "发送电子钥匙1",
"template": "你好,你收到一把电子钥匙,请使用APP来开门。https://pre.lock.star-lock.cn:8093/apps",
"isUse": 1,
"fee": 1
}
]
}说明: isUse: 是否可选 0可选 1禁止,状态为1是因为没有开通高级功能
fee: 预计消耗短信费用单位(条)
设置授权管理员
请求链接:
/key/authorize请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | int | Y | 1000 | 钥匙KeyId |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}取消授权管理员
请求链接:
/key/unauthorize请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | int | Y | 1000 | 钥匙KeyId |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}冻结电子钥匙
请求链接:
/key/freeze请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | int | Y | 1000 | 钥匙KeyId |
| includeUnderlings | int | N | 0 | (授权管理员可设)是否冻结下属所有钥匙 |
| isAllLock | int | N | 0 | 是否冻结授权管理员下所有锁发送的电子钥匙 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}解冻电子钥匙
请求链接:
/key/unfreeze请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | int | Y | 1000 | 钥匙KeyId |
| includeUnderlings | int | N | 0 | (授权管理员可设)是否解冻下属所有钥匙 |
| isAllLock | int | N | 0 | 是否解冻授权管理员下所有锁发送的电子钥匙 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}检测实名认证是否支持开启
请求链接:
/key/checkFace请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}是否需要人脸认证
请求链接:
/key/isFaceValid请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyId | int | Y | 1000 | 钥匙ID |
| lockId | int | Y | 500 | 锁Id |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"isNeedVerify": 1
}
}说明: isNeedVerify: 1需要认证 0不需要
获取指定锁下所有userNo
请求链接:
/key/getUserNoList请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁Id |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"userNos": []
}
}更新钥匙实名认证信息
请求链接:
/key/updateRealName请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁Id |
| keyId | int | Y | 100 | 钥匙ID |
| uid | int | Y | 1 | 钥匙用户UID |
| faceAuthentication | int | Y | 0 | 实名认证开关:0默认关闭 1打开 2关闭 |
| realName | String | N | "张三" | 身份证真实姓名 |
| idCardNumber | String | N | "100000000000000000000" | 身份证号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {}
}获取钥匙详情
请求链接:
/key/detail请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁Id |
| keyId | int | Y | 100 | 钥匙ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| id | Int | 钥匙ID |
| clientId | String | 客户端ID |
| lockOwnerId | Int | 锁所有者ID |
| apiUserId | Int | API用户ID |
| lockId | Int | 锁ID |
| senderUserId | Int | 发送者用户ID |
| receiverUsernameType | Int | 接收者用户名类型 |
| keyName | String | 钥匙名称 |
| keyType | Int | 钥匙类型 |
| startDate | Long | 开始时间 |
| endDate | Long | 结束时间 |
| weekDays | Array | 有效星期 |
| remarks | String | 备注 |
| remoteEnable | Int | 远程开锁 |
| isCameraEnable | Int | 摄像头启用 |
| faceAuthentication | Int | 实名认证 |
| lastFaceValidateTime | Long | 上次实名认证时间 |
| nextFaceValidateTime | Long | 下次实名认证时间 |
| keyRight | Int | 钥匙权限 |
| remoteUnlockSwitch | Int | 远程开锁开关 |
| userType | Int | 用户类型 |
| keyStatus | Int | 钥匙状态 |
| groupId | Int | 分组ID |
| lockUserNo | Int | 锁用户编号 |
| businessId | Int | 业务ID |
| customInfo | Array | 自定义信息 |
| created_at | String | 创建时间 |
| updated_at | String | 更新时间 |
| isOnlyManageSelf | Int | 是否仅管理自己 |
{
"id": 11345,
"clientId": "ewKnbqQwANE9pYBuKUz3FLzPOPcrzspO",
"lockOwnerId": 385,
"apiUserId": 772,
"lockId": 1844,
"senderUserId": 385,
"receiverUsernameType": 2,
"keyName": "68555",
"keyType": 2,
"startDate": 1717382340000,
"endDate": 1719974340000,
"weekDays": [],
"remarks": "",
"remoteEnable": 2,
"isCameraEnable": 2,
"faceAuthentication": 2,
"lastFaceValidateTime": 0,
"nextFaceValidateTime": 1717344000000,
"keyRight": 0,
"remoteUnlockSwitch": 0,
"userType": 110302,
"keyStatus": 110402,
"groupId": 538,
"lockUserNo": 0,
"businessId": 0,
"customInfo": [],
"created_at": "2024-06-03T02:39:20.000000Z",
"updated_at": "2024-06-03T02:39:20.000000Z",
"isOnlyManageSelf": 0
}密码
密码钥匙列表
请求链接:
/keyboardPwd/listSendRecords请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| keyStatus | String | Y | "0" | |
| lockId | String | Y | "9418481" | 锁ID,由锁初始化接口生成 |
| pageNo | String | Y | "1" | 页码,从1开始 |
| pageSize | String | Y | "20" | 每页数量,最大100 |
| searchStr | String | N | "小李" | 筛选关键词:姓名、密码 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"pages": 1,
"list": [
{
"id": 298181065,
"receiverUsername": "",
"senderUserid": "15080825640",
"lockId": 9418481,
"keyboardPwdType": 2,
"senderUid": 16439295,
"senderUsername": "15080825640",
"keyboardPwdVersion": 4,
"endDate": 0,
"sendDate": 1688374692000,
"custom": 0,
"sendType": 0,
"keyboardPwdName": "李",
"keyboardPwd": "00206598",
"pwdStatus": "110501",
"receiverUid": 0,
"startDate": 1688371200000,
"pwdRight": 0
}
],
"pageSize": 20,
"total": 1,
"pageNo": 1
}说明: keyboardPwdType类型查看 https://cnopen.sciener.com/document/doc?urlName=cloud%2Fpasscode%2Fget.html
重置密码钥匙
请求链接:
/keyboardPwd/reset请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418481" | |
| passwordKey | array | Y | [166,209,45,0,238,240,244,163,107,252,40,67,27,236,98,8] |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}获取密码
请求链接:
/keyboardPwd/get请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 18481 | |
| keyboardPwdName | String | Y | "-" | 密码名称 |
| keyboardPwdType | int | Y | 2 | 密码类型:见下方说明 |
| startDate | int | Y | 1689325200000 | 有效期开始时间(时间戳,单位毫秒),期限密码必传 |
| endDate | int | Y | 1689325200000 | 有效期结束时间(时间戳,单位毫秒),期限/循环密码必传 |
| isCoerced | int | Y | 2 | 胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警) |
| hoursStart | int | N | 0-23 | 循环密码必填 |
| hoursEnd | int | N | 1-24 | 循环密码必填 |
| pwdRight | int | Y | 0 | 是否授权管理员,值:1是 0否 |
| isCustom | int | N | 0 | 0/1 是否获取自定义密码 |
说明: 密码类型:1:单次,2:永久,3:限期,4:删除,5:周末循环,6:每日循环,7:工作日循环,8:周一循环,9:周二循环,10:周三循环,11:周四循环,12:周五循环,13:周六循环,14:周天循环
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"keyboardPwd": "98626987",
"keyboardPwdId": 304182299
}获取发送的信息内容
请求链接:
/keyboardPwd/getNotifyContent请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| countryCode | String | Y | "%2B86" | |
| keyboardPwdId | String | Y | "304182299" | 键盘密码ID |
| templateId | String | Y | "0" | |
| type | String | Y | "1" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"content": "您好,您的密码是:98626987\n生效时间:2023-07-14 17:00\n类型:永久\n锁名:MCBN01_8f3106\n\n开锁时,先激活锁键盘,再输入密码,以#号结束。\n\n注:密码须在2023-07-15 17:00前使用一次以激活,否则将自动失效。#号键在键盘右下角,有可能是其它图标。请勿将密码告诉给其他人。",
"templateId": 0,
"hasBalance": false,
"smsNum": 1,
"templateName": "默认模板"
}删除密码
请求链接:
/keyboardPwd/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "754013" | 锁ID |
| keyboardPwdId | String | Y | 密码ID | |
| deleteType | Int | Y | 1 | 删除方式:1-通过APP走蓝牙删除,必需先通过APP蓝牙删除后再调用该接口 2-通过网关或WiFi锁删除,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口从锁里删除密码 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}修改密码
请求链接:
/keyboardPwd/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 18481 | |
| keyboardPwdId | String | Y | "481" | 密码ID |
| keyboardPwdName | String | Y | "-" | 密码名称 |
| startDate | int | Y | 1689325200000 | 有效期开始时间(时间戳,单位毫秒),期限密码必传 |
| endDate | int | Y | 1689325200000 | 有效期结束时间(时间戳,单位毫秒),期限密码必传 |
| isCoerced | String | N | 胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警) | |
| hoursStart | int | N | 0-23 | 循环密码必填 |
| hoursEnd | int | N | 1-24 | 循环密码必填 |
| newKeyboardPwd | String | N | 新的密码 | |
| changeType | String | Y | "1" | 修改方式:1-通过APP走蓝牙修改,不传默认1,必需先通过APP SDK蓝牙修改后调用该接口 2-通过网关或WiFi锁修改,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口修改生效 |
| keyboardPwdType | int | N | 3 | 密码类型,只在永久类型下支持改为限时类型 |
| pwdRight | int | N | 0 | 是否管理员 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}自定义密码
请求链接:
/keyboardPwd/add请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "754013" | 锁ID |
| keyboardPwdName | String | N | 密码名称 | |
| keyboardPwd | String | Y | 密码 | |
| keyboardPwdType | String | N | 密码类型:2-永久,3-限期,不传默认为3 | |
| startDate | String | N | 密码有效期开始时间(时间戳,单位毫秒) | |
| endDate | String | N | 密码有效期结束时间(时间戳,单位毫秒) | |
| addType | String | Y | "1" | 添加方式:1-通过APP走蓝牙添加,不传默认1,必需先通过APP SDK蓝牙添加后调用该接口 2-通过网关或WiFi锁添加,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口添加生效 |
| isCoerced | String | N | 胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警) | |
| pwdRight | int | N | 是否为管理员 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}更新密码用户序号
请求链接:
/keyboardPwd/updatePwdUserNo请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "754013" | 锁ID |
| keyboardPwdId | String | Y | 密码ID,与下面的密码必须传一个才能更新 | |
| pwdUserNo | String | Y | 密码用户序号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}发送短信、邮件通知(1.0.51版本后废弃)
请求链接:
/keyboardPwd/noticeSubmit请求方式:
POST
说明: 1.0.51版本后废弃
- 参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| keyboardPwdId | int | Y | 10717 | 密码ID |
| receiverName | String | Y | "123@168.com" | 通知账号,手机号/邮箱 |
| channelType | int | Y | 1 | 通知渠道 1短信 2邮件 |
| openDoorType | int | Y | 2 | 1电子钥匙 2密码 |
| templateType | String | Y | "template_default" | 模板Type,通过获取模板列表的type获取 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}发送短信、邮件通知(V2 >=1.0.52版本)
请求链接:
/v2/keyboardPwd/noticeSubmit请求方式:
POST
说明: >=1.0.52版本,新增短信模式强制输入国家区号字段:countryCode
- 参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| keyboardPwdId | int | Y | 10717 | 密码ID |
| receiverName | String | Y | "123@168.com" | 通知账号,手机号/邮箱 |
| channelType | int | Y | 1 | 通知渠道 1短信 2邮件 |
| openDoorType | int | Y | 2 | 1电子钥匙 2密码 |
| templateType | String | Y | "template_default" | 模板Type,通过获取模板列表的type获取 |
| countryCode | int | N | 86 | 短信渠道:必须 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}获取密码通知模板
请求链接:
/keyboardPwd/getNoticeTemplate请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| keyboardPwdId | int | Y | 10717 | 密码ID |
| channelType | int | Y | 1 | 渠道:1短信 2邮箱 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"type": "template_default",
"name": "默认模板",
"template": "你的房间是:我大哥,开门密码是:72810903。永久密码",
"isUse": 0,
"fee": 1
},
{
"type": "template_3",
"name": "发送密码",
"template": "你好,你的房间是:我大哥,开门密码是:72810903。永久密码啦啦啦",
"isUse": 1,
"fee": 1
}
]
}说明: isUse: 是否可选 0可选 1禁止,状态为1是因为没有开通高级功能
fee: 预计消耗短信费用单位(条)
批量获取锁密码
请求链接:
/keyboardPwd/get请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockIds | array | Y | [18481,18412] | |
| keyboardPwdName | String | Y | "-" | 密码名称 |
| keyboardPwdType | int | Y | 2 | 密码类型:见下方说明 |
| startDate | int | Y | 1689325200000 | 有效期开始时间(时间戳,单位毫秒),期限密码必传 |
| endDate | int | Y | 1689325200000 | 有效期结束时间(时间戳,单位毫秒),期限/循环密码必传 |
| isCoerced | int | Y | 2 | 胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警) |
| hoursStart | int | N | 0-23 | 循环密码必填 |
| hoursEnd | int | N | 1-24 | 循环密码必填 |
说明: 密码类型:1:单次,2:永久,3:限期,4:删除,5:周末循环,6:每日循环,7:工作日循环,8:周一循环,9:周二循环,10:周三循环,11:周四循环,12:周五循环,13:周六循环,14:周天循环
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
[
{
"lockId": 18481,
"keyboardPwd": "50494835722",
"keyboardPwdId": 6514
},
{
"lockId": 18482,
"keyboardPwd": "50529243792",
"keyboardPwdId": 6515
}
]校验密码名称或密码是否已存在
请求链接:
/keyboardPwd/checkKeyboardpwdName请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 18481 | |
| keyboardPwdName | String | N | "-" | 密码名称 |
| keyboardPwd | int | N | "" | 明文密码 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}校验密码是否已存在
请求链接:
/keyboardPwd/checkKeyboardPwd请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 18481 | |
| keyboardPwd | String | Y | "68787" | 密码 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}获取密码详情
请求链接:
/keyboardPwd/detail请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 18481 | |
| keyboardPwdId | int | Y | 68787 | 密码ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| keyboardPwdId | Int | 密码ID |
| keyboardPwd | String | 密码 |
| endDate | Long | 结束时间 |
| startDate | Long | 开始时间 |
| keyboardPwdType | String | 密码类型 |
| type | Int | 类型 |
| lockName | String | 锁名称 |
| hoursStart | Int | 开始小时 |
| hoursEnd | Int | 结束小时 |
{
"keyboardPwdId": 6622,
"keyboardPwd": "9156821567",
"endDate": 1717405200000,
"startDate": 1717383600000,
"keyboardPwdType": "单次",
"type": 1,
"lockName": "TMH_cf6ad1f4cbab",
"hoursStart": 0,
"hoursEnd": 23
}卡
卡列表
请求链接:
/identityCard/list请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418451" | |
| pageNo | String | Y | "1" | |
| pageSize | String | Y | "20" | |
| searchStr | String | Y | "123" | 搜索需传入此参数 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"total": 1,
"pages": 1,
"pageNo": 1,
"pageSize": 20,
"isHotelLock": false,
"list": [
{
"lockId": 9418481,
"cardName": "嘻嘻2",
"endDate": 0,
"nickName": "15080825640",
"cardId": 41585169,
"cardType": 1,
"userId": "15080825640",
"cardNumber": "1839871292",
"startDate": 0,
"createDate": 1689580557000,
"status": 1,
"isCoerced": 1,
"cardRight": 0
}
]
}说明: cardType: 1普通 2限时 3单次 4循环
cardRight: 是否管理员
修改卡姓名/有效期
请求链接:
/identityCard/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418451" | |
| cardId | String | Y | "41585169" | |
| cardName | String | N | "魏工1" | 修改卡姓名传入 |
| startDate | String | N | "1689580800000" | 修改有效期传入 |
| endDate | String | N | "1694941259000" | 修改有效期传入 |
| weekDay | String | N | "[1,2,3]" | |
| isCoerced | String | N | 胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警) | |
| changeType | int | Y | 1 | 1-蓝牙 2-网关 |
| startTime | int | N | 1710032400000 | cardType为循环可填,生效时间:09:00 转毫秒时间 |
| endTime | int | N | 1710079200000 | cardType为循环可填,失效时间:23:00 转毫秒时间 |
| cardType | int | N | 2 | 卡类型,只在永久类型下支持改为限时类型 |
| cardRight | int | N | 0 | 是否管理员 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}卡操作记录
说明: 请参考操作记录文档
删除卡/重置卡
请求链接:
/identityCard/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| cardId | String | Y | "41585169" | |
| lockId | String | Y | "9418481" | |
| type | String | Y | "0" | 0:删除卡 1:重置卡 |
| deleteType | String | N | "1" | 删除方式:1-通过APP走蓝牙删除,不传默认1,必需先通过APP蓝牙删除后再调用该接口 2-通过网关或WiFi锁删除,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口从锁里删除卡 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}添加卡(永久/限时/循环)
请求链接:
/identityCard/add请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418481" | |
| endDate | String | Y | "0" | 永久:"0";限时/循环:"失效时间戳" |
| cardName | String | Y | "西子" | 卡姓名 |
| cardNumber | String | Y | "48675641491456" | |
| cardType | int | Y | 1 | 类型:在常量列表 |
| addType | String | Y | "1" | 1蓝牙,2远程,3发卡器 |
| startDate | String | Y | "0" | 永久:"0";限时/循环:"生效时间戳" |
| weekDay | String | N | "[1,2,3,4,5]" | 循环类型需传;永久/限时无需传入 |
| isCoerced | String | N | 胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警) | |
| startTime | int | N | 1710032400000 | cardType为循环可填,生效时间:09:00 转毫秒时间戳 |
| endTime | int | N | 1710082800000 | cardType为循环可填,失效时间:23:00 转毫秒时间戳 |
| cardRight | int | Y | 0 | 是否授权管理员,值:1是 0否 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}更新卡用户序号
请求链接:
/identityCard/updateCardUserNo请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "754013" | 锁ID |
| cardId | String | Y | 卡ID | |
| cardUserNo | String | Y | 卡用户序号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}校验IC卡名称是否已存在
请求链接:
/identityCard/checkIdentityCardName请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 754013 | 锁ID |
| cardName | String | Y | IC卡名称 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示不存在",
"errorMsg": "success or means yes",
"errorCode": 0
}获取IC卡详情
请求链接:
/identityCard/detail请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| cardId | int | Y | 18481 | 卡ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| clientId | String | 客户端ID |
| lockOwnerId | Int | 锁所有者ID |
| apiUserId | Int | API用户ID |
| lockId | Int | 锁ID |
| cardNumber | String | 卡号 |
| cardName | String | 卡名称 |
| startDate | Long | 开始时间 |
| endDate | Long | 结束时间 |
| cardStatus | Int | 卡状态 |
| cardType | Int | 卡类型 |
| cardRight | Int | 卡权限 |
| weekDay | Array | 有效星期 |
| addType | Int | 添加类型 |
| isCoerced | Int | 是否胁迫 |
| cardUserNo | Int | 卡用户编号 |
| businessId | Int | 业务ID |
| created_at | String | 创建时间 |
| updated_at | String | 更新时间 |
| cardId | Int | 卡ID |
{
"clientId": "ewKnbqQwANE9pYBuKUz3FLzPOPcrzspO",
"lockOwnerId": 385,
"apiUserId": 385,
"lockId": 1844,
"cardNumber": "6",
"cardName": "555445",
"startDate": 1717344000000,
"endDate": 1717430400000,
"cardStatus": 1,
"cardType": 1,
"cardRight": 0,
"weekDay": [],
"addType": 1,
"isCoerced": 2,
"cardUserNo": 6,
"businessId": 0,
"created_at": "2024-06-03T02:38:00.000000Z",
"updated_at": "2024-06-03T02:38:01.000000Z",
"cardId": 5537
}指纹
指纹列表(搜索指纹)
请求链接:
/fingerprint/list请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418481" | |
| pageNo | String | Y | "1" | |
| pageSize | String | Y | "20" | |
| searchStr | String | Y | "123" | 搜索需传入此参数 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"pages": 1,
"list": [
{
"lockId": 28,
"apiUserId": 16,
"fingerprintNumber": "48675641491456",
"fingerprintType": 1,
"fingerprintName": "1654645",
"startDate": 33,
"endDate": 44,
"weekDay": [1, 2],
"fingerprintStatus": 0,
"fingerprintId": 3,
"senderUsername": "2388387938z@qq.com",
"createDate": 1691401609000,
"validTimeStr": "普通",
"isCoerced": 1,
"fingerRight": 0
}
],
"pageSize": 20,
"total": 1,
"pageNo": 1
}说明: fingerprintType: 1普通 2限时 3单次 4循环
fingerRight: 是否管理员
添加指纹(永久/限时/循环)
请求链接:
/fingerprint/add请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418481" | |
| endDate | String | Y | "0" | 永久:"0";限时/循环:"失效时间戳" |
| fingerprintName | String | Y | "西子" | 指纹姓名 |
| fingerprintNumber | String | Y | "48675641491456" | |
| fingerprintType | String | Y | "1" | 永久:1;限时:2,单次:3,循环:4 |
| addType | String | Y | "1" | 1蓝牙,2远程 |
| isCoerced | String | Y | "0" | 胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警) |
| startDate | String | Y | "0" | 永久:"0";限时/循环:"生效时间戳" |
| weekDay | String | N | "[1,2,3,4,5]" | 循环类型需传;永久/限时无需传入 |
| fingerRight | int | Y | 0 | 是否授权管理员,值:1是 0否 |
| startTime | int | N | 1710032400000 | fingerprintType为循环可填,生效时间:09:00 转毫秒时间戳 |
| endTime | int | N | 1710082800000 | fingerprintType为循环可填,失效时间:23:00 转毫秒时间戳 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"fingerprintId": 16988183
}重置指纹
请求链接:
/fingerprint/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| fingerprintId | String | N | "" | 1:重置指纹时不传 |
| lockId | String | Y | "9418451" | |
| type | String | Y | "1" | 0:删除指纹 1:重置指纹 |
| deleteType | String | N | 删除方式:1-通过APP走蓝牙删除,不传默认1,必需先通过APP蓝牙删除后再调用该接口 2-通过网关或WiFi锁删除,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口从锁里删除指纹 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}更新指纹用户序号
请求链接:
/fingerprint/updateFingerprintUserNo请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| fingerprintId | String | Y | "3" | |
| lockId | String | Y | "28" | |
| fingerprintUserNo | String | Y | "12" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}修改指纹有效期,胁迫指纹,重命名
请求链接:
/fingerprint/changePeriod请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| fingerprintId | String | Y | "3" | |
| lockId | String | Y | "28" | |
| weekDay | String | N | "[1,2,3]" | |
| startDate | String | N | ||
| endDate | String | N | ||
| isCoerced | String | N | 胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警) | |
| fingerprintName | String | N | 姓名 | |
| changeType | int | Y | 1 | 1-蓝牙下发,2-网关下发 |
| startTime | int | N | 1710032400000 | fingerprintType为循环可填,生效时间:09:00 转毫秒时间 |
| endTime | int | N | 1710079200000 | fingerprintType为循环可填,失效时间:23:00 转毫秒时间 |
| fingerprintType | int | N | 2 | 指纹类型,只在永久类型下支持改为限时类型 |
| fingerRight | int | N | 0 | 是否管理员 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"description": "表示成功或是。",
"errorMsg": "success or means yes",
"errorCode": 0
}校验指纹名称是否已存在
请求链接:
/fingerprint/checkFingerprintName请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 18481 | |
| fingerprintName | String | Y | "-" | 指纹名称 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}获取胁迫指纹列表
请求链接:
/fingerprint/getCoercedList请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 18481 | 锁ID |
| pageNo | int | N | 1 | 页码 |
| pageSize | int | N | 10 | 页数 |
| searchStr | String | N | "" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| list | Array | 指纹列表 |
| pageNo | Int | 页码 |
| pageSize | Int | 每页数量 |
| pages | Int | 总页数 |
| total | Int | 总记录数 |
{
"list": [
{
"lockId": 1791,
"apiUserId": 385,
"fingerprintNumber": "918a8531-3baa-4ccf-9992-a5f88451cf42",
"fingerprintType": 1,
"fingerprintName": "5月到期",
"startDate": 1711296000000,
"endDate": 1716452761000,
"weekDay": [1, 3],
"fingerprintStatus": 1,
"isCoerced": 1,
"fingerRight": 0,
"fingerprintId": 6969,
"senderUsername": "19587288@qq.com",
"createDate": 1713860804000,
"validTimeStr": "2024-03-25 00:00 永久"
}
],
"pageNo": 1,
"pageSize": 20,
"pages": 1,
"total": 1
}获取指纹详情
请求链接:
/fingerprint/detail请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| fingerprintId | int | Y | 18481 | 指纹ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| clientId | String | 客户端ID |
| lockOwnerId | Int | 锁所有者ID |
| apiUserId | Int | API用户ID |
| lockId | Int | 锁ID |
| fingerprintStatus | Int | 指纹状态 |
| fingerprintNumber | String | 指纹编号 |
| fingerprintType | Int | 指纹类型 |
| fingerprintName | String | 指纹名称 |
| startDate | Long | 开始时间 |
| endDate | Long | 结束时间 |
| weekDay | Array | 有效星期 |
| addType | Int | 添加类型 |
| fingerRight | Int | 指纹权限 |
| isCoerced | Int | 是否胁迫 |
| fingerprintUserNo | Int | 指纹用户编号 |
| businessId | Int | 业务ID |
| created_at | String | 创建时间 |
| updated_at | String | 更新时间 |
| fingerprintId | Int | 指纹ID |
{
"clientId": "ewKnbqQwANE9pYBuKUz3FLzPOPcrzspO",
"lockOwnerId": 385,
"apiUserId": 385,
"lockId": 1844,
"fingerprintStatus": 1,
"fingerprintNumber": "7",
"fingerprintType": 1,
"fingerprintName": "555555",
"startDate": 1717344000000,
"endDate": 1717430400000,
"weekDay": [],
"addType": 1,
"fingerRight": 0,
"isCoerced": 1,
"fingerprintUserNo": 7,
"businessId": 0,
"created_at": "2024-06-03T03:35:12.000000Z",
"updated_at": "2024-06-03T03:35:12.000000Z",
"fingerprintId": 6969
}人脸
添加人脸
请求链接:
/face/add请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| faceName | String | Y | "大厅锁人脸" | 人脸名称 |
| faceNumber | String | Y | "48675641491456" | 人脸编号 |
| faceUserNo | int | Y | 12 | 锁用户号 |
| faceType | int | Y | 1 | 人脸类型:1永久 2限时 4循环 |
| startDate | int | Y | 0 | 开始时间:0-普通;限时/单次/循环:毫秒时间戳 |
| endDate | int | Y | 0 | 结束时间:0-普通;限时/单次/循环:毫秒时间戳 |
| featureData | String | Y | 人脸特征值数据,16进制字符串 | |
| addType | int | Y | 1 | 下发类型:1-蓝牙 2-远程 |
| cyclicConfig | array | N | 循环时间设置(废弃),目前只支持每天开始时间和结束时间一样的设置 | |
| weekDay | array | N | 循环类型需传;永久/限时无需传入 | |
| startTime | int | N | 1710032400000 | faceType为循环可填,生效时间:09:00 转毫秒时间戳 |
| endTime | int | N | 1710082800000 | faceType为循环可填,失效时间:23:00 转毫秒时间戳 |
| faceRight | int | Y | 0 | 是否授权管理员,值:1是 0否 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"faceId": 1
}
}人脸列表
请求链接:
/face/list请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| searchStr | String | N | "家庭人脸" | 人脸名称关键词 |
| pageNo | int | N | 1 | 分页:默认1 |
| pageSize | int | N | 20 | 页数:默认20 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"list": [
{
"faceId": 1,
"faceName": "人脸名称",
"faceNumber": "878787",
"startDate": 0,
"endDate": 0,
"status": 0,
"addType": 1,
"faceType": 1,
"cyclicConfig": "",
"featureData": "458787",
"createDate": 1705891118000,
"faceRight": 0
}
],
"pageNo": 1,
"pageSize": 20,
"pages": 1,
"total": 4
}
}删除人脸
请求链接:
/face/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| faceId | int | Y | 1 | 人脸ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}清空人脸
请求链接:
/face/clear请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}重命名人脸名称
请求链接:
/face/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| faceId | int | Y | 1 | 人脸ID |
| faceName | String | Y | "重命名新人脸名" | 重命名名称 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}更新人脸有效期(限时/单次/循环)
请求链接:
/face/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| faceId | int | Y | 1 | 人脸ID |
| startDate | int | Y | 1705852800000 | 开始时间 |
| endDate | int | Y | 1705852800001 | 结束时间 |
| startTime | int | N | 1710032400000 | faceType为循环可填,生效时间:09:00 转毫秒时间 |
| endTime | int | N | 1710079200000 | faceType为循环可填,失效时间:23:00 转毫秒时间 |
| faceType | int | N | 2 | 人脸类型,只在永久类型下支持改为限时类型 |
| weekDay | array | N | [1,2,3] | 循环必填 |
| faceName | String | N | "张三" | 人脸姓名 |
| addType | int | Y | 1 | 1-蓝牙下发,2-网关下发 |
| isCoerced | int | N | 0 | 0默认值 1-胁迫人脸,2-非胁迫人脸 |
| faceRight | int | N | 0 | 是否管理员 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}校验人脸名称是否重复
请求链接:
/face/checkFaceName请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| faceName | String | Y | "1" | 人脸名称 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}更新人脸用户序号
请求链接:
/face/updateFaceUserNo请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| faceId | int | Y | 1 | 人脸ID |
| faceUserNo | String | Y | "12" | 人脸用户序号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}获取人脸详情
请求链接:
/face/detail请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| faceId | int | Y | 17 | 人脸ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| clientId | String | 客户端ID |
| lockOwnerId | Int | 锁所有者ID |
| apiUserId | Int | API用户ID |
| lockId | Int | 锁ID |
| faceName | String | 人脸名称 |
| faceNumber | String | 人脸编号 |
| featureData | String | 人脸特征值数据 |
| startDate | Long | 开始时间 |
| endDate | Long | 结束时间 |
| weekDay | Array | 有效星期 |
| faceType | Int | 人脸类型 |
| status | Int | 人脸状态 |
| cyclicConfig | Array | 循环配置 |
| addType | Int | 添加类型 |
| isCoerced | Int | 是否胁迫 |
| faceRight | Int | 人脸权限 |
| businessId | Int | 业务ID |
| date | Int | 日期 |
| created_at | String | 创建时间 |
| updated_at | String | 更新时间 |
| faceUserNo | Int | 人脸用户编号 |
| faceId | Int | 人脸ID |
{
"clientId": "ewKnbqQwANE9pYBuKUz3FLzPOPcrzspO",
"lockOwnerId": 385,
"apiUserId": 385,
"lockId": 1844,
"faceName": "588888",
"faceNumber": "8",
"featureData": "",
"startDate": 1717344000000,
"endDate": 1717430400000,
"weekDay": [],
"faceType": 1,
"status": 1,
"cyclicConfig": [],
"addType": 1,
"isCoerced": 0,
"faceRight": 0,
"businessId": 0,
"date": 0,
"created_at": "2024-06-03T03:35:45.000000Z",
"updated_at": "2024-06-03T03:35:46.000000Z",
"faceUserNo": 8,
"faceId": 17
}掌静脉
添加掌静脉
请求链接:
/palmVein/add请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| palmVeinName | String | Y | "大厅锁掌静脉" | 掌静脉名称 |
| palmVeinNumber | String | Y | "48675641491456" | 掌静脉编号 |
| palmVeinType | int | Y | 1 | 掌静脉类型:参考常量列表-掌静脉类型常量 |
| startDate | int | Y | 0 | 开始时间:0-普通;限时/单次/循环:毫秒时间戳 |
| endDate | int | Y | 0 | 结束时间:0-普通;限时/单次/循环:毫秒时间戳 |
| addType | int | Y | 1 | 下发类型:1-蓝牙 2-远程 |
| weekDay | array | N | 循环类型需传;永久/限时无需传入 | |
| startTime | int | N | 1710032400000 | palmVeinType为循环可填,生效时间:09:00 转毫秒时间戳 |
| endTime | int | N | 1710082800000 | palmVeinType为循环可填,失效时间:23:00 转毫秒时间戳 |
| palmVeinRight | int | Y | 0 | 是否授权管理员,值:1是 0否 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"palmVeinId": 1
}
}掌静脉列表
请求链接:
/palmVein/list请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| searchStr | String | N | "家庭掌静脉" | 掌静脉名称关键词 |
| pageNo | int | N | 1 | 分页:默认1 |
| pageSize | int | N | 20 | 页数:默认20 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| list | Array | 掌静脉列表 |
| pageNo | Int | 页码 |
| pageSize | Int | 每页数量 |
| pages | Int | 总页数 |
| total | Int | 总记录数 |
{
"list": [
{
"lockId": 1877,
"palmVeinId": 7,
"palmVeinName": "掌静脉名称",
"palmVeinNumber": "28881",
"palmVeinStatus": 1,
"startDate": 1709136000000,
"endDate": 1710000000000,
"palmVeinType": 1,
"weekDay": [],
"adminUid": 385,
"senderUsername": "19587288@qq.com",
"palmVeinRight": 0,
"isCoerced": 0,
"lockAlias": "TMH_daa43eb523e3",
"createDate": 1722059331000
}
],
"pageNo": 1,
"pageSize": 20,
"pages": 1,
"total": 1
}更新掌静脉有效期
请求链接:
/palmVein/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| palmVeinId | int | Y | 1 | 掌静脉ID |
| startDate | int | Y | 1705852800000 | 开始时间 |
| endDate | int | Y | 1705852800001 | 结束时间 |
| startTime | int | N | 1710032400000 | palmVeinType为循环可填,生效时间:09:00 转毫秒时间 |
| endTime | int | N | 1710079200000 | palmVeinType为循环可填,失效时间:23:00 转毫秒时间 |
| palmVeinType | int | N | 2 | 掌静脉类型:参考常量列表-掌静脉类型常量 |
| weekDay | array | N | [1,2,3] | 循环必填 |
| palmVeinName | String | N | "张三" | 掌静脉姓名 |
| addType | int | Y | 1 | 1-蓝牙下发,2-网关下发 |
| isCoerced | int | N | 0 | 0默认值 1-胁迫掌静脉,2-非胁迫掌静脉 |
| palmVeinRight | int | N | 0 | 是否管理员:0默认否 1是 2否 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {}
}更新掌静脉用户序号
请求链接:
/palmVein/updatePalmVeinUserNo请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| palmVeinId | int | Y | 1 | 掌静脉ID |
| palmVeinUserNo | String | Y | "12" | 掌静脉用户序号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}删除掌静脉
请求链接:
/palmVein/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| palmVeinId | int | Y | 1 | 掌静脉ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}清空掌静脉
请求链接:
/palmVein/clear请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {}
}校验掌静脉名称是否重复
请求链接:
/palmVein/checkPalmVeinName请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| palmVeinName | String | Y | "1" | 掌静脉名称 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {}
}获取掌静脉详情
请求链接:
/palmVein/detail请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| palmVeinId | int | Y | 7 | 掌静脉ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| lockId | Int | 锁ID |
| palmVeinId | Int | 掌静脉ID |
| palmVeinName | String | 掌静脉名称 |
| palmVeinNumber | String | 掌静脉编号 |
| palmVeinStatus | Int | 掌静脉状态 |
| startDate | Long | 开始时间 |
| endDate | Long | 结束时间 |
| palmVeinType | Int | 掌静脉类型 |
| weekDay | Array | 有效星期 |
| adminUid | Int | 管理员用户ID |
| senderUsername | String | 发送者用户名 |
| palmVeinRight | Int | 掌静脉权限 |
| isCoerced | Int | 是否胁迫 |
| lockAlias | String | 锁别名 |
| createDate | Long | 创建时间 |
{
"lockId": 1877,
"palmVeinId": 7,
"palmVeinName": "掌静脉名称",
"palmVeinNumber": "28881",
"palmVeinStatus": 1,
"startDate": 1709136000000,
"endDate": 1710000000000,
"palmVeinType": 1,
"weekDay": [],
"adminUid": 385,
"senderUsername": "19587288@qq.com",
"palmVeinRight": 0,
"isCoerced": 0,
"lockAlias": "TMH_daa43eb523e3",
"createDate": 1722059331000
}遥控
添加遥控
请求链接:
/remote/add请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| remoteName | String | Y | "大厅锁遥控" | 遥控名称 |
| remoteNumber | String | Y | "48675641491456" | 遥控编号 |
| remoteType | int | Y | 1 | 遥控类型:参考常量列表-遥控类型常量 |
| startDate | int | Y | 0 | 开始时间:0-普通;限时/单次/循环:毫秒时间戳 |
| endDate | int | Y | 0 | 结束时间:0-普通;限时/单次/循环:毫秒时间戳 |
| addType | int | Y | 1 | 下发类型:1-蓝牙 2-远程 |
| weekDay | array | N | 循环类型需传;永久/限时无需传入 | |
| startTime | int | N | 1710032400000 | remoteType为循环可填,生效时间:09:00 转毫秒时间戳 |
| endTime | int | N | 1710082800000 | remoteType为循环可填,失效时间:23:00 转毫秒时间戳 |
| remoteRight | int | Y | 0 | 是否授权管理员,值:1是 0否 |
| mac | String | N | "" | MAC地址 |
| electricQuantity | int | N | 100 | 遥控电量 |
| firmwareInfo | array | N | [] | 遥控固件信息 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"remoteId": 1
}
}更新遥控有效期
请求链接:
/remote/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| remoteId | int | Y | 1 | 遥控ID |
| startDate | int | Y | 1705852800000 | 开始时间 |
| endDate | int | Y | 1705852800001 | 结束时间 |
| startTime | int | N | 1710032400000 | remoteType为循环可填,生效时间:09:00 转毫秒时间 |
| endTime | int | N | 1710079200000 | remoteType为循环可填,失效时间:23:00 转毫秒时间 |
| remoteType | int | N | 2 | 遥控类型:参考常量列表-遥控类型常量 |
| weekDay | array | N | [1,2,3] | 循环必填 |
| remoteName | String | N | "张三" | 遥控姓名 |
| addType | int | Y | 1 | 1-蓝牙下发,2-网关下发 |
| isCoerced | int | N | 0 | 0默认值 1-胁迫人脸,2-非胁迫人脸 |
| remoteRight | int | N | 0 | 是否管理员:0默认否 1是 2否 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}遥控列表
请求链接:
/remote/list请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| searchStr | String | N | "家庭人脸" | 遥控名称关键词 |
| pageNo | int | N | 1 | 分页:默认1 |
| pageSize | int | N | 20 | 页数:默认20 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| list | Array | 遥控列表 |
| pageNo | Int | 页码 |
| pageSize | Int | 每页数量 |
| pages | Int | 总页数 |
| total | Int | 总记录数 |
{
"list": [
{
"remoteId": 8,
"remoteName": "遥控器名称No1",
"remoteNumber": "28881",
"mac": "",
"electricQuantity": 0,
"remoteStatus": 1,
"startDate": 1721577600000,
"endDate": 1721664000000,
"remoteType": 1,
"weekDay": [],
"adminUid": 385,
"senderUsername": "19587288@qq.com",
"remoteRight": 0,
"isCoerced": 0,
"lockAlias": "TMH_cf6ad1f4cbab1"
},
{
"remoteId": 7,
"remoteName": "遥控器名称No2",
"remoteNumber": "28882",
"mac": "",
"electricQuantity": 0,
"remoteStatus": 1,
"startDate": 1721577600000,
"endDate": 1721664000000,
"remoteType": 1,
"weekDay": [],
"adminUid": 385,
"senderUsername": "19587288@qq.com",
"remoteRight": 0,
"isCoerced": 0,
"lockAlias": "TMH_cf6ad1f4cbab1"
}
],
"pageNo": 1,
"pageSize": 20,
"pages": 1,
"total": 2
}更新遥控用户序号
请求链接:
/remote/updateRemoteUserNo请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| remoteId | int | Y | 1 | 遥控ID |
| remoteUserNo | String | Y | "12" | 遥控用户序号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}删除遥控
请求链接:
/remote/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| remoteId | int | Y | 1 | 遥控ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}清空遥控
请求链接:
/remote/clear请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 1 | 锁ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}校验遥控名称是否重复
请求链接:
/remote/checkRemoteName请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | int | Y | 500 | 锁ID |
| remoteName | String | Y | "1" | 遥控姓名 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {}
}获取遥控详情
请求链接:
/remote/detail请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| remoteId | int | Y | 500 | 遥控ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| remoteId | Int | 遥控ID |
| remoteName | String | 遥控名称 |
| remoteNumber | String | 遥控编号 |
| mac | String | MAC地址 |
| electricQuantity | Int | 遥控电量 |
| remoteStatus | Int | 遥控状态 |
| startDate | Long | 开始时间 |
| endDate | Long | 结束时间 |
| remoteType | Int | 遥控类型 |
| weekDay | Array | 有效星期 |
| adminUid | Int | 管理员用户ID |
| senderUsername | String | 发送者用户名 |
| remoteRight | Int | 遥控权限 |
| isCoerced | Int | 是否胁迫 |
| lockAlias | String | 锁别名 |
{
"remoteId": 8,
"remoteName": "遥控器名称No1",
"remoteNumber": "28881",
"mac": "",
"electricQuantity": 0,
"remoteStatus": 1,
"startDate": 1721577600000,
"endDate": 1721664000000,
"remoteType": 1,
"weekDay": [],
"adminUid": 385,
"senderUsername": "19587288@qq.com",
"remoteRight": 0,
"isCoerced": 0,
"lockAlias": "TMH_cf6ad1f4cbab1"
}授权管理员
添加授权管理员(限时/永久)
请求链接:
/key/send(跟发送电子钥匙接口相同)请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| endDate | String | Y | "1694757539000" | 限时:失效时间戳 |
| faceAuthentication | String | Y | "2" | 是否实名认证 |
| isCameraEnable | String | Y | "2" | |
| isRemoteUnlock | String | Y | "2" | 允许远程开锁:否:2 |
| keyNameForAdmin | String | Y | "%E5%98%BB%E5%98%BB" | 姓名 |
| keyRight | String | Y | "1" | 是否授权管理员:1是 0否 |
| lockId | String | Y | "9418451" | 锁ID |
| receiverUsername | String | Y | "18682150237" | 接受者 |
| remarks | String | Y | "" | 备注 |
| startDate | String | Y | "1689400680000" | 生效时间戳 |
| isOnlyManageSelf | int | Y | 0 | 是否仅管理自己发的钥匙:0/1 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"text": "{\"keyId\":109279005,\"receiverUid\":16474761}",
"size": 42,
"mimeType": "application/json;charset=utf-8"
}要授权的锁分组列表
请求链接:
/authorizedAdmin/listGroup请求方式:
POST
说明: 最高管理员的锁
- 参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| type | int | Y | 0 | 1只显示拥有的锁 2显示自己和授权的锁 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"lockNum": 1,
"keyGroupId": 0,
"keyGroupName": "未分组"
},
{
"lockNum": 1,
"keyGroupId": 503859,
"keyGroupName": "202307"
}
]
}获取分组下的锁列表
请求链接:
/authorizedAdmin/listLockByGroup请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| type | String | Y | "0" | 0所有 1超级管理员的锁权限 2管理员权限的锁 |
| keyGroupId | String | Y | "0" | 锁分组ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"lockId": 9418451,
"lockAlias": "吴"
}
]
}授权管理员列表
说明: 跟电子钥匙列表的接口一样,但必须在参数中加
keyRight=1为授权管理员
无线键盘
无线键盘列表
请求链接:
/wirelessKeypad/listByLock请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418481" | 锁ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": []
}重置无线键盘
请求链接:
/wirelessKeypad/clear请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lockId | String | Y | "9418481" | 锁ID |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}