WTAPI开发文档
    • 平台简介
    • 快速入门
    • 接入开发规范
    • 消息订阅收发
    • 综合问题排查
    • 回调信息速览
    • 回调消息详解
    • 更新日志
    • API模块
      • 登录接口
        • ①获取登录二维码
        • ②执行登录
        • 弹窗登录
        • ③设置回调地址
        • 检查是否在线
        • 退出
        • 断线重连
      • 联系人接口
        • 获取通讯录列表
        • 获取通讯录列表缓存
        • 获取群/好友简要信息
        • 获取群/好友详细信息
        • 搜索好友
        • 添加联系人/同意添加好友
        • 删除好友
        • 设置好友仅聊天
        • 设置好友备注
        • 获取手机通讯录
        • 上传手机通讯录
        • 搜索企微
        • 添加企微好友
        • 同步企微好友
        • 获取企微好友详情
      • 消息接口
        • 下载
          • 下载文件
          • 下载图片
          • 下载语音
          • 下载视频
          • 下载emoji和表情包
        • 发送文字消息
        • 发送文件消息
        • 发送图片消息
        • 发送语音消息
        • 发送视频消息
        • 发送链接消息
        • 发送名片消息
        • 发送emoji消息
        • 发送appmsg消息
        • 发送小程序消息
        • 转发文件
        • 转发图片
        • 转发视频
        • 转发链接
        • 转发小程序
        • 撤回消息
      • 个人接口
        • 获取个人资料
        • 获取自己的二维码
        • 获取设备记录
        • 隐私设置
        • 修改个人信息
        • 修改头像
      • 标签接口
        • 添加标签
        • 删除标签
        • 标签列表
        • 修改好友标签
      • 群聊接口
        • 创建微信群
        • 修改群名称
        • 修改群备注
        • 修改我在群内的昵称
        • 邀请/添加 进群
        • 删除群成员
        • 退出群聊
        • 解散群聊
        • 获取群信息
        • 获取群成员列表
        • 获取群成员详情
        • 设置群公告
        • 获取群公告
        • 同意进群
        • 添加群成员为好友
        • 获取群二维码
        • 群保存到通讯录
        • 管理员操作
        • 聊天置顶
        • 设置消息免打扰
        • 扫码进群
        • 确认进群申请
      • 朋友圈接口
        • 自己的朋友圈列表
        • 联系人的朋友圈列表
        • 点赞/取消点赞
        • 删除自己朋友圈
        • 设置朋友圈可见范围
        • 是否允许陌生人查看朋友圈
        • 设置某条朋友圈为隐私/公开
        • 下载朋友圈视频
        • 发送文字朋友圈
        • 发送图片朋友圈
        • 发送视频朋友圈
        • 发送链接朋友圈
        • 上传朋友圈图片
        • 上传朋友圈视频
        • 转发朋友圈
        • 某条朋友圈详情
        • 评论/删除评论
      • 收藏夹接口
        • 同步收藏夹
        • 获取收藏夹内容
        • 删除收藏夹
      • 视频号接口
        • 获取我的视频号信息
        • 修改我的视频号信息
        • 用户主页
        • 关注
        • 评论
        • 浏览
        • 发布视频-新
        • 关注列表
        • 消息列表
        • 评论列表
        • 获取赞与收藏的视频列表
        • 搜索视频号
        • 创建视频号
        • 同步私信消息
        • 根据id点赞
        • 根据id点小红心
        • 发送视频号消息
        • 发送视频号朋友圈
        • 获取私信人信息
        • 发私信文本消息
        • 发私信图片消息
        • 扫码关注
        • 搜索并关注
        • 扫码浏览
        • 扫码评论
        • 扫码点赞
        • 扫码点小红心
        • 延迟点赞、小红心
        • 扫码登录视频号助手
        • 扫码获取视频详情
        • 我的视频号二维码
        • 上传CDN视频
        • 发布CDN视频

    回调信息速览

    当微信平台触发用户聊天消息或系统事件时,服务端将以 HTTP POST 方式实时推送标准 JSON 数据至开发者配置的回调接口 🚀

    🎯 概述#

    项目说明
    📤 推送方式HTTP POST,Content-Type: application/json
    ⏱️ 响应时限3 秒内必须返回响应(建议直接返回 "" 或 HTTP 200)
    🔑 去重键$.Appid + $.Data.NewMsgId
    🔍 判定路径先判定外层 TypeName → 若为 AddMsg 再判定 MsgType → 最后解析 Content.string

    📦 消息统一结构#

    {
      "TypeName": "AddMsg",                          消息类型
      "Appid": "wx_e2PiMSX8ySDV6tQGroCDc",           设备ID
      "Wxid": "wxid_msxcysdpcdf18",                  所属微信的wxid
      "Data": {
        "MsgId": 1040357364,                         消息ID
        "FromUserName": { "string": "wxid_sender" }, 发送人的wxid
        "ToUserName": { "string": "wxid_receiver" }, 接收人的wxid
        "MsgType": 1,                                消息类型 1是文本消息
        "Content": { "string": "哈喽" },             消息内容
        "CreateTime": 1705041728,                    发送时间
        "PushContent": "通知栏内容",                  消息通知内容 
        "NewMsgId": 7353749793478223190,             消息ID2
        "MsgSeq": 640322095
      }
    }

    📝 核心字段释义#

    字段含义示例 / 说明
    TypeName事件类型AddMsg 📨 / ModContacts 👤 / DelContacts 🗑️ / Offline 🔴 / FinderSyncMsg 🎬 / FinderBypMsg 💬
    Appid设备标识云 Pad 或 Mac 设备编号
    Wxid微信账号标识当前接收消息的微信账号 wxid
    Data.MsgType消息类型编码详见下表 ⬇️
    Data.Content.string消息内容 / XML文本正文或各类消息的 XML 结构数据
    Data.NewMsgId消息唯一 ID 🔑与 Appid 组合作为去重键
    Data.CreateTime消息时间戳 ⏰Unix 时间戳
    Data.FromUserName.string发送人标识以 @chatroom 结尾表示群消息 👥
    Data.ToUserName.string接收人标识自己发出的群消息中,接收人以 @chatroom 结尾

    🔢 MsgType 分类编码#

    💬 基础消息(TypeName: AddMsg)#

    MsgType消息类型Content.string 说明
    1💬 文本消息文本正文
    3🖼️ 图片消息图片 CDN XML,可直接用于图片转发
    34🎙️ 语音消息语音下载 XML,部分含 base64 数据
    37👋 好友请求申请人验证信息,可用于自动同意接口
    42🪪 名片消息被推荐人信息,可用于主动加人
    43🎥 视频消息视频 CDN XML,可直接用于视频转发
    47😀 Emoji 表情表情 XML(含 MD5)
    48📍 地理位置位置 XML,可直接转发位置

    📦 复合 / 应用类消息(TypeName: AddMsg, MsgType: 49)#

    ⚠️ 当 MsgType = 49 时,必须解析 Content.string 中 XML 的 msg.appmsg.type:
    appmsg.type业务分类备注说明
    5🔗 公众号 / 文章链接需结合 XML title 区分群邀请链接
    6📄 文件就绪(可下载)✅文件发送完毕,可执行下载或转发
    33 / 36🧩 小程序卡片
    57💬 引用回复消息
    74⏳ 文件发送中(提示)仅通知,此时不可下载 ❌
    2000💰 微信转账仅提醒
    2001🧧 微信红包仅提醒
    51🎬 视频号视频号内容分享

    ⚙️ 系统与通知指令(TypeName: AddMsg, MsgType: 10000 / 10002)#

    ⚠️ 此类消息需配合解析 Content.string 文本或 XML(sysmsg.type)判断:
    指令类型判断条件
    ↩️ 消息撤回MsgType = 10002 且 sysmsg.type = revokemsg
    👋 拍一拍MsgType = 10002 且 sysmsg.type = pat
    📢 群公告sysmsg.type = mmchatroombarannouncememt
    ✅ 群待办sysmsg.type = roomtoolstips
    🚪 被移出群聊 / ✏️ 修改群名 / 👑 更换群主MsgType = 10000,Content 包含对应关键字
    👢 踢人 / 💥 解散群聊MsgType = 10002 且 sysmsg.type = sysmsgtemplate

    👤 账号与联系人变动(独立 TypeName)#

    变动事件TypeNameData 数据说明
    🆕 资料变更 / 加粉成功ModContacts返回包含昵称、性别、地区的完整 Profile 对象
    🗑️ 删好友 / 🚪 退出群聊DelContacts包含 UserName 对象(wxid 或 @chatroom)
    🔴 节点掉线告警Offline节点离线,需立即告警并重新扫码登录 🚨

    🎬 视频号专属事件#

    事件TypeName处理建议
    ❤️ 互动(点赞 / 评论 / 关注)FinderSyncMsg收到通知后,调用获取消息列表接口查详情 🔍
    💬 收到私信FinderBypMsg同上 🔍

    🔧 回调服务配置#

    1.
    🛠️ 配置路径:登录 API 控制台 → 左侧菜单【访问控制】→【配置回调地址】。
    2.
    🌍 全局生效:该 Token 下登录的所有微信账号收到的消息,都会自动推送到回调接口。
    3.
    ⚡ 接口要求:
    🌐 回调地址必须公网可达
    ⏱️ 3 秒内返回响应(建议异步队列处理业务逻辑)
    🧪 保存时网关会发送 "验证回调地址是否可用" 测试数据
    4.
    🔑 去重:必须使用 Key = $.Appid + $.Data.NewMsgId 进行消息去重。
    💡 注:通过 API 接口主动发送的消息不会触发回调,但手机端主动发送的消息会有回调,属于多端消息同步的 IM 机制。

    ❓ 常见问题#

    🤔 微信在线,为什么没有收到消息推送?#

    先用 Apifox 或 Postman 向接收地址发送测试消息。若接口无法接收,检查防火墙、网关配置或代码拦截器。若能收到手动测试但收不到微信推送,请联系技术客服排查节点状态。

    🙋 如何判断这条消息是不是"我自己"发出去的?#

    对比 $.Data.FromUserName.string 与 $.Wxid,若一致则为本账号发出的消息。

    👥 如何判断消息是不是发在群里的?#

    别人发的:FromUserName.string 以 @chatroom 结尾
    自己发的:ToUserName.string 以 @chatroom 结尾

    🔍 如何提取群聊消息的真实发送者?#

    群消息的 Content.string 格式通常为 wxid_xxxx:\n消息内容。通过切割 :\n 前的第一段内容,即可提取真实发言人的 wxid。

    🧐 没找到对应的消息类型怎么处理?#

    请使用手机微信,主动向登录了 API 节点的账号发送该类型消息,然后在回调接收端查看实际推送的原始 JSON 结构。

    ✅ 开发者最佳实践#

    1.
    🔝 优先判定 MsgType 进行一级分流,避免无效解析
    2.
    📄 MsgType = 49 时再解析内部 XML,提取 msg.appmsg.type 进行二次判定
    3.
    🔄 全部推送消息务必做好去重处理,使用 Appid + NewMsgId 作为唯一键
    4.
    💎 XML 数据为核心内容不可遗漏,CDN 信息、MD5、Base64 等均在其中
    5.
    🔑 以 NewMsgId 作为消息唯一标识,其唯一性和稳定性优于 MsgId
    修改于 2026-06-09 06:29:37
    上一页
    综合问题排查
    下一页
    回调消息详解
    Built with