Аутентификация
Для того, чтобы воспользоваться API необходимо иметь действующий аккаунт в системе и токен авторизации. Токен авторизации можно сгенерировать в личном профиле в пункте «API».
Использование сгенерированного токена
Сгенерированный токен должен передаваться в HTTP-заголовке Authorization во всех API-запросах.
Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU
Пример запроса на получение активных событий при помощи утилиты curl (подставьте свой токен):
curl --location 'https://downdetector.su/api/v1/alerts' \
--header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
События
Метод для получения текущих активных событий
URL
/api/v1/alerts
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Массив data состоит из объектов со следующими обязательными полями:
Возможные типы событий и дополнительные поля, индивидуальные для каждого типа:
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/alerts' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": [ { "id": 17112941194, "time": "2024-03-24T15:28:07.717409+00:00", "type": "complaints", "service": "РЕН ТВ", "num": 14 }, { "id": 17112941193, "time": "2024-03-24T15:28:07.717409+00:00", "type": "latency", "provider": "Ростелеком", "place": "Кемерово", "url": "https://krasnogorsk-adm.ru/", "service": "г.о. Красногорск", "num": 11.794 }, { "id": 17112926215, "time": "2024-03-24T15:03:41.542004+00:00", "type": "url", "url": "https://fcdm.ru", "service": "ФК Динамо-Москва", "num": 5 } ] }
Отфильтрованные события
Метод для получения текущих активных событий, превосходящих указанные в профиле пользователя пороги
URL
/api/v1/alerts/filtered
Метод
GET
Описание возвращаемых данных
Единственное отличие от метода /alerts состоит в том, что возвращаются не все текущие события, а только те, для которых значение дополнительного параметра num не меньше указанного в профиле пользователя порога для данного типа события
Метод возвращает JSON-объект со следующими полями:
Массив data состоит из объектов со следующими обязательными полями:
Возможные типы событий и дополнительные поля, индивидуальные для каждого типа:
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/alerts' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": [ { "id": 17112941194, "time": "2024-03-24T15:28:07.717409+00:00", "type": "complaints", "service": "РЕН ТВ", "num": 14 }, { "id": 17112941193, "time": "2024-03-24T15:28:07.717409+00:00", "type": "latency", "provider": "Ростелеком", "place": "Кемерово", "url": "https://krasnogorsk-adm.ru/", "service": "г.о. Красногорск", "num": 11.794 }, { "id": 17112926215, "time": "2024-03-24T15:03:41.542004+00:00", "type": "url", "url": "https://fcdm.ru", "service": "ФК Динамо-Москва", "num": 5 } ] }
Отрасли
Метод для получения списка отраслей в классификации сервисов
URL
/api/v1/branches
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/branches' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": [ "Агро и пищепром", "Энергетика", "Международные ресурсы", "Коммунальное хозяйство", "Металлы и горная добыча", "Нефть и газ", "ОПК и машиностроение", "Путешествия", "Телеком" ] }
Сервисы
Метод для получения списка сервисов
URL
/api/v1/services
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Массив data состоит из объектов со следующими обязательными полями:
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/services' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": [ { "name": "[02] Башкортостан", "ecosystem": null, "urls": 1, "branches": [ "Регионы" ] }, { "name": "Банк ВТБ", "ecosystem": "Экосистема ВТБ", "urls": 12, "branches": [ "Финансы" ] } ] }
Сервисы отрасли
Метод для получения списка сервисов одной отрасли
URL
/api/v1/services/branch/{branch}
Подставляемые значения:
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Массив data состоит из объектов со следующими обязательными полями:
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/services/branch/Финансы' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": [ { "name": "Банк ВТБ", "ecosystem": "Экосистема ВТБ", "urls": 12 }, { "name": "Газпромбанк", "ecosystem": null, "urls": 5 } ] }
Комментарии
Метод для получения списка комментариев пользователей в отношении сервиса за конкретный день
URL
/api/v1/service/{service}/comments/date/{date}
Подставляемые значения:
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Массив data состоит из объектов со следующими обязательными полями:
Объект category состоит из пар ключ-значение, где в качестве ключа выступает одна из категорий, к которым был отнесен комментарий, а в качестве значения - массив названий подкатегорий данной категории, к которым он может быть отнесен.
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/service/Госуслуги/comments/date/2024-03-19' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": [ { "time": "2024-03-19T08:08:31.643480+03:00", "text": "госуслуги сбой", "author": "Иннокентий", "likes": 8, "category": { "Сбой сайта": [ "Не отрывается/не загружатеся/не работает сайт" ] } } ] }
Графики
Метод для получения данных, позволяющих строить графики, отражающие поведение сервиса в конкретный день
URL
/api/v1/service/{service}/graph/date/{date}
Подставляемые значения:
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Объект data имеет следущие поля:
Все вышеуказанные массивы состоят из двухэлементных массивов, которые следует интерпретировать как [время, значение], где время - это стандартный UNIX timestamp.
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/service/Госуслуги/graph/date/today' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": { "latency": [[1711289700, 186], [1711290000, 170]], "errors": [[1711290000, 3], [1711290300, 2]], "totals": [[1711290000, 8], [1711290300, 7]], "social": [[1711289700, 1], [1711290000, 1]] } }
Статистика
Метод для получения статистики по комментариям и жалобам на сервис
URL
/api/v1/service/{service}/stats/date/{date}
Подставляемые значения:
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Объект data имеет следущие поля:
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/service/Госуслуги/stats/date/2024-03' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": { "regions": [ { "region": "Москва и Московская область", "percent": 80.76923076923077 }, { "region": "Республика Крым", "percent": 3.8461538461538463 } ] }, "complaints": [ { "complaint": "Сбой сайта", "percent": 42.97520661157025, "detailed": [ { "type": "Не отрывается/не загружатеся/не работает сайт", "percent": 42.97520661157025 } ] }, { "complaint": "Сбой личного кабинета", "percent": 37.1900826446281, "detailed": [ { "type": "Не могу зайти в ЛК/аккаунт/приложение", "percent": 30.578512396694215 }, { "type": "Проблема с паролем/восстановлением аккаунта", "percent": 6.6115702479338845 } ] } ] }
Статус
Метод для получения текущего статуса сервиса по данным мониторинга
URL
/api/v1/service/{service}/status
Подставляемое значение:
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Объект data имеет следущие поля:
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/service/Госуслуги/status' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": { "down": { "https://dom.gosuslugi.ru": ["Владимир"] }, "social": false } }
URLs
Метод для получения списка страниц в мониторинге
URL
/api/v1/service/{service}/urls
Подставляемое значение:
Метод
GET
Описание возвращаемых данных
Метод возвращает JSON-объект со следующими полями:
Пример
Запрос:
curl --location 'https://downdetector.su/api/v1/service/Госуслуги/urls' \ --header 'Authorization: Bearer wGGtaQVncybYmhbiAab9poccBWoU4n0c1H0ee2zVyICWEM7B9s0DFrzU'
Ответ:
{ "success": true, "data": [ "https://gosuslugi.ru", "https://dom.gosuslugi.ru", "https://esia.gosuslugi.ru" ] }