Skip to content

钥匙管理模块

考勤

是否存在公司

  1. 请求链接: /attendanceCompany/isExistenceCompany

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418481"锁id
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "status": 200,
  "statusText": "",
  "content": {
    "companyId": 76089
  }
}

考勤信息列表(日傍)

  1. 请求链接: /v2/attendanceRecord/listByDate

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceDateStringY"1689301612592"当天时间
companyIdStringY"76089"
rankTypeintY1010:迟到傍
20:早到傍
30:勤奋傍
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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
    }
  ]
}

考勤信息列表(月傍)

  1. 请求链接: /v2/attendanceRecord/earlyListByMonth

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceDateStringY"1689301612592"当天时间
companyIdStringY"76089"
rankTypeintY1010:迟到傍
20:早到傍
30:勤奋傍
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
[
  {
    "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
  }
]

考勤信息列表-早到榜(按日期查询) (废弃)

  1. 请求链接: /attendanceRecord/listByDate

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceDateStringY"1689301612592"当天时间
companyIdStringY"76089"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "noPunchTimes": 0,
  "lateTimes": 0,
  "earlyTimes": 0,
  "attendanceRecordList": [
    {
      "headurl": "",
      "isSelf": 1,
      "staffName": "李文",
      "staffId": 178655,
      "attendanceType": 1,
      "openingTimeEnd": null,
      "openingTimeStart": null,
      "colorType": 0
    }
  ]
}

考勤信息列表-早到榜(按月查询) (废弃)

  1. 请求链接: /attendanceRecord/earlyListByMonth

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceDateStringY"1689301612592"
companyIdStringY"76089"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": [
    {
      "headurl": "",
      "isSelf": 1,
      "staffName": "李文",
      "staffId": 178655,
      "attendanceType": 1,
      "countryCode": "",
      "attendanceWay": "15080825640",
      "departmentId": 0,
      "openingTimeStart": 9999999999999
    }
  ]
}

考勤信息列表-迟到榜(按日期查询) (废弃)

  1. 请求链接: /attendanceRecord/lateListByDate

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceDateStringY"1689301612592"
companyIdStringY"76089"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "noPunchTimes": 0,
  "lateTimes": 0,
  "earlyTimes": 0,
  "attendanceRecordList": [
    {
      "headurl": "",
      "isSelf": 1,
      "staffName": "李文",
      "staffId": 178655,
      "attendanceType": 1,
      "openingTimeEnd": null,
      "openingTimeStart": null,
      "colorType": 0
    }
  ]
}

考勤信息列表-迟到榜(按月查询) (废弃)

  1. 请求链接: /attendanceRecord/lateEarlyListByMonth

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceDateStringY"1689301612592"
companyIdStringY"76089"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": [
    {
      "headurl": "",
      "isSelf": 1,
      "staffName": "李文",
      "staffId": 178655,
      "attendanceType": 1,
      "countryCode": "",
      "attendanceWay": "15080825640",
      "departmentId": 0,
      "openingTimeStart": 9999999999999
    }
  ]
}

考勤信息列表-勤奋榜(日榜/月榜)

  1. 请求链接: /attendanceRecord/listForHardworking

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceDateStringY"1689301612592"
companyIdStringY"76089"改为companyId
typeStringY"1"1为日榜,2为月榜
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据

日榜:

json
{
  "list": [
    {
      "staffName": "李文",
      "attendanceType": 1,
      "totalTime": "",
      "staffId": 178655,
      "isSelf": 1,
      "headurl": ""
    }
  ]
}

月榜:

json
{
  "list": [
    {
      "staffName": "李文",
      "attendanceType": 1,
      "totalTime": "",
      "avgTime": 0,
      "staffId": 178655,
      "countryCode": "",
      "attendanceWay": "222@qq.com",
      "isSelf": 1,
      "headurl": ""
    }
  ]
}

考勤信息详情查询

  1. 请求链接: /attendanceRecord/listByMonth

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceDateStringY"1689301612592"
companyIdStringY"76089"
staffIdStringY"178655"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "noPunchTimes": 9,
  "lateTimes": 0,
  "earlyTimes": 0,
  "monthList": [
    {
      "openingTimeEnd": "",
      "colorType": 3,
      "openingTimeStart": ""
    }
  ]
}

说明: colorType: 3未打卡,1迟到,2早退

获取考勤设置信息

  1. 请求链接: /attendanceCompany/query (路径改为:attendanceCompany/query)

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
companyIdStringY"76089"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "staffNum": 1,
  "companyName": "深圳市志超科技",
  "attendanceType": 0,
  "workDay": "1,2,3,4,5,6",
  "workEndTime": 1688637600000,
  "workStartTime": 1688605200000
}

说明: attendanceType: 0自定义, 1单修/双休

修改考勤设置信息

  1. 请求链接: /attendanceCompany/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceTypeStringY"0"工作日设置,0为自定义,1为单双休
companyIdStringY"76089"
typeStringY"1"1为修改公司名称,2为修改workEndTime,workStartTime,3为修改workDay自定义, 4为修改workDay,attendanceType=1单双休
companyNameStringN"深圳市志超科技有限公"key为获取考勤信息接口里面返回字段
workEndTimeStringN
workStartTimeStringN
workDayStringN
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

修改考勤设置-时间

  1. 请求链接: /companyForSciener/update

  2. 请求方式: POST (跟上面一样)

  3. 参数说明:

名称类型是否必需示例描述
attendanceTypeStringY"0"attendanceType=1的时候,则为本周的设置
companyForScienerIdStringY"76089"
typeStringY"2"type=3,则修改工作日workDay
workEndTimeStringY1688605200000
workStartTimeStringY1688605200000
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

考勤设置获取员工列表

  1. 请求链接: /staff/list

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
companyForScienerIdStringY"76089"改为companyId
lockIdStringY"9418481"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": [
    {
      "headurl": "",
      "staffName": "李文",
      "staffId": 178655,
      "attendanceType": 1,
      "countryCode": "",
      "attendanceWay": "15080825640",
      "cardStatus": 0,
      "reason": ""
    }
  ]
}

说明: cardStatus: 0正常 1打卡失败
reason: 打开方式无效原因

考勤设置添加员工

  1. 请求链接: /staff/add

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceTypeStringY"1"打卡方式:看常量列表-打开方式
attendanceWayStringY"9851425"用户账号、密码、卡号、指纹号,根据attendanceType来变化
companyForScienerIdStringY"76089"改为companyId
haveStringY"2"1有,2无。
如果是APP,无钥匙为2,无钥匙则输入用户账号并发送钥匙,如果账户不存在,则不添加。
如果是无密码,则调用获取密码接口。
如果是无卡,则调用发卡接口
如果是指纹,则调用获取指纹接口
staffNameStringY"%E6%9D%8E%E5%BC%BA"
countryCodeString打开方式为1,无钥匙时输入用户账号,如果是手机号,则需要传国家代码
usernameTypeString打开方式为1时需要传,1为手机号,2为邮箱
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据

失败示例:

json
{
  "errorCode": -1002,
  "description": "用户不存在。",
  "alert": "用户不存在。",
  "errorMsg": "Invalid User Name."
}

如果用户已经有钥匙,则返回:

json
{
  "errorCode": -4044,
  "alert": "该打卡方式已有其他员工正在使用。",
  "errorMsg": "This method has been used by another Staff member",
  "description": "该打卡方式已有其他员工正在使用。"
}

成功示例:

json
{
  "staffid": 1122
}

考勤设置添加员工-选择钥匙

  1. 请求链接: /staff/attendanceList

  2. 请求方式: POST

  3. 参数说明: 有钥匙为1,可以选择员工钥匙

名称类型是否必需示例描述
companyForScienerIdStringY"76089"改为companyId
typeStringY11为APP,2为密码,3为卡,4为指纹,返回数据中,attendanceWay分别为用户名、密码、卡号、指纹号
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": [
    {
      "attendanceWay": "13685985660",
      "staffName": "李总"
    },
    {
      "attendanceWay": "13685985661",
      "staffName": "h总"
    },
    {
      "attendanceWay": "13685985@qq.com",
      "staffName": "李总"
    }
  ]
}

考勤设置编辑员工信息

  1. 请求链接: /staff/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
attendanceTypeStringY"1"打卡方式:1为APP,2为密码,3为卡,4为指纹
attendanceWayStringY"9851425"用户账号、密码、卡号、指纹号,根据attendanceType来变化
staffIdStringY"76089"
haveStringY"2"1有,2无。
如果是APP,无钥匙为2,无钥匙则调用发送钥匙功能。
如果是无密码,则调用获取密码接口。
如果是无卡,则调用发卡接口
如果是指纹,则调用获取指纹接口
staffNameStringY"%E6%9D%8E%E5%BC%BA"
countryCodeString打开方式为1,无钥匙时输入用户账号,如果是手机号,则需要传国家代码
usernameTypeString打开方式为1时需要传,1为手机号,2为邮箱
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes."
}

考勤设置节假日列表

  1. 请求链接: /vacation/list

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
companyForScienerIdStringY"76089"改为companyId
vacationYearStringY"2023"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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
      }
    ]
  ]
}

考勤设置添加节假日

  1. 请求链接: /vacation/add

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
companyForScienerIdStringY"76089"改为companyId
fillClassDateStringY"1695484800000,1694880000000"补班日期
vacationEndDateStringY"1696694399000"
vacationNameStringY"李文"姓名
vacationStartDateStringY"1696089600000"
  1. 返回参数及示例:
参数类型描述
vacationIdInt节假日ID
json
{
  "vacationId": 2079
}

删除节假日

  1. 请求链接: /vacation/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
vacationIdStringY"754013"
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

删除公司

  1. 请求链接: /attendanceCompany/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
companyIdintY754013考勤公司ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

考勤删除员工

  1. 请求链接: /staff/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
staffIdintY1考勤员工ID
deleteKeyintN0是否删除员工钥匙
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

电子钥匙

电子钥匙列表

  1. 请求链接: /key/listUser

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
endDateStringY"0"
keyIdStringY"0"
keyStatusarrayN[110401,110402]"110403" 待生效
"110401" 正常使用
"110402" 待接收
"110405" 已冻结
"110412" 已过期
keyRightintN1是否授权管理员 1是 0否
lockIdStringY"9418481"
pageNoStringY"1"
pageSizeStringY"20"
startDateStringY"0"
searchStrStringN"小李"筛选关键词:姓名、接收者账号
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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
}

电子钥匙重置

  1. 请求链接: /key/reset

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockFlagPosStringY"1"
lockIdStringY"9418481"
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

发送电子钥匙

  1. 请求链接: /key/send

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
createUserintN"1"发送的邮箱未注册时重新调用接口加这个字段传1
countryCodeStringNcreateUser=1时使用
usernameTypeStringN1为手机号,2为邮箱,createUser=1时使用
endDateStringY"1689403439000"有效期结束时间(时间戳,单位毫秒)
faceAuthenticationStringY"2"是否实名认证:1是,2否
isCameraEnableStringY"2"
isRemoteUnlockStringY"2"是否支持远程开锁:1-是、2-否
keyNameForAdminStringY"李小"钥匙名(姓名)
keyRightStringY"0"是否授权管理员钥匙: 1-是、0-否,默认不授权
keyTypeStringY"4"类型,发送循环钥匙是传,参考常量列表
lockIdStringY"9418481"锁ID
receiverUsernameStringY"786612630%40qq.com"接收方用户名
remarksStringY""备注,留言
startDateStringY"1689316980000"有效期开始时间(时间戳,单位毫秒)
weekDaysStringY"[1, 2, 3, 4, 7]"
startTimeintN1710032400000keyType为循环可填,生效时间:09:00 转毫秒时间
endTimeintN1710079200000keyType为循环可填,失效时间:23:00 转毫秒时间
isOnlyManageSelfintN0是否仅管理自己发的钥匙0/1
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据

成功示例:

json
{
  "keyId": 109074349,
  "receiverUid": 16599773
}

失败示例:

说明: 如果是"发送失败,钥匙只能发送给已注册的账号。"这种情况的话需要再次调用接口,然后createUser传1。请只判断425为传createUser,其他错误代码仍然按照全局异常处理。

json
{
  "errorCode": 425,
  "alert": "发送失败,钥匙只能发送给已注册的账号。",
  "errorMsg": "Failed. The eKey can only be sent to a registered account.",
  "description": "发送失败,接收者账号未注册,请注册后再试。"
}

发送电子钥匙(v2)

  1. 请求链接: /v2/key/send

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
createUserStringN"1"发送的邮箱未注册时重新调用接口加这个字段传1
countryCodeStringNcreateUser=1时使用
usernameTypeStringN1为手机号,2为邮箱,createUser=1时使用
endDateStringY"1689403439000"有效期结束时间(时间戳,单位毫秒)
faceAuthenticationStringY"2"是否实名认证:1是,2否
realNameStringN"张三"实名认证打开后面必填写,身份证姓名
idCardNumberStringN"10000000000000000"实名认证打开后面必填写,身份证号码
isRemoteUnlockStringY"2"是否支持远程开锁:1-是、2-否
keyNameForAdminStringY"李小"钥匙名(姓名)
keyRightStringY"0"是否授权管理员钥匙: 1-是、0-否,默认不授权
keyTypeStringY"4"类型,发送循环钥匙是传,参考常量列表
lockIdStringY"9418481"锁ID
receiverUsernameStringY"786612630%40qq.com"接收方用户名
remarksStringY""备注,留言
startDateStringY"1689316980000"有效期开始时间(时间戳,单位毫秒)
weekDaysStringY"[1, 2, 3, 4, 7]"
startTimeintN1710032400000keyType为循环可填,生效时间:09:00 转毫秒时间
endTimeintN1710079200000keyType为循环可填,失效时间:23:00 转毫秒时间
isOnlyManageSelfintN0是否仅管理自己发的钥匙0/1
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据

成功示例:

json
{
  "keyId": 109074349,
  "receiverUid": 16599773,
  "receiverUser": 1,
  "tips": "你收到一把电子钥匙,您的账号信息如下:账号:545448@qq.com 初始化密码:636f6d"
}

说明: receiverUser: 1首次代表创建账号

失败示例:

说明: 如果是"发送失败,钥匙只能发送给已注册的账号。"这种情况的话需要再次调用接口,然后createUser传1。请只判断425为传createUser,其他错误代码仍然按照全局异常处理。

json
{
  "errorCode": 425,
  "alert": "发送失败,钥匙只能发送给已注册的账号。",
  "errorMsg": "Failed. The eKey can only be sent to a registered account.",
  "description": "发送失败,接收者账号未注册,请注册后再试。"
}

编辑电子钥匙名字

  1. 请求链接: /key/modifyKeyNameForAdmin

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyIdStringY"109086023"
keyNameForAdminStringY"%E8%B5%B5%E5%A7%90"钥匙名字
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

编辑电子钥匙的有效期、有效时间、有效日

  1. 请求链接: /key/updateKeyDate

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyIdStringY"109086023"
lockIdStringY"9418481"
endDateStringY"1689262860000"有效期结束时间(时间戳,单位毫秒)
startDateStringY"1689234060000"有效期开始时间(时间戳,单位毫秒)
weekDaysStringY"%5B1%2C7%5D"
keyTypeintN1钥匙类型,只支持:永久改限时
startTimeintN1710032400000keyType为循环可填,生效时间:09:00 转毫秒时间
endTimeintN1710079200000keyType为循环可填,失效时间:23:00 转毫秒时间
isOnlyManageSelfintN0如果是授权管理员-仅管理自己的钥匙
remoteEnableintN0是否支持远程开锁
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

远程开锁(钥匙详情-远程开锁)

  1. 请求链接: /key/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
isRemoteUnlockStringY"2"开启:1 关闭:2
keyIdStringY"109225463"
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

删除电子钥匙

  1. 请求链接: /key/delete

  2. 请求方式: POST

说明: 如果是最高管理员删除锁,请调用删除锁接口

  1. 参数说明:
名称类型是否必需示例描述
keyIdintY"754013"钥匙ID
includeUnderlingsintN0是否删除授权管理员下的钥匙:授权管理员下可传
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

更新锁用户NO

  1. 请求链接: /key/updateLockUserNo

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyIdStringY"754013"钥匙ID
lockUserNoStringY锁用户NO
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

获取单把钥匙

  1. 请求链接: /key/get

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"754013"锁ID
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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版本后废弃)

  1. 请求链接: /key/noticeSubmit

  2. 请求方式: POST

说明: 1.0.51版本后废弃

  1. 参数说明:
名称类型是否必需示例描述
lockIdintY500锁ID
keyIdintY10717钥匙ID
receiverNameStringY"123@168.com"通知账号,手机号/邮箱
channelTypeintY1通知渠道 1短信 2邮件
openDoorTypeintY11电子钥匙 2密码
templateTypeStringY"template_default"模板Type,通过获取模板列表的type获取
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

发送短信、邮件通知(V2 1.0.52+版本)

  1. 请求链接: /v2/key/noticeSubmit

  2. 请求方式: POST

说明: 1.0.52+版本,新增短信模式强制输入国家区号字段:countryCode

  1. 参数说明:
名称类型是否必需示例描述
lockIdintY500锁ID
keyIdintY10717钥匙ID
receiverNameStringY"123@168.com"通知账号,手机号/邮箱
channelTypeintY1通知渠道 1短信 2邮件
openDoorTypeintY11电子钥匙 2密码
templateTypeStringY"template_default"模板Type,通过获取模板列表的type获取
countryCodeintN86短信渠道:必须
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

获取电子钥匙通知模板

  1. 请求链接: /key/getNoticeTemplate

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
keyIdintY10717钥匙ID
channelTypeintY1渠道:1短信 2邮箱
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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: 预计消耗短信费用单位(条)

设置授权管理员

  1. 请求链接: /key/authorize

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyIdintY1000钥匙KeyId
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

取消授权管理员

  1. 请求链接: /key/unauthorize

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyIdintY1000钥匙KeyId
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

冻结电子钥匙

  1. 请求链接: /key/freeze

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyIdintY1000钥匙KeyId
includeUnderlingsintN0(授权管理员可设)是否冻结下属所有钥匙
isAllLockintN0是否冻结授权管理员下所有锁发送的电子钥匙
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

解冻电子钥匙

  1. 请求链接: /key/unfreeze

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyIdintY1000钥匙KeyId
includeUnderlingsintN0(授权管理员可设)是否解冻下属所有钥匙
isAllLockintN0是否解冻授权管理员下所有锁发送的电子钥匙
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

检测实名认证是否支持开启

  1. 请求链接: /key/checkFace

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

是否需要人脸认证

  1. 请求链接: /key/isFaceValid

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyIdintY1000钥匙ID
lockIdintY500锁Id
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {
    "isNeedVerify": 1
  }
}

说明: isNeedVerify: 1需要认证 0不需要

获取指定锁下所有userNo

  1. 请求链接: /key/getUserNoList

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁Id
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {
    "userNos": []
  }
}

更新钥匙实名认证信息

  1. 请求链接: /key/updateRealName

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁Id
keyIdintY100钥匙ID
uidintY1钥匙用户UID
faceAuthenticationintY0实名认证开关:0默认关闭 1打开 2关闭
realNameStringN"张三"身份证真实姓名
idCardNumberStringN"100000000000000000000"身份证号
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {}
}

获取钥匙详情

  1. 请求链接: /key/detail

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁Id
keyIdintY100钥匙ID
  1. 返回参数及示例:
参数类型描述
idInt钥匙ID
clientIdString客户端ID
lockOwnerIdInt锁所有者ID
apiUserIdIntAPI用户ID
lockIdInt锁ID
senderUserIdInt发送者用户ID
receiverUsernameTypeInt接收者用户名类型
keyNameString钥匙名称
keyTypeInt钥匙类型
startDateLong开始时间
endDateLong结束时间
weekDaysArray有效星期
remarksString备注
remoteEnableInt远程开锁
isCameraEnableInt摄像头启用
faceAuthenticationInt实名认证
lastFaceValidateTimeLong上次实名认证时间
nextFaceValidateTimeLong下次实名认证时间
keyRightInt钥匙权限
remoteUnlockSwitchInt远程开锁开关
userTypeInt用户类型
keyStatusInt钥匙状态
groupIdInt分组ID
lockUserNoInt锁用户编号
businessIdInt业务ID
customInfoArray自定义信息
created_atString创建时间
updated_atString更新时间
isOnlyManageSelfInt是否仅管理自己
json
{
  "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
}

密码

密码钥匙列表

  1. 请求链接: /keyboardPwd/listSendRecords

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
keyStatusStringY"0"
lockIdStringY"9418481"锁ID,由锁初始化接口生成
pageNoStringY"1"页码,从1开始
pageSizeStringY"20"每页数量,最大100
searchStrStringN"小李"筛选关键词:姓名、密码
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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

重置密码钥匙

  1. 请求链接: /keyboardPwd/reset

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418481"
passwordKeyarrayY[166,209,45,0,238,240,244,163,107,252,40,67,27,236,98,8]
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

获取密码

  1. 请求链接: /keyboardPwd/get

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY18481
keyboardPwdNameStringY"-"密码名称
keyboardPwdTypeintY2密码类型:见下方说明
startDateintY1689325200000有效期开始时间(时间戳,单位毫秒),期限密码必传
endDateintY1689325200000有效期结束时间(时间戳,单位毫秒),期限/循环密码必传
isCoercedintY2胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警)
hoursStartintN0-23循环密码必填
hoursEndintN1-24循环密码必填
pwdRightintY0是否授权管理员,值:1是 0否
isCustomintN00/1 是否获取自定义密码

说明: 密码类型:1:单次,2:永久,3:限期,4:删除,5:周末循环,6:每日循环,7:工作日循环,8:周一循环,9:周二循环,10:周三循环,11:周四循环,12:周五循环,13:周六循环,14:周天循环

  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "keyboardPwd": "98626987",
  "keyboardPwdId": 304182299
}

获取发送的信息内容

  1. 请求链接: /keyboardPwd/getNotifyContent

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
countryCodeStringY"%2B86"
keyboardPwdIdStringY"304182299"键盘密码ID
templateIdStringY"0"
typeStringY"1"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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": "默认模板"
}

删除密码

  1. 请求链接: /keyboardPwd/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"754013"锁ID
keyboardPwdIdStringY密码ID
deleteTypeIntY1删除方式:1-通过APP走蓝牙删除,必需先通过APP蓝牙删除后再调用该接口
2-通过网关或WiFi锁删除,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口从锁里删除密码
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

修改密码

  1. 请求链接: /keyboardPwd/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY18481
keyboardPwdIdStringY"481"密码ID
keyboardPwdNameStringY"-"密码名称
startDateintY1689325200000有效期开始时间(时间戳,单位毫秒),期限密码必传
endDateintY1689325200000有效期结束时间(时间戳,单位毫秒),期限密码必传
isCoercedStringN胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警)
hoursStartintN0-23循环密码必填
hoursEndintN1-24循环密码必填
newKeyboardPwdStringN新的密码
changeTypeStringY"1"修改方式:1-通过APP走蓝牙修改,不传默认1,必需先通过APP SDK蓝牙修改后调用该接口
2-通过网关或WiFi锁修改,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口修改生效
keyboardPwdTypeintN3密码类型,只在永久类型下支持改为限时类型
pwdRightintN0是否管理员
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

自定义密码

  1. 请求链接: /keyboardPwd/add

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"754013"锁ID
keyboardPwdNameStringN密码名称
keyboardPwdStringY密码
keyboardPwdTypeStringN密码类型:2-永久,3-限期,不传默认为3
startDateStringN密码有效期开始时间(时间戳,单位毫秒)
endDateStringN密码有效期结束时间(时间戳,单位毫秒)
addTypeStringY"1"添加方式:1-通过APP走蓝牙添加,不传默认1,必需先通过APP SDK蓝牙添加后调用该接口
2-通过网关或WiFi锁添加,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口添加生效
isCoercedStringN胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警)
pwdRightintN是否为管理员
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

更新密码用户序号

  1. 请求链接: /keyboardPwd/updatePwdUserNo

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"754013"锁ID
keyboardPwdIdStringY密码ID,与下面的密码必须传一个才能更新
pwdUserNoStringY密码用户序号
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

发送短信、邮件通知(1.0.51版本后废弃)

  1. 请求链接: /keyboardPwd/noticeSubmit

  2. 请求方式: POST

说明: 1.0.51版本后废弃

  1. 参数说明:
名称类型是否必需示例描述
lockIdintY500锁ID
keyboardPwdIdintY10717密码ID
receiverNameStringY"123@168.com"通知账号,手机号/邮箱
channelTypeintY1通知渠道 1短信 2邮件
openDoorTypeintY21电子钥匙 2密码
templateTypeStringY"template_default"模板Type,通过获取模板列表的type获取
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

发送短信、邮件通知(V2 >=1.0.52版本)

  1. 请求链接: /v2/keyboardPwd/noticeSubmit

  2. 请求方式: POST

说明: >=1.0.52版本,新增短信模式强制输入国家区号字段:countryCode

  1. 参数说明:
名称类型是否必需示例描述
lockIdintY500锁ID
keyboardPwdIdintY10717密码ID
receiverNameStringY"123@168.com"通知账号,手机号/邮箱
channelTypeintY1通知渠道 1短信 2邮件
openDoorTypeintY21电子钥匙 2密码
templateTypeStringY"template_default"模板Type,通过获取模板列表的type获取
countryCodeintN86短信渠道:必须
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

获取密码通知模板

  1. 请求链接: /keyboardPwd/getNoticeTemplate

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
keyboardPwdIdintY10717密码ID
channelTypeintY1渠道:1短信 2邮箱
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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: 预计消耗短信费用单位(条)

批量获取锁密码

  1. 请求链接: /keyboardPwd/get

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdsarrayY[18481,18412]
keyboardPwdNameStringY"-"密码名称
keyboardPwdTypeintY2密码类型:见下方说明
startDateintY1689325200000有效期开始时间(时间戳,单位毫秒),期限密码必传
endDateintY1689325200000有效期结束时间(时间戳,单位毫秒),期限/循环密码必传
isCoercedintY2胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警)
hoursStartintN0-23循环密码必填
hoursEndintN1-24循环密码必填

说明: 密码类型:1:单次,2:永久,3:限期,4:删除,5:周末循环,6:每日循环,7:工作日循环,8:周一循环,9:周二循环,10:周三循环,11:周四循环,12:周五循环,13:周六循环,14:周天循环

  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
[
  {
    "lockId": 18481,
    "keyboardPwd": "50494835722",
    "keyboardPwdId": 6514
  },
  {
    "lockId": 18482,
    "keyboardPwd": "50529243792",
    "keyboardPwdId": 6515
  }
]

校验密码名称或密码是否已存在

  1. 请求链接: /keyboardPwd/checkKeyboardpwdName

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY18481
keyboardPwdNameStringN"-"密码名称
keyboardPwdintN""明文密码
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

校验密码是否已存在

  1. 请求链接: /keyboardPwd/checkKeyboardPwd

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY18481
keyboardPwdStringY"68787"密码
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

获取密码详情

  1. 请求链接: /keyboardPwd/detail

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY18481
keyboardPwdIdintY68787密码ID
  1. 返回参数及示例:
参数类型描述
keyboardPwdIdInt密码ID
keyboardPwdString密码
endDateLong结束时间
startDateLong开始时间
keyboardPwdTypeString密码类型
typeInt类型
lockNameString锁名称
hoursStartInt开始小时
hoursEndInt结束小时
json
{
  "keyboardPwdId": 6622,
  "keyboardPwd": "9156821567",
  "endDate": 1717405200000,
  "startDate": 1717383600000,
  "keyboardPwdType": "单次",
  "type": 1,
  "lockName": "TMH_cf6ad1f4cbab",
  "hoursStart": 0,
  "hoursEnd": 23
}

卡列表

  1. 请求链接: /identityCard/list

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418451"
pageNoStringY"1"
pageSizeStringY"20"
searchStrStringY"123"搜索需传入此参数
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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: 是否管理员

修改卡姓名/有效期

  1. 请求链接: /identityCard/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418451"
cardIdStringY"41585169"
cardNameStringN"魏工1"修改卡姓名传入
startDateStringN"1689580800000"修改有效期传入
endDateStringN"1694941259000"修改有效期传入
weekDayStringN"[1,2,3]"
isCoercedStringN胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警)
changeTypeintY11-蓝牙 2-网关
startTimeintN1710032400000cardType为循环可填,生效时间:09:00 转毫秒时间
endTimeintN1710079200000cardType为循环可填,失效时间:23:00 转毫秒时间
cardTypeintN2卡类型,只在永久类型下支持改为限时类型
cardRightintN0是否管理员
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

卡操作记录

说明: 请参考操作记录文档

删除卡/重置卡

  1. 请求链接: /identityCard/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
cardIdStringY"41585169"
lockIdStringY"9418481"
typeStringY"0"0:删除卡 1:重置卡
deleteTypeStringN"1"删除方式:1-通过APP走蓝牙删除,不传默认1,必需先通过APP蓝牙删除后再调用该接口
2-通过网关或WiFi锁删除,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口从锁里删除卡
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

添加卡(永久/限时/循环)

  1. 请求链接: /identityCard/add

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418481"
endDateStringY"0"永久:"0";限时/循环:"失效时间戳"
cardNameStringY"西子"卡姓名
cardNumberStringY"48675641491456"
cardTypeintY1类型:在常量列表
addTypeStringY"1"1蓝牙,2远程,3发卡器
startDateStringY"0"永久:"0";限时/循环:"生效时间戳"
weekDayStringN"[1,2,3,4,5]"循环类型需传;永久/限时无需传入
isCoercedStringN胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警)
startTimeintN1710032400000cardType为循环可填,生效时间:09:00 转毫秒时间戳
endTimeintN1710082800000cardType为循环可填,失效时间:23:00 转毫秒时间戳
cardRightintY0是否授权管理员,值:1是 0否
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

更新卡用户序号

  1. 请求链接: /identityCard/updateCardUserNo

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"754013"锁ID
cardIdStringY卡ID
cardUserNoStringY卡用户序号
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

校验IC卡名称是否已存在

  1. 请求链接: /identityCard/checkIdentityCardName

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY754013锁ID
cardNameStringYIC卡名称
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示不存在",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

获取IC卡详情

  1. 请求链接: /identityCard/detail

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
cardIdintY18481卡ID
  1. 返回参数及示例:
参数类型描述
clientIdString客户端ID
lockOwnerIdInt锁所有者ID
apiUserIdIntAPI用户ID
lockIdInt锁ID
cardNumberString卡号
cardNameString卡名称
startDateLong开始时间
endDateLong结束时间
cardStatusInt卡状态
cardTypeInt卡类型
cardRightInt卡权限
weekDayArray有效星期
addTypeInt添加类型
isCoercedInt是否胁迫
cardUserNoInt卡用户编号
businessIdInt业务ID
created_atString创建时间
updated_atString更新时间
cardIdInt卡ID
json
{
  "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
}

指纹

指纹列表(搜索指纹)

  1. 请求链接: /fingerprint/list

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418481"
pageNoStringY"1"
pageSizeStringY"20"
searchStrStringY"123"搜索需传入此参数
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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: 是否管理员

添加指纹(永久/限时/循环)

  1. 请求链接: /fingerprint/add

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418481"
endDateStringY"0"永久:"0";限时/循环:"失效时间戳"
fingerprintNameStringY"西子"指纹姓名
fingerprintNumberStringY"48675641491456"
fingerprintTypeStringY"1"永久:1;限时:2,单次:3,循环:4
addTypeStringY"1"1蓝牙,2远程
isCoercedStringY"0"胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警)
startDateStringY"0"永久:"0";限时/循环:"生效时间戳"
weekDayStringN"[1,2,3,4,5]"循环类型需传;永久/限时无需传入
fingerRightintY0是否授权管理员,值:1是 0否
startTimeintN1710032400000fingerprintType为循环可填,生效时间:09:00 转毫秒时间戳
endTimeintN1710082800000fingerprintType为循环可填,失效时间:23:00 转毫秒时间戳
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "fingerprintId": 16988183
}

重置指纹

  1. 请求链接: /fingerprint/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
fingerprintIdStringN""1:重置指纹时不传
lockIdStringY"9418451"
typeStringY"1"0:删除指纹 1:重置指纹
deleteTypeStringN删除方式:1-通过APP走蓝牙删除,不传默认1,必需先通过APP蓝牙删除后再调用该接口
2-通过网关或WiFi锁删除,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口从锁里删除指纹
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

更新指纹用户序号

  1. 请求链接: /fingerprint/updateFingerprintUserNo

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
fingerprintIdStringY"3"
lockIdStringY"28"
fingerprintUserNoStringY"12"
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

修改指纹有效期,胁迫指纹,重命名

  1. 请求链接: /fingerprint/changePeriod

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
fingerprintIdStringY"3"
lockIdStringY"28"
weekDayStringN"[1,2,3]"
startDateStringN
endDateStringN
isCoercedStringN胁迫指纹:1;非胁迫指纹:2(胁迫指纹开锁触发报警)
fingerprintNameStringN姓名
changeTypeintY11-蓝牙下发,2-网关下发
startTimeintN1710032400000fingerprintType为循环可填,生效时间:09:00 转毫秒时间
endTimeintN1710079200000fingerprintType为循环可填,失效时间:23:00 转毫秒时间
fingerprintTypeintN2指纹类型,只在永久类型下支持改为限时类型
fingerRightintN0是否管理员
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "description": "表示成功或是。",
  "errorMsg": "success or means yes",
  "errorCode": 0
}

校验指纹名称是否已存在

  1. 请求链接: /fingerprint/checkFingerprintName

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY18481
fingerprintNameStringY"-"指纹名称
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

获取胁迫指纹列表

  1. 请求链接: /fingerprint/getCoercedList

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY18481锁ID
pageNointN1页码
pageSizeintN10页数
searchStrStringN""
  1. 返回参数及示例:
参数类型描述
listArray指纹列表
pageNoInt页码
pageSizeInt每页数量
pagesInt总页数
totalInt总记录数
json
{
  "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
}

获取指纹详情

  1. 请求链接: /fingerprint/detail

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
fingerprintIdintY18481指纹ID
  1. 返回参数及示例:
参数类型描述
clientIdString客户端ID
lockOwnerIdInt锁所有者ID
apiUserIdIntAPI用户ID
lockIdInt锁ID
fingerprintStatusInt指纹状态
fingerprintNumberString指纹编号
fingerprintTypeInt指纹类型
fingerprintNameString指纹名称
startDateLong开始时间
endDateLong结束时间
weekDayArray有效星期
addTypeInt添加类型
fingerRightInt指纹权限
isCoercedInt是否胁迫
fingerprintUserNoInt指纹用户编号
businessIdInt业务ID
created_atString创建时间
updated_atString更新时间
fingerprintIdInt指纹ID
json
{
  "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
}

人脸

添加人脸

  1. 请求链接: /face/add

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
faceNameStringY"大厅锁人脸"人脸名称
faceNumberStringY"48675641491456"人脸编号
faceUserNointY12锁用户号
faceTypeintY1人脸类型:1永久 2限时 4循环
startDateintY0开始时间:0-普通;限时/单次/循环:毫秒时间戳
endDateintY0结束时间:0-普通;限时/单次/循环:毫秒时间戳
featureDataStringY人脸特征值数据,16进制字符串
addTypeintY1下发类型:1-蓝牙 2-远程
cyclicConfigarrayN循环时间设置(废弃),目前只支持每天开始时间和结束时间一样的设置
weekDayarrayN循环类型需传;永久/限时无需传入
startTimeintN1710032400000faceType为循环可填,生效时间:09:00 转毫秒时间戳
endTimeintN1710082800000faceType为循环可填,失效时间:23:00 转毫秒时间戳
faceRightintY0是否授权管理员,值:1是 0否
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {
    "faceId": 1
  }
}

人脸列表

  1. 请求链接: /face/list

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
searchStrStringN"家庭人脸"人脸名称关键词
pageNointN1分页:默认1
pageSizeintN20页数:默认20
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "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
  }
}

删除人脸

  1. 请求链接: /face/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
faceIdintY1人脸ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

清空人脸

  1. 请求链接: /face/clear

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

重命名人脸名称

  1. 请求链接: /face/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
faceIdintY1人脸ID
faceNameStringY"重命名新人脸名"重命名名称
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

更新人脸有效期(限时/单次/循环)

  1. 请求链接: /face/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
faceIdintY1人脸ID
startDateintY1705852800000开始时间
endDateintY1705852800001结束时间
startTimeintN1710032400000faceType为循环可填,生效时间:09:00 转毫秒时间
endTimeintN1710079200000faceType为循环可填,失效时间:23:00 转毫秒时间
faceTypeintN2人脸类型,只在永久类型下支持改为限时类型
weekDayarrayN[1,2,3]循环必填
faceNameStringN"张三"人脸姓名
addTypeintY11-蓝牙下发,2-网关下发
isCoercedintN00默认值 1-胁迫人脸,2-非胁迫人脸
faceRightintN0是否管理员
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

校验人脸名称是否重复

  1. 请求链接: /face/checkFaceName

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
faceNameStringY"1"人脸名称
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

更新人脸用户序号

  1. 请求链接: /face/updateFaceUserNo

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
faceIdintY1人脸ID
faceUserNoStringY"12"人脸用户序号
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

获取人脸详情

  1. 请求链接: /face/detail

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
faceIdintY17人脸ID
  1. 返回参数及示例:
参数类型描述
clientIdString客户端ID
lockOwnerIdInt锁所有者ID
apiUserIdIntAPI用户ID
lockIdInt锁ID
faceNameString人脸名称
faceNumberString人脸编号
featureDataString人脸特征值数据
startDateLong开始时间
endDateLong结束时间
weekDayArray有效星期
faceTypeInt人脸类型
statusInt人脸状态
cyclicConfigArray循环配置
addTypeInt添加类型
isCoercedInt是否胁迫
faceRightInt人脸权限
businessIdInt业务ID
dateInt日期
created_atString创建时间
updated_atString更新时间
faceUserNoInt人脸用户编号
faceIdInt人脸ID
json
{
  "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
}

掌静脉

添加掌静脉

  1. 请求链接: /palmVein/add

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
palmVeinNameStringY"大厅锁掌静脉"掌静脉名称
palmVeinNumberStringY"48675641491456"掌静脉编号
palmVeinTypeintY1掌静脉类型:参考常量列表-掌静脉类型常量
startDateintY0开始时间:0-普通;限时/单次/循环:毫秒时间戳
endDateintY0结束时间:0-普通;限时/单次/循环:毫秒时间戳
addTypeintY1下发类型:1-蓝牙 2-远程
weekDayarrayN循环类型需传;永久/限时无需传入
startTimeintN1710032400000palmVeinType为循环可填,生效时间:09:00 转毫秒时间戳
endTimeintN1710082800000palmVeinType为循环可填,失效时间:23:00 转毫秒时间戳
palmVeinRightintY0是否授权管理员,值:1是 0否
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {
    "palmVeinId": 1
  }
}

掌静脉列表

  1. 请求链接: /palmVein/list

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
searchStrStringN"家庭掌静脉"掌静脉名称关键词
pageNointN1分页:默认1
pageSizeintN20页数:默认20
  1. 返回参数及示例:
参数类型描述
listArray掌静脉列表
pageNoInt页码
pageSizeInt每页数量
pagesInt总页数
totalInt总记录数
json
{
  "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
}

更新掌静脉有效期

  1. 请求链接: /palmVein/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
palmVeinIdintY1掌静脉ID
startDateintY1705852800000开始时间
endDateintY1705852800001结束时间
startTimeintN1710032400000palmVeinType为循环可填,生效时间:09:00 转毫秒时间
endTimeintN1710079200000palmVeinType为循环可填,失效时间:23:00 转毫秒时间
palmVeinTypeintN2掌静脉类型:参考常量列表-掌静脉类型常量
weekDayarrayN[1,2,3]循环必填
palmVeinNameStringN"张三"掌静脉姓名
addTypeintY11-蓝牙下发,2-网关下发
isCoercedintN00默认值 1-胁迫掌静脉,2-非胁迫掌静脉
palmVeinRightintN0是否管理员:0默认否 1是 2否
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {}
}

更新掌静脉用户序号

  1. 请求链接: /palmVein/updatePalmVeinUserNo

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
palmVeinIdintY1掌静脉ID
palmVeinUserNoStringY"12"掌静脉用户序号
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

删除掌静脉

  1. 请求链接: /palmVein/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
palmVeinIdintY1掌静脉ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

清空掌静脉

  1. 请求链接: /palmVein/clear

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {}
}

校验掌静脉名称是否重复

  1. 请求链接: /palmVein/checkPalmVeinName

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
palmVeinNameStringY"1"掌静脉名称
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {}
}

获取掌静脉详情

  1. 请求链接: /palmVein/detail

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
palmVeinIdintY7掌静脉ID
  1. 返回参数及示例:
参数类型描述
lockIdInt锁ID
palmVeinIdInt掌静脉ID
palmVeinNameString掌静脉名称
palmVeinNumberString掌静脉编号
palmVeinStatusInt掌静脉状态
startDateLong开始时间
endDateLong结束时间
palmVeinTypeInt掌静脉类型
weekDayArray有效星期
adminUidInt管理员用户ID
senderUsernameString发送者用户名
palmVeinRightInt掌静脉权限
isCoercedInt是否胁迫
lockAliasString锁别名
createDateLong创建时间
json
{
  "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
}

遥控

添加遥控

  1. 请求链接: /remote/add

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
remoteNameStringY"大厅锁遥控"遥控名称
remoteNumberStringY"48675641491456"遥控编号
remoteTypeintY1遥控类型:参考常量列表-遥控类型常量
startDateintY0开始时间:0-普通;限时/单次/循环:毫秒时间戳
endDateintY0结束时间:0-普通;限时/单次/循环:毫秒时间戳
addTypeintY1下发类型:1-蓝牙 2-远程
weekDayarrayN循环类型需传;永久/限时无需传入
startTimeintN1710032400000remoteType为循环可填,生效时间:09:00 转毫秒时间戳
endTimeintN1710082800000remoteType为循环可填,失效时间:23:00 转毫秒时间戳
remoteRightintY0是否授权管理员,值:1是 0否
macStringN""MAC地址
electricQuantityintN100遥控电量
firmwareInfoarrayN[]遥控固件信息
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {
    "remoteId": 1
  }
}

更新遥控有效期

  1. 请求链接: /remote/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
remoteIdintY1遥控ID
startDateintY1705852800000开始时间
endDateintY1705852800001结束时间
startTimeintN1710032400000remoteType为循环可填,生效时间:09:00 转毫秒时间
endTimeintN1710079200000remoteType为循环可填,失效时间:23:00 转毫秒时间
remoteTypeintN2遥控类型:参考常量列表-遥控类型常量
weekDayarrayN[1,2,3]循环必填
remoteNameStringN"张三"遥控姓名
addTypeintY11-蓝牙下发,2-网关下发
isCoercedintN00默认值 1-胁迫人脸,2-非胁迫人脸
remoteRightintN0是否管理员:0默认否 1是 2否
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

遥控列表

  1. 请求链接: /remote/list

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
searchStrStringN"家庭人脸"遥控名称关键词
pageNointN1分页:默认1
pageSizeintN20页数:默认20
  1. 返回参数及示例:
参数类型描述
listArray遥控列表
pageNoInt页码
pageSizeInt每页数量
pagesInt总页数
totalInt总记录数
json
{
  "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
}

更新遥控用户序号

  1. 请求链接: /remote/updateRemoteUserNo

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
remoteIdintY1遥控ID
remoteUserNoStringY"12"遥控用户序号
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

删除遥控

  1. 请求链接: /remote/delete

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
remoteIdintY1遥控ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

清空遥控

  1. 请求链接: /remote/clear

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY1锁ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": null
}

校验遥控名称是否重复

  1. 请求链接: /remote/checkRemoteName

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdintY500锁ID
remoteNameStringY"1"遥控姓名
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {}
}

获取遥控详情

  1. 请求链接: /remote/detail

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
remoteIdintY500遥控ID
  1. 返回参数及示例:
参数类型描述
remoteIdInt遥控ID
remoteNameString遥控名称
remoteNumberString遥控编号
macStringMAC地址
electricQuantityInt遥控电量
remoteStatusInt遥控状态
startDateLong开始时间
endDateLong结束时间
remoteTypeInt遥控类型
weekDayArray有效星期
adminUidInt管理员用户ID
senderUsernameString发送者用户名
remoteRightInt遥控权限
isCoercedInt是否胁迫
lockAliasString锁别名
json
{
  "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"
}

授权管理员

添加授权管理员(限时/永久)

  1. 请求链接: /key/send(跟发送电子钥匙接口相同)

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
endDateStringY"1694757539000"限时:失效时间戳
faceAuthenticationStringY"2"是否实名认证
isCameraEnableStringY"2"
isRemoteUnlockStringY"2"允许远程开锁:否:2
keyNameForAdminStringY"%E5%98%BB%E5%98%BB"姓名
keyRightStringY"1"是否授权管理员:1是 0否
lockIdStringY"9418451"锁ID
receiverUsernameStringY"18682150237"接受者
remarksStringY""备注
startDateStringY"1689400680000"生效时间戳
isOnlyManageSelfintY0是否仅管理自己发的钥匙:0/1
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "text": "{\"keyId\":109279005,\"receiverUid\":16474761}",
  "size": 42,
  "mimeType": "application/json;charset=utf-8"
}

要授权的锁分组列表

  1. 请求链接: /authorizedAdmin/listGroup

  2. 请求方式: POST

说明: 最高管理员的锁

  1. 参数说明:
名称类型是否必需示例描述
typeintY01只显示拥有的锁
2显示自己和授权的锁
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": [
    {
      "lockNum": 1,
      "keyGroupId": 0,
      "keyGroupName": "未分组"
    },
    {
      "lockNum": 1,
      "keyGroupId": 503859,
      "keyGroupName": "202307"
    }
  ]
}

获取分组下的锁列表

  1. 请求链接: /authorizedAdmin/listLockByGroup

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
typeStringY"0"0所有 1超级管理员的锁权限 2管理员权限的锁
keyGroupIdStringY"0"锁分组ID
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": [
    {
      "lockId": 9418451,
      "lockAlias": "吴"
    }
  ]
}

授权管理员列表

说明: 跟电子钥匙列表的接口一样,但必须在参数中加 keyRight=1 为授权管理员

无线键盘

无线键盘列表

  1. 请求链接: /wirelessKeypad/listByLock

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418481"锁ID
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": []
}

重置无线键盘

  1. 请求链接: /wirelessKeypad/clear

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lockIdStringY"9418481"锁ID
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

鑫泓佳智能硬件通信协议文档