密码管理

更新时间:2023-06-15 05:15:03

密码创建流程

  • Wi-Fi 门锁处理流程:

    密码管理

  • Zigbee 门锁处理流程:

    密码管理

    • Zigbee 门锁正常业务流程

      • 调用方调用API创建密码
      • 涂鸦云平台下发密码给网关
      • 网关下发密码给门锁
      • 门锁响应密码状态:配置成功
      • 网关上报密码状态:配置成功
      • 涂鸦云平台存储更新密码状态:配置成功
      • 调用方轮询密码状态,直至密码状态更新为:配置成功/配置失败,轮询超时间为 25 秒
    • Zigbee 门锁异常业务流程

      • 调用方调用 API 获取门锁信息
      • 调用方调用 API 创建密码(使用门锁 localkey加密)
      • 涂鸦云平台下发密码给网关
      • 网关下发密码给门锁
      • 门锁未响应状态
      • 网关重试下发密码,重试 3 次结束
      • 网关上报密码状态:配置失败
      • 涂鸦云平台存储更新密码状态:配置失败
      • 调用方轮询密码状态,直至密码状态更新为:配置成功/配置失败,轮询超时时间为 25 秒

密码加密流程

密码管理

门锁 API

获取密码加密的临时秘钥

支持的门锁类型

  • Wi-Fi 门锁
  • Zigbee 门锁
  • 蓝牙门锁
  • 酒店 Zigbee 门锁
  • 可视对讲 Wi-Fi

接口地址

POST /v1.0/devices/{device_id}/door-lock/password-ticket

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID

请求示例

POST /v1.0/devices/vdevo153459260090544/door-lock/password-ticket

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 临时密码信息

result

参数名 类型 说明
ticket_id String 临时秘钥 ID
ticket_key String 临时秘钥 Key,需要根据云开发者Access Secret 通过 AES 解密后方可使用
expire_time Long 剩余有效时间

请求成功返回示例

{
    "result": {
        "expire_time": 360,
        "ticket_id": "9wxxoLM",
        "ticket_key": "901CC35A67DA3429C38E9622xxxxx3EAE1CE333462356D257FD1D3E5C"
    },
    "success": true,
    "t": 1592899848757
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error,please contact the admin"
}

创建临时密码

支持的门锁类型

  • Wi-Fi 门锁
  • Zigbee 门锁
  • 蓝牙门锁
  • 酒店 Zigbee 门锁
  • 常保活门锁
  • 可视对讲 Wi-Fi
  • Wi-Fi 门禁
  • 蓝牙门锁配件

接口地址

POST /v1.0/devices/{device_id}/door-lock/temp-password

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
name String BODY 临时密码名称
password String BODY Wi-Fi 锁密码原文长度为 7,Zigbee 锁/蓝牙锁原文密码为 6,密码,传输使用加密算法使用 AES,模式:ECB pkcs7padding 数据块 128 位,秘钥为通过接口获取的临时 ticket_key 使用开发者Access Secret AES 解密后的原始秘钥,输出是格式是hex
effective_time Long BODY 生效时间,10 位时间戳,单位s
invalid_time Long BODY 过期时间,10 位时间戳,单位s
password_type String BODY 密码加密类型:ticket
ticket_id String BODY 临时秘钥 ID
phone String BODY 手机号码
type Integer BODY 门锁密码有效类型,1:一次性有效,0:有效范时间围内一直有效 Zigbee 时必填
time_zone String BODY 时区,需要周期性功能,则填入此项
relate_dev_list array BODY 关联设备编号(长度1,仅支持蓝牙门锁配件)
schedule_list List BODY 周期性功能设置参数列表

schedule_list

参数名 类型 参数类型 说明 是否必填
effective_time Long BODY 当天开始时间,单位分钟
invalid_time Long BODY 当天过期时间,单位分钟
working_day Int BODY 星期, 每个值累加:
  • 1:星期天
  • 2:星期一
  • 4:星期二
  • 8:星期三
  • 16:星期四
  • 32:星期五
  • 64:星期六

请求示例

POST /v1.0/devices/vdevo153459260090544/door-lock/temp-password
{
    "password": "956FAD7xxxxxx09C68E168B77",
    "password_type": "ticket",
    "ticket_id": "xxxxxx",
    "effective_time": 1579156726,
    "invalid_time": 1579243126,
    "name":"test",
    "phone": 11233213,
    "time_zone":"",
    "schedule_list":[{
        "effective_time": 720,
        "invalid_time": 1080,
        "working_day":  0
    }],
    "relate_dev_list":["vdevo1524****"]
}

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 临时密码信息

result

参数名 类型 说明
id Long 临时密码的编号

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": {
        "id": 124367346
    }
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error,please contact the admin"
}

创建无名称的临时密码

支持的门锁类型

  • Wi-Fi 门锁
  • Zigbee 门锁
  • 蓝牙门锁
  • 酒店Zigbee 门锁
  • 可视对讲 Wi-Fi
  • 蓝牙门锁配件

接口地址

POST /v2.0/devices/{device_id}/door-lock/temp-password

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
password String BODY Wi-Fi 锁密码原文长度为 7,Zigbee 锁/蓝牙锁原文密码为 6,密码,传输使用加密算法使用 AES,模式:ECB pkcs7padding 数据块 128 位,秘钥为通过接口获取的临时 ticket_key 使用开发者Access Secret AES 解密后的原始秘钥
effective_time Long BODY 生效时间,10 位时间戳,单位s
invalid_time Long BODY 过期时间,10 位时间戳,单位s
password_type String BODY 密码加密类型:ticket
ticket_id String BODY 临时秘钥ID
phone String BODY 手机号码
type Integer BODY 门锁密码有效类型,1:一次性有效,0:有效范时间围内一直有效 Zigbee 时必填
time_zone String BODY 时区,需要周期性功能,则填入此项
relate_dev_list array BODY 关联设备编号(长度1,仅支持蓝牙门锁配件)
schedule_list List BODY 周期性功能设置参数列表

schedule_list

参数名 类型 参数类型 说明 是否必填
effective_time Long BODY 当天开始时间,单位分钟
invalid_time Long BODY 当天过期时间,单位分钟
working_day Int BODY 星期, 每个值累加:
  • 1:星期天
  • 2:星期一
  • 4:星期二
  • 8:星期三
  • 16:星期四
  • 32:星期五
  • 64:星期六

请求示例

POST /v2.0/devices/vdevo153459260090544/door-lock/temp-password
{
    "password": "956FAD7xxxxxx09C68E168B77",
    "password_type": "ticket",
    "ticket_id": "xxxxxx",
    "effective_time": 1579156726,
    "invalid_time": 1579243126,
    "phone": 11233213,
    "time_zone":"",
    "schedule_list":[{
        "effective_time": 720,
        "invalid_time": 1080,
        "working_day":  0
    }],
    "relate_dev_list":["vdevo1524****"]
}

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 临时密码信息

result

参数名 类型 说明
id Long 临时密码的编号

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": {
        "id": 124367346
    }
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error,please contact the admin"
}

同步密码

支持的门锁类型

  • Zigbee 门锁

说明: Zigbee 门锁创建密码后,密码状态仍处于"配置中",可调用该接口将服务器中处于“配置中”的密码同步给门锁,该接口同一个设备 60 秒内只允许下发一次。

接口地址

POST /v1.0/devices/{device_id}/door-lock/issue-password

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
password_id Long BODY 密码 ID,不填则下发门锁当前所有处于配置中的密码给门锁

请求示例

POST /v1.0/devices/vdevo153459260090544/door-lock/issue-password
{
   "password_id":""
}

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Boolean 返回结果

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": true
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error,please contact the admin"
}

获取临时密码信息

Zigbee门锁中,只有家庭门锁pro和酒店门锁支持周期性功能,其他品类暂时不支持周期性功能

支持的门锁类型

  • Wi-Fi 门锁
  • Zigbee 门锁
  • 蓝牙门锁
  • 酒店Zigbee 门锁

接口地址

GET /v1.0/devices/{device_id}/door-lock/temp-password/{password_id}

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
password_id Long URI 密码编号

请求示例

GET /v1.0/devices/vdevo153459260090544/door-lock/temp-password/xxxx

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 临时密码信息

result

参数名 类型 说明
id Long 临时密码的编号
name String 临时密码名称
phase Integer 密码状态
effective_time Long 生效时间,10 位时间戳
invalid_time Long 过期时间,10 位时间戳
phone String 手机号码
time_zone String 时区
delivery_status Integer 操作确认状态,1.配置中, 2.配置成功, 3.配置失败, 4.重复密码, 5.密码已满, 6.有效期重叠, Zigbee 时返回
schedule_list List 周期性功能参数列表

schedule_list

参数名 类型 说明
effective_time Long 当天开始时间,单位分钟
invalid_time Long 当天过期时间,单位分钟
working_day Int 星期, 每个值累加:
  • 1:星期天
  • 2:星期一
  • 4:星期二
  • 8:星期三
  • 16:星期四
  • 32:星期五
  • 64:星期六

phase

  • Zigbee:
    • 1:待创建
    • 2:正常
    • 3:已冻结
    • 4:已删除
    • 5:创建失败
  • Wi-Fi:
    • 0:已删除
    • 1:待下发
    • 2:已下发
    • 3:待删除
  • 蓝牙:
    • 0:已删除
    • 1:待下发
    • 2:已下发
    • 3:待删除
    • 7:下发失败

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": {
        "id": 1001, //临时密码主键
        "effective_time": 1530841779, //生效时间,10位
        "invalid_time": 1530881779, //失效时间,10位
        "name": "租客A的密码", //临时密码名称
        "phase": 1, //密码状态  
        "phone": "123547127362",
        "time_zone":"Asia/Shanghai",
        "delivery_status": 1
    }
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error, please contact the admin"
}

获取临时密码列表

支持的门锁类型

  • Wi-Fi 门锁
  • Zigbee 门锁
  • 酒店 Zigbee 门锁
  • 蓝牙门锁
  • 可视对讲 Wi-Fi
  • 蓝牙门锁配件

接口地址

GET /v1.0/devices/{device_id}/door-lock/temp-passwords

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
valid Boolean URL 是否有效

请求示例

GET /v1.0/devices/vdevo153459260090544/door-lock/temp-passwords?valid=true

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 删除密码信息

result

参数名 类型 说明
id Long 临时密码的编号
name String 临时密码名称
phase Integer 密码状态
effective_time Long 生效时间,10 位时间戳
invalid_time Long 过期时间,10 位时间戳
phone String 手机号码
time_zone String 时区
delivery_status Integer 操作确认状态,1.配置中,2.配置成功,3.配置失败,4.重复密码,5.密码已满,6.有效期重叠,Zigbee 时返回
schedule_list List 周期性功能参数列表

schedule_list

参数名 类型 说明
effective_time Long 当天开始时间,单位分钟
invalid_time Long 当天过期时间,单位分钟
working_day Int 星期, 每个值累加:
  • 1:星期天
  • 2:星期一
  • 4:星期二
  • 8:星期三
  • 16:星期四
  • 32:星期五
  • 64:星期六

phase

  • Zigbee:
    • 1:待创建
    • 2:正常
    • 3:已冻结
    • 4:已删除
    • 5:创建失败
  • Wi-Fi:
    • 0:已删除
    • 1:待下发
    • 2:已下发
    • 3:待删除
  • 蓝牙:
    • 0:已删除
    • 1:待下发
    • 2:已下发
    • 3:待删除
    • 7:下发失败

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": [
        {
            "password_id": 1001, //临时密码主键
            "effective_time": 1530841779, //生效时间,10位
            "invalid_time": 1530881779, //失效时间,10位
            "name": "租客A的密码", //临时密码名称
            "phase": 1, //密码状态  
            "phone": "123547127362",
            "time_zone":"Asia/Shanghai",
            "delivery_status": 1
        }
    ]
}

获取保活门锁的临时密码列表

支持的门锁类型

  • 常保活 Wi-Fi 门锁
  • Wi-Fi 门禁

接口地址

GET /v1.0/smart-lock/devices/{device_id}/stand-by-lock-temp-passwords

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
valid Boolean URL 是否有效
lastRowKey String URL 查询分页记录时的行号(来自于返回结果的last_row_key,没有时传空)
pageSize int URL 每页记录数

请求示例

GET /v1.0/smart-lock/devices/vdevo12454656****/stand-by-lock-temp-passwords?valid=true&last_row_key=&page_size=10

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 删除密码信息

result

参数名 类型 说明
password_id Long 临时密码的编号
name String 临时密码名称
gmt_create Long 临时密码的创建时间,单位为秒,长度 10 位
effective_time Long 生效时间,10 位时间戳
expired_time Long 过期时间,10 位时间戳
operate String 操作:
  • ADD:新增
  • MODIFY:修改
  • DELETE:删除
delivery_status String 投递状态
  • ONGOING:下发中
  • SUCCESS:下发成功
  • FAILED:下发失败
effective_flag int 生效状态:
  • 0:无效
  • 1:生效中
  • 2:待生效(时间未到的情况)
schedule_details List 周期性功能参数列表

schedule_list

参数名 类型 说明
start_minute int 当天开始时间,单位分钟,最大值 1440
end_minute int 当天过期时间,单位分钟, 最大值 1440
working_day Int 星期, 每个值累加:
  • 1:星期天
  • 2:星期一
  • 4:星期二
  • 8:星期三
  • 16:星期四
  • 32:星期五
  • 64:星期六
time_zone_id String 时区

请求成功返回示例

{
  "has_more": false,
  "last_row_key": "ABCDEFG",
  "records": [
    {
      "delivery_status": "SUCCESS",
      "effective_flag": 1,
      "effective_time": 1628006400,
      "expired_time": 1628265540,
      "gmt_create": 1628088594,
      "name": "369369",
      "operate": "CREATE",
      "password_id": 3351004,
      "phone": "",
      "pwd_type_code": "temp",
      "schedule_details": [
        {
          "all_day": false,
          "start_minute": 0,
          "end_minute": 2359,
          "working_day": 101
        }
      ],
      "sn": 0
    }
  ]
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "系统异常,请联系管理员"
}

修改临时密码

支持的门锁类型

  • 公版 Wi-Fi 门锁
  • 公版 Zigbee 门锁
  • 蓝牙门锁(不支持密码修改)
  • 酒店 Zigbee 门锁
  • 常保活 Wi-Fi 门锁
  • 可视对讲 Wi-Fi
  • Wi-Fi 门禁
  • 蓝牙门锁配件

接口地址

PUT /v1.0/devices/{device_id}/door-lock/temp-passwords/{password_id}/modify-password

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
password_id Long URI 密码 ID
password String BODY Wi-Fi 锁密码原文长度为 7,Zigbee 锁原文密码为 6,蓝牙锁不支持密码修改,密码传输使用加密算法使用 AES,模式:ECB pkcs7padding 数据块128位,秘钥为通过接口获取的临时 ticket_key 使用开发者Access Secret AES解密后的原始秘钥
effective_time Long BODY 生效时间,10 位时间戳,单位s
invalid_time Long BODY 过期时间,10 位时间戳,单位s
password_type String BODY 密码加密类型:ticket
ticket_id String BODY 临时秘钥ID
phone String BODY 手机号码
type Integer BODY 门锁密码有效类型,1:一次性有效,0:有效范时间围内一直有效 Zigbee 时必填
time_zone String BODY 时区,需要周期性功能,则填入此项
schedule_list List BODY 周期性功能设置参数列表

schedule_list

参数名 类型 参数类型 说明 是否必填
effective_time Long BODY 当天开始时间,单位分钟
invalid_time Long BODY 当天过期时间,单位分钟
working_day Int BODY 星期, 每个值累加:
  • 1:星期天
  • 2:星期一
  • 4:星期二
  • 8:星期三
  • 16:星期四
  • 32:星期五
  • 64:星期六

请求示例

PUT /v1.0/devices/vdevo153459260090544/door-lock/temp-passwords/{password_id}/modify-password
{
   "phone":"",
   "effective_time":"",
   "invalid_time":"",
   "password":"",
   "password_type":"ticket",
   "ticket_id":"xxx"
}

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 删除密码信息

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result":true
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error,please contact the admin"
}

冻结临时密码

支持的门锁类型

  • Zigbee 门锁

接口地址

PUT /v1.0/devices/{device_id}/door-lock/temp-passwords/{password_id}/freeze-password

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
password_id String URI 密码 ID

请求示例

PUT /v1.0/devices/vdevo153459260090544/door-lock/temp-passwords/xxx/freeze-password

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 删除密码信息

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result":true
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error, please contact the admin"
}

解冻临时密码

支持的门锁类型

  • Zigbee 门锁

接口地址

PUT /v1.0/devices/{device_id}/door-lock/temp-passwords/{password_id}/unfreeze-password

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
password_id String URI 密码 ID

请求示例

PUT /v1.0/devices/vdevo153459260090544/door-lock/temp-passwords/xxx/unfreeze-password

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 删除密码信息

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result":true
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error, please contact the admin"
}

删除临时密码

支持的门锁类型

  • 公版 Wi-Fi 门锁
  • 公版 Zigbee 门锁
  • 酒店 Zigbee 门锁
  • 蓝牙门锁
  • 常保活 Wi-Fi 门锁
  • 可视对讲 Wi-Fi
  • Wi-Fi 门禁
  • 蓝牙门锁配件

接口地址

DELETE /v1.0/devices/{device_id}/door-lock/temp-passwords/{password_id}

请求参数

参数名 类型 参数类型 说明
device_id String URI 设备 ID
password_id String URI 密码 ID

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Boolean 结果

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": true
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error, please contact the admin"
}

获取动态密码

支持的门锁类型

  • Wi-Fi 门锁
  • Zigbee 门锁
  • 蓝牙门锁
  • 蓝牙门锁配件

接口地址

GET /v1.0/devices/{device_id}/door-lock/dynamic-password

请求参数

参数名 类型 参数类型 说明
device_id String URI 设备 ID

请求示例

GET /v1.0/devices/vdevo153459260090544/door-lock/dynamic-password

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 动态密码信息

result

参数名 类型 说明
dynamic_password String 动态密码

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": {
        "dynamic_password": "" 
    }
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error, please contact the admin"
}

获取离线临时密码

支持的门锁类型

  • 公版 Wi-Fi 门锁
  • 蓝牙门锁
  • 蓝牙门锁配件

接口地址

POST /v1.0/devices/{device_id}/door-lock/offline-temp-password

请求参数

参数名 类型 参数类型 说明 是否必填
device_id String URI 设备 ID
effective_time Long BODY 生效时间,10 位时间戳
invalid_time Long BODY 失效时间,10 位时间戳
name String BODY 离线临时密码名称
type Int BODY 密码类型 0. 多次使用 1. 单次使用的密码 9. 清空所有密码(返回单次使用的密码)
lang String BODY 语言类型,中国区默认zh,其他区默认en

请求示例

POST /v1.0/devices/vdevo153459260090544/door-lock/offline-temp-password

返回参数

参数名 类型 说明
code Integer 返回的错误码,成功时为空,详情⻅返回的错误码
success Boolean 是否成功
true:成功
false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 动态密码信息

result

参数名 类型 说明
offline_temp_password String 离线临时密码

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": {
        "offline_temp_password": ""
    }
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error, please contact the admin"
}

获取离线临时密码-v1.1

说明: 相比1.0 增加了对获取清空单个离线密码的支持

支持的门锁类型

  • 公版 Wi-Fi 门锁
  • 公版 Zigbee 门锁
  • 公版蓝牙门锁
  • 常保活 Wi-Fi 门锁
  • Wi-Fi 门禁

接口地址

POST: /v1.1/devices/{device_id}/door-lock/offline-temp-password

请求参数

参数名 类型 参数类型 是否必填 说明
device_id String uri true 设备 ID
offline_pwd_add_request OfflinePwdAddRequest body true 离线密码信息

offline_pwd_add_request 说明

参数名 类型 参数位置 是否必填 说明
effective_time Long false 生效时间(秒)
1. MULTIPLE(0)时, 必填
2. ONCE(1)/CLEAR_ALL(9), 取当前时间的整点。例如当前时间=‘2021-01-23 22:11:12’, 则该字段的值=‘2021-01-23 22:00:00’
3. MULTIPLE(0)/CLEAR_ONE(8),取时间的整点。比如传的时间是=‘2021-01-27 15:11:12’, 则该字段的最终值=‘2021-01-27 15:00:00’
invalid_time Long false 过期时间(秒) 1. MULTIPLE(0)时, 必填
2. ONCE(1), 该时间取 当前时间的整点+6小时。例如,当前时间=‘2021-01-23 22:11:12’, 则该字段的值= ‘2021-01-24 04:00:00’
3. CLEAR_ALL(9), 该时间是当前时间的整点+24小时。例如,当前时间=‘2021-01-23 22:11:12’, 则该字段的值= ‘2021-01-24 22:00:00’
4. MULTIPLE(0)/CLEAR_ONE(8),如果该字段有值, 取时间的整点。例如,传的时间是=‘2021-01-27 15:11:12’, 则该字段的最终值=‘2021-01-27 15:00:00’
name String false 密码名称
type String true 类型,multiple, 可以重复使用的离线密码;once, 仅限一次使用的离线密码;clear_one, 清除单个离线密码;clear_all, 清除所有离线密码
password_id String false 密码 ID,只有type=clear_one 时才需要传该值

返回示例

参数名 类型 说明
result OfflinePwdAddResponse 离线密码结果

result说明

参数名 类型 说明
offline_temp_password_id String 密码 ID
offline_temp_password String 密码内容
offline_temp_password_name String 密码名称
effective_time Long 生效时间(秒)
invalid_time Long 过期时间(秒)

请求示例

POST: /v1.1/devices/6cdb36b2e489885fa57lzm/door-lock/offline-temp-password

返回示例

{
    "result": {
        "effective_time": 1623747600,
        "offline_temp_password_id": "2345011",
        "offline_temp_password": "0282554135",
        "invalid_time": 1623769200,
        "offline_temp_password_name": "name267"
    },
    "t": 1623748396631,
    "success": true
}

更新离线密码的名称

支持的门锁类型

  • 公版蓝牙门锁
  • 常保活 Wi-Fi 门锁
  • Wi-Fi 门禁

接口地址

PUT /v1.0/devices/{device_id}/door-lock/offline-temp-password/{password_id}

请求参数

参数名 类型 参数类型 是否必填 说明
device_id String URI true 设备 ID
password_id Long URI true 密码 ID
password_name String BODY true 密码名称

请求示例

PUT /v1.1/devices/6cdb36b2e489885fa5****/door-lock/offline-temp-password
{
  "passwordName": "new0ne"
}

响应参数

参数 类型 说明
result boolean 操作结果

响应成功示例

{
    "success": true,
    "t": 1571898808491,
    "result": true
}

清空临时密码

支持的门锁类型

  • 酒店 Zigbee 门锁

接口地址

POST /v1.0/devices/{device_id}/door-lock/temp-passwords/rest-password

请求参数

参数名 类型 参数类型 说明 是否必传
device_id String URI 设备 ID

请求示例

POST /v1.0/devices/vdevo153459260090544/door-lock/temp-passwords/reset-password

返回参数

参数名 类型 说明
code Integer 错误响应码,成功时为空(详情⻅见错误码)
success Boolean 是否成功:(true:成功,false:失败)
t Long 响应时间
msg String 请求失败的信息,成功为空
result Boolean 是否成功

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": true
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error,please contact the admin"
}

设置高级密码

支持的门锁类型

  • 酒店 Zigbee 门锁

接口地址

POST /v1.0/devices/{device_id}/door-lock/advanced-password

请求参数

参数名 类型 参数类型 说明 是否必传
device_id String URI 设备 ID
password String Body 密码原文长度为6,密码,传输使用加密算法使用AES,模式:ECB pkcs7padding 数据块128位,秘钥为通过接口获取的临时ticket_key使用开发者Access Secret AES解密后的原始秘钥
password_type String BODY 密码加密类型:ticket
ticket_id String BODY 临时秘钥ID
advanced_type String BODY 高级密码类型:admin(管理员密码), emergency(应急密码)

请求示例

POST /v1.0/devices/vdevo153459260090544/door-lock/advanced-password
{
    "password_type":"ticket",
    "password":"7A8F9B6197xxxx7C1D66",
    "ticket_id":"fJeqZd45",
    "advanced_type":"emergency"
}

返回参数

参数名 类型 说明
code Integer 错误响应码,成功时为空(详情⻅见错误码)
success Boolean 是否成功:(true:成功,false:失败)
t Long 响应时间
msg String 请求失败的信息,成功为空
result Boolean 是否成功

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": true
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error,please contact the admin"
}

查询高级密码

支持的门锁类型

类型 支持
门锁类型 酒店Zigbee 门锁

接口地址

GET /v1.0/devices/{device_id}/door-lock/advanced-password

请求参数

参数名 类型 参数类型 说明 是否必传
device_id String URI 设备 ID
advanced_type String URL 高级密码类型:admin(管理员密码), emergency(应急密码)

请求示例

GET /v1.0/devices/vdevo153459260090544/door-lock/advanced-password?advanced_type=admin

返回参数

参数名 类型 说明
code Integer 错误响应码,成功时为空(详情⻅见错误码)
success Boolean 是否成功:(true:成功,false:失败)
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object 高级密码状态

result

参数名 类型 说明
advanced_type String 高级密码类型:admin(管理员密码), emergency(应急密码)
phase Integer 密码配置状态:1(配置中), 2(配置成功), 3(配置失败)

请求成功返回示例

{
    "success": true,
    "t": 1542626129429,
    "result": {
        "advanced_type":"admin",
        "phase":2
    }
}

请求失败返回示例

{
    "success": false,
    "code": 500, // 错误码,详细请见错误码文档
    "msg": "system error,please contact the admin"
}