在企业微信中,向外部群发送消息主要有三种主流路径:群机器人(Webhook)应用消息(API推送)以及利用“客户群”接口

1. 成本最低方案:群机器人 (Webhook)

如果你只是需要推送简单的通知(如告警、日报、业务提醒),群机器人是最快捷的选择。

  • 实现逻辑

    1. 在外部群设置中添加“群机器人”。

    2. 获取该机器人的 Webhook URL

    3. 通过后端程序向该 URL 发送 POST 请求(JSON 格式)。

  • 优点:开发量极小,不占用 API 频率上限。

  • 局限

    • 无法通过 API 自动创建机器人:必须人工在手机端或电脑端手动添加机器人到群里。

    • 不支持文件/视频过大:仅支持文本、Markdown、图片、图文消息。

2. 标准开发方案:应用消息推送

如果你希望以“企业应用”的名义向群聊发消息,需要调用 appchat 相关接口。

  • 核心步骤

    1. 创建群聊:调用 /cgi-bin/appchat/create 接口,获取 chatid

    2. 发送消息:使用 chatid 调用 /cgi-bin/appchat/send

  • 注意事项

    • 所有权问题:该接口创建的群,应用必须在群成员列表中,或者是群的创建者。

    • 外部群限制:对于包含微信用户的“外部群”,该接口权限受到严格管控,通常要求该群是由企业成员通过 API 或侧边栏发起的。

3. 客户运营方案:客户群群发 (Group Msg)

如果你需要向大量外部客户群同时推送营销或服务信息,则需要使用“客户群群发”接口。

  • 实现路径

    1. 调用 /cgi-bin/externalcontact/add_msg_template

    2. 指定 chat_id_list(目标群 ID 列表)。

    3. 关键点:此操作不是“静默推送”。API 调用后,群主(员工)会在企业微信收到一条通知,需要手动点击确认后,消息才会发送到群内。


核心代码示例 (Node.js 演示 Webhook)

const axios = require('axios');

async function sendGroupNotice(webhookUrl, content) {
    const data = {
        msgtype: "markdown",
        markdown: {
            content: `### 业务提醒 \n > 内容: <font color=\"info\">${content}</font> \n > 时间: ${new Date().toLocaleString()}`
        }
    };

    try {
        const res = await axios.post(webhookUrl, data);
        if (res.data.errcode === 0) {
            console.log("推送成功");
        } else {
            console.error("推送失败:", res.data.errmsg);
        }
    } catch (error) {
        console.error("网络请求异常", error);
    }
}

避坑指南:开发者必须知道的 3 件事

1. 外部群 ID 的持久化

外部群的 chatid 是唯一的,但获取它并不直观。通常是在“客户群变更回调”事件中抓取存入数据库。不要试图每次发送前去查询群列表,这会严重消耗 API 配额。

2. 频率限制 (Rate Limit)

企业微信对 API 调用有严格限制。

  • 如果是 Webhook,每分钟每个机器人最多发送 20 条消息。

  • 如果是应用接口,一旦触发高频限制,可能会导致整个企业的 API 调用被封禁数小时。建议在后端加入 消息队列 (MQ) 进行削峰填谷。

3. 消息类型的差异

  • Markdown 是外部群推送的神器,支持颜色标签和引用格式,阅读体验远好于纯文本。

  • 微信用户兼容性:在外部群发送某些仅限企业内部的消息类型(如特定的小程序卡片)时,微信端用户可能无法正常查看。务必在真机测试。


总结

  • 轻量提醒:选 Webhook 机器人。

  • 系统集成:选 appchat 接口。

  • 合规群发:选客户群群发接口(需人工确认)。

二次开发时,建议先在企业微信管理后台开启接收消息服务器配置,这样可以实时接收到群聊开启、解散或成员变动的回调,从而实现更智能的自动化推送。

QiWe开放平台提供了后台直登功能,登录成功后获取相关参数,快速Apifox在线测试,所有登录功能都是基于QiWe平台API自定义开发。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐