首页/新闻资讯/正文详情

EasyWeChat 企业微信群机器人开发指南:Webhook 消息发送全解析

发布时间:2026/9/24 15:41:23 来源:云帆数科 栏目:资讯中心
EasyWeChat 企业微信群机器人开发指南:Webhook 消息发送全解析
后端即时通讯【免费下载链接】easywechat 一个 PHP 微信 SDK项目地址https://gitcode.com/gh_mirrors/ea/easywechat点击查看免费下载企业微信群机器人是 EasyWeChat 企业微信Work模块中一个轻量且实用的能力无需接入corp_id/secret与 Access Token 体系只要在群内添加机器人并取得 Webhook 地址中的key即可向群聊推送文本、Markdown、图片和图文消息。本文以 docs/src/4.x/wework/group-robot.md 为骨架结合仓库源码与配置系统讲解从取 key、初始化应用到四类消息发送的完整流程读完即可在监控告警、CI/CD 通知、定时提醒等场景中落地使用。前置准备添加机器人并提取 Webhook Key使用群机器人前必须先在企业微信的目标群组中完成机器人添加进入目标群聊 → 点击右上角「...」→「群机器人」→「添加机器人」添加成功后群内会生成一个形如下方的Webhook 地址https://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyab4f609a-3feb-427c-ae9d-b319ca712d36将 URL 中key后面那一段 UUID如ab4f609a-3feb-427c-ae9d-b319ca712d36取出作为后续所有示例中$groupKey的值。需要特别说明的是群机器人鉴权完全依赖这个key不需要企业微信的corp_id、secret和 access_token。因此从 EasyWeChat 的架构看群机器人是一个与 src/Work/Application.php 中AccessToken体系解耦的独立能力——文档也专门为其保留了group_robot_messenger/group_robot两个服务入口。这也是它适合做零配置快速通知的原因。在 docs/src/4.x/sidebar.js 中群机器人作为企业微信子菜单登记为「群机器人」/4.x/wework/group-robot.html与消息发送、通讯录、JSSDK 等并列对应的 5.x 文档 docs/src/5.x/wework/group-robot.md 内容与之完全一致本文示例在 4.x/5.x 版本下均可直接使用。初始化企业微信应用群机器人消息最终仍由企业微信应用实例$app发起。按 docs/src/4.x/wework/index.md 的说明使用\EasyWeChat\Factory::work($config)初始化$config [ corp_id xxxxxxxxxxxxxxxxx, agent_id 100020, // 如果有 agent_id 则填写 secret xxxxxxxxxx, // 指定 API 调用返回结果的类型array(default)/collection/object/raw/自定义类名 response_type array, log [ level debug, file __DIR__./wechat.log, ], ]; $app Factory::work($config);之后即可通过$app获取群机器人 Messenger 实例本文档 4.x 版本采用该命名空间约定文档中以$app-group_robot_messenger访问。发送文本类型消息文本消息是最常用的通知载体EasyWeChat 提供两种写法。快速发送字符串直传// 获取 Messenger 实例 $messenger $app-group_robot_messenger; // 群组 key $groupKey ab4f609a-3feb-427c-ae9d-b319ca712d36; $messenger-message(大家好我是本群的喝水提醒小助手)-toGroup($groupKey)-send(); // 或者写成 $messenger-toGroup($groupKey)-send(大家好我是本群的喝水提醒小助手);可以看到message()与send()均接受字符串参数message()负责装配消息send()负责发送二者与toGroup($groupKey)组合顺序可以互换语义完全一致。使用 Text 消息类当需要携带提及等复杂能力时改用消息类对象use EasyWeChat\Work\GroupRobot\Messages\Text; // 准备消息 $text new Text(hello); // 发送 $messenger-message($text)-toGroup($groupKey)-send();Text类位于EasyWeChat\Work\GroupRobot\Messages命名空间下与下文Markdown、Image、News等消息类同属该目录是群机器人消息体系的核心模型。某人 / 所有人文本消息支持通过构造函数、mention()、mentionByMobile()三种方式实现提及use EasyWeChat\Work\GroupRobot\Messages\Text; // 通过构造函数传参 $text new Text(hello, her-cat, 18700000000); //$text new Text(hello, [her-cat, overtrue], [18700000000, 18700000001]); // 通过 userId $text-mention(her-cat); //$text-mention([her-cat, overtrue]); // 通过手机号 $text-mentionByMobile(18700000000); //$text-mentionByMobile([18700000000, 18700000001]); // 所有人 $text-mention(all); //$text-mentionByMobile(all); $messenger-message($text)-toGroup($groupKey)-send();提及参数的对应规则如下方式方法参数类型典型值按成员 userIdmention()字符串或字符串数组her-cat/[her-cat, overtrue]按手机号mentionByMobile()字符串或字符串数组18700000000/[18700000000, 18700000001]所有人mention()或mentionByMobile()特殊值all构造函数第二、三参数与上述两个方法一一对应第二个参数按 userId 提及第三个参数按手机号提及两种提及方式也可以同时混用。发送 Markdown 类型消息Markdown 消息适合需要结构化排版的通知标题、引用、彩色文字等内容由Markdown消息类包装use EasyWeChat\Work\GroupRobot\Messages\Markdown; $content # 标题一 ## 标题二 font colorinfo绿色/font font colorcomment灰色/font font colorwarning橙红色/font 引用文字 ; $markdown new Markdown($content); $messenger-message($markdown)-toGroup($groupKey)-send();使用要点内容直接以多行字符串传入Markdown构造函数支持#/##标题、引用、font color...彩色文字等企业微信 Markdown 语法font color支持三种取值info绿色、comment灰色、warning橙红色发送时同样遵循message()-toGroup()-send()的链式调用约定与文本消息完全一致。发送图片类型消息图片消息需要提供图片内容的base64 编码与md5 摘要二者缺一不可use EasyWeChat\Work\GroupRobot\Messages\Image; $img file_get_contents(http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png); $image new Image(base64_encode($img), md5($img)); $result $messenger-message($image)-toGroup($groupKey)-send();实现细节说明Image构造函数的第一个参数是图片文件的 base64 编码base64_encode($img)第二个参数是同一份原始内容的 md5 摘要md5($img)用于服务端校验图片完整性实际项目中图片多来自本地文件file_get_contents(/path/to/image.png)或 OSS/CDN 下载流这里以官方测试图 URL 作示例发送结果会赋值给$result可用于后续的返回值检查与日志记录。发送图文类型消息图文消息News由若干NewsItem条目组成每个条目包含标题、描述、跳转链接与封面图use EasyWeChat\Work\GroupRobot\Messages\News; use EasyWeChat\Work\GroupRobot\Messages\NewsItem; $items [ new NewsItem([ title 中秋节礼品领取, description 今年中秋节公司有豪礼相送, url https://easywechat.com, image http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png, ]), //... ]; $news new News($items); $messenger-message($news)-toGroup($groupKey)-send();NewsItem支持的关键字段字段说明title图文标题description图文描述摘要文字url点击后跳转的链接image封面图片 URL多个NewsItem组成数组后整体传入News构造函数即可一次发送多条图文用//...继续追加条目。其他方式直接使用 group_robot除了group_robot_messenger还可以直接通过group_robot发送两者底层逻辑一致$app-group_robot-message(大家好我是本群的喝水提醒小助手)-toGroup($groupKey)-send();也就是说在企业微信应用实例$app上存在两个可用的群机器人入口$app-group_robot_messenger与$app-group_robot选择任一即可便于在不同代码风格与命名习惯下使用。消息类型速查将上述内容汇总为一张对照表方便开发时快速查阅消息类型消息类构造参数备注文本Textcontent可选userIdList、mobileList支持mention()/mentionByMobile()/allMarkdownMarkdowncontent支持标题、引用、font color彩色文字图片Imagebase64Content、md5base64 与 md5 均基于同一份原始图片内容图文NewsNewsItem[]每条含title/description/url/image所有消息统一通过$messenger-message($msg)-toGroup($groupKey)-send()发送$groupKey即群机器人 Webhook 地址中的key。注意事项与最佳实践Key 即凭证$groupKey等价于群聊的推送令牌任何人拿到它都可以向该群发消息务必妥善保管避免提交到公开仓库或日志中无需 Access Token群机器人走 Webhook 通道不依赖corp_id/secret这也意味着它与 src/Work/Application.php 中基于AccessToken的企业应用接口如通讯录、应用消息在使用前提上有明显区别调用频率企业微信官方对群机器人接口设有频率限制高频轮询推送如每秒级别的告警风暴可能被限流建议在业务侧做消息聚合与节流内容约束文本、Markdown、图文、图片四类已覆盖绝大多数通知场景若需发送文件或模板卡片等更多类型可在掌握上述 Messenger 模式后自行扩展发送链路保持一致典型落地场景定时喝水/值班提醒文档示例、CI/CD 构建结果通知、线上监控告警聚合、日报/周报自动推送等均可基于本文的四类消息快速实现。总结企业微信群机器人是 EasyWeChat 中门槛最低、接入最快的通知能力添加机器人取key→ 初始化$app→ 组装消息 →toGroup()-send()四步即可完成向任意企业微信群推送消息。文本含 提及、Markdown含彩色排版、图片base64 md5、图文NewsItem 列表四类消息完整覆盖了日常自动化通知场景而group_robot_messenger与group_robot双入口的设计也让接入方式更加灵活。结合 docs/src/4.x/wework/group-robot.md 原文与本文的源码级补充你可以直接在项目中投入生产使用。赞分享后端即时通讯【免费下载链接】easywechat 一个 PHP 微信 SDK项目地址https://gitcode.com/gh_mirrors/ea/easywechat点击查看免费下载相关推荐企业微信Webhook机器人Java SDK5步实现自动化消息推送企业微信Webhook机器人Java SDK5步实现自动化消息推送 企业微信Webhook机器人Java SDK是一款专为开发者设计的消息推送解决方案通过面企业微信机器人消息推送的Java实战指南企业微信机器人消息推送的Java实战指南 在现代企业协作环境中高效的消息推送机制已成为团队协同的重要支撑。企业微信作为国内主流的企业级通讯工具其机器人Web企业微信Webhook机器人Java SDK简化消息推送的终极解决方案企业微信Webhook机器人Java SDK简化消息推送的终极解决方案 在当今企业协作场景中实时消息推送已成为提升团队效率的关键环节。 wework weh上一篇Podcast Bulk Downloader解决播客离线存储的3大核心痛点下一篇终极指南解锁ComfyUI ControlNet图像控制新维度创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

SMBUS实战:bq4050地址解析与硬件I2C库避坑指南
SMBUS实战:bq4050地址解析与硬件I2C库避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:41:23

深入解析 zap 日志库 FAQ:从设计哲学到生产实践(vcluster 场景实战)
深入解析 zap 日志库 FAQ:从设计哲学到生产实践(vcluster 场景实战)

云原生集群管理虚拟化多集群 【免费下载链接】vcluster vCluster creates tenant clusters: fully isolated environments delivered as managed Kubernetes, or as the foundation for Slurm, Ray, Run:ai and inference clusters. Each gets its own API server, CRDs and RB… · 2026/9/24 15:41:16

go-toml v2 实战指南:在 Substrate 项目中使用高性能 TOML 解析库
go-toml v2 实战指南:在 Substrate 项目中使用高性能 TOML 解析库

go-toml v2 实战指南:在 Substrate 项目中使用高性能 TOML 解析库 【免费下载链接】substrate Agent Substrate: the core system 项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrate 导读 go-toml v2 是 GitHub 上 pelletier/go-toml 的… · 2026/9/24 15:41:04

Prisma CLI 集群管理实战:`prisma cluster list` 命令详解与集群注册表机制剖析
Prisma CLI 集群管理实战:`prisma cluster list` 命令详解与集群注册表机制剖析

Prisma CLI 集群管理实战:prisma cluster list 命令详解与集群注册表机制剖析 【免费下载链接】prisma1 💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB) [deprecated] 项目地址: https://gitcode.com/gh_mirr… · 2026/9/24 16:05:40

Basic Computer Games 之 Weekday 的 MiniScript 移植:安装运行指南与格里高利历算法源码解析
Basic Computer Games 之 Weekday 的 MiniScript 移植:安装运行指南与格里高利历算法源码解析

示例工程 【免费下载链接】basic-computer-games An updated version of the classic "Basic Computer Games" book, with well-written examples in a variety of common MEMORY SAFE, SCRIPTING programming languages. See https://coding-horror.github.io/basic… · 2026/9/24 16:05:40

OpenLayers 9.2.2 补丁版本解读:Cluster 空源异常修复与 Feature 类型泛型修正
OpenLayers 9.2.2 补丁版本解读:Cluster 空源异常修复与 Feature 类型泛型修正

前端GIS数据可视化 【免费下载链接】openlayers OpenLayers 项目地址: https://gitcode.com/gh_mirrors/op/openlayers 点击查看 免费下载 9.2.2 是 OpenLayers 在 9.2.x 系列上的第二个补丁版本,仅包含两项针对性修复:一是避免 ClusterSour… · 2026/9/24 16:05:40

fast-compress-cj 实战手册:Snappy 类全 API 详解,从字符串到多类型数组全覆盖
fast-compress-cj 实战手册:Snappy 类全 API 详解,从字符串到多类型数组全覆盖

fast-compress-cj 实战手册:Snappy 类全 API 详解,从字符串到多类型数组全覆盖 【免费下载链接】fast-compress-cj 一个快速的压缩/解压缩库 项目地址: https://gitcode.com/Cangjie-TPC/fast-compress-cj fast-compress-cj 是谷歌 Snappy 压缩算… · 2026/9/24 16:05:40

Kornia 立体视差指标半精度修复:float16/bfloat16 下的累加溢出与精度损失问题解析
Kornia 立体视差指标半精度修复:float16/bfloat16 下的累加溢出与精度损失问题解析

计算机视觉人工智能深度学习图像处理 【免费下载链接】kornia 🐍 Geometric Computer Vision Library for Spatial AI 项目地址: https://gitcode.com/gh_mirrors/ko/kornia 点击查看 免费下载 本篇技术指南围绕 Kornia 仓库 changelog.d/3931.fixed.md… · 2026/9/24 16:05:33

Phoenix LDAP 认证安全深度剖析:从威胁模型到生产级防护实现
Phoenix LDAP 认证安全深度剖析:从威胁模型到生产级防护实现

Phoenix LDAP 认证安全深度剖析:从威胁模型到生产级防护实现 【免费下载链接】phoenix AI Observability & Evaluation 项目地址: https://gitcode.com/gh_mirrors/phoenix13/phoenix 导读 本文以 Phoenix(AI Observability & Evaluatio… · 2026/9/24 16:05:27

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码