Top.Mail.Ru
Центр помощи / Для администратора / 4. Интеграции / API и Webhooks / External API: мониторинг состояния системы

External API: мониторинг состояния системы

Endpoint мониторинга External API сообщает о состоянии интеграций UnSpot — дисплеев, вебхуков, календарных подключений и синхронизации пользователей — чтобы вы могли встроить UnSpot в свой мониторинг (Zabbix, Grafana, Nagios и т.п.).

Аутентификация

Создайте API-подключение типа Monitoring в разделе Администрирование > Интеграции > External API и скопируйте токен. Создать и скопировать токен может пользователь с ролью Владелец или Администратор интеграций (Настройки > Интеграции > Настройки API, блок «API мониторинга состояния системы»). Передавайте его в каждом запросе:

Authorization: Bearer <token>
HTTP

Запросы без действительного токена возвращают 401. При превышении лимита запросов API возвращает 429 с заголовком Retry-After.

Получение данных мониторинга — GET /api/external/v1/monitoring[/{category}]

Без категории endpoint возвращает все разделы, с категорией — только её.

КатегорияЧто сообщает
displaysКаждый дисплей: id, name, status
webhooksСчётчики: total, online, failed, disabled
calendarsСчётчики календарных подключений переговорных: total, online, offline
user-synclastSyncDate — время последней синхронизации каталога (null, если не настроена)
systemТолько для on-premise: статус redis, database, filesystem, smtp и длины очередей queue

Пример запроса

curl -H "Authorization: Bearer $TOKEN" \
  https://acme.unspot.ru/api/external/v1/monitoring/webhooks
Bash

Пример ответа — 200

{
  "message": "OK",
  "body": {
    "displays": [ { "id": "b7e1...-uuid", "name": "Дисплей переговорной 4.1", "status": "online" } ],
    "webhooks": { "total": 5, "online": 4, "failed": 1, "disabled": 0 },
    "calendars": { "total": 12, "online": 12, "offline": 0 },
    "userSync": { "lastSyncDate": "2026-07-08T03:00:00+00:00" }
  }
}
JSON

Для on-premise-установок раздел system дополнительно сообщает состояние инфраструктуры:

{
  "message": "OK",
  "body": {
    "system": {
      "redis": "online",
      "database": "online",
      "filesystem": "online",
      "smtp": "online",
      "queue": [ { "name": "webhooks", "messages": 0 }, { "name": "notification", "messages": 3 } ]
    }
  }
}
JSON

Ошибки и лимиты

Все ответы обёрнуты в конверт {"message": ..., "body": ...}; тело ошибки:

{ "message": "Too Many Requests", "errors": [] }
JSON
  • 400 — неизвестная категория (допустимы: displays, webhooks, calendars, user-sync, system).
  • 403 Forbidden — недостаточно прав доступа.
  • 401 — неверный токен, либо System monitoring is only available for on-premise environment при запросе system в облаке.
  • 429 — чаще одного запроса в 30 секунд.

Оставьте заявку, и мы свяжемся с вами в течение 30 минут.

Loading

Как улучшить работу офиса?

Оставьте контакт - покажем на демо как уйти от таблиц, двойных бронирований и путаницы с рабочими местами.

Loading