企业微信机器人如何发送带卡片样式的模板消息配置

文章导读
企业微信群机器人支持通过 Webhook 接口发送 template_card 类型的互动卡片消息,适用于内部告警或通知场景。配置时需确保机器人密钥不泄露,且 JSON 结构符合官方定义,否则会导致发送失败。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

企业微信群机器人支持通过 Webhook 接口发送 template_card 类型的互动卡片消息,适用于内部告警或通知场景。配置时需确保机器人密钥不泄露,且 JSON 结构符合官方定义,否则会导致发送失败。

先说结论:企业微信机器人不支持传统公众号的模板消息 ID 机制,而是使用 msgtypetemplate_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_noticenews_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