W76D 设备接口文档

点击下面的序号展开
1.注册设备
  • 将设备和appid、appsecret绑定
请求URL
  • https://wdev.wmj.com.cn/deviceApi/register
请求方式
  • POST
请求格式
  • json
参数
{
    "app_id": "",
    "app_secret": "",
    "device_sn": ""
}
参数名 必选 类型 说明
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.开门
  • 触发继电器远程开门,可选播报指定文本。启用开门 HTTP 回调后,返回中会同时给出回调排队状态和回调编号。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求方式
  • POST
请求格式
  • json
请求示例
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "data":{
        "cmd_type":"open",
        "info":{
            "tts":"欢迎光临",
            "volume":80,
            "cmd_id":"order-20260825-001",
            "user_id":"user-1001"
        }
    }
}
参数名 必选 类型 说明
app_id string 用户 app_id
app_secret string 用户 app_secret
device_sn string 设备序列号
data.cmd_type string 固定为 open
data.info.tts string 本次开门需要播报的文本;不传时仅开门,不额外播报
data.info.volume integer 本次播报音量
data.info.volume_percent integer 精确百分比音量,范围 0-100,优先于 volume
data.info.cmd_id string 客户业务命令编号;原样带入开门 HTTP 回调,便于关联业务请求
data.info.user_id string 用户或操作员标识;原样带入开门 HTTP 回调
返回示例
{
    "code":0,
    "data":{
        "cmd_type":"open",
        "info":{
            "duration_ms":1500,
            "relay_triggered":true,
            "callback_queued":true,
            "callback_id":1839869521,
            "err_code":0,
            "code":0,
            "msg":"door opened"
        }
    }
}
返回字段 类型 说明
data.info.duration_ms integer 继电器动作时间,单位毫秒
data.info.relay_triggered boolean 是否实际触发继电器;仅鸣叫模式下可能为 false
data.info.callback_queued boolean 是否已将本次成功开门加入 HTTP 回调队列;未启用回调时为 false
data.info.callback_id integer 本次开门回调编号;仅在成功排队时返回,可用于接收端去重
3.重启设备
  • 重启设备
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求方式
  • POST
请求格式
  • json
参数
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "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": ""
        }
    }
}
//失败
{
    "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
请求示例
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "data":{
        "cmd_type":"set_audio",
        "info":{
            "pass_tts":"开门成功",
            "no_pass_tts":"开门失败",
            "launch_tts":"服务器已连接",
            "boot_tts":"系统启动",
            "card_success_tts":"刷卡成功",
            "card_fail_tts":"无效卡片",
            "password_success_tts":"密码正确",
            "password_fail_tts":"密码错误",
            "network_connected_tts":"网络已连接",
            "network_failed_tts":"网络连接失败",
            "volume":7
        }
    }
}
参数名 必选 类型 说明
data.cmd_type string 固定为 set_audio
data.info.pass_tts string 开门成功提示
data.info.no_pass_tts string 开门失败提示
data.info.launch_tts string 服务器连接成功提示
data.info.boot_tts string 启动提示
data.info.card_success_tts / card_fail_tts string 刷卡成功/失败提示
data.info.password_success_tts / password_fail_tts string 密码成功/失败提示
data.info.network_connected_tts / network_failed_tts string 网络连接成功/失败提示
data.info.volume integer 1-7 按七级音量映射;其他 0-100 数值按百分比处理
返回示例
{
    "code":0,
    "data":{
        "cmd_type":"set_audio",
        "info":{"updated":10,"err_code":0,"code":0,"msg":""}
    }
}

updated 表示本次成功更新的提示语数量。

5.控制继电器常通常断
  • 设置继电器保持状态。该状态会保存,设备重启后继续生效。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "data":{"cmd_type":"on_off","info":{"status":1}}
}
参数名 必选 类型 说明
data.cmd_type string 固定为 on_off
data.info.status integer 1:继电器保持动作;0:取消保持并恢复当前常开/常闭配置对应的空闲状态
返回示例
{
    "code":0,
    "data":{"cmd_type":"on_off","info":{"err_code":0,"code":0,"msg":""}}
}
6.获取设备信息
  • 获取设备身份、门禁配置、资源状态、网络恢复统计及升级状态。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "data":{"cmd_type":"getdevinfo","info":{}}
}
返回示例
{
    "code":0,
    "data":{
        "device_sn":"W76D12345678",
        "cmd_type":"getdevinfo",
        "info":{
            "sw_ver":"760.1.4",
            "hw_ver":"2.0.0",
            "project":"W76D",
            "net_type":"wifi",
            "iccid":"MyWiFi",
            "imei":"20:6E:F1:12:34:56",
            "volume_percent":50,
            "device_pwd":"********",
            "admin_pwd":"********",
            "switch_status":0,
            "doorstate":1,
            "door_state":1,
            "card_sum":0,
            "card_max":1000,
            "pwd_sum":0,
            "pwd_max":1000,
            "access_db_healthy":true,
            "nonc_type":0,
            "workmode":0,
            "es_status":1,
            "relay1":1500,
            "free_heap":8320000,
            "min_free_heap":8290000,
            "internal_heap_free":78000,
            "internal_heap_largest":31000,
            "uptime_seconds":3600,
            "wifi_total_disconnects":3,
            "wifi_total_driver_resets":0,
            "time_synced":true,
            "fw_ota_in_progress":false,
            "err_code":0,
            "code":0,
            "msg":""
        }
    }
}
主要返回字段
字段 类型 说明
sw_ver / hw_ver / project string 软件版本、硬件版本、项目标识
net_type string 网络类型,W76D 当前为 wifi
iccid string 兼容字段,WiFi 设备返回当前 SSID
imei string 兼容字段,WiFi 设备返回 MAC 地址
volume / volume_percent integer 兼容音量值及精确百分比音量
device_pwd / admin_pwd string 设备密码和管理密码,属于敏感信息,请妥善保护 API 凭据
switch_status / doorstate / door_state integer 继电器保持状态和门状态
card_sum / card_max integer 当前卡片数量和最大容量
pwd_sum / pwd_max integer 当前密码数量和最大容量
access_db_healthy boolean 门禁数据库是否健康;为 false 时应停止新增并检查设备
nonc_type / workmode / es_status / relay1 integer 常开常闭、工作模式、出门开关和继电器动作时间
free_heap / min_free_heap integer 总可用内存及启动后的最低可用内存
internal_heap_free / internal_heap_largest integer 内部内存可用量和最大连续块
uptime_seconds / reset_reason integer 运行时间和最近重启原因
wifi_* integer WiFi 重连、断线和驱动恢复统计
audio* / schedule* / fwota* 多种 音频、定时任务和固件升级状态

设备信息字段会随固件能力增加;客户端应忽略无法识别的扩展字段。

7.二维码设置
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "data":{
        "cmd_type":"set_qrcode",
        "info":{"qrcode":"https://www.wmj.com.cn","mode":"passive"}
    }
}
参数名 必选 类型 说明
data.cmd_type string 固定为 set_qrcode
data.info.qrcode 条件必选 string 二维码内容,最多 256 字节;兼容字段名 qrcode_data
data.info.mode 条件必选 string/integer active/0passive/1both/2;内容和模式至少传一个
返回示例
{
    "code":0,
    "data":{"cmd_type":"set_qrcode","info":{"err_code":0,"code":0,"msg":""}}
}
8.卡管理
  • 支持添加、删除、修改、查询、清空及获取卡片总数。card_add 重复添加相同卡号时幂等成功,不覆盖原有效期;修改有效期请使用 card_edit
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
// 添加卡片
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"card_add","info":{"card_id":"27598FAF","start_time":0,"end_time":2147483647}}
}

// 修改卡片有效期
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"card_edit","info":{"card_id":"27598FAF","start_time":1676904446,"end_time":1710662359}}
}

// 删除卡片
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"card_del","info":{"card_id":"27598FAF"}}
}

// 获取总数
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"card_sum","info":{}}
}

// 查询单卡
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"card_find","info":{"card_id":"27598FAF"}}
}

// 分页查询
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"card_find","info":{"page":0,"page_size":50}}
}

// 清空所有卡片
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"card_clr","info":{}}
}
参数名 必选 类型 说明
data.cmd_type string card_addcard_editcard_delcard_findcard_sumcard_clr
data.info.card_id 按命令 string 卡号,推荐使用 8 位十六进制字符串
data.info.start_time / end_time integer Unix 时间戳,默认 0 / 2147483647
data.info.page / page_size 分页查询时 integer 页码从 0 开始;每页默认 50,最大 100
添加返回示例
{
    "code":0,
    "data":{"cmd_type":"card_add","info":{"already_exists":false,"card_sum":1,"err_code":0,"code":0,"msg":""}}
}

already_exists=true 表示卡号原本已存在;此时返回成功且原有效期保持不变。查询返回字段为 card 或分页字段 cards/total/page/page_size;总数接口返回 card_sum/card_max

9.设备发卡模式
  • 开启后,设备会把现场刷到的卡片加入本地卡库;超时后自动退出,也可主动关闭。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "data":{"cmd_type":"device_add_card","info":{"enable":1,"timeout":60,"start_time":0,"end_time":2147483647}}
}
参数名 必选 类型 说明
data.info.enable integer 1 开启,0 关闭;兼容字段 state
data.info.timeout integer 超时秒数,设备限制为 10-300,默认 60
data.info.start_time / end_time integer 新卡默认有效期
返回示例
{
    "code":0,
    "data":{"cmd_type":"device_add_card","info":{"state":1,"timeout":60,"err_code":0,"code":0,"msg":""}}
}

发卡成功后会上报 add_card_notify,见第 18 节。

10.密码管理
  • 密码管理:添加删除修改查询清空获取密码总数
  • pwd_add 仅用于新增密码。相同密码已存在时按幂等成功返回,不会覆盖原有效期;需要修改有效期时请使用 pwd_edit
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求方式
  • POST
请求格式
  • json
请求示例
// 添加密码
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "data": {
        "cmd_type": "pwd_add",
        "info": {
            "pwd": "123456",
            "start_time": 1676904446,
            "end_time": 1710662359
        }
    }
}

// 修改已有密码的有效期
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "data": {
        "cmd_type": "pwd_edit",
        "info": {
            "pwd": "123456",
            "start_time": 0,
            "end_time": 2147483647
        }
    }
}

// 删除密码
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "data": {
        "cmd_type": "pwd_del",
        "info": {
            "pwd": "123456"
        }
    }
}

// 清空所有密码
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "data": {
        "cmd_type": "pwd_clr",
        "info": {}
    }
}

// 获取密码总数
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "data": {
        "cmd_type": "pwd_sum",
        "info": {}
    }
}

// 查询单个密码
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "data": {
        "cmd_type": "pwd_find",
        "info": {
            "pwd": "123456"
        }
    }
}

// 查询所有密码(分页)
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "data": {
        "cmd_type": "pwd_find",
        "info": {
            "page": 0,
            "page_size": 50
        }
    }
}
参数说明
参数名 必选 类型 说明
app_id string 接口参数:用户 app_id
app_secret string 接口参数:用户 app_secret
device_sn string 接口参数:设备序列号
data.cmd_type string 命令类型:pwd_add 新增、pwd_del 删除、pwd_edit 修改、pwd_clr 清空、pwd_sum 获取总数、pwd_find 查询
data.info.pwd 新增、删除、修改、单个查询时必选 string 4-8 位数字密码
data.info.start_time integer 启用时间(Unix 时间戳),默认 0
data.info.end_time integer 停用时间(Unix 时间戳),默认 2147483647
data.info.page 分页查询时可选 integer 页码,从 0 开始
data.info.page_size 分页查询时可选 integer 每页数量,默认 50,最大 100
返回示例
// 新增密码成功
{
    "code": 0,
    "data": {
        "cmd_type": "pwd_add",
        "info": {
            "already_exists": false,
            "pwd_sum": 1,
            "err_code": 0,
            "code": 0,
            "msg": ""
        }
    }
}

// 重复新增同一密码:幂等成功,原有效期保持不变
{
    "code": 0,
    "data": {
        "cmd_type": "pwd_add",
        "info": {
            "already_exists": true,
            "pwd_sum": 1,
            "err_code": 0,
            "code": 0,
            "msg": ""
        }
    }
}

// 查询单个密码成功
{
    "code": 0,
    "data": {
        "cmd_type": "pwd_find",
        "info": {
            "code": 0,
            "msg": "",
            "pwd": {
                "pwd": "123456",
                "start_time": 1676904446,
                "end_time": 1710662359
            }
        }
    }
}

// 分页查询成功
{
    "code": 0,
    "data": {
        "cmd_type": "pwd_find",
        "info": {
            "code": 0,
            "msg": "",
            "total": 2,
            "page": 0,
            "page_size": 50,
            "pwds": [
                {
                    "pwd": "123456",
                    "start_time": 1676904446,
                    "end_time": 1710662359
                },
                {
                    "pwd": "654321",
                    "start_time": 0,
                    "end_time": 2147483647
                }
            ]
        }
    }
}

// 接口调用失败
{
    "code": 1001,
    "msg": "网络超时"
}
返回参数说明
参数名 必有 类型 说明
code int 接口错误码,0 表示成功,其他值表示异常
data.info.code int 业务错误码,0 表示成功,其他值表示失败
data.info.err_code int 与业务错误码一致
data.info.msg string 业务结果说明
data.info.already_exists pwd_add 返回 boolean 是否为已存在密码;为 true 时原有效期不变
data.info.pwd_sum int 当前密码总数
data.info.pwd_max int 最大密码数
data.info.pwd object 单密码查询结果
data.info.total int 分页查询的总密码数
data.info.page int 当前页码
data.info.page_size int 每页数量
data.info.pwds array 分页密码列表
11.继电器设置
  • 设置每次开门时继电器动作持续时间。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"set_relay","info":{"relay_time":3000}}
}

relay_time 必选,单位毫秒,有效范围 100-60000。

返回示例
{
    "code":0,
    "data":{"cmd_type":"set_relay","info":{"relay_time":3000,"err_code":0,"code":0,"msg":""}}
}
12.出门开关设置
  • 启用或关闭出门开关检测。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"set_es","info":{"es_status":1}}
}

es_status 必选:1 开启,0 关闭。

返回示例
{
    "code":0,
    "data":{"cmd_type":"set_es","info":{"es_status":1,"err_code":0,"code":0,"msg":""}}
}
13.音量设置
  • 设置设备全局音量。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"set_volume","info":{"volume_percent":80}}
}
参数名 必选 类型 说明
data.info.volume_percent 二选一 integer 推荐字段,精确百分比音量 0-100
data.info.volume 二选一 integer 兼容字段:0-10 映射为 0%-100%,11-100 按百分比处理
返回示例
{
    "code":0,
    "data":{"cmd_type":"set_volume","info":{"volume_percent":80,"err_code":0,"code":0,"msg":""}}
}
14.WiFi配置
  • 保存新的 WiFi 配置,设备回复成功后约 1.2 秒自动重启并连接新网络。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求示例
{
    "app_id":"","app_secret":"","device_sn":"W76D12345678",
    "data":{"cmd_type":"set_wifi","info":{"ssid":"MyWiFi","password":"12345678"}}
}
参数名 必选 类型 说明
data.info.ssid string WiFi SSID,UTF-8 编码后 1-32 字节;兼容字段 wifi_name
data.info.password string WiFi 密码,最多 63 字节;开放网络可传空字符串;兼容字段 wifi_pwd
返回示例
{
    "code":0,
    "data":{"cmd_type":"set_wifi","info":{"ssid":"MyWiFi","ssid_len":6,"err_code":0,"code":0,"msg":"wifi saved, restarting"}}
}

错误的 WiFi 配置可能导致设备离线,请先确认 SSID 和密码正确。

15.OTA升级
  • OTA 指令成功仅表示设备接受升级任务;最终应在设备重启并重新上线后,通过 getdevinfo 核对目标版本。
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
完整请求示例
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "type":1,
    "data":{
        "cmd_type":"set_ota",
        "info":{
            "hw_ver":"2.0.0",
            "sw_ver":"760.1.4",
            "url":"http://fm.wmj.com.cn/ota/W76D/firmware_760.1.4.bin"
        }
    }
}
参数名 必选 类型 说明
type integer 固定为 1
hw_ver(位于 data.info) string 必须与设备硬件版本一致
data.info.sw_ver string 目标软件版本,必须高于当前版本
data.info.url string 可直接下载的应用 OTA 文件地址

设备会拒绝同版本、降级、硬件版本不匹配、空 URL,以及文件名包含 _full.bin_factory_4MB.bin_4MB_complete.bin 的完整镜像。

返回示例
{
    "code":0,
    "data":{"cmd_type":"set_ota","info":{"err_code":0,"code":0,"msg":""}}
}
16.重置设备
  • 设备重置,恢复出厂设置
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求方式
  • POST
请求格式
  • json
参数
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "data": {
        "cmd_type": "reset",
        "info": {}
    }
}
参数名 必选 类型 说明
app_id string 用户app_id
app_secret string 用户app_secret
device_sn string 设备序列号
data.cmd_type string 重置命令reset
data.info object 空对象
返回示例
//成功
{
    "code": 0,
    "data": {
        "cmd_type": "reset",
        "info": {
            "code": 0,
            "msg": ""
        }
    }
}
//失败
{
    "code": 1001,
    "msg": "网络超时"
}
返回参数说明
参数名 类型 说明
code int 调用接口错误码 0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息
备注
  • 重置操作会清空所有卡片、密码、WiFi配置等
  • 设备会恢复到出厂默认设置
  • 操作完成后设备自动重启
17.获取门状态
  • 获取当前门磁状态
请求URL
  • https://wdev.wmj.com.cn/deviceApi/send
请求方式
  • POST
请求格式
  • json
参数
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678",
    "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": {
            "code": 0,
            "msg": "",
            "doorstate": 0,
            "door_state": 0
        }
    }
}
//失败
{
    "code": 1001,
    "msg": "网络超时"
}
返回参数说明
参数名 类型 说明
code int 调用接口错误码 0成功其他异常
data.info.code int 业务错误码,0成功其他异常
data.info.msg string 业务错误信息
data.info.doorstate int 门状态(0=关闭, 1=打开)
data.info.door_state int 门状态(兼容字段)
18.设备主动通知

设备会通过设备消息通道主动上报门状态、出门开关、设备发卡以及刷卡、键盘、蓝牙访问事件。本节描述的是设备消息,不是设备直接发送到客户服务器的 HTTP 回调;开门 HTTP 回调请参见第 19、20 节。

a. 门状态变化
{
    "cmd_type":"door_state_notify",
    "type":2,
    "device_sn":"W76D12345678",
    "info":{"state":0}
}

info.state0 关闭,1 打开。

b. 出门开关触发
{
    "cmd_type":"exitopened",
    "type":2,
    "device_sn":"W76D12345678",
    "info":{"status":1}
}
c. 刷卡访问事件
{
    "type":"card",
    "uid":"27598FAF",
    "status":"success"
}

失败时 statusfailed,并带 reasonnot_registerednot_startedexpiredrelay_error

d. 键盘或蓝牙密码访问事件
{
    "type":"keypad",
    "status":"failed",
    "reason":"invalid_password"
}

type 可为 keypadble;成功时 status=success,失败原因包括 invalid_passwordinvalid_temporary_passwordrelay_error

e. 设备发卡成功
{
    "cmd_type":"add_card_notify",
    "type":2,
    "device_sn":"W76D12345678",
    "info":{"card_id":"B6DC7FA0","start_time":0,"end_time":2147483647}
}

刷卡、键盘和蓝牙访问事件的上述 JSON 为设备上报体;平台向客户服务器转发时的最终结构,以平台回调配置为准。

19.开门回调配置
  • 配置设备直连的开门 HTTP/HTTPS 回调地址。配置保存在设备中,重启后继续生效。
  • 仅成功开门会生成回调,包括远程、键盘、刷卡、蓝牙、AP 应急开门和出门开关。
设置回调
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "data":{
        "cmd_type":"set_callback",
        "info":{
            "url":"https://example.com/device/open-callback",
            "enabled":true
        }
    }
}
参数名 必选 类型 说明
data.cmd_type string 固定为 set_callback
data.info.url 启用时是 string 接收回调的完整 HTTP 或 HTTPS 地址,最长 255 字节
data.info.enabled boolean true 启用,false 停用

兼容字段:callback_url 等同于 urlcallback_enabled 等同于 enabled。停用时可将地址留空;已保存但尚未发送成功的任务会暂停,重新启用后继续发送。

查询回调
{
    "app_id":"",
    "app_secret":"",
    "device_sn":"W76D12345678",
    "data":{
        "cmd_type":"get_callback",
        "info":{}
    }
}
查询返回示例
{
    "code":0,
    "data":{
        "cmd_type":"get_callback",
        "info":{
            "url":"https://example.com/device/open-callback",
            "enabled":true,
            "pending":0,
            "success_total":12,
            "fail_total":1,
            "dropped_total":0,
            "storage_healthy":true,
            "code":0,
            "err_code":0,
            "msg":"ok"
        }
    }
}
返回字段 类型 说明
data.info.pending integer 等待发送或重试的回调数量
data.info.success_total integer 累计发送成功数量
data.info.fail_total integer 累计发送失败次数;同一条回调重试失败会重复计数
data.info.dropped_total integer 因队列容量等原因未能保存的累计数量
data.info.storage_healthy boolean 回调持久化存储是否正常
20.开门HTTP回调通知

设备成功开门后,向已配置地址发送 POST 请求,Content-Typeapplication/json

请求头
请求头 说明
X-Device-Callback 固定为 W76D
X-Callback-Id 本次回调编号,与请求体 callback_id 一致
请求体示例
{
    "device_sn":"W76D12345678",
    "msg_id":50,
    "event":"door_opened",
    "open_type":"mqtt",
    "timestamp":1787643900,
    "uptime_seconds":62,
    "rssi":-61,
    "cmd_id":"order-20260825-001",
    "user_id":"user-1001",
    "extra":{"delaytime":1500},
    "callback_id":1839869521
}
字段 类型 说明
device_sn string 设备序列号
msg_id integer 设备消息序号
event string 固定为 door_opened
open_type string 开门来源:mqttkeypadcardbleapexit_button
timestamp integer 设备当前 Unix 时间戳;设备尚未完成校时时可能为 0
uptime_seconds integer 设备本次启动后的运行秒数
rssi integer 当前 WiFi 信号强度,单位 dBm
cmd_id string 远程开门请求传入的业务命令编号;其它开门来源可能没有此字段
user_id string 远程开门请求传入的用户标识;其它开门来源可能没有此字段
extra object 与开门来源相关的附加信息
callback_id integer 稳定的回调编号,重试时保持不变;接收端应按此字段幂等去重

客户服务器返回任意 2xx 状态码视为成功。连接失败、超时或非 2xx 时,设备按指数退避重试,最长间隔 1 小时;任务会持久保存,设备重启后继续重试。接收端应尽快响应并使用 callback_id 去重。

21.解绑设备
  • 解绑设备,将设备和appid解除绑定关系
请求URL
  • https://wdev.wmj.com.cn/deviceApi/logout
请求方式
  • POST
请求格式
  • json
参数
{
    "app_id":"",
    "app_secret":"",
    "device_sn": "W76D12345678"
}
参数名 必选 类型 说明
app_id string 用户app_id
app_secret string 用户app_secret
device_sn string 设备序列号
返回示例
{
    "code": 0,
    "msg": "解绑成功"
}
返回参数说明
参数名 类型 说明
code int 错误码 0成功其他异常
msg string 描述信息
更新日志
日期 内容
2026-08-25 760.1.6】修正回调完成标记异常时成功统计可能重复的问题;完成从 760.1.5760.1.6 的真实 OTA、自动回连和 HTTP 204 回调复测。
2026-08-25 760.1.5】新增成功开门 HTTP/HTTPS 回调:覆盖远程、键盘、刷卡、蓝牙、AP 应急开门和出门开关,支持持久化队列、失败退避重试、重启续传及 callback_id 幂等去重。
2026-08-15 【文档】完成 W76D 760.1.4 接口审计与真机回归:修正开门和设备信息返回字段、卡片完整操作示例、音量映射、继电器范围、WiFi 重启行为、二维码模式、OTA 拒绝条件及回调结构。
2026-08-14 760.1.4】优化键盘密码验证结果显示:开门成功后保留绿色成功提示,验证失败时保留醒目的错误提示,避免确认键松开后结果立即消失。
2026-08-14 760.1.3】重构 AP 配网与应急开门页面,支持中英文切换和配网页面自动弹出;局域网管理密码或应急开门密码连续错误 5 次后冷却 1 小时;密码和卡片重复新增改为幂等成功,不覆盖原有效期。
2026-07-16 760.1.1】支持通过键盘输入 *#*# 进入配网模式,增加“已进入配网模式”语音提示及提示音降级方案;优化重复按键识别和配网页面自动弹出稳定性。
2026-07-14 760.1.0】发布 760.1 系列首个完整功能版本,兼容 760.0 系列设备远程升级;覆盖门禁密码、卡片、二维码、键盘、显示、语音、配网、蓝牙、应急开门、远程指令及 OTA 等主要功能。

+++

作者:极客师傅  创建时间:2025-12-09 00:49
最后编辑:极客师傅  更新时间:2026-08-25 15:56