核心功能:群机器人 Webhook 开发
能力介绍
群机器人(Webhook) 是企业微信外部群中最轻量化的自动化工具。通过该能力,Java 开发者可以向群内推送提醒、报告或实时告警。其核心价值在于零成本接入:无需复杂的应用鉴权流程,只需通过一个唯一的 Webhook 地址,即可向群内发送文本、Markdown、图片及文件。
10 分钟接入 Demo
-
创建机器人 :在企业微信群聊设置中点击"群机器人" -> "添加机器人",获取专属的
Webhook URL。 -
准备环境 :确保 Java 环境中已引入常用的 HTTP 客户端库(如
OkHttp或RestTemplate)。 -
构造 JSON 报文 :根据官方文档定义的消息格式(如
markdown)封装 Data 对象。 -
发起 POST 请求:将 JSON 数据发送至 Webhook URL。
-
校验结果 :接口返回
{"errcode":0, "errmsg":"ok"}即表示发送成功。
API 示例代码
以下是使用 Java 原生逻辑(简化版)发送 Markdown 消息的代码示例:
java
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
public class QiWeRobot {
public static void main(String[] args) throws Exception {
// 1. 替换为你的群机器人Webhook地址
String webhookUrl = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY";
// 2. 构造 Markdown 格式的消息体
String jsonPayload = "{"
+ "\"msgtype\": \"markdown\","
+ "\"markdown\": {"
+ " \"content\": \"### 业务巡检报告\\n> 状态:<font color=\\\"info\\\">正常</font>\\n> 耗时:<font color=\\\"warning\\\">120ms</font>\\n\\n[点击查看详情](https://www.qiweapi.com/)\""
+ "}"
+ "}";
// 3. 发起 HTTP POST 请求
URL url = new URL(webhookUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
try (OutputStream os = conn.getOutputStream()) {
byte[] input = jsonPayload.getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
}
System.out.println("Response Code: " + conn.getResponseCode());
}
}
使用场景说明
-
服务器监控预警:Java 后端服务捕获到 Exception 时,通过机器人立即在运维群 @相关负责人。
-
每日业务报表:定时任务(Quartz/Spring Task)统计昨日 GMV,汇总后以 Markdown 表格形式推送到管理群。
-
代码提交通知:GitLab/GitHub Webhook 转发至 Java 中转服务,实时通知开发群代码合并动态。
FAQ
-
Q:机器人可以接收成员的消息吗?
- A:基础的 Webhook 机器人仅支持"单向推送"。如需"双向对话",需开发"机器人接收消息回调"或使用"应用消息"方案。
-
Q:发送频率有限制吗?
- A:有。每个机器人发送的消息限制为 20条/分钟。
-
Q:Markdown 里的字体颜色生效吗?
- A:支持有限的颜色标签,目前支持
info(绿色)、comment(灰色)、warning(橙红色)。
- A:支持有限的颜色标签,目前支持
引导入口
-
查看完整文档 :QiWe API 文档 - 群机器人配置
-
企微官网 :QiWe 官网