GeHub|微信 API 开发文档
官方网站后台系统企业微信
官方网站后台系统企业微信
  1. Webhook
Ctrl+K
  • 平台介绍
  • 快速开始 ⭐
  • Webhook
    • Webhook 事件 ⭐
    • 回调结构说明v1.0
    • 回调结构说明 v2.0
    • 调试指南⭐
    • 常见问题
  • API 参考
    • 登录模块
      • 获取登录二维码(步骤1)
      • 执行登录(步骤2)
      • 设置回调地址
      • 掉线重连
      • 弹框登录
      • AID 本地代理说明
    • 联系人模块
      • 获取通讯录列表
      • 获取通讯录列表缓存
      • 获取群/好友简要信息
      • 获取群/好友详细信息
      • 搜索好友
      • 添加联系人/同意添加好友
      • 删除好友
      • 设置好友仅聊天
      • 设置好友备注
      • 获取手机通讯录
      • 上传手机通讯录
      • 搜索企微
      • 添加企微好友
      • 同步企微好友
      • 获取企微好友详情
      • 检测好友关系
    • 群模块
      • 创建微信群
      • 修改群名称
      • 修改群备注
      • 修改我在群内的昵称
      • 邀请/添加 进群
      • 删除群成员
      • 退出群聊
      • 获取群信息
      • 获取群成员列表
      • 获取群成员详情
      • 获取群公告
      • 设置群公告
      • 同意进群
      • 添加群成员为好友
      • 获取群二维码
      • 群保存到通讯录
      • 管理员操作
      • 聊天置顶
      • 设置消息免打扰
      • 扫码进群
      • 确认进群申请
      • 解散群聊
    • 消息模块
      • 下载
        • 下载文件
        • 下载图片
        • 下载语音
        • 下载视频
        • 下载emoji
        • cdn下载
      • 发送文字消息
      • 发送文件消息
      • 发送图片消息
      • 发送语音消息
      • 发送视频消息
      • 发送链接消息
      • 发送名片消息
      • 发送emoji消息
      • 发送appmsg消息
      • 发送合并消息
      • 发送小程序消息
      • 发送定位
      • 转发文件
      • 转发图片
      • 转发视频
      • 转发链接
      • 转发小程序
      • 撤回消息
    • 朋友圈模块
      • 点赞/取消点赞
      • 删除朋友圈
      • 设置朋友圈可见范围
      • 是否允许陌生人查看朋友圈
      • 设置某条朋友圈为隐私/公开
      • 下载朋友圈视频
      • 发送文字朋友圈
      • 发送图片朋友圈
      • 发送视频朋友圈
      • 发送链接朋友圈
      • 上传朋友圈图片
      • 上传朋友圈视频
      • 转发朋友圈
      • 自己的朋友圈列表
      • 联系人的朋友圈列表
      • 某条朋友圈详情
      • 评论/删除评论
    • 标签模块
      • 添加标签
      • 删除标签
      • 标签列表
      • 修改好友标签
    • 个人模块
      • 获取个人资料
      • 获取自己的二维码
      • 获取设备记录
      • 隐私设置
      • 修改个人信息
      • 修改头像
    • 收藏夹模块
      • 同步收藏夹
      • 获取收藏夹内容
      • 删除收藏夹
    • 视频号模块
      • 关注
      • 评论
      • 浏览
      • 用户主页
      • 获取私信SessionId
      • 关注列表
      • 消息列表
      • 评论列表
      • 获取赞与收藏的视频列表
      • 搜索视频号
      • 创建视频号
      • 根据id点赞
      • 根据id点小红心
      • 获取我的视频号信息
      • 修改我的视频号信息
      • 发送视频号消息
      • 发送视频号朋友圈
      • 获取私信人信息
      • 发私信文本消息
      • 发私信图片消息
      • 扫码关注
      • 搜索并关注
      • 扫码浏览
      • 扫码评论
      • 扫码点赞
      • 扫码点小红心
      • 延迟点赞、小红心
      • 扫码登录视频号助手
      • 扫码获取视频详情
      • 我的视频号二维码
      • 上传CDN视频
      • 发布CDN视频
      • 发布视频-新
      • 同步私信消息
    • 账号管理
      • 账号密码登录
      • 检查是否在线
      • 退出
      • 设置代理
      • Mac转ipad接口
  • 账号与风控
    • 养号规范
    • 风险说明
    • 解封指南
  1. Webhook

回调结构说明v1.0

当前版本:v1.0
当微信产生消息或系统事件时,服务端会通过 HTTP POST(JSON)方式,将数据推送至开发者配置的回调地址。
本章节用于说明:
回调消息结构
各类型消息判断方式
字段含义解析

一、回调消息常见问题#

Q. 微信在线为什么没有消息推送?#

当回调消息未能成功推送时:
1.
使用 Apifox 向回调地址发送测试请求;
2.
若测试失败:
检查服务是否运行
检查端口 / 防火墙 / 网关
检查公网地址
3.
若测试成功但微信无消息:
联系客服排查通道问题

Q. 如何判断是否是自己发送的消息?#

判断逻辑:
$.Data.FromUserName.string == $.Wxid
说明:
相同:自己发送
不同:他人发送

Q. 为什么同一条消息会重复回调?#

原因:
服务重启
历史消息同步
失败重试机制
解决方案(必须实现):
去重Key = $.Appid + $.Data.NewMsgId

二、消息结构总览#

所有消息统一结构:
   {
      "TypeName": "AddMsg",
      "Appid": "设备ID",
      "Wxid": "当前账号",
      "Data": { ... }
    }
字段说明:
字段含义
TypeName消息类型
Appid设备ID
Wxid当前微信账号
Data消息主体

三、通用字段说明(Data)#

字段含义
MsgId消息ID(旧)
NewMsgId消息唯一ID(推荐使用)
MsgType消息类型
FromUserName.string发送人
ToUserName.string接收人
Content.string消息内容/XML
CreateTime时间戳
PushContent展示内容
MsgSource附加信息
ImgBuf.bufferbase64数据(部分消息)

四、消息类型说明#


1. 文本消息#

判断:
$.Data.MsgType = 1
说明:
内容:$.Data.Content.string

2. 图片消息#

判断:
$.Data.MsgType = 3
说明:
图片信息:Content.string(XML)
缩略图:ImgBuf.buffer(base64)

3. 语音消息#

判断:
$.Data.MsgType = 34
说明:
下载信息:Content XML
base64:可能存在

4. 视频消息#

判断:
$.Data.MsgType = 43
说明:
CDN信息在 XML 中

5. emoji 表情#

判断:
$.Data.MsgType = 47
说明:
使用 XML 中 md5 发送表情

6. 地理位置#

判断:
$.Data.MsgType = 48

7. 名片消息#

判断:
$.Data.MsgType = 42
说明:
可用于添加好友

8. 好友请求#

判断:
$.Data.MsgType = 37
说明:
FromUserName = fmessage

五、AppMsg 类型(核心)#

统一判断:
$.Data.MsgType = 49

1. 公众号链接#

判断:
msg.appmsg.type = 5
说明:
需结合 title 区分群邀请

2. 文件(发送中)#

判断:
msg.appmsg.type = 74
说明:
仅通知
不可下载

3. 文件(发送完成)#

判断:
msg.appmsg.type = 6
说明:
可下载 / 转发

4. 小程序#

判断:
msg.appmsg.type = 33 / 36

5. 引用消息#

判断:
msg.appmsg.type = 57

6. 转账#

判断:
msg.appmsg.type = 2000

7. 红包#

判断:
msg.appmsg.type = 2001

8. 视频号#

判断:
msg.appmsg.type = 51

六、系统消息#


撤回消息#

判断:
$.Data.MsgType = 10002
sysmsg.type = revokemsg

拍一拍#

判断:
$.Data.MsgType = 10002
sysmsg.type = pat

群公告#

判断:
sysmsg.type = mmchatroombarannouncememt

群待办#

判断:
sysmsg.type = roomtoolstips

被移除群聊#

判断:
$.Data.MsgType = 10000

踢出群聊#

判断:
sysmsg.type = sysmsgtemplate

解散群聊#

判断:
sysmsg.type = sysmsgtemplate

修改群名#

判断:
$.Data.MsgType = 10000

更换群主#

判断:
$.Data.MsgType = 10000

七、联系人与系统事件#


联系人变更#

TypeName = ModContacts

删除好友#

TypeName = DelContacts

退出群聊#

TypeName = DelContacts

掉线#

TypeName = Offline

✅ 总结(开发者必须掌握)#

1.
先判断 MsgType
2.
MsgType=49 再解析 XML
3.
所有消息必须去重
4.
XML 是核心(不要忽略)
5.
NewMsgId 才是唯一ID
修改于 8 天前
上一页
Webhook 事件 ⭐
下一页
回调结构说明 v2.0
Built with
本篇目录
一、回调消息常见问题
Q. 微信在线为什么没有消息推送?
Q. 如何判断是否是自己发送的消息?
Q. 为什么同一条消息会重复回调?
二、消息结构总览
三、通用字段说明(Data)
四、消息类型说明
1. 文本消息
2. 图片消息
3. 语音消息
4. 视频消息
5. emoji 表情
6. 地理位置
7. 名片消息
8. 好友请求
五、AppMsg 类型(核心)
1. 公众号链接
2. 文件(发送中)
3. 文件(发送完成)
4. 小程序
5. 引用消息
6. 转账
7. 红包
8. 视频号
六、系统消息
撤回消息
拍一拍
群公告
群待办
被移除群聊
踢出群聊
解散群聊
修改群名
更换群主
七、联系人与系统事件
联系人变更
删除好友
退出群聊
掉线
✅ 总结(开发者必须掌握)