Контракты онлайн-данных. СПИК
- 1 Контракт данных SpicOnlineData
- 2 Контракт данных SpicOnlineDataCollection
- 3 Контракт данных SpicOnlineDataOperationState
- 4 Контракт данных SpicOnlineDataOperationStatus
- 5 Контракт данных SpicOnlineDataResponse
- 6 Контракт данных SpicOnlineDataSessionId
- 7 Контракт данных SpicOnlineDataSubscriptionRequest
- 8 Контракт данных SpicOnlineDataSubscriptionResponce
Контракт данных SpicOnlineData
// Онлайн-данные.
SpicOnlineData
{
// Id терминала.
SpicDeviceId DeviceId
// Адрес.
string Address
// Время подключения.
DateTime? ConnectionDateTime
// Дата последнего сообщения.
DateTime? LastMessageTime
// Дата последнего обновления навигационных данных.
DateTime? NavigationTime
// Количество сообщений.
int TotalMessages
// Данные телеметрии.
SpicNavigation Navigation
// Корректность навигационных данных.
bool IsNavigationValid
}
Контракт данных SpicOnlineDataCollection
// Коллекция онлайн-данных
SpicOnlineDataCollection
{
// Объекты, для которых получаются онлайн-данные
int[] Targets
// Онлайн-данные для объектов
SpicOnlineData[] DataCollection
}
Контракт данных SpicOnlineDataOperationState
// Состояние операции запроса онлайн-данных
SpicOnlineDataOperationState
{
// Статус операции
SpicOnlineDataOperationStatus Status
// Коды ошибок
int[] ErrorCodes
}
Параметр ErrorCodes может содержать в себе следующие элементы:
- 200 (BadRequest) – Некорректный запрос.
- 201 (RightsViolation) – Нарушение прав доступа.
- 202 (InternalError) – Внутренняя ошибка сервера.
- 203 (TerminalNotFound) – Не найден терминал.
- 204 (SubscriptionNotFound) – Подписка не существует или устарела.
- 205 (OnlineDataNotFound) – Онлайн данные отсутствуют.
Контракт данных SpicOnlineDataOperationStatus
// Статус запроса онлайн-данных
SpicOnlineDataOperationStatus
{
// Значение
string Value
}
Параметр Value может принимать следующие значения:
- None – Не определено.
- Ok – Успех.
- Error – Ошибка.
- Busy – Сервер занят, повторить запрос.
- PartialOk – Запрос исполнился только для части объектов.
Контракт данных SpicOnlineDataResponse
// Результат запроса онлайн-данных
SpicOnlineDataResponse
{
// Статус запроса
SpicOnlineDataOperationState State
// Коллекция онлайн-данных
SpicOnlineDataCollection OnlineDataCollection
}
Контракт данных SpicOnlineDataSessionId
// Идентификатор сессии
SpicOnlineDataSessionId
{
// Идентификатор сессии
Guid Id
}
Контракт данных SpicOnlineDataSubscriptionRequest
// Подписка на онлайн-данные
SpicOnlineDataSubscriptionRequest
{
// Идентификаторы объектов подписки
int[] UnitIds
}
Контракт данных SpicOnlineDataSubscriptionResponce
// Ответ на запрос подписки
SpicOnlineDataSubscriptionResponse
{
// Идентификатор сессии
SpicOnlineDataSessionId? SessionId
// Статус подписки
SpicOnlineDataOperationState State
}