EventsListApi. Запросы
API для получения всех событий пользователя.
Получение камер с аналитикой
Получение списка камер по страницам и при необходимости выполнение поиска там, где у пользователя включена аналитика.
@GET(CAMERAS_WITH_ANALYTICS)
suspend fun getCamerasList(
@Query(SEARCH) search: String? = null,
@Query(FILTER) filter: String = "analytics",
@Query(PAGE) page: String = "1"
): VMSResponseCameras
События
Получение системных событий
Получение списка системных событий.
@GET(EVENTS)
fun getEventsSystem(
@Query(PAGE) page: String,
@Query(CAMERAS_ARRAY) cameras: List<Int>? = null,
@Query(SORT) sort: String = "created_at",
@Query(DIR) dir: String = "desc", // 'desc' by default or 'asc'
@Query(DATE) date: String?,
@Query(TIMEZONE) timezone: String?,
@Query(FROM) from: String?,
@Query(TO) to: String?,
): VMSApiResponseEvents
Получение пользовательских событий
@GET(MARKS)
fun getEventsMarks(
@Query(PAGE) page: String,
@Query(CAMERAS_ARRAY) cameras: List<Int>? = null,
@Query(SORT) sort: String = "created_at",
@Query(DIR) dir: String = "desc",// 'desc' by default or 'asc'
@Query(DATE) date: String?,
@Query(TIMEZONE) timezone: String?,
@Query(FROM) from: String?,
@Query(TO) to: String?,
): VMSApiResponseEvents
Получение событий аналитики
@GET(ANALYTIC_CASE_EVENTS)
fun getEventsAnalytic(
@Query(PAGE) page: String? = null,
@Query(EVENTS_ARRAY) events: List<String>? = null,
@Query(ANALYTIC_TYPES) types: List<String>? = null,
@Query(CAMERAS_ARRAY) cameras: List<Int>? = null,
@Query(IDS_ARRAY) cases: List<Int>? = null,
@Query(DIR) dir: String = "desc", // 'desc' by default or 'asc'
@Query(DATE) date: String?,
@Query(TIMEZONE) timezone: String?,
@Query(FROM) from: String?,
@Query(TO) to: String?
): VMSApiResponseEvents
Получение кейсов аналитики
Получение всех кейсов, доступных для текущего eventTypes
. См. VMSStatics
, чтобы получить все доступные типы событий.
@GET(ANALYTIC_CASE)
suspend fun getAnalyticCases(@Query(TYPES_ARRAY) types: List<String>): VMSAnalyticFilters
Информация, необходимая для отправки запросов на получение событий. Каждый список не имеет обязательных параметров:
@Query(PAGE) page: String? = null,
@Query(EVENTS_ARRAY) events: List<String>? = null,
@Query(ANALYTIC_TYPES) types: List<String>? = null,
@Query(CAMERAS_ARRAY) cameras: List<Int>? = null,
@Query(IDS_ARRAY) cases: List<Int>? = null,
@Query(DIR) dir: String = "desc", // 'asc' or 'desc'
@Query(DATE) date: String?,
@Query(TIMEZONE) timezone: String?,
@Query(FROM) from: String?,
@Query(TO) to: String?