W767(WiFi+蓝牙门禁控制器)API
本API适用于序列号开头为W767的设备,appid和appsecret请到 wdev.wmj.com.cn 填写手机号或邮箱登录获取。
点击下面的序号展开
1.注册绑定设备
简要描述
将设备和appid、appsecret绑定
请求URL
https://wdev.wmj.com.cn/deviceApi/register
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567"
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
返回示例
{
"code": 0,
"msg": "注册成功"
}
{
"code": 1005,
"msg": "设备已注册"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 错误码,0成功其他异常 |
| msg | string | 描述信息 |
备注
更多返回错误代码请看首页的错误代码描述
2.开门
简要描述
开门操作,适用于普通门禁模式
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "open",
"info": {
"sn": "W7671234567",
"cmd_id": "order_20260127_001",
"user_id": "user123"
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 开门标识open |
| data.info.sn | 否 | string | 一旦传入sn,设备将校验传入sn是否与设备本身sn一致,校验成功才能开门 |
| data.info.cmd_id | 否 | string | 业务系统命令ID,回调时原样返回,用于业务追踪(v67.0.09+) |
| data.info.user_id | 否 | string | 操作用户ID,回调时原样返回,用于记录开门人(v67.0.09+) |
返回示例
{
"code": 0,
"data": {
"cmd_type": "open",
"info": {
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
3.设置常开/常闭模式
简要描述
设置设备常开或常闭模式
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "set_nonc",
"info": {
"nonc_type": 0
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识set_nonc |
| data.info.nonc_type | 是 | int | 0=常闭,1=常开 |
返回示例
{
"code": 0,
"data": {
"cmd_type": "set_nonc",
"info": {
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
4.设置继电器触发时长
简要描述
设置继电器触发时长(毫秒)
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "set_relay",
"info": {
"relay1": 1500
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识set_relay |
| data.info.relay1 | 是 | int | 继电器触发时长(毫秒),默认1500 |
返回示例
{
"code": 0,
"data": {
"cmd_type": "set_relay",
"info": {
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
5.设置蜂鸣器开关
简要描述
全局启用或禁用蜂鸣器
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "set_device_sound",
"info": {
"device_sound": 1
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识set_device_sound |
| data.info.device_sound | 是 | int | 0=禁用蜂鸣器,1=启用蜂鸣器 |
返回示例
{
"code": 0,
"data": {
"cmd_type": "set_device_sound",
"info": {
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
备注
禁用蜂鸣器后,所有需要蜂鸣器提示的操作将静音执行
6.远程配置WiFi
简要描述
远程配置设备WiFi连接信息
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "set_wifi",
"info": {
"ssid": "WiFi_Name",
"passwd": "WiFi_Password"
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识set_wifi |
| data.info.ssid | 是 | string | WiFi名称 |
| data.info.password | 否 | string | WiFi密码(开放WiFi可不传) |
返回示例
{
"code": 0,
"data": {
"cmd_type": "set_wifi",
"info": {
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
备注
配置成功后设备将自动重启并连接新WiFi
7.修改密码
简要描述
修改设备Web端管理密码和开门密码
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "set_pwd",
"info": {
"device_pwd": "12345678",
"admin_pwd": "admin123"
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识set_pwd |
| data.info.device_pwd | 否 | string | 设备Web端应急开门密码 |
| data.info.admin_pwd | 否 | string | 设备Web端配网管理密码 |
返回示例
{
"code": 0,
"data": {
"cmd_type": "set_pwd",
"info": {
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
8.获取设备信息
简要描述
获取设备当前配置信息
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "getdevinfo",
"info": {}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识getdevinfo |
返回示例
{
"code": 0,
"data": {
"cmd_type": "getdevinfo",
"info": {
"sn": "W7671234567",
"sw_ver": "67.0.06",
"hw_ver": "1.0",
"device_pwd": "12345687",
"admin_pwd": "admin",
"sta_ssid": "WiFi_Name",
"sta_pwd": "WiFi_Password",
"project": "W767",
"net_type": "wifi",
"iccid": "WiFi_Name",
"imei": "AA:BB:CC:DD:EE:FF",
"nonc": 0,
"rssi": -45,
"doorstate": 0,
"relay1": 1500,
"device_sound": 1,
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.sn | string | 设备序列号 |
| data.info.sw_ver | string | 软件版本号 |
| data.info.hw_ver | string | 硬件版本号 |
| data.info.device_pwd | string | 设备开门密码 |
| data.info.admin_pwd | string | Web管理密码 |
| data.info.sta_ssid | string | WiFi名称 |
| data.info.sta_pwd | string | WiFi密码 |
| data.info.project | string | 项目型号 |
| data.info.net_type | string | 网络类型(wifi) |
| data.info.iccid | string | SIM卡ICCID(WiFi模式下与sta_ssid相同) |
| data.info.imei | string | 设备MAC地址 |
| data.info.nonc | int | 常开常闭模式(0=常闭,1=常开) |
| data.info.rssi | int | WiFi信号强度(dBm) |
| data.info.doorstate | int | 门状态(0=关闭,1=打开) |
| data.info.relay1 | int | 继电器触发时长(毫秒) |
| data.info.device_sound | int | 蜂鸣器开关(0=禁用,1=启用) |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
9.获取门状态
简要描述
获取门当前开关状态
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "getdoorstate",
"info": {}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识getdoorstate |
返回示例
{
"code": 0,
"data": {
"cmd_type": "getdoorstate",
"info": {
"door_state": 0,
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.door_state | int | 门状态(0=关闭,1=打开) |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
10.配置回调地址
ℹ️ 版本要求:固件版本 v67.0.09 及以上
简要描述
配置开门成功后的HTTP回调地址,设备开门成功后会自动向该地址POST通知
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "set_callback",
"info": {
"enabled": 1,
"url": "https://your-server.com/door_callback"
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识set_callback |
| data.info.enabled | 是 | int | 0=禁用回调,1=启用回调 |
| data.info.url | 是 | string | 回调地址(支持HTTP/HTTPS) |
返回示例
{
"code": 0,
"data": {
"cmd_type": "set_callback",
"info": {
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
备注
回调地址需保证可访问,设备会自动重试直到成功
最多保存100条未成功的回调记录,设备重启后继续重试
推荐使用HTTPS地址
查询回调配置
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "get_callback",
"info": {}
}
}
返回示例
{
"code": 0,
"data": {
"cmd_type": "get_callback",
"info": {
"enabled": 1,
"url": "https://your-server.com/door_callback",
"pending_count": 0,
"success_total": 15,
"fail_total": 0,
"code": 0,
"msg": "OK"
}
}
}
10.1 开门回调通知
ℹ️ 版本要求:固件版本 v67.0.09 及以上
简要描述
设备开门成功后,自动向配置的回调地址POST通知
请求URL
由业务方配置的回调地址(通过set_callback设置)
请求方式
POST
请求格式
json
回调内容
{
"device_sn": "W7671234567",
"msg_id": 124,
"event": "door_opened",
"open_type": "mqtt",
"timestamp": 1706345678,
"rssi": -56,
"cmd_id": "order_20260127_001",
"user_id": "user123",
"extra": {
"delaytime": 1000
},
"callback_id": 4
}
| 参数名 | 类型 | 说明 |
|---|---|---|
| device_sn | string | 设备序列号 |
| msg_id | int | 硬件云消息ID |
| event | string | 事件类型,固定为door_opened |
| open_type | string | 开门方式(mqtt/ble等) |
| timestamp | int | 设备运行时间戳(秒) |
| rssi | int | WiFi信号强度(dBm) |
| cmd_id | string | 业务系统命令ID(开门时传入,用于业务追踪) |
| user_id | string | 操作用户ID(开门时传入) |
| extra | object | 其他额外信息 |
| callback_id | int | 回调任务ID(用于去重) |
业务方响应要求
业务方接收到回调后,需返回HTTP状态码 200,设备才认为回调成功。
开门时传递业务参数
在开门接口中传入cmd_id和user_id,回调时会原样返回:
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "open",
"info": {
"cmd_id": "order_20260127_001",
"user_id": "user123"
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| data.info.cmd_id | 否 | string | 业务系统命令ID,回调时原样返回 |
| data.info.user_id | 否 | string | 操作用户ID,回调时原样返回 |
备注
回调失败会自动重试,最多保存100条待回调记录
设备重启后会继续重试未成功的回调
建议业务方通过
cmd_id做幂等处理,避免重复处理
11.重启设备
简要描述
远程重启设备
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "restart",
"info": {}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识restart |
返回示例
{
"code": 0,
"data": {
"cmd_type": "restart",
"info": {
"code": 0,
"msg": "OK"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
备注
设备收到命令后将在3秒内重启
12.OTA固件升级
简要描述
远程升级设备固件
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567",
"data": {
"cmd_type": "set_ota",
"info": {
"url": "http://fm.wmj.com.cn/ota/W767/W767_67.0.09.bin",
"hw_ver": "1.0.0",
"sw_ver": "67.0.09"
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令标识set_ota |
| data.info.url | 是 | string | 固件下载URL地址(HTTP/HTTPS) |
| data.info.sw_ver | 否 | string | 目标软件版本号 |
| data.info.hw_ver | 否 | string | 硬件版本号 |
返回示例
{
"code": 0,
"data": {
"cmd_type": "set_ota",
"info": {
"code": 0,
"msg": "开始升级"
}
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码,0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
备注
升级过程中设备将自动重启
请确保固件URL可访问且固件文件正确
建议使用HTTPS链接确保固件安全
13.删除解绑
简要描述
删除解绑,将设备从当前appid解绑
请求URL
https://wdev.wmj.com.cn/deviceApi/logout
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567"
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
返回示例
{
"code": 0,
"msg": "解绑成功"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 错误码,0成功其他异常 |
| msg | string | 描述信息 |
14.蓝牙开门接口
(1) 获取临时密码
通过云端API获取蓝牙开门所需的临时密码
请求URL
https://wdev.wmj.com.cn/deviceApi/TPassword
请求方式
POST
请求格式
json
请求参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"device_sn": "W7671234567"
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
返回示例
{
"code": 0,
"data": {
"pwd": "03057414",
"roll_code": 26
}
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 错误码,0成功其他异常 |
| data.pwd | string | 临时开门密码(用于蓝牙开门) |
| data.roll_code | int | 当前滚动码值(0-999循环) |
备注
临时密码一次性有效,开门成功后自动失效
后获取的密码开门成功后,之前获取的密码将失效
开门记录会回调到配置的回调URL
(2) 蓝牙开门操作
使用获取到的临时密码通过蓝牙开门
服务UUID
开锁服务:
FEE0写特性:
FEE1(接收开门命令)通知特性:
FEE2(返回执行结果)
请求格式
通过蓝牙向特性 FEE1 写入JSON格式数据:
{
"cmd_type": "ble_pwd_open_lock",
"info": {
"data": "03057414"
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| cmd_type | 是 | string | 命令类型,固定为ble_pwd_open_lock |
| info.data | 是 | string | 临时密码(从云端API获取的pwd字段) |
返回格式
设备通过特性 FEE2 的通知返回结果:
{
"state": 1,
"info": {
"code": 0,
"msg": "Unlock success"
}
}
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 开门状态(0=失败,1=成功) |
| info.code | int | 业务错误码(0=成功,-1=失败) |
| info.msg | string | 执行结果描述 |
安全机制:
滚动码机制确保每次密码唯一
密码使用后滚动码自动递增
后获取的密码会使前面未使用的密码失效
设备硬件规格
WiFi: 2.4GHz IEEE 802.11 b/g/n
蓝牙: BLE 5.0
继电器: 1路控制
门磁检测: 实时监测门状态
蜂鸣器: 提示音
固件版本
当前固件版本: 67.0.09
技术支持
如有问题请访问: wdev.wmj.com.cn
更新日志
| 版本 | 日期 | 更新内容 |
|---|---|---|
| v67.0.09 | 2026-01-27 | 新增开门回调功能:配置回调地址、开门回调通知;开门接口新增 cmd_id、user_id 参数支持业务追踪 |
| v67.0.06 | - | 初始版本 |
最后编辑:极客师傅 更新时间:2026-01-28 20:27