Есть три входящие точки; каждая защищена своим токеном и создаётся отдельно.
| Точка | Для чего | Откуда токен |
|---|---|---|
/api/duty/incidents/{token} | Алерт мониторинга → инцидент | Дежурство → график → Интеграция |
/api/chat/hook/{token} | Внешнее уведомление → сообщение в чат | Канал → Webhook-и |
/api/chat/hook/{token}/task | Внешнее событие → задача | Тот же webhook канала |
Точка инцидентов
Принимает два формата: тело Prometheus Alertmanager / Grafana (с массивом alerts[]) и простой плоский JSON:
curl -X POST https://taskfly.az/api/duty/incidents/TOKEN \
-H 'Content-Type: application/json' \
-d '{
"action": "trigger",
"dedupKey": "cpu-web-01",
"title": "web-01 CPU 95%",
"severity": "critical",
"details": "CPU выше 95% последние пять минут"
}'Для закрытия отправьте "action": "resolve" с тем же dedupKey. Вызов идемпотентен: 200 вернётся, даже если открытого инцидента нет.