WeCom (企业微信)
WeCom group-боты — самый простой канал для подключения. Нет дополнительной подписи — bot-ключ в webhook URL — это credential.
| Режим | Статус |
|---|---|
| Notification | Поддерживается. Group robot text push. |
| IM bridge | Не поддерживается (WeCom-боты не несут входящий чат). |
Payload
Group-бот WeCom принимает ту же flat text форму, что DingTalk:
{
"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 имеет форму
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 меняется).
Настройка
- В WeCom-группе на desktop → 群机器人 → 添加机器人 → 添加 → 新建. Дайте имя и аватар.
- WeCom показывает вам Webhook 地址. Скопируйте целиком — включая query string
?key=…. - В Ongrid: Settings → Channels → New → Provider =
wecom→ Endpoint = URL из шага 2. Оставьте Secret пустым. - Кликните 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-поверхность и сегодня не подключена.
Сравнение с другими китайскими чатами
| Аспект | WeCom | Feishu | DingTalk |
|---|---|---|---|
| Аутентификация | Только URL key= | sign в JSON body | sign в URL query |
| Алгоритм подписи | Нет | HMAC-SHA256 | HMAC-SHA256 |
| Шагов настройки | 2 (добавить бота, вставить) | 4 (sign + secret) | 4 (sign + secret) |
| Поддержка IM bridge | Нет | Да (long-conn) | Только schema |
Начните с WeCom, если это ваш первый канал
Проще всего настроить, труднее всего misconfigure. Если алерты не приходят, 99% случаев — это потому, что бота удалили из группы или хост не может дотянуться до qyapi.weixin.qq.com.
Связанное
- Обзор каналов
- Webhook — fallback для любой chat-поверхности, которую Ongrid не говорит нативно.