Breadcrumbs

GroupApi

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

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

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

Если запрос прошел успешно, вы получите пагинированный ответ из групп. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.

getGroupsList(page: Int, completion: (PaginatedResponse<VMSCameraTree>?, VMSApiError?))

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

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

Если запрос был успешным, ответом будет nil. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.

createGroup(with name: String, completion: (VMSApiError?))

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

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

Если запрос был успешным, ответом будет nil. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.

renameGroup(with id: Int, newName: String, completion: (VMSApiError?))

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

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

Если запрос был успешным, ответом будет nil. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.

deleteGroup(with id: Int, completion: (VMSApiError?))

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

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

Если запрос был успешным, ответом будет nil. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.

updateGroup(info: VMSUpdateGroupRequest, completion: (VMSApiError?))

VMSUpdateGroupRequest

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

init(groupName: String, groupId: Int, cameraIds: [Int])

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

groupId — идентификатор группы, для указания необходимой группы

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

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

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

Если запрос был успешным, ответом будет объект VMSGroupSyncType. Если произойдет какая-либо ошибка, вы получите объект VMSApiError.

syncGroups(for cameraId: Int, groupIds: [Int], completion: (VMSGroupSyncType?, VMSApiError?))

cameraId — укажите камеру по ее идентификатору

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

VMSGroupSyncType

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

enum VMSGroupSyncType: String, Codable {
    case sync
    case async
}

sync — если синхронизация была выполнена

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

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