Публичный API [3.0]. Видеоаналитика. Метаданные видеофайлов событий


Содержание

Описание методов

В настоящий момент корректное взаимодействие с методами API гарантируется только при использовании клиента Postman (файлы коллекции и окружения).

Внешний контур видеофайлов событий предоставляет доступ по протоколу OData v4 к метаданным видеозаписей, полученных по событиям видеоаналитики.  

Метод Описание
GET /odata/VaAlarmVideo Список метаданных видеофайлов. Удалённые файлы не возвращаются
GET /odata/VaAlarmVideo({key}) Метаданные одного файла по идентификатору. Связь с событием устанавливается по полю TelemetryId. 

Каноническая форма записи ключа в OData. 

Значение подставляется из переменной mediaFileId, которую заполняет скрипт запроса коллекции.
GET /odata/VaAlarmVideo/{key} Поддерживается для клиентов, не работающих со скобками в адресе.
Результат идентичен канонической форме.
GET /odata/VaAlarmVideo/$count Количество видеофайлов числом. Поддерживает $filter

Предусловия и ограничения

Метод Назначение метода Scope Чек-боксы в справочнике ролей для scope
GET /odata/VaAlarmVideo Выборка метаданных видеофайлов событий externalVaAlarmVideo:read
«Таблица Событий. Скачивание видео»
GET /odata/VaAlarmVideo({id}) Метаданные одного видеофайла по идентификатору externalVaAlarmVideo:read
«Таблица Событий. Скачивание видео»

Ограничения:

Поиск TelemetryId по шагам:

1) выбрать события с VideoCount gt 0;
2) взять из события TelemetryId;
3) выбрать файлы фильтром по нему.
Валидация события не требуется - файлы доступны при любом статусе.

Формат запроса (Request Body)

Атрибут Поле Тип Обязательность Описание
$filter

beginFrom
String
Нет
Дата и время начала периода фильтрации. ISO 8601. Пример: 2026-08-01T00:00:00Z
beginTo
String
Нет
Дата и время конца периода фильтрации. ISO 8601. Пример: 2026-08-02T00:00:00Z
$select
AlarmId,
TelemetryId,
Begin,
End,
Type,
AlarmStatus,
RegulationStatus,
UnitStateNumber,
DriverFullName,
VideoCount 
String
Нет
Массив полей, включаемых в ответ. Пример: ["AlarmId","Begin","UnitStateNumber"]
$orderBy
 
String
Нет
Поле и направление сортировки (asc / desc). Пример: Begin asc
$top
 
Integer
Нет
Максимальное количество возвращаемых записей. Пример: 100
$skip
 
Integer
Нет
Количество пропускаемых записей от начала выборки. Применяется вместе с $top.
$count
 
Boolean
Нет
Признак включения общего количества записей в ответ в поле @odata.count. Не учитывает $top и $skip.

Пример запроса:

GET /odata/VaAlarmVideo?$filter=TelemetryId eq '17223456789012345'&$orderby=Channel asc

Формат ответа (Responses Code)

В случае успеха метод возвращает ответ с кодом 200 и телом ответа в формате OData JSON:

Поле
Атрибут
Тип
Описание
@odata.context
- String URL-ссылка на контекст метаданных OData
value  - Array Массив объектов с данными
                                Id UUID Идентификатор медиафайла, ключ сущности
Channel Integer Номер канала (камеры), с которого записан файл.

Задаётся конфигурацией терминала (например, 1 - фронтальная, 3 - салонная).
TelemetryId String или null Идентификатор события, сгенерированный оборудованием
AlarmId UUID или null Идентификатор события
CreatedAt DateTime Дата и время появления файла в хранилище

Пример ответа:

{
"value": [
{ "Id": "8c1f2a3b-4d5e-4f60-9a7b-1c2d3e4f5a6b", "Channel": 1,
"TelemetryId": "17223456789012345",
"AlarmId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"CreatedAt": "2026-08-01T07:15:40+03:00" },
{ "Id": "9d2e3b4c-5e6f-4071-8b8c-2d3e4f5a6b7c", "Channel": 3,
"TelemetryId": "17223456789012345",
"AlarmId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"CreatedAt": "2026-08-01T07:15:52+03:00" }
]
}

В случае ошибок авторизации или валидации запроса метод возвращает код, соответствующий ошибке, и тело в формате OData:

Тело ответа Тип Обязательность Описание
error Object[] Да Корневой объект, содержащий информацию об ошибке
code String Да Машиночитаемый код ошибки
message String Да Человекочитаемое сообщение об ошибке
target String Нет Цель ошибки (например, имя поля)
  details Object[] Да Массив детализированных ошибок
200 (пусто)  
 -
 
Учётной записи не открыт доступ к данным: не назначены транспортные средства, либо не выдан доступ на просмотр
400 Bad Request Значение $top свыше предела 1000. 

Ошибка синтаксиса, неизвестное поле, $top > 1000
401  Unautorized  Токен невалидный или истек срок действия. Запрос без авторизации.

Ожидаемый код 401 подтверждает, что маршрут опубликован и защищён.

Если вместо 401 приходит 404, неверен базовый адрес или контур.
403 Forbidden   Учётной записи не выдано нужное право
404 Not Found   Обращение по заведомо отсутствующему ключу. 

Такой же ответ приходит, если запись существует, но недоступна учётной записи по её правам: различить эти случаи на стороне клиента нельзя.


Номер материала: 5868
Отправлено: Thu, Aug 13, 2026
Последнее обновление: Fri, Sep 18, 2026
Отправлено: Эфендиева Валерия Руслановна [v.efendieva@skai.online]

Online URL: https://kb.skai.online/article/Публичный-api-3-0-Видеоаналитика-Метаданные-видеофайлов-событий-5868.html