msgType 字典。cmd / msgType 查询字段。POST 推送 JSON 数据。| 回调方式 | 说明 | 适用场景 |
|---|---|---|
| HTTP Webhook | 在控制台配置接收 URL,系统通过 POST application/json 推送事件 | SaaS 默认推荐方式 |
| MQTT 长连接 | 订阅指定 Topic 接收实时事件流 | 私有化部署版本可用,具体以实际交付为准 |
HTTP 200 OK。cmd 判断事件大类。msgType 解析 msgData。guid 区分来源设备或登录实例。msgUniqueIdentifier、requestId 或 seq 做幂等去重。{
"code": 0,
"msg": "成功",
"data": [
{
"guid": "a3318ad6-5544-4a4f-a1bb-2aa667b2ipad",
"userId": "16885550001804",
"requestId": "901efcada57ff16a469411b3e7f1b009",
"customParam": "",
"cmd": 15000,
"msgType": 2,
"msgUniqueIdentifier": "901efcada57ff16a469411b3e7f1b009",
"seq": 1759125951405848,
"timestamp": 1759125951,
"msgData": {}
}
]
}| 字段 | 类型 | 说明 |
|---|---|---|
code | number | 外层状态码,0 通常表示成功 |
msg | string | 外层说明文案 |
data | array | 回调事件数组,通常每个元素是一条事件 |
guid | string | 来源设备、登录实例或终端标识 |
userId | string / number | 当前登录账号 ID |
requestId | string | 请求或异步任务 ID,异步回执场景下非常重要 |
customParam | string | 自定义透传参数,具体以接口调用时传入为准 |
cmd | number | 一级事件命令字,用于判断事件大类 |
msgType | number | 二级消息类型,不同 cmd 下含义不同 |
msgUniqueIdentifier | string | 消息唯一标识,可用于幂等去重 |
seq | number | 消息序列号,可用于排序、去重或排查问题 |
timestamp | number | 秒级时间戳 |
msgData | object / null | 事件详细数据,不同 msgType 对应不同结构 |
fromRoomId | number | 群聊 ID,群消息或群事件中常见 |
senderId | number | 发送人 ID |
receiverId | number | 接收人 ID |
senderName | string | 发送人昵称或名称,可能为空 |
base64RawData | string | 原始数据或扩展数据,部分事件使用 |
cmd 区分四大类基础业务场景。接收回调后,应先判断 cmd,再根据 msgType 做二级解析。cmd | 业务模块 | 触发场景说明 | 常用程度 |
|---|---|---|---|
11016 | 设备与账号状态 | 登录成功、离线、 顶号、扫码状态变更、登录态过期等 | 高频 |
15000 | 普通消息数据流 | 文本、图片、文件、视频、语音、名片、位置、撤回、已读未读、群操作提示等 | 高频 |
15500 | 系统级事件通知 | 好友关系、标签、群组、朋友圈等系统事件 | 中高频 |
20000 | 异步 API 回执 | 文件上传、下载、群发任务等异步任务完成通知 | 中频 |
注意 部分群事件、会话事件或系统提示类事件,在实际回调中可能以 cmd=15000的普通消息流形式投递。建议开发时以 实际回调中的cmd字段作为一级路由依据,再结合msgType做业务归类。
msgUniqueIdentifier / requestId / seq 做幂等判断。cmd 分发到不同处理器。msgType 解析 msgData。HTTP 200 OK。msgType 和 Payload 请看后面的附录。{
"cmd": 11016,
"msgData": {
"guid": "a3318ad6-5544-4a4f-a1bb-2aa667b2ipad",
"msg": "login ok",
"code": 11001,
"status": 2,
"serverReboot": false
}
}{
"cmd": 15000,
"msgType": 2,
"fromRoomId": 10791082136095292,
"msgData": {
"content": "@Alex 接口已经部署,@Bob 请复核",
"atList": [
{ "userId": "788FFFFFF987664", "nickname": "Alex" },
{ "userId": "168BBBBBB0713881", "nickname": "Bob" }
]
}
}{
"cmd": 15000,
"msgType": 14,
"msgData": {
"fileId": "30680201020461305f0201000...",
"fileAeskey": "636638353836366233393432...",
"fileMd5": "1e3cfce05a05bbfafbc6c80a3444f7a4",
"fileName": "5LyB5Lia5b6u5L+h5oiq5Zu+...",
"fileSize": 819,
"imageHasHd": true
}
}{
"cmd": 15000,
"msgType": 102,
"msgData": {
"fileAeskey": "38663530393138623030313335333533",
"fileAuthkey": "v1_xxx...",
"fileHttpUrl": "https://imunion.weixin.qq.com/cgi-bin/mmae-bin/tpdownloadmedia?...",
"fileMd5": "4df4e056138311f099819fbcfe14e7a1",
"fileName": "ZG93bmxvYWRfeG1sX3ZpZC5tcDQ=",
"fileSize": 319044
}
}{
"cmd": 15500,
"msgType": 2357,
"msgData": {
"applyTime": 1759063191,
"contactId": 7881300000061361,
"contactNickname": "技术合作-张三",
"contactType": "微信",
"userId": 1970320000006843
}
}{
"cmd": 15000,
"msgType": 2063,
"msgData": {
"fromRoomId": 10920000000658,
"revokeMsgUniqueIdentifier": "5982062000920770451",
"revokeTime": 1776070536,
"revokeUserId": 788130000000050
}
}{
"cmd": 15000,
"msgType": 2001,
"msgUniqueIdentifier": "CAQQnLb7rgYY1+C/qomAgAMgk+2roAM=",
"senderId": 1688852365307991,
"receiverId": 0,
"timestamp": 1709103900,
"msgData": null
}cmd=11016cmd=11016 回调。此类事件适合用于构建多账号管理控制台、在线状态监控、掉线提醒等能力。{
"code": 0,
"msg": "成功",
"data": [
{
"guid": "a3318ad6-5544-4a4f-a1bb-2aa667b2ipad",
"userId": "16885550001804",
"requestId": "901efcada57ff16a469411b3e7f1b009",
"cmd": 11016,
"msgType": 0,
"msgUniqueIdentifier": "901efcada57ff16a469411b3e7f1b009",
"seq": 1759125951405848,
"timestamp": 1759125951,
"msgData": {
"guid": "a3318ad6-5544-4a4f-a1bb-2aa667b2ipad",
"msg": "login ok",
"code": 11001,
"status": 2,
"serverReboot": false
}
}
]
}msgData.status 状态说明status | 状态说明 | 业务建议 |
|---|---|---|
0 / -1 | 离线 | 标记账号离线,暂停任务 |
1 | 已扫码,待手机端确认 | 前端提示用户在手机端确认 |
2 | 正常在线 | 标记账号可用 |
3 | 登录失败 | 提示重新扫码或检查环境 |
4 | 用户取消登录 | 结束当前扫码流程 |
10 | 已扫码确认,待输入 6 位辅助验证码 | 前端提示输入验证码 |
msgData.code 状态码说明| Code | 状态定义 | 业务侧处理建议 |
|---|---|---|
10000 | 网络异常离线 | 系统会自动尝试重连,无需过度干预 |
11001 | 登录成功 | 标记设备在线,可开始下发自动化任务 |
11002 | 注销成功 | 释放该实例绑定的资源 |
11013 | Session 刷新失败 | 凭证失效,需提示用户重新扫码授权 |
11017 | 其它端顶号 | 设备被挤下线,立刻停止该账号的业务任务 |
11022 | 手机端主动退出 | 用户取消授权,清理本地 Token 与缓存 |
11023 | 账号环境异常 | 触发风控或环境异常,建议人工介入重新登录 |
11024 | 登录态已过期 | 常规过期,需重新登录 |
11025 | 新设备安全验证 | 需手机端辅助扫码进行安全验证 |
cmd=20000cmd=20000 回调最终结果。{
"code": 0,
"msg": "成功",
"data": [
{
"guid": "a3318ad6-5544-4a4f-a1bb-2aa667b2ipad",
"userId": "16885550001804",
"requestId": "57a360fd-f920-4b4d-84c0-351ec1c63fe8",
"cmd": 20000,
"msgType": 0,
"msgUniqueIdentifier": "cf3e312fbae0f4f9a20422609a203a66",
"seq": 1759127702979498,
"timestamp": 1759127702,
"msgData": {
"cloudUrl": "https://foo.com/0485.jpg"
}
}
]
}| 字段 | 说明 |
|---|---|
requestId | 与发起异步 API 时返回的 ID 对应,用于关联原始业务请求 |
msgUniqueIdentifier | 本次回执消息唯一标识,可用于幂等 |
msgData | 异步任务执行结果,不同 API 对应不同结构 |
cloudUrl | 文件类异步任务常见字段,表示上传后可访问地址 |
cmd=15000cmd=15000 用于推送聊天消息、媒体消息、撤回、已读未读、部分群操作提示和会话事件。它是自动化客服 、AI 回复、消息存档、业务 Agent 等场景的核心数据流。{
"code": 0,
"msg": "成功",
"data": [
{
"guid": "2cc69541-4e71-46e6-9389-65563e0da1c2",
"cmd": 15000,
"base64RawData": "CAMQ0e+yBA==",
"fromRoomId": 10791082136095292,
"isRoomNotice": 0,
"msgData": null,
"msgServerId": 1002114,
"msgType": 2001,
"msgUniqueIdentifier": "CAQQnLb7rgYY1+C/qomAgAMgk+2roAM=",
"receiverId": 0,
"senderId": 1688852365307991,
"senderName": "",
"timestamp": 1709103900
}
]
}msgType | 类型 | 常用程度 | 说明 |
|---|---|---|---|
0 / 2 | 文本消息 | 高频 | 普通文本、@ 消息 |
7 / 14 / 101 | 图片消息 | 高频 | 图片、高清图、缩略图 |
20 / 15 / 102 | 文件消息 | 高频 | 普通文件、大文件 |
22 / 23 / 103 | 视频消息 | 中频 | 视频文件、视频封面 |
16 | 语音消息 | 中频 | 语音片段,通常需按文件方式下载 |
13 | 链接消息 | 中频 | 图文外链卡片 |
41 | 名片消息 | 中频 | 个人名片或联系人名片 |
78 | 小程序消息 | 中频 | 小程序卡片 |
2063 | 撤回消息 | 高频 | 消息被撤回通知 |
2001 | 已读通知 | 中频 | 消息已读通知 |
2005 | 未读通知 | 中频 | 消息未读通知 |
cmd=15500cmd=15500 主要用于推送联系人、标签、群组、朋友圈等系统级事件。开发时建议先根据 cmd=15500 进入系统事件处理器,再根据 msgType 判断具体事件。{
"code": 0,
"msg": "成功",
"data": [
{
"guid": "29348d4d-5ee4-46c4-d458-7ff764959f16",
"userId": "1688850000000000",
"requestId": "3088f0f7e621896ba62b193fe608311f",
"customParam": "",
"cmd": 15500,
"msgServerId": 1001679,
"msgType": 2357,
"msgUniqueIdentifier": "contact_apply_friend_across_corp_1821945318",
"senderId": 10030,
"seq": 4649430,
"timestamp": 1759063190,
"msgData": {
"applyTime": 1759063191,
"contactId": 7881300000061361,
"contactNickname": "nihao~",
"contactType": "微信",
"userId": 1970320000006843
}
}
]
}| 模块 | msgType | 事件说明 |
|---|---|---|
| 联系人 | 2357 / 2132 | 好友申请通知 |
| 联系人 | 2131 | 外部联系人信息变动或删除 |
| 联系人 | 2313 | 外部联系人加入黑名单 |
| 联系人 | 2188 | 内部联系人信息变动 |
| 联系人 | 2104 | 联系人免打扰 / 置顶 |
| 联系人 | 2115 | 联系人标记操作 |
| 标签 | 2160 / 2161 | 聊天标签变动 / 标签联系人变动 |
| 标签 | 2185 / 2186 | 企业标签 / 个人标签新增或删除 |
| 群组 | 1001 / 1002 / 1003 | 群名变更 / 成员新增 / 成员移除 |
| 群组 | 1005 / 1006 | 自己退群 / 群新增 |
| 群组 | 1022 / 1023 | 群主转让 / 群解散 |
| 群组 | 1029 / 1043 | 入群申请 / 群管理员变动 |
| 会话 | 2055 / 2002 | 清空聊天记录 / 删除聊天 |
| 朋友圈 | 2215 / 517 | 朋友圈变动 / 朋友圈推送 |
msgType 字典cmd=15000 类型字典msgType | newMsgType | 消息类型 | 说明 |
|---|---|---|---|
0 | TEXT | 文本消息 | 普通文本 |
2 | TEXT_ALT | 文本 / At 消息 | 常见于群聊 @ 场景 |
7 | IMAGE | 图片消息 | 图片类型之一 |
14 | IMAGE_14 | 图片消息 | 常见图片消息,可能包含 HD 原图信息 |
101 | IMAGE_101 | 个微图片消息 | 可能包含 fileThumbHttpUrl / fileMiddleHttpUrl / fileBigHttpUrl |
22 | VIDEO | 视频消息 | 视频类型之一,大视频场景也可能使用 |
23 | VIDEO_23 | 视频消息 | 常见视频消息,可能包含封面和文件信息 |
103 | VIDEO_103 | 个微视频消息 | 可能包含 fileHttpUrl / coverImageHttpUrl |
20 | FILE_20 | 文件消息 | 普通文件或大文件场景 |
15 | FILE | 文件消息 | 常见文件消息 |
102 | FILE_102 | 个微文件消息 | 可能包含 fileHttpUrl |
29 | GIF_29 | GIF 表情 | 动态表情包 |
104 | GIF_104 | GIF 表情 | 个微 GIF 表情 |
6 | LOCATION | 位置消息 | 经纬度、地址、标题 |
13 | LINK | 链接消息 | 图文外链卡片 |
41 | BUSINESS_CARD | 名片消息 | 个人名片、联系人卡片 |
26 | RED_PACKET | 红包通知 | 红包消息通知 |
16 | VOICE | 语音消息 | 语音文件,通常需下载处理 |
78 | MINI_PROGRAM | 小程序消息 | 小程序卡片 |
123 | MIXED | 图文混合消息 | 由多个子消息组成 |
141 | VIDEO_CHANNEL | 视频号消息 | 视频号卡片 |
146 | LIVE | 直播消息 | 直播卡片或直播相关消息 |
213 | SOLITAIRE | 群接龙 | 聊天内群接龙面板 |
40 | CALL_END | 通话结束 | 语音、视频通话挂断、拒接、超时等 |
503 | CALL_NOTIFY | 通话通知 | 发起、接通、未接等通话信令 |
2166 | CALL_NOTIFY_2166 | 通话通知 | 另一类通话信令事件 |
2001 | READ_NOTIFY | 消息已读通知 | 消息已读状态变化 |
2005 | UNREAD_NOTIFY | 消息未读通知 | 消息未读状态变化 |
2063 | REVOKE | 消息撤回 | 消息被撤回通知 |