#企微二次开发:外部群主动发送消息接口

6 阅读3分钟

突破原生限制,实现业务系统对客户群的精准触达与消息下发

在企业微信的二次开发中,主动向外部群发送消息是连接企业与客户最高频的场景。通过 API 接口,开发者可以摆脱人工手动转发的低效,实现由业务逻辑(如运维告警、订单通知、营销活动)驱动的自动化群消息推送,支持多种媒体格式。


能力介绍

  • 全量素材支持:支持发送文本、图片、视频、文件、H5 图文链接以及小程序卡片。
  • 高频触达能力:通过实例 API,可实现对数千个外部群的并发或串行消息下发。
  • @ 提醒功能:支持在群消息中 @ 指定成员或 @ 所有人,确保重要信息被及时关注。
  • 消息类型多样化:除了基础消息,还支持发送语音(AMR 格式)以及特定的业务通知模板。

10 分钟接入 Demo

  1. 获取群 ID:通过 get_group_list 接口获取机器人所在的外部群 chat_id
  2. 准备素材:如果是图片或文件,需先调用上传接口获取 media_id 或直接提供公网 URL。
  3. 构造 Payload:指定 instance_idchat_id 以及消息的具体内容。
  4. 接口调用:通过 POST 请求发送数据,并根据返回的 msg_id 追踪发送状态。

API 示例代码 (Node.js 示例)

const axios = require('axios');

// 主动向外部群发送图文链接消息
async function sendGroupLink(chatId, title, url, thumb) {
    const apiUrl = "https://api.qiweapi.com/send_link_msg";
    const data = {
        "instance_id": "work_bot_666",
        "to_user_id": chatId, // 外部群 ID
        "title": title,       // 链接标题
        "desc": "点击查看详情内容...",
        "link_url": url,      // 跳转地址
        "thumb_url": thumb    // 缩略图地址
    };

    try {
        const response = await axios.post(apiUrl, data);
        console.log("发送成功:", response.data);
    } catch (error) {
        console.error("发送失败:", error);
    }
}

// 调用示例
sendGroupLink("external_chat_id_abc123", "今日直播预告", "https://v.qq.com/...", "https://img.com/log.png");

使用场景说明

  • 系统自动播报:运维监控系统发现异常后,自动在技术支持群发送告警图片和日志文件。
  • 营销物料下发:总部统一将最新的促销海报或小程序活动,一键分发至全量存量客户群。
  • 群内互动反馈:当外部客户在群内咨询特定业务时,后台系统自动匹配答案并以文字形式主动回复。

FAQ

  • Q:主动发消息会被限制吗?

    • A:企业微信对外部群消息有频率监控。建议单账号每秒发送量控制在安全范围内,且发送内容需符合合规要求,避免诱导分享或违规营销。
  • Q:可以发送小程序卡片吗?

    • A:可以。但需要提前获取小程序的 appidpagepath,部分接口还需确保该小程序已关联到当前的企微主体。
  • Q:如何确保消息确实发成功了?

    • A:接口返回 code: 200 仅代表指令下发成功。建议结合“消息回调”功能,通过监听 MsgID 的回显状态来确认消息在客户端的渲染情况。

查看技术文档 | 前往企微官网