1. 群机器人 Webhook
-
适用场景: 向特定群聊发送消息(如告警、任务通知、监控报告、CI/CD结果等)。
-
创建与获取 Webhook URL:
-
在企业微信中,右键点击目标群聊 -> 选择
添加群机器人
。 -
输入机器人名称,创建机器人。
-
创建成功后,复制提供的 Webhook URL
-
2. 应用回调模式 / API 接收消息 (更高级的 Hook)
-
适用场景: 需要双向交互或接收企业微信内部事件(如用户发送消息给应用、成员加入/退出部门、审批状态变化等)。这比单纯的发送消息复杂得多。
-
核心组件:
-
接收 URL (Callback URL): 你需要在你的服务器上提供一个可公开访问的 API 端点。
-
Token: 自定义的字符串,用于生成签名。
-
EncodingAESKey: 企业微信提供的 43 位随机字符串,用于消息加解密。
-
验证流程: 企业微信会向你的 Callback URL 发送一个包含特定参数的 GET 请求进行验证,你的服务器需要正确响应才能通过。
-
消息接收: 验证通过后,企业微信会将事件消息(用户消息、系统事件)通过 POST 请求(XML格式,需解密)发送到你的 Callback URL。
-
消息回复: 你的服务器处理消息后,可以构造响应(XML格式,需加密)回复给用户或触发动作。
-
-
如何使用群机器人 Webhook (最常见场景)
只需向获取到的 Webhook URL 发送一个 HTTP POST 请求,请求体为 JSON 格式 的消息内容。
消息类型与 JSON 格式示例
企业微信机器人支持多种消息类型:
-
文本消息 (text):
json
复制
下载
{ "msgtype": "text", "text": { "content": "广州今日天气:29度,大部分多云,降雨概率:60%", "mentioned_list": ["wangqing", "@all"], // 可选,@指定成员或所有人 "mentioned_mobile_list": ["13800001111", "@all"] // 可选,@手机号成员或所有人 } }
-
Markdown 消息 (markdown): (推荐,格式丰富)
json
复制
下载
{ "msgtype": "markdown", "markdown": { "content": "实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n> 类型:<font color=\"comment\">用户反馈</font>\n> 普通用户反馈:<font color=\"comment\">117例</font>\n> VIP用户反馈:<font color=\"comment\">15例</font>" } }
-
图片消息 (image): (需先上传图片获取
media_id
)json
复制
下载
{ "msgtype": "image", "image": { "media_id": "3d8eb3bf-4ea5-4b74-9e1a-2cd4d1a5e77d" // 通过素材上传接口获取 } }
-
图文消息 (news):
json
复制
下载
{ "msgtype": "news", "news": { "articles": [ { "title": "中秋节礼品领取", "description": "今年中秋节公司有豪礼相送", "url": "https://work.weixin.qq.com", // 点击后跳转的链接 "picurl": "http://rxxxxg1.png" // 图文封面的图片链接 } ] } }
-
文件消息 (file): (需先上传文件获取
media_id
)json
复制
下载
{ "msgtype": "file", "file": { "media_id": "3d8eb3bf-4ea5-4b74-9e1a-2cd4d1a5e77d" // 通过素材上传接口获取 } }
string wechat = "fzqqqqqqqqq";