Zidium

События — это любая активность в вашем проложении, о которой вы хотите уведомить Zidium. События влияют на цвет компонента, и могут приводить к отправке уведомлений.

Самыми типичными событиями являются ошибки (проблемы). Они настолько частно используются, что мы выделили их в отдельную категорию. Есть 2 категории событий, которые можно отправлять:

  • Ошибка (ApplicationError) — Всё, что вы сочтёте ошибкой или проблемой;
  • Обычное событие (ComponentEvent) — Всё остальное.

В системе есть и другие категории, используемые для служебных целей, но отправлять можно только эти две.

Подробнее о принципах работы событий читайте в статье События (принцип работы)

В каждом событии содержится:

  • Дата — Дата и время, когда эта запись была сделана;
  • Категория — Про неё вы уже знаете;
  • Важность — Влияет на цвет компонента;
  • Тип — Позволяет удобно группировать события, а также используется для различных продвинутых сценариев работы;
  • Сообщение — Основной текст события;
  • Свойства — Список дополнительных свойств, у каждого свойства есть название, тип и данные. Данные могут быть любого типа - текстовые, числовые, изображение, бинарные и т.д.;
  • Множество других данных — О которых вы можете подробнее прочитать в разделе События (ошибки).

Для простой отправки ошибки используйте код:

// Поймаем исключение и отправим событие ошибки
try
{
    throw new Exception("Test exception");
}
catch (Exception exception)
{
    component.AddApplicationError(exception);
}

В этом примере предполагается, что вы уже получили и запомнили компонент в переменной component. Как это сделать, читайте в разделе Компоненты (How To).

Метод AddApplicationError отправит событие категории ApplicationError, сформировав текст из объекта исключения, и добавит стек как свойство. Событие также получит важность Alarm. Остальные свойства получат значения по умолчанию. Также можно дополнительно передать параметр с названием типа события.

Для отправки ошибки выполните POST-запрос:

Url запроса

АдресВашегоСервисаApi/SendEvent

Тело запроса
{
    "Token": {
        "SecretKey": "caf508d2-XXXX-XXXX-XXXX-6a2ef73a2b49"
    },
    "Data": {
        "ComponentId": "11111111-2222-3333-4444-555555555555",
        "TypeSystemName": "NetworkException",
        "Message": "Error while retrieving data from connection",
        "Category": "ApplicationError",
        "Properties": [
        {
            "Name": "Stack",
            "Value": "Содержимое стека",
            "Type": "String"
        }]
    }
}

Здесь:

  • Token — раздел с токеном авторизации. В нём:
    • SecretKey — ключ доступа к Api, посмотрите в личном кабинете;
  • Data — раздел с данными ошибки. В нём:
    • ComponentId — Id компонента, для которого отправляется ошибка. Его можно посмотреть в личном кабинете на странице компонента;
    • TypeSystemName — название типа ошибки. Используется в дальнейшем для поиска ошибок в личном кабинете;
    • Message — текст ошибки;
    • Category — всегда ApplicationError.
    • Properties - stack.Value — содержимое стека, если он доступен в вашей ситуации.

Для простой отправки обычного события используйте код:

// Отправим информационное событие старта приложения
component.AddComponentEvent("ComponentStart", "Запуск");

Метод AddComponentEvent отправит событие категории ComponentEvent с переданным названием типа события и текстом. Остальные свойства получат значения по умолчанию.

Для отправки обычного события выполните POST-запрос:

Url запроса

АдресВашегоСервисаApi/SendEvent

Тело запроса
{
    "Token": {
        "SecretKey": "caf508d2-XXXX-XXXX-XXXX-6a2ef73a2b49"
    },
    "Data": {
        "ComponentId": "11111111-2222-3333-4444-555555555555",
        "TypeSystemName": "ComponentStart",
        "Message": "Запуск",
        "Category": "ComponentEvent",
    }
}

Здесь:

  • Token — раздел с токеном авторизации. В нём:
    • SecretKey — ключ доступа к Api, посмотрите в личном кабинете;
  • Data — раздел с данными события. В нём:
    • ComponentId — Id компонента, для которого отправляется событие. Его можно посмотреть в личном кабинете на странице компонента;
    • TypeSystemName — название типа события. Используется в дальнейшем для поиска событий в личном кабинете;
    • Message — текст события;
    • Category — всегда ComponentEvent.

Чтобы посмотреть отправленные события, перейдите в раздел События:

По умолчанию отображаются события по всем компонентам. Вы можете выбрать нужный компонент в фильтре и нажать кнопку Найти, чтобы показать события только по этому компоненту. Также можно на странице компонента кликнуть по ссылке событий, в этом случае список событий откроется с уже настроенными фильтрами.

Кликнув по тексту события, можно посмотреть его свойства:

Кликнув по дате события в первом столбце, можно открыть страницу события и посмотреть все его данные:

Подробнее о работе с событиями читайте в разделе События (ошибки).