IntercomApi. Запросы
API для управления домофонами.
Получение списка домофонов
Получение списка домофонов. Укажите страницу для запроса. Для первого запроса установите page = 1
.
Если запрос прошел успешно, вы получите пагинированный ответ из групп.
@GET(INTERCOM_LIST)
suspend fun getIntercomsList(@Query(PAGE) page: String): VMSApiResponseIntercoms
Получение списка кодов домофона
Получение списка кодов домофона. Укажите страницу для запроса. Для первого запроса установите page = 1
.
Если запрос прошел успешно, вы получите пагинированный ответ из групп.
@GET(INTERCOM_CODES)
suspend fun getIntercomCodesList(@Query(PAGE) page: String): VMSVisitors
Получение списка звонков
Получение списка звонков. Укажите страницу для запроса. Для первого запроса установите page = 1
.
Если запрос прошел успешно, вы получите пагинированный ответ из групп.
@GET(INTERCOM_CALLS)
suspend fun getCallsList(@Query(PAGE) page: String): VMSApiResponseVisitHistory
Начать флоу добавления домофона
Этот запрос используется для запуска флоу добавления домофона.
Пользователь должен ввести код, полученный в результате этого запроса, а затем применить к домофону физический ключ домофона.
После этого вы получите push-уведомление, и пользователь должен ввести номер квартиры.
Если этот домофон уже был добавлен, этот запрос вернет ошибку с соответствующим информационным сообщением.
Если запрос прошел успешно, вы получите объект VMSActivationCode
.
@POST(INTERCOM_LIST)
suspend fun getActivationCode(): VMSActivationCode
Задать номер квартиры
Подключить домофон к конкретному номеру квартиры.
Создайте новую группу камер с указанным именем. Изначально группа пуста.
Если запрос прошел успешно, вы получите обновленный домофон.
@POST(INTERCOM_FLAT)
suspend fun setIntercomFlat(@Path(ID) id: String, @Body data: VMSIntercomFlatData): VMSIntercom
Переименование домофона
Переименовать конкретный домофон по его идентификатору на новое имя.
Если запрос прошел успешно, вы получите обновленный домофон.
@PATCH(INTERCOM_PATCH)
suspend fun renameIntercom(
@Path(ID) id: String,
@Body data: VMSIntercomChangeTitleData
): VMSIntercom
Задать настройки домофона
Изменить параметры настроек конкретного домофона по его идентификатору.
Если запрос прошел успешно, вы получите обновленный домофон.
@PATCH(INTERCOM_PATCH)
suspend fun changeIntercomSettings(
@Path(ID) id: String,
@Body data: VMSIntercomChangeSettingsData
): VMSIntercom
Data objects:
@Parcelize
data class VMSIntercomChangeSettingsData(
@SerializedName("is_enabled") val is_enabled: Boolean? = false,
@SerializedName("timetable") val timetable: VMSTimetable? = null
): Parcelable
@Path(ID) id
— идентификатор домофона.
is_enabled
— установите значение false
, если вы хотите отключить домофон. В этом случае звонки с домофона не будут поступать на текущее устройство.
timetable
— расписание домофонных звонков. Звонки будут приниматься только в выбранное время.
VMSTimetable
Расписание домофонных звонков.
Расписание можно настроить двумя способами:
по дням
по интервалам
Вы не можете установить оба параметра одновременно. В этом случае будут установлены интервалы.
@Parcelize
data class VMSTimetable(
@SerializedName("days") val days: ArrayList<VMSTimetableDay>? = null,
@SerializedName("intervals") val intervals: ArrayList<VMSTimetableInterval>? = null
): Parcelable
Открытие двери
Открыть дверь домофона.
Если запрос был успешным, ответом будет Response<Unit>
.
@POST(INTERCOM_OPEN_DOOR)
suspend fun openDoor(@Path(ID) id: String): Response<Unit>
Создание кода
Создать код для физического открытия двери.
Если запрос прошел успешно, вы получите объект VMSVisitor
.
@POST(INTERCOM_ID_CODES)
suspend fun createCode(
@Path(ID) id: String,
@Body data: VMSIntercomCodeData
): VMSCodeVisitor
@Path(ID) id
— идентификатор домофона.
@Parcelize
data class VMSIntercomCodeData(
@SerializedName("title") val title: String?,
@SerializedName("expired_at") val expired_at: String?,
): Parcelable
title
— наименование нового кода.
expired_at
— дата, до которой этот код будет действителен.
Удаление дофомонов
Удалите домофоны, которые вам больше не нужны.
Если запрос был успешным, ответом будет Response<Unit>
.
@HTTP(method = DELETE, path = INTERCOM_LIST, hasBody = true)
suspend fun deleteIntercoms(@Body data: VMSIntercomsDeleteData): Response<Unit>
Удаление кодов домофона
Удалите коды домофона, которые вам больше не нужны.
Если запрос был успешным, ответом будет Response<Unit>
.
@HTTP(method = DELETE, path = INTERCOM_CODES, hasBody = true)
suspend fun deleteVisitors(@Body data: VMSIntercomsDeleteData): Response<Unit>
Удаление звонков
Удалите звонки, которые вам больше не нужны.
Если запрос был успешным, ответом будет Response<Unit>
.
@HTTP(method = DELETE, path = INTERCOM_CALLS, hasBody = true)
suspend fun deleteCalls(@Body data: VMSIntercomsDeleteData): Response<Unit>