Контракты событий в СПИК

Контракт данных SpicEventOperationInfo

//Результат операции в системе событий
SpicEventOperationInfo
{
    // Статус операции.
    SpicEventOperationStatus

    // Код ошибки.
    int? ErrorCode
}

Параметр ErrorCode может содержать следующие значения:

  • 100 (InternalError) – Внутренняя ошибка.
  • 101 (NotLicensed) – Отсутствует лицензия.
  • 102 (BadRequest) – Запрос некорректный.
  • 111 (RegistrationEnded) – Подписка на события не найдена либо истекла

Контракт данных SpicEventOperationStatus

// Состояние результата запроса событий
SpicEventOperationStatus
{
    string Value
}

Параметр Value может принимать следующие значения:

  • PartialOk – Запрос выполнен не для всех объектов.
  • Busy – Сервер занят.
  • Error – Запрос не выполнен.
  • Ok – Запрос выполнен.

Контракт данных SpicObjectsEventTypeRequest

// Запрос на получение событий
SpicObjectsEventTypeRequest
{
    // Объекты, по которым необходимо получить события
    SpicObjectIdentity[] Objects

    // Период времени для получения событий
    SpicDateTimeRange Period
}

Контракт данных SpicFuelEvent

//События по заправкам и сливам топлива
SpicFuelEvent
{
    // Уникальный идентификатор события.
    Guid Id

    // Идентификатор типа события.
    Guid EventTypeId

    // Целевой объект.
    SpicObjectIdentity Target

    // Время события.
    SpicDateTimeRange Period

    // Время записи в базу(Время фиксации).
    DateTime CommitTime

    // Специфическая информация о событии конкретного типа.
    SpicFuelEventData Data
}

Контракт данных SpicFuelEventData

// Данные по топливному событию
SpicFuelEventData
{
    // Иднтификатор события
    Guid Id

    // Момент события
    DateTime Timestamp

    // Тип события
    SpicRfdStatisticsEventType EventType

    // Начальный уровень топлива
    double BeginFuelLevel

    // Конечный уровень топлива
    double EndFuelLevel

    // Координаты события
    SpicLocation Location
}

Контракт данных SpicObjectFuelEventTypeCollection

//Коллекция событий по топливу по одному объекту.
SpicObjectFuelEventTypeCollection
{
    // Целевой объект.
    SpicObjectIdentity ObjectIdentity

    // Тип событий.
    Guid EventTypeId

    // События.
    SpicFuelEvent[] Events
}

Контракт данных SpicObjectsFuelEventTypeCollection

// Набор событий
SpicObjectsFuelEventTypeCollection
{
    SpicObjectFuelEventTypeCollection[] Collections
}

Контракт данных SpicObjectsFuelEventTypeResponse

// Ответ на запрос события
SpicObjectsFuelEventTypeResponse
{
    // Набор событий
    SpicObjectsFuelEventTypeCollection Collection

    // Информация об успешности операции
    SpicEventOperationInfo EventOperationInfo
}

Контракт данных SpicRfdStatisticsEventType

// Тип события изменения уровня топлива
SpicRfdStatisticsEventType
{
    string Value
}

Параметр Value может принимать следующие значения:

  • Defueling - Слив
  • Fueling - Заправка

Контракт данных SpicObjectsTpmEventTypeCollection

// Набор событий
SpicObjectsTpmEventTypeCollection
{
    SpicObjectTpmEventTypeCollection[] Collections
}

Контракт данных SpicObjectsTpmEventTypeResponse

// Ответ на запрос события
SpicObjectsTpmEventTypeResponse
{
    // Набор событий
    SpicObjectsTpmEventTypeCollection Collection

    // Информация об успешности операции
    SpicEventOperationInfo EventOperationInfo
}

Контракт данных SpicObjectTpmEventTypeCollection

//Коллекция событий по периодам движения.
SpicObjectTpmEventTypeCollection
{
    // Целевой объект.
    SpicObjectIdentity ObjectIdentity

    // Тип событий.
    Guid EventTypeId

    // События.
    SpicTpmEvent[] Events
}

Контракт данных SpicTmpEventData

//Данные по событию движения
SpicTmpEventData
{
    // Идентификатор события
    Guid Id

    // Тип периода.
    // Например, движение или стоянка.
    SpicTrackPeriodType PeriodType

    // Пробег в данном периоде.
    // Вычисляется алгоритмом определения расстояния с учетом кривизны земли.
    double? MileageKm

    // Средняя скорость, км/ч
    double? AverageSpeedKmh

    // Минимальная скорость, км/ч
    double? MinimumSpeedKmh

    // Максимальная скорость, км/ч
    double? MaximumSpeedKmh
}

Контракт данных SpicTpmEvent

//Событие движения
SpicTpmEvent
{
    // Уникальный идентификатор события.
    Guid Id

    // Идентификатор типа события.
    Guid EventTypeId

    // Целевой объект.
    SpicObjectIdentity Target

    // Время события.
    SpicDateTimeRange Period

    // Время записи в базу(Время фиксации).
    DateTime CommitTime

    // Специфическая информация о событии конкертного типа.
    SpicTmpEventData Data
}

[[Контракты статистик данных. СПИК|<<Назад]]                                                       [[Документация по СПИК|К оглавлению]]                                                                     [[Общие (инфраструктурные) контракты. СПИК|Далее>>]]