API - Сигналы
Для выполнения запроса к API необходима дополнительная авторизация.
Используйте в запросе заголовок Authorization: Bearer <персональный токен>.
Создание сигнала
POST /api/public/sm/v2/signals
Запрос возвращает модель созданного сигнала.
Тело запроса
{
  "name": "string",
  "description": "string",
  "createdBy": "User",
  "createdByScenario": {
    "id": 0
  },
  "labels": [
    {
      "key": "",
      "value": {
        "key1": "prop1",
        "key2": "prop2"
      }
    }
  ],
  "ownerWorkGroup": {
    "id": 0
  },
  "typeKey": "string",
  "severity": 0,
  "assigneeId": 0,
  "configItemIds": [0],
  "configItemComponentIds": [0],
  "configItemComponentName": "string",
  "tags": [
    {
      "name": "string",
      "colorName": "string"
    }
  ],
  "events": [
    {
      "startEventId": 0,
      "type": "Opening",
      "body": {}
    }
  ],
  "attachments": [
    {
      "name": "string",
      "type": "Image",
      "data": {},
      "createdAt": "2025-01-19T21:55:07.517Z"
    }
  ],
  "customFields": [
    {
      "key": "string",
      "values": [{}]
    }
  ]
}
Поля тела запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| name | + | string | нет | Название сигнала | 
| description | - | string | null | Описание сигнала | 
| createdBy | + | string | нет | Указывает кто создал сигнал (User - сигнал создан пользователем, Automaton - сигнал создан при помощи сценария автоматизации) | 
| createdByScenario.id | +  *если createdBy = Automaton | integer | нет | Идентификатор сценария автоматизации | 
| labels | - | object [] | null | Массив меток | 
| typeKey | - | string | null | Ключ сигнала | 
| ownerWorkGroup.id | + | integer | нет | Идентификатор рабочей группы владельца сигнала | 
| severity | - | integer | 6 | Критичность сигнала | 
| configItemIds | - | integer [] | null | Список идентификаторов конфигурационных единиц | 
| configItemComponentIds | - | integer [] | null | Список идентификаторов компонентов конфигурационных единиц | 
| configItemComponentName | - | string | null | Название компонента КЕ | 
| tags | - | object [] | null | Массив объектов тегов | 
| events | - | object [] | null | Массив объектов событий | 
Коды ответов
| Код ответа | Описание | 
|---|---|
| 201 | Сигнал успешно создан | 
| 400 | Пустое тело запроса | 
| 400 | Неверная модель данных в теле запроса | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для создания сигнала в рамках выбранной рабочей группы | 
| 404 | Рабочая группа с идентификатором {id} не найдена | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Частично обновить сигнал
PATCH /api/public/sm/v2/signals/{id}
Запрос возвращает модель обновленного сигнала.
Параметры запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| id | + | integer | нет | Идентификатор сигнала | 
Тело запроса
{
  "status": "Open",
  "configItems": [
    {
      "id": 0
    }
  ],
  "configItemComponents": [
    {
      "id": 0
    }
  ],
  "tags": [
    {
      "name": "string",
      "colorName": "string"
    }
  ],
  "labels": {
    "label_a_name": "label_value",
    "label_b_name": ["label_value_1", "label_value_2"],
    "label_c_name": null
  }
}
Поля тела запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| status | - | string | null | Статус сигнала | 
| configItems | - | object [] | null | Список конфигурационных единиц | 
| configItemComponents | - | object [] | null | Список идентификаторов компонентов КЕ | 
| configItemComponentName | - | string | null | Название компонента КЕ | 
| tags | - | object [] | null | Список тегов | 
| labels | - | object | null | Метки сигнала | 
В теле запроса должно быть передано хотя бы одно поле.
Коды ответов
| Код ответа | Описание | 
|---|---|
| 400 | Сигнал закрыт и не может быть обновлен | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для создания сигнала в рамках выбранной рабочей группы | 
| 404 | Сигнал с идентификатором {id} не найден | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Получить информацию о сигнале
GET /api/public/sm/v2/signals/{id}
Запрос возвращает модель запрашиваемого сигнала.
Параметры запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| id | + | integer | нет | Идентификатор сигнала | 
Коды ответов
| Код ответа | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Получение сигналов по фильтру
POST /api/public/sm/v2/signals/filter
Запрос возвращает список моделей найденных сигналов.
Параметры запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| Shared | - | boolean | false | Включение в поиск общих сигналов | 
Тело запроса
{
  "ids": [
    0
  ],
  "configItemIds": [
    0
  ],
  "createdAt": {
    "moreThan": "2022-09-06T11:37:38.045Z",
    "lessThan": "2022-09-06T11:37:38.045Z",
    "equal": "2022-09-06T11:37:38.045Z",
    "lessThanOrEqual": "2022-09-06T11:37:38.045Z",
    "moreThanOrEqual": "2022-09-06T11:37:38.045Z",
    "range": {
      "start": "2022-09-06T11:37:38.045Z",
      "end": "2022-09-06T11:37:38.045Z"
    }
  },
  "closedAt": {
    "moreThan": "2022-09-06T11:37:38.045Z",
    "lessThan": "2022-09-06T11:37:38.045Z",
    "equal": "2022-09-06T11:37:38.045Z",
    "lessThanOrEqual": "2022-09-06T11:37:38.045Z",
    "moreThanOrEqual": "2022-09-06T11:37:38.045Z",
    "range": {
      "start": "2022-09-06T11:37:38.045Z",
      "end": "2022-09-06T11:37:38.045Z"
    }
  },
  "statuses": [
    "Open" #Open, Closed
  ],
  "severities": [
    0
  ],
  "durationMilliseconds": {
    "moreThan": 0,
    "lessThan": 0,
    "equal": 0,
    "lessThanOrEqual": 0,
    "moreThanOrEqual": 0,
    "range": {
      "start": 0,
      "end": 0
    }
  },
  "ownerWorkGroupIds": [
    0
  ],
  "tags": [
    {
      "name": "string",
      "colorName": "string"
    }
  ],
  "severityDurations": [
    {
      "severity": 0,
      "durationMilliseconds": {
        "moreThan": 0,
        "lessThan": 0,
        "equal": 0,
        "lessThanOrEqual": 0,
        "moreThanOrEqual": 0,
        "range": {
          "start": 0,
          "end": 0
        }
      }
    }
  ],
  "labels": [
    {
      "key": "string",
      "value": {
           "key":"value"
        }
    }
  ],
  "lastEventLinkedAt": {
    "moreThan": "2025-01-20T09:18:55.757Z",
    "lessThan": "2025-01-20T09:18:55.757Z",
    "equal": "2025-01-20T09:18:55.757Z",
    "lessThanOrEqual": "2025-01-20T09:18:55.757Z",
    "moreThanOrEqual": "2025-01-20T09:18:55.757Z",
    "range": {
      "start": "2025-01-20T09:18:55.757Z",
      "end": "2025-01-20T09:18:55.757Z"
    }
  },
  "rsmMapIds": [
    0
  ],
  "lifeCycleStatus": {
    "ids": [
      0
    ],
    "names": [
      "string"
    ],
    "categories": [
      "Open"
    ]
  },
  "type": {
    "names": [
      "string"
    ],
    "keys": [
      "string"
    ]
  },
  "customFields": [
    {
      "key": "string",
      "values": [
        {}
      ],
      "filterType": "Unknown"
    }
  ],
  "assigneeIds": [
    0
  ]
}
Поля тела запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| ids | - | integer [] | null | Идентификаторы сигнала | 
| configItemIds | - | integer [] | null | Связанные конфигурационные единицы | 
| createdAt | - | object | null | Дата и время создания сигнала | 
| closedAt | - | object | null | Дата и время закрытия сигнала | 
| statuses | - | string [] | null | Статусы сигнала | 
| severities | - | integer [] | null | Критичность сигнала | 
| durationMilliseconds | - | object | null | Длительность сигнала | 
| ownerWorkGroupIds | - | integer [] | null | Идентификаторы рабочей группы которой принадлежит сигнал | 
| tags | - | object [] | null | Теги сигнала | 
| severityDurations | - | object [] | null | Список объектов - пар критичность:длительность | 
| labels | - | object [] | null | Метки сигнала | 
| lastEventLinkedAt | - | object | null | Дата и время последнего прикрепленного события | 
| rsmMapIds | - | integer [] | null | Идентификаторы карт РСМ | 
| lifeCycleStatus | - | object | null | Статус жизненного цикла сигнала | 
| type | - | object | null | Тип сигнала | 
| customFields | - | object [] | null | Настраиваемые поля (атрибуты) сигнала | 
| assigneeIds | - | integer [] | null | Идентификаторы ответственных | 
Коды ответов
| Код ответа | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Привязать список тегов к сигналу
POST /api/public/sm/v2/signals/{id}/tags
Запрос возвращает список привязанных тегов.
Параметры запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| id | + | integer | нет | Идентификатор сигнала | 
Тело запроса
[
  {
    "name": "string",
    "colorName": "string"
  }
]
Поля тела запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| name | + | string | нет | Наименование тега | 
| colorName | + | string | нет | Цвет тега | 
Доступные цвета:
pink,violet,indigo,blue,teal,green,orange,brown,slate
Коды ответов
| Код ответа | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для привязки тегов к сигналу | 
| 404 | Сигнал с идентификатором {id} не найден | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Отвязать список тегов от сигнала
DELETE /api/public/sm/v2/signals/{id}/tags
Параметры запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| id | + | integer | нет | Идентификатор сигнала | 
Тело запроса
[
  {
    "name": "string",
    "colorName": "string"
  }
]
Коды ответов
| Код ответа | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для отвязки тегов от сигнала | 
| 404 | Сигнал с идентификатором {id} не найден | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Привязать список КЕ к сигналу
POST /api/public/sm/v2/signals/{id}/config-items
Запрос возвращает список привязанных КЕ к сигналу.
Параметры запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| id | + | integer | нет | Идентификатор сигнала | 
Тело запроса
[12345, 67890]
Поля тела запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
[] | - | integer [] | [] | Список идентификаторов КЕ | 
Коды ответов
| Код ответа | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для привязки КЕ к сигналу | 
| 404 | Сигнал с идентификатором {id} не найден | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Отвязать список КЕ от сигнала
DELETE /api/public/sm/v2/signals/{id}/config-items
Параметры запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| id | + | integer | нет | Идентификатор сигнала | 
Тело запроса
[0]
Поля тела запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
[] | - | integer [] | [] | Список идентификаторов КЕ | 
Коды ответов
| Код ответа | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для привязки КЕ к сигналу | 
| 404 | Сигнал с идентификатором {id} не найден | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Привязать список событий к сигналу
POST /api/public/sm/v2/signals/{id}/events
Запрос привязывает события к сигналу.
Параметры запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| id | + | integer | нет | Идентификатор сигнала | 
Тело запроса
[
  {
    "startEventId": 0,
    "type": "Opening",
    "body": {}
  }
]
Поля тела запроса
| Название поля | Обязательно | Тип поля | По умолчанию | Описание | 
|---|---|---|---|---|
| startEventId | + | integer | нет | Идентификатор стартового события | 
| type | + | string | нет | Тип события | 
| body | + | object | нет | Объект события в формате JSON | 
Типы событий:
Opening- открывающее событиеClosing- закрывающее событиеConfirming- подтверждающее событие
Коды ответов
| Код ответа | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для привязки событий к сигналу | 
| 404 | Сигнал с идентификатором {id} не найден | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Приложение
Модель сигнала
{
  "Id": 28203,
  "Name": "Тестовый сигнал через API",
  "Description": null,
  "OwnerWorkGroup": {
    "Id": 23,
    "Name": "General"
  },
  "CreatedBy": "User",
  "CreatedByScenario": null,
  "Labels": {},
  "ConfigItems": [],
  "Tags": [],
  "Status": "Open",
  "Severity": 6,
  "LastEvent": null,
  "LinkedEventsCount": 0,
  "CreatedAt": "2024-12-10T15:22:06.338296+00:00",
  "ClosedAt": "0001-01-01T00:00:00+00:00",
  "CustomFields": [],
  "AssigneeId": 90206,
  "Type": {
    "Name": "Signal",
    "Key": "signal"
  }
}