企业微信群机器人支持通过 Webhook 接口发送 template_card 类型的互动卡片消息,适用于内部告警或通知场景。配置时需确保机器人密钥不泄露,且 JSON 结构符合官方定义,否则会导致发送失败。
先说结论:企业微信机器人不支持传统公众号的模板消息 ID 机制,而是使用 msgtype 为 template_card 的互动卡片接口。
- 适合:内部运维告警、业务状态通知、需要点击交互的场景
- 先准备:获取机器人 Webhook 密钥、确认卡片类型支持范围
- 验收:发送测试请求并检查返回码
errcode是否为 0
命令速用版
使用 curl 命令可直接测试卡片消息发送,替换 KEY 和 JSON 内容即可执行。
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{\"msgtype\": \"template_card\", \"template_card\": {\"card_type\": \"text_notice\", \"source\": {\"desc\": \"告警系统\"}, \"main_title\": {\"title\": \"服务异常\"}, \"content\": {\"text\": \"请查看日志\"}}}'为什么会这样
企业微信机器人接口设计为通用 Webhook,不同于公众号的模板消息机制。官方文档明确群机器人消息类型包含 text、markdown、textcard 及 template_card,其中 template_card 支持更丰富的交互样式。
分步处理
第一步在群设置中添加机器人并记录 Webhook 地址,第二步构造符合 schema 的 JSON payload,第三步通过 HTTP POST 请求发送。
构造 JSON 时需注意 template_card 对象内必须包含 card_type 字段,常见类型有 text_notice 和 news_notice。
发送请求后需捕获 HTTP 响应,若返回非 200 状态码需检查网络或防火墙策略。
怎么验证是否生效
查看 HTTP 响应 body 中的 errcode 字段,值为 0 表示发送成功,群内应即时显示卡片消息。
若群内未显示但接口返回成功,检查机器人是否被移除或群聊设置限制了消息展示。
常见坑
Webhook 密钥包含敏感信息,泄露后任何人均可向群内发消息,建议在代码中使用环境变量存储。
卡片字段结构严格,多余或缺失字段可能导致整个消息发送失败,需严格对照文档校验 JSON。
部分卡片类型支持按钮交互,但需配置回调 URL 且在企业管理后台配置可信域名,否则点击无效。
常见问题
企业微信机器人能发公众号那种模板消息吗
不能,机器人使用 Webhook 接口,消息格式为 JSON 定义的卡片结构,而非模板 ID 调用。
发送卡片消息有频率限制吗
有,公开资料中没有看到可靠的量化数据,但官方文档提示机器人消息有速率限制,频繁发送会被拦截。
为什么发送返回成功但群里没消息
可能是机器人被移除、群聊被禁用或消息内容触发关键词过滤,需检查群机器人状态。
参考来源
企业微信开发者文档 - 群机器人 Webhook 接口 https://developer.work.weixin.qq.com/document/path/91770
企业微信开发者文档 - 消息类型说明 https://developer.work.weixin.qq.com/document/path/91772