概述

基本介绍

                            Authorization:Bearer 
Content-Type:application/x-www-form-urlencoded  application/json
                                
                            

流程图

登录鉴权

账号鉴权

请求方式:POST

请求地址:{{host}}/API/Auth/Token

Body参数名 类型 必需 描述
appID string 鉴权账号
secret string 鉴权账号对应key

返回:

                            {
    "data": {
        "tokenType": "Bearer",
        "accessToken": "78yF4QJ",
        "expiresIn": 7200,
        "refreshToken": "OK0ioYMHE",
        "refreshTokenExpires": 2592000
    },
    "code": 0
}
                            
参数名 描述 类型
data.tokenType token类型 string
data.expiresIn token有效期,单位秒 number
data.refreshToken 用于刷新token string
data.refreshTokenExpires refreshToken有效期,单位秒 number

刷新AccessToken

请求方式:POST

请求地址:{{host}}/API/Auth/RefreshToken

Body参数名 类型 必需 描述
appID string
refreshToken string 需要UrlEncode编码

返回:

                            {
    "data": {
        "tokenType": "Bearer",
        "accessToken": "78yF4QJ",
        "expiresIn": 7200,
        "refreshToken": "OK0ioYMHE",
        "refreshTokenExpires": 2592000
    },
    "code": 0
}
                            

刷新Secret

刷新鉴权账号对应的key, 请注意,我们并不会存储您的Secret,您刷新后请妥善保管,避免丢失。

请求方式:POST

请求地址:{{host}}/API/Auth/RefreshSecret

Header参数名 类型 必需 描述
appID string
secret string

返回:

                            {
"data": "Secret",
"code": 0
}
                            

设备

设备库列表

请求方式:POST

请求地址:{{host}}/API/Device/DeviceLibrary

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
pageNo number 第几页,默认0,大于0时启动分页
pageSize number 每页多少条,默认1

返回:

                            {
    "data": [
        {
            "deviceQr": "9995e987bd9f985d5970eab8155a90c5",
            "deviceNumber": "19410616",
            "deviceModel": "PCBZCEBL01",
            "bluetooth": [
                {
                    "deviceName": "WeLockFKTJX",
                    "deviceMAC": "C60AF3E4BA3D"
                }
            ]
        }
    ],
    "code": 0
}
                            
参数名 描述 类型
data.bluetooth.deviceName 蓝牙名称 string
data.deviceQr 设备二维码文本值 string
data.deviceNumber 设备编号 string
data.deviceModel 设备型号 string
data.bluetooth 蓝牙 array
data.bluetooth.deviceMAC 蓝牙MAC string

设备库列表_V2

请求方式:POST

请求地址:{{host}}/API/v2/Device/DeviceLibrary

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
pageNo number 第几页,默认0,大于0时启动分页
pageSize number 每页多少条,默认1

返回:

                            {
	"data": [{
		"deviceQr": "9995e987bd9f985d597",
		"deviceNumber": "19410000",
		"deviceModel": "PCBZCEBL01",
		"bluetooth": [{
			"spare": false,
			"deviceName": "WeLockFKTJX",
			"deviceMAC": "C60AF3E4BA3D"
		}, {
			"spare": false,
			"deviceName": "WeLockR7ZGA",
			"deviceMAC": "ECD90D235DDE"
		}]
	}],
	"code": 0
}
                            
参数名 描述 类型
data.deviceQr 设备二维码文本值 string
data.deviceNumber 设备编号 string
data.deviceModel 设备型号 string
data.bluetooth 蓝牙 array
data.bluetooth.spare 备用蓝牙 boolean
data.bluetooth.deviceName 蓝牙名称 string
data.bluetooth.deviceMAC 蓝牙MAC string

添加设备

请求方式:POST

请求地址:{{host}}/API/Device/DeviceCreate

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceName string 设备备注
userID string 用户标识

返回:

                            {
    "code": 0
}
                            

设备列表

请求方式:POST

请求地址:{{host}}/API/Device/DeviceList

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
userID string
pageNo number 第几页,默认0,大于0时启动分页
pageSize number 每页多少条,默认1

返回:

                            {
    "data": [
        {
            "deviceNumber": "19400000,
            "deviceModel": "PCBZCEBL01",
            "deviceName": "",
            "userID": ""
        }
    ],
    "code": 0
}
                            
参数名 描述 类型
data.deviceNumber 设备编号 string
data.deviceModel 型号 string
data.deviceName 设备备注 string
data.userID 用户标识 string

设备列表_V2

请求方式:POST

请求地址:{{host}}/API/v2/Device/DeviceList

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
startDate string 起始日期,格式yyyy-MM-dd,例:2019-07-25
endDate string 结束日期,格式yyyy-MM-dd,例:2019-07-25
deviceNumber string 设备编号
pageNo number 第几页,默认0,大于0时启动分页
pageSize number 每页多少条,默认1

返回:

                            {
	"data": [{
		"deviceNumber": "194100000",
		"deviceModel": "PCBZCEBL01",
		"qrCode": {
			"lockNumberQr": "9995e987bd9f9855",
			"qrNumber": "WL6190053225",
			"qrCodeStr": "https://download.we-lock.com/app/dl/9995e987bd9f985d5970eab"
		},
		"bluetooth": [{
			"spare": true,
			"deviceName": "WeLockFKTJX",
			"deviceMAC": "C60AF3E4BA3D"
		}, {
			"spare": false,
			"deviceName": "WeLockR7ZGA",
			"deviceMAC": "ECD90D235DDE"
		}]
	}],
	"code": 0
}
                            
参数名 描述 类型
data.deviceNumber 设备编号 string
data.deviceModel 设备型号 string
data.qrCode 二维码信息 object
data.qrCode.lockNumberQr 设备二维码 string
data.qrCode.qrNumber 二维码编号 string
data.qrCode.qrCodeStr 二维码文本值 string
data.bluetooth 蓝牙 array
data.bluetooth.spare 备用蓝牙 boolean
data.bluetooth.deviceName 蓝牙名称 string
data.bluetooth.deviceMAC 蓝牙MAC string

临时密码

请求方式:POST

请求地址:{{host}}/API/Device/DeviceTempPassword

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceBleName string 设备蓝牙名称
startingTime string 密码生效开始时间。时间格式:yyyy-MM-dd HH:mm
endTime string 密码生效结束时间。时间格式:yyyy-MM-dd HH:mm
tempType number 密码类型:0连续性 1周期性

返回:

                            {
    "data": "2987932498",
    "code": 0
}
                            
参数名 描述 类型
data 临时开锁密码 string

蓝牙指令

基本介绍

蓝牙特征值:

SERVICE_UUID: 6e400001-b5a3-f393-e0a9-e50e24dcca9e

WRITE_CHARACTER: 6e400002-b5a3-f393-e0a9-e50e24dcca9e

NOTIFY_CHARACTER: 6e400003-b5a3-f393-e0a9-e50e24dcca9e

0x55 0x30 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

设备响应:

0x55 0x30 0x00 0x00
随机数 电量

开锁

请求方式:POST

请求地址:{{host}}/API/Device/DeviceUnLockCommand

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceBleName string 设备蓝牙名称
devicePower string 电量
deviceRandomFactor string 随机数

返回:

                            {
    "data": "553141424141424142424141414141",
    "code": 0
}
                            
参数名 描述 类型
data 蓝牙指令字符串 string

设备响应:

0x55 0x31 0x00 0x00 0x00
0x01:成功。其他:失败 随机数 电量

同步时间

请求方式:POST

请求地址:{{host}}/API/Device/DeviceSyncTime

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceBleName string 设备蓝牙名称
timestamp number Unix timestamp,长度:10
deviceRandomFactor string 随机数

返回:

                            {
    "data": "553001bc95bf5d4142414142414242",
    "code": 0
}
                            
参数名 描述 类型
data 蓝牙指令字符串 string

设备响应:

0x55 0x30 0x00 0x00
随机数 电量

设置/修改临时密码

请求方式:POST

请求地址:{{host}}/API/Device/DeviceSetTemporaryPassword

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceBleName string 设备蓝牙名称
startTimestamp number Unix timestamp,长度:10
endTimestamp number Unix timestamp,长度:10
times number 开锁次数,值范围1~65535
password number 6位密码
index number 密码标识,值范围1~256
user number 用户标识,长度不超过11位
deviceRandomFactor string 随机数

返回:

                            {
    "data": "553001bc95bf5d4142414142414242",
    "code": 0
}
                            
参数名 描述 类型
data 蓝牙指令字符串 string

设备响应:

0xA5 0x16 0x00 0x00 0x00 0x00
随机数 电量

删除设置的临时密码

请求方式:POST

请求地址:{{host}}/API/Device/DeviceDeleteTemporaryPassword

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceBleName string 设备蓝牙名称
index number 密码标识,值范围1~256
user number 用户标识,长度不超过11位
deviceRandomFactor string 随机数

返回:

                            {
    "data": "553001bc95bf5d4142414142414242",
    "code": 0
}
                            
参数名 描述 类型
data 蓝牙指令字符串 string

设备响应:

0xA5 0x17 0x00 0x00 0x00 0x00
随机数 电量

设置卡

请求方式:POST

请求地址:{{host}}/API/Device/DeviceCardCommand

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceBleName string 设备蓝牙名称
deviceRandomFactor string 随机数
cardQr string 卡二维码文本值(cardQr/cardID二选一)
cardID string 卡编号(cardQr/cardID二选一)
type number 1.添加普通卡 2.删除普通卡 3.添加管理卡 4.删除管理卡 5.清空普通卡

返回:

                            {
    "data": "553001bc95bf5d4142414142414242",
    "code": 0
}
                            
参数名 描述 类型
data 蓝牙指令字符串 string

设备响应:

0x55 0x11/0x12/0x13/0x14/0x15 0x00 0x00 0x00 0x00
随机数 电量

读取开锁记录

请求方式:POST

请求地址:{{host}}/API/Device/UnlockRecord

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceBleName string 设备蓝牙名称
deviceRandomFactor string 随机数

返回:

                            {
    "data": "554301bc95bf5d4142414142414242",
    "code": 0
}
                            
参数名 描述 类型
data 蓝牙指令字符串 string

设备响应:

0x55 0x43 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX
低字节 高字节 开锁方式 开锁结果 Unix time,小端排列 开门时间 低字节 高字节 开锁方式 开锁结果 Unix time,小端排列 开门时间
开锁方式 描述
1 指纹
2 普通密码
3 IC卡
4 遥控器
6 蓝牙
7 机械钥匙
11 临时密码
开锁结果 描述
0x00 开锁/上锁成功
0x01 马达板通讯故障
0x02 马达断线故障
0x03 马达板序列号错误
0x04 马达开锁故障

激活设备

请求方式:POST

请求地址:{{host}}/API/Device/SetExpirationDate

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
deviceNumber string 设备编号
deviceBleName string 设备蓝牙名称
currentTime number
endTime number

返回:

                            {
    "data": "552010bc95bf5d4142414142414242",
    "code": 0
}
                            
参数名 描述 类型
data 蓝牙指令字符串 string

设备响应:

0x55 0x20 0x00 0x00 0x00 0x00
随机数 电量

网关

添加网关

请求方式:POST

请求地址:{{host}}/API/Gateway/Add

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型, 0:所有 3:蓝牙网关
GatewayNumber string 网关编码
GatewayPassword string 网关密码

返回:

                            {
    "code": 0
}
                            

列表

请求方式:POST

请求地址:{{host}}/API/Gateway/list

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型, 0:所有 3:蓝牙网关
GatewayNumber string 网关编码

返回:

                            {
    "data": [
        {
            "GatewayNumber": "G00001",
            "GatewayName": "Test",
            "GatewayType": 3
        }
    ],
    "code": 0
}
                            
参数名 描述 类型
data.GatewayNumber 网关编号 string
data.GatewayName 网关名称 string
data.GatewayType 类型 number

修改名称

请求方式:POST

请求地址:{{host}}/API/Gateway/list

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
GatewayName string 名称

返回:

                            {
    "code": 0
}
                            

设置蓝牙网关WIFI

基本介绍

蓝牙特征值:

SERVICE_UUID: 00000001-0000-1000-8000-00805f9b34fb

WRITE_CHARACTER: 00000002-0000-1000-8000-00805f9b34fb

NOTIFY_CHARACTER: 00000003-0000-1000-8000-00805f9b34fb

0x55 0x30 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

设备响应:

0x55 0x30 0x00 0x00
随机数 电量

请求方式:POST

请求地址:{{host}}/API/Gateway/SetBleGateway

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
NetworkName string 名称
NetworkPassword string 名称
DeviceRandomFactor number 名称

返回:

                        {
"data": "555141424141424142424141414141",
"code": 0
}
                                
                            

开锁

请求方式:POST

请求地址:{{host}}/API/Gateway/Unlock

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
DeviceNumber string 锁编号
DeviceName string 锁蓝牙名称

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

设置时间

请求方式:POST

请求地址:{{host}}/API/Gateway/SetLockTime

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
DeviceNumber string 锁编号
DeviceName string 锁蓝牙名称
timestamp number Unix timestamp,长度:10

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

添加卡

请求方式:POST

请求地址:{{host}}/API/Gateway/AddCard

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
DeviceNumber string 锁编号
DeviceName string 锁蓝牙名称
cardQr string 卡二维码文本值(cardQr/cardID二选一)
cardID string 卡编号(cardQr/cardID二选一)
times number 开锁次数,值范围1~65535
startTimestamp number Unix timestamp,长度:10
endTimestamp number Unix timestamp,长度:10

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

删除卡

请求方式:POST

请求地址:{{host}}/API/Gateway/DeleteCard

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
DeviceNumber string 锁编号
DeviceName string 锁蓝牙名称
cardQr string 卡二维码文本值(cardQr/cardID二选一)
cardID string 卡编号(cardQr/cardID二选一)

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

设置/修改临时密码

请求方式:POST

请求地址:{{host}}/API/Gateway/SetPassword

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
DeviceNumber string 锁编号
DeviceName string 锁蓝牙名称
startTimestamp number Unix timestamp,长度:10
endTimestamp number Unix timestamp,长度:10
times number 开锁次数,值范围1~65535
password number 6位密码
index number 密码标识,值范围1~256

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

删除设置的临时密码

请求方式:POST

请求地址:{{host}}/API/Gateway/DeletePassword

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
DeviceNumber string 锁编号
DeviceName string 锁蓝牙名称
password number 6位密码
index number 密码标识,值范围1~256

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

获取设备电量

请求方式:POST

请求地址:{{host}}/API/Gateway/Battery

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
DeviceNumber string 锁编号
DeviceName string 锁蓝牙名称

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

远程开关

请求方式:POST

请求地址:{{host}}/API/Gateway/triggerSwitch

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

请求方式:POST

请求地址:{{host}}/API/Gateway/triggerSwitchDelay

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
GatewayType number 网关类型
GatewayNumber string 网关编码
delay number

返回:

                        {
    "data": "zx0011ouhnsd",
    "code": 0
}
                            
参数名 描述 类型
data 指令ID string

指令ID执行状态

请求方式:POST

请求地址:{{host}}/API/Gateway/CommandStatus

Header参数名 类型 必需 描述
Authorization string
Body参数名 类型 必需 描述
appID string
InstructionID number 指令ID

返回:

                        {
    "data": [
        {
            "createTime": "1572836796",
            "deviceName": "WeLockUIY0",
            "status": 3,
            "updateTime": "1572836796",
            "gateway": "G0001",
            "description":0
        }
    ],
    "code": 0
}
                            
参数名 描述 类型
data.createTime 指令创建时间 string
data.deviceName 设备名称 string
data.status 状态 number
data.updateTime 指令更新时间 string
data.gateway 网关 string
data.description 描述 number

status:

Parameter
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13

description:

Parameter
-1
4
5
6
7
8
9
10
11

订阅消息

请求方式:POST

请求地址合作方的Server

返回:

                        {
    "GatewayType": 3,
    "GatewayNumber": "test0001",
    "type": "InstructionStatus",
    "time": 1572023465422,
    "data": {
        "deviceNumber": "19232001",
        "deviceName": "WeLock6MZPC",
        "instructionID": "giHVNwD5l 3",
        "status": 1
    }
}
                            

type:

Parameter
InstructionStatus
Unlock
GatewayLogin
GatewayLogout

type:Unlock

data:

Parameter
type

result

附录

状态码

状态码 描述
-1 请求失败
0 Success
100 服务器内部错误
10000 鉴权失败
10001 错误的token
10002 AccessToken刷新失败
10003 Token过期
10010 参数不合法,缺少参数或者参数不正确。
10201 设备不存在
10202 设备没有这样的功能
10203 网关不存在
10204 网关已存在
10205 网关不在线
10206 设备没打开/没有唤醒
Dir
Top