锁的服务

更新时间:2018-10-19 11:29:34

锁的服务

提供一组锁SaaS专用的接口,方便对锁相关产品进行快速开发。

钥匙与虚拟用户绑定

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/key/user/bind 1.0.0 钥匙与虚拟用户进行绑定,只允许锁设备绑定的管理员进行操作 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
virtualUserId String 是 虚拟用户ID,与账户下创建的虚拟用户对应
lockUserId String 是 钥匙ID(对应锁端的锁用户ID,由设备上报获得)
lockUserType Integer 是 钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
lockUserPermType Integer 是 钥匙权限(1-普通用户; 2-管理员用户; 3-胁迫用户 )
iotId String 是 设备ID

返回参数

参数 类型 必有 描述

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {
        "virtualUserId" : "10B6336EFE05374FF99BDD428F58AA5A18",
       "lockUserId" : "10",
       "lockUserType" : 1,
       "lockUserPermType" : 2,
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10"
    }
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": null
}

错误码

错误码 错误信息 来源 描述
28530 lock user has been bound to other virtual user. 业务 钥匙已经和其他虚拟用户绑定

钥匙与虚拟用户解绑

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/key/user/unbind 1.0.0 钥匙与虚拟用户进行解除绑定,只允许锁设备绑定的管理员进行操作 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
virtualUserId String 是 虚拟用户ID,与账户下创建的虚拟用户对应
lockUserId String 是 钥匙ID(对应锁端的锁用户ID,由设备上报获得)
lockUserType Integer 是 钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
iotId String 是 设备ID

返回参数

参数 类型 必有 描述

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {
        "virtualUserId" : "10B6336EFE05374FF99BDD428F58AA5A18",
       "lockUserId" : "10",
       "lockUserType" : 1,
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10"
    }
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": null
}

错误码

请参考公共错误码

查询虚拟用户和某批钥匙的绑定关系

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/key/users/bindinfo/get 1.0.0 查询虚拟用户和某个设备下某批钥匙的绑定关系,如果存在绑定关系则返回相应的关系信息。限定锁设备绑定的管理员查询方有效 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
virtualUserId String 是 虚拟用户ID,与账户下创建的虚拟用户对应
originalLockUsers List 是 钥匙ID列表(对应锁端的锁用户ID,由设备上报获得)

originalLockUsers列表结构

参数 类型 描述
iotId ​String ​设备ID
lockUserId ​String ​钥匙ID(对应锁端的锁用户ID,由设备上报获得)
lockUserType ​Integer ​钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)

返回参数

参数 类型 必有 描述
lockUsers List 否 存在绑定关系的钥匙列表

lockUsers列表结构

参数 类型 描述
iotId ​String ​设备ID
lockUserId ​String ​钥匙ID(对应锁端的锁用户ID,由设备上报获得)
lockUserType ​Integer ​钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
lockUserPermType ​Integer ​钥匙权限(1-普通用户; 2-管理员用户; 3-胁迫用户 )
userId ​String ​虚拟用户ID
identityId ​String ​账户身份ID
tenantId ​String ​租户ID
isolationId ​String ​资源隔离ID

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {
        "virtualUserId" : "10B6336EFE05374FF99BDD428F58AA5A18",
       "originalLockUsers" : [
            {
               "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
               "lockUserId": "10",
               "lockUserType" : 1
            },
            {
               "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
               "lockUserId": "12",
               "lockUserType" : 2
            }
        ]
    }
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": [
       {
           "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
           "lockUserId": "10",
           "lockUserType" : 1,
           "lockUserPermType": 2,
           "userId": "10B6336EFE05374FF99BDD428F58AA5A18",
           "identityId": "5070opb4c20352a76092886e6970731e258b2250",
           "tenantId": "C9A56275D954421FAAE9875CDE5F01B3",
           "isolationId": "a103cg3XCLYnTrF8"
       }
    ]
}

错误码

请参考公共错误码

查询虚拟用户和某个钥匙的绑定关系

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/key/user/bindinfo/get 1.0.0 查询虚拟用户和某个钥匙的绑定关系,如果存在绑定关系则返回相应的关系信息,不存在则返回空。限定锁设备绑定的管理员查询方有效 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
virtualUserId String 是 虚拟用户ID,与账户下创建的虚拟用户对应
lockUserId String 是 钥匙ID(对应锁端的锁用户ID,由设备上报获得)
lockUserType Integer 是 钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
iotId String 是 设备ID

返回参数

参数 类型 必有 描述
iotId String 是 设备ID
lockUserId String 是 钥匙ID(对应锁端的锁用户ID,由设备上报获得)
lockUserType Integer 是 钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
lockUserPermType Integer 是 钥匙权限(1-普通用户; 2-管理员用户; 3-胁迫用户 )
userId String 是 ​虚拟用户ID
identityId String 是 账户身份ID
tenantId String 是 ​租户ID
isolationId String 是 资源隔离ID

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {
       "virtualUserId" : "10B6336EFE05374FF99BDD428F58AA5A18",
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
       "lockUserId": "10",
       "lockUserType" : 1
    }
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": {
           "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
           "lockUserId": "10",
           "lockUserType" : 1,
           "lockUserPermType": 2,
           "userId": "10B6336EFE05374FF99BDD428F58AA5A18",
           "identityId": "5070opb4c20352a76092886e6970731e258b2250",
           "tenantId": "C9A56275D954421FAAE9875CDE5F01B3",
           "isolationId": "a103cg3XCLYnTrF8"
       }
}

错误码

请参考公共错误码

过滤还未绑定虚拟用户的钥匙信息

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/key/user/unbind/filter 1.0.0 过滤出当前还未绑定的钥匙列表。限定锁设备绑定的管理员查询方有效 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
originalLockUsers List 是 钥匙ID列表(对应锁端的锁用户ID,由设备上报获得)

originalLockUsers列表结构

参数 类型 描述
iotId ​String ​设备ID
lockUserId ​String ​钥匙ID(对应锁端的锁用户ID,由设备上报获得)
lockUserType ​Integer ​钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
lockUserPermType ​Integer ​钥匙权限(1-普通用户; 2-管理员用户; 3-胁迫用户 )

返回参数

参数 类型 必有 描述
originalLockUsers List 否 过滤后的钥匙ID列表(对应锁端的锁用户ID)

originalLockUsers列表结构

参数 类型 描述
iotId ​String ​设备ID
lockUserId ​String ​钥匙ID(对应锁端的锁用户ID,由设备上报获得)
lockUserType ​Integer ​钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
lockUserPermType ​Integer ​钥匙权限(1-普通用户; 2-管理员用户; 3-胁迫用户 )

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {
       "originalLockUsers": [
          {         
            "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
            "lockUserId": "10",
            "lockUserType" : 1,
            "lockUserPermType": 2
          },
 ​         {         
            "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
            "lockUserId": "12",
            "lockUserType" : 2,
            "lockUserPermType": 1
          }
       ]   
    }
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": [
      {         
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
       "lockUserId": "10",
       "lockUserType" : 1,
       "lockUserPermType": 2
      }
    ]   
}

错误码

请参考公共错误码

查询虚拟用户绑定的钥匙列表

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/key/user/bindlist/get 1.0.0 查询虚拟用户下绑定的钥匙列表 是,客户端SDK需启用身份的鉴权

请求参数

参数
类型
必填
描述
virtualUserId
String
是
虚拟用户ID,与账户下创建的虚拟用户对应
lockUserType
Integer
否
钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙) 不填表示查询全部类型
lockUserPermType
Integer
否
钥匙权限(1-普通用户; 2-管理员用户; 3-胁迫用户 ) 不填表示查询全部类型

返回参数

参数 类型 必有 描述
lockUsers List 否 存在绑定关系的钥匙列表

lockUsers列表结构

参数 类型 描述
iotId ​String ​设备ID
lockUserId ​String ​钥匙ID(对应锁端的锁用户ID)
lockUserType ​Integer ​钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
lockUserPermType ​Integer ​钥匙权限(1-普通用户; 2-管理员用户; 3-胁迫用户 )
userId ​String ​虚拟用户ID
identityId ​String ​账户身份ID
tenantId ​String ​租户ID
isolationId ​String ​资源隔离ID

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {         
       "virtualUserId" : "10B6336EFE05374FF99BDD428F58AA5A18",
       "lockUserType" : 1,
       "lockUserPermType": 2
      }  
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": [
      {
           "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
           "lockUserId": "10",
           "lockUserType" : 1,
           "lockUserPermType": 2,
           "userId": "10B6336EFE05374FF99BDD428F58AA5A18",
           "identityId": "5070opb4c20352a76092886e6970731e258b2250",
           "tenantId": "C9A56275D954421FAAE9875CDE5F01B3",
           "isolationId": "a103cg3XCLYnTrF8"
       },
       {
           "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
           "lockUserId": "12",
           "lockUserType" : 2,
           "lockUserPermType": 1,
           "userId": "109C2D6ED589E54C69A32A38C7D8FA1673",
           "identityId": "5070opb4c20352a76092886e6970731e258b2250",
           "tenantId": "C9A56275D954421FAAE9875CDE5F01B3",
           "isolationId": "a103cg3XCLYnTrF8"
       }
    ]   
}

错误码

请参考公共错误码

查询设备下的虚拟用户列表

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/dev/virtual/user/get 1.0.0 查询某个设备下绑定了钥匙的虚拟用户列表信息 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
iotId String 是 设备ID

返回参数

参数 类型 必有 描述
userInfos List 否 虚拟用户列表

userInfos列表结构

参数 类型 必填 描述
userId String 是 虚拟用户ID
attrList List 是 用户的属性值(参看虚拟用户对用户属性的定义)

attrList列表结构

参数 类型 必填 描述
attrKey String 是 属性Key
attrValue String 是 属性值

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {         
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10"
      }  
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": [
      {
           "userId" : "10B6336EFE05374FF99BDD428F58AA5A18",
           "attrList": [
                {
                    "attrKey": "name",
                    "attrValue": "小明"
                },
                {
                    "attrKey": "birthday",
                    "attrValue": "1985-07-03"
                }
           ]
       },
       {
           "userId" : "109C2D6ED589E54C69A32A38C7D8FA1673",
           "attrList": [
                {
                    "attrKey": "name",
                    "attrValue": "妈妈"
                },
                {
                    "attrKey": "birthday",
                    "attrValue": "1965-02-15"
                }
           ]
       }
    ]   
}

错误码

请参考公共错误码

删除设备的钥匙信息

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/key/user/delete 1.0.0 删除指定设备的钥匙信息,如果钥匙已与虚拟用户绑定,那么该操作会优先触发虚拟用户的解绑,不管最终钥匙删除是否成功,均会解绑虚拟用户,只允许锁设备绑定的管理员进行操作 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
lockUserId String 是 钥匙ID(对应锁端的锁用户ID)
lockUserType Integer 是 钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
iotId String 是 设备ID

返回参数

参数 类型 必有 描述

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {  
       "lockUserId" : "10",
       "lockUserType" : 1,       
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10"
      }  
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": null
}

错误码

错误码 错误信息 来源 描述
28504 device is offline. 业务 设备不在线

查询钥匙对应的虚拟用户信息

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/key/virtual/user/get 1.0.0 查询钥匙对应的虚拟用户信息 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
lockUserId String 是 钥匙ID(对应锁端的锁用户ID)
lockUserType Integer 是 钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙)
iotId String 是 设备ID

返回参数

参数 类型 必有 描述
userId String 是 虚拟用户ID
attrList List 否 用户的属性值

attrList列表结构

参数 类型 必填 描述
attrKey String 是 属性Key
attrValue String 是 属性值

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": { 
       "lockUserId" : "10",
       "lockUserType" : 1,         
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10"
      }  
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": {
            "userId" : "10B6336EFE05374FF99BDD428F58AA5A18",
           "attrList": [
                {
                    "attrKey": "name",
                    "attrValue": "小明"
                },
                {
                    "attrKey": "birthday",
                    "attrValue": "1985-07-03"
                }
           ]
      } 
}

错误码

错误码 错误信息 来源 描述
28601 user device not bind. 业务 用户设备没有绑定
28527 user not bind with lock. 业务 钥匙还未和虚拟用户绑定

设置锁设备的昵称

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/nickname/set 1.0.0 设置门锁设备的昵称,设备绑定的用户均可以设置,设置结果将同步所有关联用户 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
nickName String 是 昵称信息
iotId String 是 设备ID

返回参数

参数 类型 必有 描述

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": { 
       "nickName" : "大门锁",        
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10"
      }  
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": null
}

错误码

错误码 错误信息 来源 描述
28601 user device not bind. 业务 用户设备没有绑定

查询锁的事件记录列表

定义描述

path 版本 描述 是否需要用户身份的鉴权
/lock/event/history/query 1.0.0 查询锁设备的事件记录列表 是,客户端SDK需启用身份的鉴权

请求参数

参数 类型 必填 描述
iotid String 是 设备ID
events List 否 需要查询的设备事件类型列表(对应产品功能定义中事件定义的标识符)
start Long 是 查询时间区间的开始时间(毫秒)
end Long 是 查询时间区间的结束时间(毫秒)
lockUserId String 否 钥匙ID(对应锁端的锁用户ID),与lockUserType同时有值或同时为null时有效,否则直接忽略设置
lockUserType Integer 否 钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙),与lockUserId同时有值或同时为null时有效,否则直接忽略设置
virtualUserId String 否 虚拟用户ID,当同时设置了lockUserId,lockUserType和virtualUserId时,将会同时生效,即在虚拟用户绑定的钥匙列表的基础上加上配置的(lockUserId,lockUserType)
pageNo Integer 是 当前页号,从1开始的页序号
pageSize Integer 是 页大小,单页的记录数量上限(最大50)

返回参数

参数 类型 必有 描述
pageNo Integer 是 当前页号
pageSize Integer 是 页大小
total Long 是 记录总数
data List 否 事件记录列表

data列表结构

参数 类型 必填 描述
iot_id ​String 是 ​设备ID
event_code ​String 是 ​上报事件的标识符
service_date ​String 是 ​服务端记录时间(格式:2018-06-25 17:41:18)
client_date ​String 是 ​客户端上报时间(格式:2018-06-25 17:41:18)
KeyID ​String 否 钥匙ID(对应锁端的锁用户ID,由设备上报获得),当对应的事件具备该出参时,才包含该字段
LockType ​Integer 否 ​钥匙类型(1-指纹, 2-密码, 3-卡, 4-钥匙),当对应的事件具备该出参时,才包含该字段
UserLimit ​Integer 否 ​钥匙权限(1-普通用户; 2-管理员用户; 3-胁迫用户 ),当对应的事件具备该出参时,才包含该字段
... ​... 否 ​其他事件具备的出参信息,以具体的产品功能列表中事件的定义为准

示例

请求示例

{
    "id": "1509086454180",
    "version": "1.0",
    "request": {
        "apiVer": "1.0.0"
    },
    "params": {
       "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
       "events" : ["DoorOpenNotification","HijackingAlarm","DoorUnlockedAlarm"]
       "start" : 1629500044000,
       "end" : 1629587444000,
       "virtualUserId":"10B6336EFE05374FF99BDD428F58AA5A18",
       "pageNo" : 1,
       "pageSize" : 50
    }
}

正常返回示例

{
    "code": 200,
    "message": "success",
    "data": [
       {
           "iot_id" : "ChFrkX2CEx6DO88EHXNH0010803d10",
           "event_code": "DoorOpenNotification",
           "service_date" : "2018-06-25 17:41:18",
           "client_date": "2018-06-25 17:41:18",
           "KeyID": "10",
           "LockType": 2
       },
 ​      {
           "iot_id" : "ChFrkX2CEx6DO88EHXNH0010803d10",
           "event_code": "HijackingAlarm",
           "service_date" : "2018-06-25 17:40:18",
           "client_date": "2018-06-25 17:40:18",
           "KeyID": "10",
           "LockType": 2
       },
 ​      {
           "iot_id" : "ChFrkX2CEx6DO88EHXNH0010803d10",
           "event_code": "DoorUnlockedAlarm",
           "service_date" : "2018-06-25 17:38:18",
           "client_date": "2018-06-25 17:38:18"
       }
    ]
}

错误码

请参考公共错误码

results matching ""

    No results matching ""