W76C(4G控制器)API
W76C 开发者API文档
概述
本文档描述了 W76C 智能门禁控制系统的云端 API 接口,开发者可通过这些接口实现设备注册、远程开门、设备控制等功能。
API基础地址: https://wdev.wmj.com.cn
错误码说明
| 错误码 | 说明 |
|---|---|
| 0 | 成功 |
| 1001 | 网络超时 |
| 1002 | 设备不在线 |
| 1003 | 参数错误 |
| 1004 | 设备未注册 |
| 1005 | 设备已注册 |
| 1006 | 认证失败 |
点击下面的序号展开
1.注册设备
将设备和appid、appsecret绑定
请求URL
https://wdev.wmj.com.cn/deviceApi/register
请求方式
POST
请求格式
json
参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C1234567"
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| 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": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C0998927",
"type": 1,
"data": {
"cmd_type": "open",
"info": {
"delay": 1200
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| 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.delay | 否 | int | 延迟上锁时间(毫秒) |
返回示例
//成功
{
"code": 0,
"data": {
"device_sn": "W76C0998927",
"msg_id": 172,
"type": 1,
"cmd": "",
"app_id": "",
"cmd_type": "open",
"info": {
"code": 0,
"msg": "OK"
}
}
}
//失败
{
"code": 1002,
"msg": "设备不在线"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 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": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C0998927",
"data": {
"cmd_type": "restart",
"info": {}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令类型:restart |
| data.info | 是 | object | 暂未使用 |
返回示例
//成功
{
"code": 0,
"data": {
"cmd_type": "restart",
"info": {
"code": 0,
"msg": "OK"
}
}
}
//失败
{
"code": 1001,
"msg": "网络超时"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| 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": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C0998927",
"data": {
"cmd_type": "getdevinfo",
"info": {}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令类型:getdevinfo |
| data.info | 是 | object | 暂未使用 |
返回示例
//成功
{
"code": 0,
"data": {
"device_sn": "W76C0998927",
"msg_id": 175,
"type": 1,
"cmd_type": "getdevinfo",
"info": {
"sn": "W76C0998927",
"model": "W76C",
"hw": "1.0.0",
"sw": "0.0.4",
"rssi": -65,
"doorstate": 0,
"nonc": 0,
"relay": 0,
"code": 0,
"msg": "OK"
}
}
}
//失败
{
"code": 1002,
"msg": "设备不在线"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码 0成功其他异常 |
| data.info.sn | string | 设备序列号 |
| data.info.model | string | 设备型号 |
| data.info.hw | string | 硬件版本 |
| data.info.sw | string | 软件版本 |
| data.info.rssi | int | 信号强度(dBm) |
| data.info.doorstate | int | 门状态:0=关闭,1=打开 |
| data.info.nonc | int | 常开常闭模式:0=常闭,1=常开 |
| data.info.relay | int | 继电器状态:0=断开,1=闭合 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
5.获取门状态
获取当前门磁状态
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C0998927",
"data": {
"cmd_type": "getdoorstate",
"info": {}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令类型:getdoorstate |
| data.info | 是 | object | 暂未使用 |
返回示例
//成功
{
"code": 0,
"data": {
"device_sn": "W76C0998927",
"msg_id": 176,
"type": 1,
"cmd_type": "getdoorstate",
"info": {
"doorstate": 0,
"code": 0,
"msg": "OK"
}
}
}
//失败
{
"code": 1002,
"msg": "设备不在线"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码 0成功其他异常 |
| data.info.doorstate | int | 门状态:0=关闭,1=打开 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
6.设置常开常闭模式
控制继电器常开或常闭模式
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C0998927",
"data": {
"cmd_type": "set_nonc",
"info": {
"type": 1
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令类型:set_nonc |
| data.info.type | 是 | int | 模式设置:0=常闭模式,1=常开模式 |
返回示例
//成功
{
"code": 0,
"data": {
"device_sn": "W76C0998927",
"msg_id": 181,
"type": 1,
"cmd_type": "set_nonc",
"info": {
"nonc": 1,
"code": 0,
"msg": "OK"
}
}
}
//失败
{
"code": 1001,
"msg": "网络超时"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码 0成功其他异常 |
| data.info.nonc | int | 当前模式:0=常闭,1=常开 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
7.OTA固件升级
远程升级设备固件
请求URL
https://wdev.wmj.com.cn/deviceApi/send
请求方式
POST
请求格式
json
参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C0998927",
"data": {
"cmd_type": "set_ota",
"info": {
"url": "http://ota.example.com/W76C_v0.0.5.bin"
}
}
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
| data.cmd_type | 是 | string | 命令类型:set_ota |
| data.info.url | 是 | string | 固件下载地址 |
返回示例
//成功
{
"code": 0,
"data": {
"device_sn": "W76C0998927",
"msg_id": 182,
"type": 1,
"cmd_type": "set_ota",
"info": {
"code": 0,
"msg": "OK"
}
}
}
//失败
{
"code": 1002,
"msg": "设备不在线"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 调用接口错误码 0成功其他异常 |
| data.info.code | int | 业务错误码,0成功其他异常 |
| data.info.msg | string | 业务错误信息 |
备注
固件URL必须是可公网访问的HTTP/HTTPS地址
升级过程中设备会自动重启
建议在设备空闲时执行升级操作
8.回调通知
通知数据将发送到用户注册的回调地址上
a. 门状态变化通知
当门磁状态发生变化时,设备会主动上报:
{
"cmd_type": "door_state_notify",
"device_sn": "W76Cxxxxxxxx",
"info": {
"doorstate": 0
}
}
| 参数 | 类型 | 说明 |
|---|---|---|
| cmd_type | string | door_state_notify:门状态变化通知 |
| device_sn | string | 设备序列号 |
| info.doorstate | int | 门状态 0:关门状态 1:开门状态 |
b. 串口数据通知
当设备收到串口数据时,会上报到回调地址:
{
"cmd_type": "uart_data",
"device_sn": "W76Cxxxxxxxx",
"info": {
"data": "AABBCCDDEEFF"
}
}
| 参数 | 类型 | 说明 |
|---|---|---|
| cmd_type | string | uart_data:串口数据通知 |
| device_sn | string | 设备序列号 |
| info.data | string | 串口数据(HEX字符串格式) |
c. 设备上线通知
当设备连接到服务器时,会发送上线通知:
{
"cmd_type": "online",
"device_sn": "W76Cxxxxxxxx",
"info": {
"model": "W76C",
"sw": "0.0.4",
"rssi": -65
}
}
| 参数 | 类型 | 说明 |
|---|---|---|
| cmd_type | string | online:设备上线通知 |
| device_sn | string | 设备序列号 |
| info.model | string | 设备型号 |
| info.sw | string | 软件版本 |
| info.rssi | int | 信号强度(dBm) |
9.查询在线状态
查询设备是否联网在线
请求URL
https://wdev.wmj.com.cn/deviceApi/getOnLine
请求方式
POST
请求格式
json
参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C0998927"
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
返回示例
//成功
{
"code": 0,
"data": {
"on_line": 1
},
"msg": "查询成功"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 错误码 0成功其他异常 |
| data.on_line | int | 在线状态:0=离线,1=在线 |
| msg | string | 描述信息 |
10.解绑设备
解绑设备,将设备和appid解除绑定关系
请求URL
https://wdev.wmj.com.cn/deviceApi/logout
请求方式
POST
请求格式
json
参数
{
"app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk",
"device_sn": "W76C1234567"
}
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 是 | string | 用户app_id |
| app_secret | 是 | string | 用户app_secret |
| device_sn | 是 | string | 设备序列号 |
返回示例
//成功
{
"code": 0,
"msg": "解绑成功"
}
//失败
{
"code": 1004,
"msg": "设备未注册"
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 错误码 0成功其他异常 |
| msg | string | 描述信息 |
附录
设备序列号规则
W76C 设备序列号格式为:W76C + 7位数字
示例:W76C0998927
支持的命令类型汇总
| cmd_type | 说明 |
|---|---|
open | 开门/触发继电器 |
restart | 重启设备 |
getdevinfo | 获取设备信息 |
getdoorstate | 获取门状态 |
set_nonc | 设置常开/常闭模式 |
set_ota | OTA固件升级 |
回调通知类型汇总
| cmd_type | 说明 |
|---|---|
door_state_notify | 门状态变化通知 |
uart_data | 串口数据通知 |
online | 设备上线通知 |
更新记录
| 版本 | 日期 | 说明 |
|---|---|---|
| 1.0.0 | 2025-12-16 | 初始版本 |
最后编辑:极客师傅 更新时间:2025-12-16 12:01