核心结论:普通机器人适合轻量通知,第三方应用适合业务集成
- 选型建议:监控报警选普通机器人,交互业务选第三方应用
- 关键区别:是否涉及用户身份识别、消息回调或通讯录权限
- 注意:第三方应用需要企业管理员授权安装,普通机器人仅需群内添加
核心差异对比
| 维度 | 普通群机器人 | 第三方应用机器人 |
|---|---|---|
| 身份标识 | 群内 Webhook Key | 独立应用 (AgentID + Secret) |
| 消息方向 | 单向推送 | 双向交互 (支持回调) |
| 用户感知 | 显示"群机器人" | 显示应用名称与头像 |
| 权限能力 | 仅发送消息 | 可读取成员、调用复杂接口 |
实操步骤与代码示例
1. 普通群机器人
两者底层通信通道一致,性能无明显差异,核心区别在于权限模型与应用身份。普通机器人本质是一个群内的 Webhook 接收器,配置最简单。
步骤:进入企业微信群聊 -> 设置 -> 群机器人 -> 添加 -> 复制 Webhook 地址。
发送示例 (curl):
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_WEBHOOK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"msgtype": "text",
"text": {
"content": "测试消息:系统运行正常"
}
}'
2. 第三方应用机器人
第三方应用机器人建立在“应用”概念上,有独立的 AgentID 和 Secret,代表一个具体的业务系统。
步骤:
- 登录企业微信管理后台 -> 应用管理 -> 自建应用 -> 创建。
- 获取 AgentId 和 Secret,配置可信域名。
- 先获取 access_token,再调用消息发送接口。
第一步:获取 access_token
curl 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=YOUR_CORP_ID&corpsecret=YOUR_SECRET'
第二步:发送消息 (JSON payload)
curl 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"touser": "USER_ID",
"msgtype": "text",
"agentid": YOUR_AGENT_ID,
"text": {
"content": "您好,您的订单已处理"
},
"safe": 0
}'
验证方法
普通机器人:执行上述 curl 命令,检查群内是否出现机器人消息,确认 Webhook Key 有效。
第三方应用:调用消息发送接口后,检查消息是否带有应用名称头像。若配置了回调 URL,尝试点击消息按钮,验证服务端是否收到回调事件。
常见坑与排查
1. Webhook 泄露风险
普通机器人的 Key 等同于密码,泄露后任何人都能往群里发消息。建议在 Webhook 地址后增加签名参数校验,或定期重置 Key。
2. 身份混淆
第三方应用发消息显示的是应用名称,普通机器人显示的是“群机器人”。在需要品牌露出的场景,请勿选错类型。
3. 权限不足报错
第三方应用如果需要读取成员信息,需在管理后台额外申请通讯录权限,否则接口会返回 403 或无数据。access_token 有效期为 2 小时,需做好缓存。
参考来源
1. 企业微信官方文档 - 群机器人
2. 企业微信官方文档 - 消息发送接口
3. 企业微信开放平台 - 第三方应用开发
URL: https://work.weixin.qq.com/api/doc