TITLE: 企业微信推送没有 24 小时窗口,但不是无限量 EXCERPT: 企业微信没有 24 小时会话窗口,但受 API 频率与每日配额约束。自建应用配合「微信插件」是唯一既能进微信、又不受窗口限制的组合。 TAGS: 企业微信, 自建应用, 群机器人, 消息推送, DSH

微信服务号超过 24 小时就发不出模板消息。企业微信没有这个窗口,随时可推,但不等于无限量——仍受 API 调用频率和每日发送配额约束。日常一天一两条够用,批量群发时配额会成为瓶颈。

两条路径,限制不同

方式 消息落到哪 窗口限制 频率/配额 接入成本
自建应用 企业微信 App;成员关注「微信插件」后可在微信里收到 无 有 API 频率与每日配额,未认证企业更低 中:注册企业、建应用、配可信 IP
群机器人 Webhook 企业微信群 无 约每分钟 20 条 低:建群、加机器人、复制 Webhook

关键差异在「消息落到哪」。群机器人只能发进群,接收方必须打开企业微信 App。自建应用配合「微信插件」,成员用微信扫码关注后,应用消息直接出现在微信里——这是唯一既能进微信、又不受 24 小时窗口限制的组合。只求零门槛兜底,邮件(SMTP 授权码)更简单,代价是要去邮箱看。

自建应用接入步骤

  1. 注册企业微信。个人可注册未认证企业,无需营业执照,但有每日配额上限,数值以管理后台为准。
  2. 管理后台 → 应用管理 → 创建自建应用,记下 CorpID、AgentId、Secret。
  3. 配置企业可信 IP,加入调用机器的出口 IP。不在白名单的调用会被拒绝,这是最常见失败原因。
  4. 在 DSH 设置 → IM机器人 选「企业微信应用」,填入三个参数。
  5. 微信扫「微信插件」二维码并关注。

DSH 侧配置落在 /integrations/dsh-im/,投递目标写在 /integrations/dsh-<渠道>/workspaces.json 的 deliveryTargets 字段。填完先打一次本地投递接口验证:

curl -s -X POST http://127.0.0.1:3080/api/dsh-im/delivery/messages \
  -H 'Content-Type: application/json' \
  -d '{
    "botId": "wecom-app",
    "targetId": "your-target-id",
    "text": "**连通性测试**",
    "format": "markdown"
  }'

format 只接受 plain 或 markdown。该接口只监听本机回环,无需鉴权,返回 {"sent": true} 表示已受理。

确认成功与定位失败

  • 本地接口层:没返回 {"sent": true},说明 botId 或 targetId 与 workspaces.json 的 deliveryTargets 对不上,或 format 非法。先核对配置。
  • 企业微信 API 层:受理但微信没收到,多半是可信 IP 未配、Secret 错误,或 AgentId 与 Secret 不属于同一应用。按返回体错误码查后台文档。
  • 接收端:进了企业微信 App 但微信没有,检查成员是否真的关注「微信插件」,以及应用可见范围是否包含该成员。

链路通后,用 DSH schedule 建定时任务。DSH 重启后会补发最近一次,短暂停机不丢当次推送。

边界与代价

自建应用前期配置麻烦:注册企业、建应用、维护可信 IP。出口 IP 是动态的(家用宽带常见),IP 一变调用就失败,需重新配置或改用固定出口。未认证企业的每日配额是硬上限,批量通知前先确认后台数字,不要按「无限制」设计。微信插件要求成员主动扫码,管理员无法代劳。

群机器人适合只给自己或小团队看的场景,每分钟 20 条对告警足够;要进微信、要长期稳定,走自建应用。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注