Перейти к основному содержанию
Пропустить оглавление

GroupApi. Камеры

API для управления группами камер.

Получение списка групп

Получить список групп камер. Укажите страницу для запроса. Для первого запроса установите page = 0.

Если запрос прошел успешно, вы получите пагинированный ответ из групп.

CODE
@GET(GROUPS)
suspend fun getGroups(@Query(PAGE) page: String): VMSApiResponseGroups

Создание группы

Создать новую группу камер с указанным именем. Изначально группа пуста.

Если запрос был успешным, ответом будет VMSCreateGroupResponse.

CODE
@POST(GROUPS)
suspend fun createGroup(@Body name: VMSSimpleName): VMSCreateGroupResponse

Переименование группы

Переименовать конкретную группу по ее идентификатору с новым именем.

Если запрос был успешным, ответом будет VMSChildGroup.

CODE
@PUT(GROUP_CRUD)
suspend fun renameGroup(@Path(ID) id: String, @Body name: VMSSimpleName): VMSChildGroup

Удаление группы

Удалить определенную группу по ее идентификатору.

Если запрос был успешным, ответом будет VMSStatusResponse.

CODE
@DELETE(GROUP_CRUD)
suspend fun deleteGroup(@Path(ID) id: Int): VMSStatusResponse

Обновление группы

Обновить группу с указанной информацией.

Если запрос был успешным, ответом будет VMSChildGroup.

CODE
@PUT(GROUP_CRUD)
suspend fun updateGroup(@Path(ID) id: String, @Body group: VMSUpdateGroupRequest): VMSChildGroup

@Path(ID) id — идентификатор группы, для указания необходимой группы.

VMSUpdateGroupRequest

Объект с необходимой информацией для обновления группы.

name — новое имя группы. Если вы не хотите менять имя группы, установите в этом параметре старое имя.

items — список идентификаторов камер, которые вы хотите добавить в эту группу.

Синхронизация групп

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

Если запрос был успешным, ответом будет объект VMSGroupSync.

CODE
@POST(GROUPS_SYNC)
suspend fun syncGroups(@Path(ID) id: String, @Body groups: VMSGroupSyncRequest): VMSGroupSync

@Path(ID) id — укажите камеру по ее идентификатору.

groups — укажите список идентификаторов групп, в которых будет представлена камера (камера будет добавлена в группу, если ее там не было раньше).

VMSGroupSync

Информация о способе синхронизации на стороне сервера.

CODE
@Parcelize
data class VMSGroupSync(
	@SerializedName("type") val type: String = ""
): Parcelable

sync — вы получите этот тип, если синхронизация была выполнена.

async — вы получите этот тип, если у пользователя более 50 групп, серверный запрос будет выполняться асинхронно.

После завершения процесса вы получите сообщение сокета, которое сможете обработать. Дополнительную информацию см. в VMSPusherApi.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.