Skip to content

WeCom (企业微信)

WeCom group-боты — самый простой канал для подключения. Нет дополнительной подписи — bot-ключ в webhook URL — это credential.

РежимСтатус
NotificationПоддерживается. Group robot text push.
IM bridgeНе поддерживается (WeCom-боты не несут входящий чат).

Payload

Group-бот WeCom принимает ту же flat text форму, что DingTalk:

json
{
  "msgtype": "text",
  "text": {"content": "[CRITICAL] node-01 swap_high\nswap_in_pages > 1000 for 5m\nsource: alert\ndedupe: alert:swap_high:device=7"}
}

Body собирается shared-хелпером formatText, используемым Feishu и DingTalk. Sender — это NewWeComSender.

Без подписи

Webhook URL имеет форму

text
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=<bot-uuid>

Query-параметр key= — идентификатор бота и credential. Любой, у кого есть URL, может постить в группу. Нет отдельного secret, нет HMAC, нет timestamp. Sender игнорирует любое значение, которое вы кладёте в поле Secret — та же drop-on-construction политика, что у Slack.

Относитесь к URL как к паролю

Утечка URL эквивалентна утечке прав бота на постинг. Ротируйте через удаление и повторное добавление бота в WeCom-группу (key меняется).

Настройка

  1. В WeCom-группе на desktop → 群机器人 → 添加机器人 → 添加 → 新建. Дайте имя и аватар.
  2. WeCom показывает вам Webhook 地址. Скопируйте целиком — включая query string ?key=….
  3. В Ongrid: Settings → Channels → New → Provider = wecom → Endpoint = URL из шага 2. Оставьте Secret пустым.
  4. Кликните Test. Бот постит [INFO] Ongrid test в группу.

Особенности

Один бот на группу

Каждый group-бот WeCom scoped к одной группе. Чтобы доставлять алерты в две группы, создайте двух ботов и два Ongrid-канала. (DingTalk и Feishu тоже работают так; абстракция, которая важна конвейеру алертов, — это канал, а не chat-платформа.)

mentioned_list нет в payload

Sender отгружает чистый текст. Упоминание конкретных членов (mentioned_list / mentioned_mobile_list) сегодня не реализовано — тянитесь к generic webhook, если вам это нужно.

Cap частоты сообщений

WeCom ограничивает group-robot сообщения 20 сообщениями в минуту на бот. Burst выше этого, и WeCom возвращает errcode: 45009 ("api freq out of limit"). Per-rule дампенинг конвейера алертов обычно остаётся хорошо ниже, но шумное critical-правило на 100-host кластере может пробить это. Используйте несколько ботов и маршрутизируйте per-team, если необходимо.

Только Китай (в основном)

Хост qyapi.weixin.qq.com предназначен для развёртываний материкового Китая. Для зарубежных команд Slack / Telegram / Larksuite — лучший fit. WeCom for International (зарубежный продукт Tencent) — другая API-поверхность и сегодня не подключена.

Сравнение с другими китайскими чатами

АспектWeComFeishuDingTalk
АутентификацияТолько URL key=sign в JSON bodysign в URL query
Алгоритм подписиНетHMAC-SHA256HMAC-SHA256
Шагов настройки2 (добавить бота, вставить)4 (sign + secret)4 (sign + secret)
Поддержка IM bridgeНетДа (long-conn)Только schema

Начните с WeCom, если это ваш первый канал

Проще всего настроить, труднее всего misconfigure. Если алерты не приходят, 99% случаев — это потому, что бота удалили из группы или хост не может дотянуться до qyapi.weixin.qq.com.

Связанное