Перейти к основному содержимому
Версия: 8.4

API - Отчеты

Внимание

Для выполнения запроса к API необходима дополнительная авторизация.


Используйте в запросе заголовок Authorization: Bearer <персональный токен>.


Где получить персональный токен?

Шаблоны отчетов

Получение списка доступных пользователю шаблонов

GET /api/public/sm/v2/reports/templates

Параметры запроса

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
pageintegerнетnullНомер страницы
perPageintegerнетnullКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstringнетnullСтрока поиска
sortColstringнетnullНазвание поля, по которому выполняется сортировка
sortDirstringнетnullНаправление сортировки (asc/desc)
skipintegerнетnullКоличество записей, которое требуется пропустить

Пример выходной модели

[
{
"id": 744,
"name": "TestReportMulti",
"description": null,
"type": "availability-multi",
"workGroup": {
"id": 490,
"name": "DIAD"
},
"reportCount": 1,
"lastReport": {
"id": "5dd2c63e-60c0-49af-8fde-dfac8d7784b7",
"name": "12.03.2024 17:16 TestReportMulti",
"description": "11.03.2024 00:00 - 12.03.2024 00:00",
"error": null,
"status": "Ok",
"entityInfo": {
"createdAt": "2024-03-12T14:16:41.193456+00:00",
"createdBy": 90206,
"createdByName": "Getmanov Andrey",
"updatedAt": null,
"updatedBy": -1,
"updatedByName": null
}
}
},
{
"id": 40,
"name": "DIAD-1",
"description": null,
"type": "availability-single",
"workGroup": {
"id": 490,
"name": "DIAD"
},
"reportCount": 2,
"lastReport": {
"id": "b9cd13db-e51f-45f1-965d-c61208bfb881",
"name": "12.03.2024 17:16 DIAD-1",
"description": "12.03.2024 00:00 - 12.03.2024 17:16",
"error": null,
"status": "Ok",
"entityInfo": {
"createdAt": "2024-03-12T14:16:14.280912+00:00",
"createdBy": 90206,
"createdByName": "Getmanov Andrey",
"updatedAt": null,
"updatedBy": -1,
"updatedByName": null
}
}
}
]

Атрибуты выходной модели шаблона

АтрибутТипОписание
idintegerИдентификатор шаблона
namestringНазвание шаблона
descriptionstringОписание шаблона
typestringТип шаблона
workGroupobjectМодель рабочей группы, которой принадлежит шаблон
reportCountintegerКоличество отчетов
lastReportobjectМодель с информацией по последнему рассчитанному шаблону

Коды ответа

КодОписание
200Запрос успешно исполнен
401Пользователь не авторизован
500Непредвиденная ошибка при обработке запроса

Получение статуса отчета по идентификатору

GET /api/public/sm/v2/reports/{reportId}

Параметры запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
reportIdstringданетИдентификатор отчета

Пример выходной модели

{
"id": "71a45161-97af-4c0f-a59f-ae0146f3a46c",
"name": "13.03.2024 11:09 DIAD TestReportMulti",
"description": "12.03.2024 00:00 - 13.03.2024 00:00",
"error": null,
"status": "Ok",
"entityInfo": {
"createdAt": "2024-03-13T08:09:46.115926+00:00",
"createdBy": 90206,
"createdByName": "Getmanov Andrey",
"updatedAt": null,
"updatedBy": -1,
"updatedByName": null
}
}

Атрибуты выходной модели шаблона

АтрибутТипОписание
idstringИдентификатор отчета
namestringНазвание отчета
descriptionstringОписание отчета
errorstringТекст ошибки, если статус расчета не равен Ok
statusstringСтатус расчета отчета
entityInfoobjectИнформация о том, кто запустил расчет отчета

Дополнительная информация по атрибутам

Возможные значения атрибута status:

  • Unspecified - не определен
  • Pending - в ожидании расчета
  • Ok - рассчитан успешно
  • Error - ошибка расчета
  • Calculating - рассчитывается в текущий момент

Коды ответа

КодОписание
200Запрос успешно исполнен
400Неверный идентификатор отчета
401Пользователь не авторизован
404Отчет не найден
500Непредвиденная ошибка при обработке запроса

Отчеты о доступности системы

Запустить расчёт отчета о доступности

Отчёт может быть создан только по шаблону. У пользователей, запускающих расчет отчёта, должно быть право на чтение указанного шаблона.

Срок хранения отчета – одни сутки.

По истечению этого срока экспорт результатов расчета невозможен.

POST /api/public/plugins/availability-reports/v1/reports/single

Параметры запроса

Отсутствуют

Пример входной модели

{
"params": {
"rsmMapId": 0,
"configItemIds": [
0
],
"activityTimes": [
{
"days": [
"Su"
],
"from": "string",
"to": "string",
"applyHolidays": true,
"applyWorkingDays": true
}
],
"filters": [
{
"type": "Including",
"severities": [
0
],
"tagIds": [
0
],
"duration": {
"type": "GreaterThan",
"value": 0
}
}
],
"withMaintenance": true,
"recoveryTimeObjective": 0,
"meanTimeBetweenFailures": true,
"meanTimeToRestoreService": true,
"maxDowntime": true
},
"name": "string",
"description": "string",
"templateId": 0,
"range": {
"start": "2024-03-13T08:36:36.314Z",
"end": "2024-03-13T08:36:36.314Z"
},
"expirationTime": 0
}

Поля тела запроса

Название поляОбязательное полеТип поляЗначение по умолчаниюОписание
paramsнетobjectnullПараметры отчета. Если null, то берется из шаблона.
nameнетstringnullНазвание отчета. Если null, то берется из шаблона.
descriptionнетstringnullОписание отчета. Если null, то берется из шаблона.
templateIdдаintegerнетИдентификатор шаблона
rangeнетobjectnullПериод расчета. Если null, то берется из шаблона.
expirationTimeнетintegernullВремя хранения отчёта в часах

Поля объекта params:

Название поляТип поляЗначение по умолчаниюОписание
rsmMapIdintegernullИдентификатор карты РСМ. Если null, то берется из шаблона.
configItemIdsinteger[]nullСписок идентификаторов КЕ. Если null, то берется из шаблона.
activityTimesobjectnullСписок периодов активности. Если null, то берется из шаблона.
filtersobjectnullФильтры сигналов. Если null, то берется из шаблона.
withMaintenancebooleannullУчитывать сервисный режим. Если null, то берется из шаблона.
recoveryTimeObjectiveintegernullRTO (максимальное время нахождения КЕ в проблемном статусе). Если null, то берется из шаблона.
meanTimeBetweenFailuresbooleannullСреднее время наработки на отказ. Если null, то берется из шаблона.
meanTimeToRestoreServicebooleannullСреднее время восстановления службы. Если null, то берется из шаблона.
maxDowntimebooleannullДлительность периода максимального простоя. Если null, то берется из шаблона.

Поля объекта activityTimes:

Название поляТип поляЗначение по умолчаниюОписание
daysstring[]nullДни недели [ Su, Mo, Tu, We, Th, Fr, Sa ]
fromstringnullДата начала периода
tostringnullДата завершения периода
applyHolidaysbooleannullВключить праздники
applyWorkingDaysbooleannullВключить рабочие дни

Поля объекта filters:

Название поляТип поляЗначение по умолчаниюОписание
typestring[]nullТип фильтра Including или Excluding
severitiesinteger[]nullКритичность сигнала
tagIdsinteger[]nullИдентификаторы тегов
durationobjectnullДлительность сигнала

Поля объекта duration:

Название поляТип поляЗначение по умолчаниюОписание
typestring[]nullУсловие GreaterThan или LessThan
valueinteger[]nullДлительность сигнала в секундах

Пример выходной модели

При успешном исполнении запроса возвращается идентификатор отчета

{
"id": "8df89b87-50cb-4518-bd18-bef4c5aa672c"
}

Атрибуты выходной модели

АтрибутТипОписание
idstringИдентификатор заказного отчёта

Коды ответа

КодОписание
200Запрос успешно выполнен
400Неверная модель данных в теле запроса. Не найден шаблон с указанным идентификатором. Не удалось выполнить расчёт с указанным шаблоном или настройками.
401Пользователь не авторизован
403Недостаточно прав для выполнения действия
500Непредвиденная ошибка при обработке запроса

Запустить расчёт мультиотчета о доступности

Мультиотчёт может быть создан только по шаблону. У пользователей, запускающих расчет мультиотчёта, должно быть право на чтение указанного шаблона.

Срок хранения мультиотчёта – одни сутки.

По истечению этого срока экспорт результатов расчета невозможен.

POST /api/public/plugins/availability-reports/v1/reports/multi

Параметры запроса

Отсутствуют

Пример входной модели

{
"params": {
"templates": [
{
"id": 0,
"params": {
"rsmMapId": 0,
"configItemIds": [
0
],
"activityTimes": [
{
"days": [
"Su"
],
"from": "string",
"to": "string",
"applyHolidays": true,
"applyWorkingDays": true
}
],
"filters": [
{
"type": "Including",
"severities": [
0
],
"tagIds": [
0
],
"duration": {
"type": "GreaterThan",
"value": 0
}
}
],
"withMaintenance": true,
"recoveryTimeObjective": 0,
"meanTimeBetweenFailures": true,
"meanTimeToRestoreService": true,
"maxDowntime": true
},
"weight": 0
}
]
},
"name": "string",
"description": "string",
"templateId": 0,
"range": {
"start": "2024-03-13T09:59:34.612Z",
"end": "2024-03-13T09:59:34.612Z"
},
"expirationTime": 0
}

Поля тела запроса

Название поляОбязательное полеТип поляЗначение по умолчаниюОписание
paramsнетobjectnullПараметры мультиотчета. Если null, то берется из шаблона.
nameнетstringnullНазвание мультиотчета. Если null, то берется из шаблона.
descriptionнетstringnullОписание мультиотчета. Если null, то берется из шаблона.
templateIdдаintegerИдентификатор шаблона
rangeнетobjectnullПериод расчета. Если null, то берется из шаблона.
expirationTimeнетintegernullВремя хранения мультиотчета в часах

Поля объекта params:

Название поляТип поляЗначение по умолчаниюОписание
templatesobject[]nullСписок параметры отчетов, входящих в мультиотчет . Если null, то берется из шаблона.

Поля объекта из массива templates:

Название поляТип поляЗначение по умолчаниюОписание
rsmMapIdintegernullИдентификатор карты РСМ. Если null, то берется из шаблона.
configItemIdsinteger[]nullСписок идентификаторов КЕ. Если null, то берется из шаблона.
activityTimesobjectnullСписок периодов активности. Если null, то берется из шаблона.
filtersobjectnullФильтры сигналов. Если null, то берется из шаблона.
withMaintenancebooleannullУчитывать сервисный режим. Если null, то берется из шаблона.
recoveryTimeObjectiveintegernullRTO (максимальное время нахождения КЕ в проблемном статусе). Если null, то берется из шаблона.
meanTimeBetweenFailuresbooleannullСреднее время наработки на отказ. Если null, то берется из шаблона.
meanTimeToRestoreServicebooleannullСреднее время восстановления службы. Если null, то берется из шаблона.
maxDowntimebooleannullДлительность периода максимального простоя. Если null, то берется из шаблона.

Поля объекта activityTimes:

Название поляТип поляЗначение по умолчаниюОписание
daysstring[]nullДни недели [ Su, Mo, Tu, We, Th, Fr, Sa ]
fromstringnullДата начала периода
tostringnullДата завершения периода
applyHolidaysbooleannullВключить праздники
applyWorkingDaysbooleannullВключить рабочие дни

Поля объекта filters:

Название поляТип поляЗначение по умолчаниюОписание
typestring[]nullТип фильтра Including или Excluding
severitiesinteger[]nullКритичность сигнала
tagIdsinteger[]nullИдентификаторы тегов
durationobjectnullДлительность сигнала

Поля объекта duration:

Название поляТип поляЗначение по умолчаниюОписание
typestring[]nullУсловие GreaterThan или LessThan
valueinteger[]nullДлительность сигнала в секундах

Пример выходной модели

При успешном исполнении запроса возвращается идентификатор мультиотчёта

{
"id": "be6a6b26-0799-49ca-a9e6-91e2c1c75565"
}

Атрибуты выходной модели

АтрибутТипОписание
idstringИдентификатор мультиотчёта

Коды ответа

КодОписание
200Запрос успешно выполнен
400Неверная модель данных в теле запроса. Не найден шаблон с указанным идентификатором. Не удалось выполнить расчёт с указанным шаблоном или настройками.
401Пользователь не авторизован
403Недостаточно прав для выполнения действия
500Непредвиденная ошибка при обработке запроса

Экспорт файла отчета доступности

GET /api/public/plugins/availability-reports/v1/reports/{reportId}/export/availability

Параметры запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
reportIdstringданетИдентификатор отчета
formatstringнетJsonТип файла экспорта. Доступны форматы: Json и Xls
timeZonestringнетнетВременная зона. Примеры значений: Europe/Moscow, Europe/Berlin, Asia/Shanghai

Экспорт файла мультиотчета доступности

GET /api/public/plugins/availability-reports/v1/reports/{reportId}/export/multi/availability

Параметры запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
reportIdstringданетИдентификатор отчета
formatstringнетJsonТип файла экспорта. Доступны форматы: Json и Xls
timeZonestringнетнетВременная зона. Примеры значений: Europe/Moscow, Europe/Berlin, Asia/Shanghai

Экспорт файла отчета о доступности КЕ

GET /api/public/plugins/availability-reports/v1/reports/{reportId}/export/config-items-availability/{configItemId}

Параметры запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
reportIdstringданетИдентификатор отчета
configItemIdstringданетИдентификатор КЕ
formatstringнетJsonТип файла экспорта. Доступны форматы: Json и Xls
timeZonestringнетнетВременная зона. Примеры значений: Europe/Moscow, Europe/Berlin, Asia/Shanghai