# API

# API Документация

### **Описание**

В данном документе описаны API-методы для взаимодействия с домофонной панелью Сокол (rev.2) через http-запросы.

<p class="callout info">На устройстве по умолчанию 2 виртуальных сетевых интерфейса:  
 - Динамический;  
 - Статический ([**192.168.0.100**](http://192.168.0.100:80/)).  
  
Метод для настройки сетевых интерфейсов:  
 **[/v1/network](#bkmrk-%2Fv1%2Fnetwork)**</p>

<p class="callout info">Данные для авторизации по умолчанию:  
 - логин: **root**  
 - пароль: **123456** Метод для смены пароля по умолчанию: **[/user/change\_password](#bkmrk-%2Fuser%2Fchange_passwor)**</p>

---



### **Обязательные заголовки**

<p class="callout info">Некоторые методы могут иметь другое значение для указанных заголовков или новые заголовки.</p>

#### **Запрос**

<table border="1" id="bkmrk-%D0%9D%D0%B0%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8" style="border-collapse: collapse; width: 100%; height: 62.3907px;"><colgroup><col style="width: 33.3708%;"></col><col style="width: 33.3708%;"></col><col style="width: 33.3708%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px; vertical-align: middle;">**Наименование**

</td><td style="height: 29.7969px; vertical-align: middle;">**Значение**</td><td style="height: 29.7969px; vertical-align: middle;">**Описание**</td></tr><tr><td colspan="3" style="vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text align-center">**GET, PUT, POST, DELETE**</div></div></div></div></div></div></td></tr><tr style="height: 32.5938px;"><td style="height: 32.5938px; vertical-align: middle;">Authorization

</td><td style="height: 32.5938px; vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">Basic cm9vdDoxMjM0NTY=</div></div></div></div></div></div></td><td style="height: 32.5938px; vertical-align: middle;">Заголовок "Базовой авторизации"</td></tr><tr><td colspan="3" style="vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text align-center">**PUT, POST, DELETE**</div></div></div></div></div></div></td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">application/json</div></div></div></div></div></div></td><td style="vertical-align: middle;">Тип передаваемых данных</td></tr><tr><td style="vertical-align: middle;">Content-Length

</td><td style="vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">0</div></div></div></div></div></div></td><td style="vertical-align: middle;">Размер передаваемых данных</td></tr></tbody></table>

#### **Ответ**

##### Заголовки

<table border="1" id="bkmrk-%D0%9D%D0%B0%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8-1" style="border-collapse: collapse; width: 100%; height: 176.953px;"><colgroup><col style="width: 33.3708%;"></col><col style="width: 33.3708%;"></col><col style="width: 33.3708%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">**Наименование**

</td><td style="height: 35.3906px; vertical-align: middle;">**Значение**</td><td style="height: 35.3906px; vertical-align: middle;">**Описание**</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">Authorization

</td><td style="height: 35.3906px; vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">Basic cm9vdDoxMjM0NTY=</div></div></div></div></div></div></td><td style="height: 35.3906px; vertical-align: middle;">Заголовок "Базовой авторизации"</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">Content-Type

</td><td style="vertical-align: middle; height: 35.3906px;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">application/json</div></div></div></div></div></div></td><td style="vertical-align: middle; height: 35.3906px;">Тип возвращаемых данных</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">Content-Length

</td><td style="vertical-align: middle; height: 35.3906px;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">0</div></div></div></div></div></div></td><td style="vertical-align: middle; height: 35.3906px;">Размер возвращаемых данных</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">X-Device-Mac

</td><td style="vertical-align: middle; height: 35.3906px;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">08:13:00:00:00:00</div></div></div></div></div></div></td><td style="vertical-align: middle; height: 35.3906px;">Мак адрес устройства</td></tr></tbody></table>

##### Коды

<table border="1" id="bkmrk-%D0%9D%D0%B0%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8-2" style="border-collapse: collapse; width: 100%; height: 176.953px;"><colgroup><col style="width: 50.0618%;"></col><col style="width: 50.0618%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">**Наименование**

</td><td style="height: 35.3906px; vertical-align: middle;">**Значение**</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">Успешные

</td><td style="height: 35.3906px; vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">- 200 OK;
- 201 OK;
- 204 OK.

</div></div></div></div></div></div></td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">Пользовательские

</td><td style="vertical-align: middle; height: 35.3906px;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">- 400 Bad Request;
- 404 Not Found;
- 405 Method Not Allowed;
- 422 Unprocessable Entity.

</div></div></div></div></div></div></td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">Серверные

</td><td style="vertical-align: middle; height: 35.3906px;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">- 500 Internal Server Error;
- 501 Not Implemented.

</div></div></div></div></div></div></td></tr></tbody></table>

---

### **Авторизация**

#### /auth/check

Метод проверки данных, используемых для авторизации, при вызове API-методов.  
Для авторизации поддерживается "Базовая аутентификация (Basic access authentication)" .

<details id="bkmrk-post---%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE"><summary>GET - Проверка авторизации</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Авторизация пройдена</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 121.984px;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px; vertical-align: middle;">**Наименование**

</td><td style="height: 29.7969px; vertical-align: middle;">**Значение**</td><td style="height: 29.7969px; vertical-align: middle;">**Описание**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px; vertical-align: middle;">Content-Type

</td><td style="height: 29.7969px; vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">text/html; charset=ISO-8859-1</div></div></div></div></div></div></td><td style="height: 29.7969px; vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details><details><summary>401 Unauthorized</summary>

<p class="callout warning">- Не корректно передан заголовок **Authorization**  
- Используются не корректные данные **логин** или **пароль**</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="height: 29.7969px; vertical-align: middle;">**Наименование**

</td><td style="height: 29.7969px; vertical-align: middle;">**Значение**</td><td style="height: 29.7969px; vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">WWW-Authenticate

</td><td style="vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">Basic realm="Access to camofon", charset="UTF-8"</div></div></div></div></div></div></td><td style="vertical-align: middle;">Заголовок обязательной авторизации</td></tr><tr><td style="height: 29.7969px; vertical-align: middle;">Content-Type

</td><td style="height: 29.7969px; vertical-align: middle;"><div class="key-value-form-row is-blocked row-focused is-system" data-index="0"><div class="key-value-form-row__draggable"><div class="auto-suggest-group is-blocked"><div class="key-value-form-column"><div class="key-value-cell show-whitespaces reference__0-0"><div class="key-value-cell__text">text/html; charset=ISO-8859-1</div></div></div></div></div></div></td><td style="height: 29.7969px; vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/auth/check'
```

</details></details>---

### **Пользователь**

#### /user/change\_password

Метод смены текущего пароля пользователя на новый.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2-"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Тип**</td><td style="vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">newPassword</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Новый пароль для указанного пользователя в заголовке авторизации.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">123456</span>

</td></tr></tbody></table>

</details><details id="bkmrk-put---%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80"><summary>PUT - Обновление пароля</summary>

<details><summary>Запрос</summary>

**Тело:**

```JSon
{
  "newPassword": "123456"
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешная смена пароля</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100.556%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**</td><td style="vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details><details><summary>400 Bad Request</summary>

<p class="callout warning"> Ошибка проверки переданных параметров</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Тип**</td><td style="vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">errors

</td><td style="vertical-align: middle;">Array</td><td style="vertical-align: middle;">Массив возвращаемых ошибок.</td></tr><tr><td style="vertical-align: middle;"> field

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Название переменной к которой относиться ошибка.</td></tr><tr><td style="vertical-align: middle;"> message

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибки для переменной из поля "field".</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "field": "newPassword",
            "message": "Ошибка получения поля newPassword из запроса"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/user/change_password' \
--data-raw '{"newPassword": "123456"}'
```

</details></details>---

### **Параметры API**

#### /v1/api

Методы получения и настройки параметров HTTP-сервера.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--1"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Тип**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">port

</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Порт для работы HTTP-сервера.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">80</span>

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение данных</p>

**Тело:**

```json
{
    "port": 80
}
```

</details></details><details><summary>Примеры</summary>

**Curl:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/api'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "port": 80
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение параметров</p>

**Тело:**

```json
{
    "port": 80
}
```

</details><details><summary>400 Bad Request</summary>

<p class="callout warning">Ошибка проверки переданных параметров</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Тип**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">errors

</td><td style="vertical-align: middle;">Array</td><td style="vertical-align: middle;">Массив возвращаемых ошибок.</td></tr><tr><td style="vertical-align: middle;"> message

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение с ошибкой.</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Не удалось распарсить json"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/api' \
--data-raw '{"port": 80}'
```

</details></details>---

### **Параметры DDNS**

#### /v1/ddns

Методы получение и изменения параметров ddns клиента, основанного на открытом No-IP протоколе.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--2"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Тип**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">enabled</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / отключения DDNS клиента.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr><td style="vertical-align: middle;">interval</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Интервал отправки http запросов на сервер.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">300</span>

</td></tr><tr><td style="vertical-align: middle;">server

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры подключения к сервере</td></tr><tr><td style="vertical-align: middle;"> port</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Порт сервера для отправки запросов.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">8081</span>

</td></tr><tr><td style="vertical-align: middle;"> address</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Адрес сервера для отправки запросов.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">10.199.63.7</span>

</td></tr><tr><td style="vertical-align: middle;"> username</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Логин для авторизации.

\- По молчанию: <span style="color: rgb(186, 55, 42);">default</span>

</td></tr><tr><td style="vertical-align: middle;"> password</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Пароль для авторизации. \- По молчанию: <span style="color: rgb(186, 55, 42);">default</span>

</td></tr><tr><td style="vertical-align: middle;">data

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Отправляемые данные.</td></tr><tr><td style="vertical-align: middle;"> hostname</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Передаваемый тип устройства.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">ddns.ISCom</span>

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-1"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/ddns'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-1"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/ddns' \
--data-raw '{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}'
```

</details></details><details id="bkmrk-delete---%D0%A1%D0%B1%D1%80%D0%BE%D1%81-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC"><summary>DELETE - Сброс параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешный сброс параметров к стандартным</p>

**Тело:**

```json
{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/v1/ddns'
```

</details></details>---

### **Видеопоток**

#### RTSP

Методы получения основного и дополнительного видеопотоков.

<details id="bkmrk-%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-%D0%BF%D0%BE%D1%82%D0%BE%D0%BA"><summary>Основной видеопоток</summary>

**VLC:**

```bash
vlc rtsp://root:123456@192.168.0.100:554/ch0
```

**FFPLAY:**

```bash
ffplay rtsp://root:123456@192.168.0.100:554/ch0
```

</details><details id="bkmrk-%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE"><summary>Дополнительный видеопоток</summary>

**VLC:**

```bash
vlc rtsp://root:123456@192.168.0.100:554/ch1
```

**FFPLAY:**

```bash
ffplay rtsp://root:123456@192.168.0.100:554/ch1
```

</details>#### /camera/md

Методы получение и изменения параметров детектора движения видеопотока.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--3"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 514.249px;"><colgroup><col style="width: 28.1788%;"></col><col style="width: 16.5186%;"></col><col style="width: 55.2471%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**

</td><td style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**  
</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">md\_enable</td><td style="vertical-align: middle; height: 57.7812px;">Boolean</td><td style="vertical-align: middle; height: 57.7812px;">Флаг включения / отключения детектора движения.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 102.562px;"><td style="vertical-align: middle; height: 102.562px;">md\_area\_thr</td><td style="vertical-align: middle; height: 102.562px;">Integer</td><td style="vertical-align: middle; height: 102.562px;">Минимальный размер детектируемой области. Для людей на близком расстоянии примерно 100000 пикселей.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">30000 пикселей</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">md\_send\_snapshot\_enable</td><td style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Флаг включения / отключения отправки картинок на сервер указанный в параметре "snap\_send\_url".

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">md\_send\_snapshot\_interval</td><td style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Интервал в секундах между отправкой картинок на сервер.

\- Ограничение: <span style="color: rgb(186, 55, 42);">1 - 20 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">1 секунда</span>

**ВАЖНО!** Будет отправлена одна картинка, даже если за этот период было задетектировано больше движений.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">md\_rects\_enable</td><td style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Флаг включения / отключения отображения рамок детектора.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">md\_logs\_enable</td><td style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Флаг включения / отключения отправки событий детектора в логи.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">md\_rect\_color</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Цвет отображающихся рамок детектора.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0xFF0000</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">md\_frame\_int</td><td style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Интервал между кадрами, отправляемыми на поиск движения.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">30 кадров</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">md\_frame\_shift</td><td style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Смещение второго кадра, участвующего в определении детекции.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">1 кадр</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">md\_max\_rect\_ratio</td><td style="vertical-align: middle; height: 35.3906px;">Double</td><td style="vertical-align: middle; height: 35.3906px;">Максимальное соотношение длина / ширина прямоугольника для отображения.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">8.0</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">snap\_send\_url</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">HTTP адрес на который будут отправляться картинки детектора.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

</td></tr></tbody></table>

<p class="callout info">При использовании удаленного HTTP-сервера детекции (**snap\_send\_url**).</p>

Данные формата **application/json** отправляются на **HTTP-сервер** с помощью **POST** метода.

<table border="1" style="border-collapse: collapse; width: 100%; height: 514.249px;"><colgroup><col style="width: 28.1788%;"></col><col style="width: 16.5186%;"></col><col style="width: 55.2471%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**

</td><td style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">time

</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Дата и время в формате "%y-%m-%d %H:%M:%S".</td></tr><tr><td style="vertical-align: middle;">df\_id

</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Мак адрес устройства без символов двоеточия.</td></tr><tr><td style="vertical-align: middle;">img\_bytes

</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Представление картинки в base64 строке.</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-2"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "md_enable": false,
    "md_area_thr": 30000,
    "md_send_snapshot_enable": false,
    "md_send_snapshot_interval": 1,
    "md_rects_enable": false,
    "md_logs_enable": false,
    "md_rect_color": "0xFF0000",
    "md_frame_int": 30,
    "md_frame_shift": 1,
    "md_max_rect_ratio": 8.0,
    "snap_send_url": ""
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/md'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-2"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "md_enable": false,
    "md_area_thr": 30000,
    "md_send_snapshot_enable": false,
    "md_send_snapshot_interval": 1,
    "md_rects_enable": false,
    "md_logs_enable": false,
    "md_rect_color": "0xFF0000",
    "md_frame_int": 30,
    "md_frame_shift": 1,
    "md_max_rect_ratio": 8.0,
    "snap_send_url": ""
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "md_enable": false,
    "md_area_thr": 30000,
    "md_send_snapshot_enable": false,
    "md_send_snapshot_interval": 1,
    "md_rects_enable": false,
    "md_logs_enable": false,
    "md_rect_color": "0xFF0000",
    "md_frame_int": 30,
    "md_frame_shift": 1,
    "md_max_rect_ratio": 8.0,
    "snap_send_url": ""
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/md' \
--data-raw '{
    "md_enable": false,
    "md_area_thr": 30000,
    "md_send_snapshot_enable": false,
    "md_send_snapshot_interval": 1,
    "md_rects_enable": false,
    "md_logs_enable": false,
    "md_rect_color": "0xFF0000",
    "md_frame_int": 30,
    "md_frame_shift": 1,
    "md_max_rect_ratio": 8.0,
    "snap_send_url": ""
}'
```

</details></details>#### /camera/audio

Методы получение и изменения параметров звука.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--4"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Тип**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">aac\_enable</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / отключения кодирования звука в AAC.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false (звук в PCMU)</span>

</td></tr><tr><td style="vertical-align: middle;">format</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Формат кодирования звука.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">AAC</span>

\- Поддерживаемые варианты:

\- AAC;

\- PCM;

\- PCMA (G.711A);

\- PCMU (G.711U);

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-3"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "aac_enable": true,
    "format": "AAC"
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/audio'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-3"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "aac_enable": true
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "aac_enable": true,
    "format": "AAC"
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/audio' \
--data-raw '{
    "aac_enable": true,
    "format": "AAC"
}'
```

</details></details>#### /camera/codec

Методы получения и изменения параметров видеопотоков (основного, дополнительного).

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--5"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 333.687px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**

</td><td style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">Channels</td><td style="vertical-align: middle; height: 35.3906px;">Array</td><td style="vertical-align: middle; height: 35.3906px;">Массив видео потоков.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> Channel</td><td style="vertical-align: middle; height: 35.3906px;"> Integer</td><td style="vertical-align: middle; height: 35.3906px;"> Номер видео потока.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> Type</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Тип кодека видео.

</td></tr><tr><td style="vertical-align: middle;"> Profile</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Профиль кодека.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">1 (Main)</span>

\- Поддерживаемые варианты:

\- 0 - Baseline;

\- 1 - Main;

\- 2 - High;

</td></tr><tr><td style="vertical-align: middle;"> ByFrame</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"></td></tr><tr style="height: 192.125px;"><td style="vertical-align: middle; height: 192.125px;"> Width / Height</td><td style="vertical-align: middle; height: 192.125px;"> Integer</td><td style="vertical-align: middle; height: 192.125px;"> Разрешение видео потока.

\- Поддерживаемые варианты:

\- 1920х1080 (**основной поток**);

\- 1280х720;

\- 720х576;

\- 704х576;

\- 640х480;

\- 640х360.

</td></tr><tr><td style="vertical-align: middle;"> GopMode</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"></td></tr><tr><td style="vertical-align: middle;"> IPQpDelta</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"></td></tr><tr><td style="vertical-align: middle;"> RcMode</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Режим управления кодированием.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">AVBR</span>

</td></tr><tr><td style="vertical-align: middle;"> IFrameInterval</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Интервал опорного кадра (кадр/сек).

\- По умолчанию: <span style="color: rgb(186, 55, 42);">30</span>

</td></tr><tr><td style="vertical-align: middle;"> MaxBitrate</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Максимальный битрейт видеопотока (Кбит/сек).

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-4"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "Channels": [
        {
            "Channel": 0,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 1280,
            "Height": 720,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 3072
        },
        {
            "Channel": 1,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 640,
            "Height": 480,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 1536
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/codec'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-4"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "Channels": [
        {
            "Channel": 0,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 1280,
            "Height": 720,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 3072
        },
        {
            "Channel": 1,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 640,
            "Height": 480,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 1536
        }
    ]
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "Channels": [
        {
            "Channel": 0,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 1280,
            "Height": 720,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 3072
        },
        {
            "Channel": 1,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 640,
            "Height": 480,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 1536
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/codec' \
--data-raw '{
    "Channels": [
        {
            "Channel": 0,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 1280,
            "Height": 720,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 3072
        },
        {
            "Channel": 1,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 640,
            "Height": 480,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 1536
        }
    ]
}'
```

</details></details>#### /camera/picture

Методы получение и изменения параметров картинки (отражение по вертикали, отражение по горизонтали).

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--6"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 212.359px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">Image

</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Параметры отражения картинки по вертикали и по горизонтали.

</td></tr><tr><td style="vertical-align: middle;"> Flip

</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Отражение картинки по вертикали.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr><td style="vertical-align: middle;"> Mirror

</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Отражение картинки по горизонтали.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-5"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/picture'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-5"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/picture' \
--data-raw '{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}'
```

</details></details>#### /camera/snapshot

Метод получение картинки с видеопотока в данный момент.

<p class="callout info">Размер картинки зависит от размера основного видеопотока  
Для смены размера картинки видеопотока используйте:  
 [**/camera/codec**](#bkmrk-%2Fcamera%2Fcodec)</p>

<details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%B0%D1%80%D1%82"><summary>GET - Получение картинки</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

 **Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 119.188px;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px; vertical-align: middle;">**Название**

</td><td style="height: 29.7969px; vertical-align: middle;">**Значение**</td><td style="height: 29.7969px; vertical-align: middle;">**Описание**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px; vertical-align: middle;">Content-Type

</td><td style="height: 29.7969px; vertical-align: middle;">image/jpeg</td><td style="height: 29.7969px; vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

**Тело:**

```json
*** Бинарное представление картинки ***
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/snapshot'
```

</details></details>#### /camera/whiteBlack

Методы получения и изменения параметров черно-белого режима видеопотока. Для перехода в цветной и черно-белый режим используется экспозиция.

<p class="callout info">- **Для перехода потока в цветной режим:** необходимо значение "exposureCurrent" менее "exposureLight"  
- **Для перехода потока в черно-белый режим:** необходимо значение "exposureCurrent" более "exposureNight" </p>

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--7"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 212.359px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">state

</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Текущее состояние черно-белого режима.

</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">threshold

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Пороги переключения черно-белого режима.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> exposureCurrent

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;"> Integer</td><td style="vertical-align: middle; height: 29.7969px;"> Текущее значение экспозиции сенсора.</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;"> exposureLight</td><td class="align-left" style="vertical-align: middle; height: 57.7812px;"> Integer</td><td style="vertical-align: middle; height: 57.7812px;"> Порог включение цветного режима.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 4294967295</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">22000</span>

</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> exposureNight</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;"> Integer</td><td style="vertical-align: middle; height: 29.7969px;"> Порог включения черно-белого режима.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 4294967295</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">250000</span>

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-6"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение данных</p>

**Тело:**

```json
{
    "state": false,
    "threshold": {
        "exposureCurrent": 100000,
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/whiteBlack'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-6"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "threshold": {
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "state": false,
    "threshold": {
        "exposureCurrent": 100000,
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}
```

</details><details><summary>400 Bad Request</summary>

<p class="callout warning"> Ошибка проверки переданных параметров</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 212.359px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Array</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.

</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> message</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;"> String</td><td style="vertical-align: middle; height: 29.7969px;"> Сообщение об ошибке.</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Не удалось распарсить JSON 3: unexpected token near '}'"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/whiteBlack' \
--data-raw '{
    "threshold": {
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}'
```

</details></details>#### /v2/camera/osd

Методы получения и изменения параметров наложения текста на видеопоток (osd).

<p class="callout info">Видео поток поддерживает отображение до 3-х строк.</p>

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--8"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 521.516px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">size

</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Размер отображаемой информации.

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">text</td><td class="align-left" style="vertical-align: middle; height: 57.7812px;">String</td><td style="vertical-align: middle; height: 57.7812px;">Отображаемый текст.

\- Длина строки: <span style="color: rgb(186, 55, 42);">0 - 100 символов</span>

</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">color

</td><td style="vertical-align: middle; height: 29.7969px;">String</td><td style="vertical-align: middle; height: 29.7969px;">Цвет osd в hex.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">date

</td><td style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Параметры отображения даты.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> enable

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;"> Boolean</td><td style="vertical-align: middle; height: 29.7969px;"> Флаг включения / отключения отображения даты.</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> format</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Формат отображаемой даты ([форматы](https://www.tutorialspoint.com/c_standard_library/c_function_strftime.htm)).

</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">time

</td><td style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Параметры отображения времени.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> enable

</td><td style="vertical-align: middle; height: 29.7969px;"> Boolean</td><td style="vertical-align: middle; height: 29.7969px;"> Флаг включения / отключения отображения времени.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> format</td><td style="vertical-align: middle; height: 29.7969px;"> String</td><td style="vertical-align: middle; height: 29.7969px;"> Формат отображаемового времени ([форматы](https://www.tutorialspoint.com/c_standard_library/c_function_strftime.htm)).</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">position

</td><td style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Параметры смещения текста.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> x

</td><td style="vertical-align: middle; height: 29.7969px;"> Integer</td><td style="vertical-align: middle; height: 29.7969px;"> Смещение по оси "X" (пиксели).</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> y

</td><td style="vertical-align: middle; height: 29.7969px;"> Integer</td><td style="vertical-align: middle; height: 29.7969px;"> Смещение по оси "Y" (пиксели).</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">background

</td><td style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Параметры отображения фона.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> enable

</td><td style="vertical-align: middle; height: 29.7969px;"> Boolean</td><td style="vertical-align: middle; height: 29.7969px;"> Флаг включения / отключения фона.</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> color</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Цвет фона в hex.

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-7"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
[
    {
        "size": 2,
        "text": "",
        "color": "0xFFFFFF",
        "date": {
            "enable": true,
            "format": "%d-%m-%Y"
        },
        "time": {
            "enable": true,
            "format": "%H:%M:%S"
        },
        "position": {
            "x": 2,
            "y": 10
        },
        "background": {
            "enable": false,
            "color": "0x0053DE"
        }
    },
    ...,
    {
        "size": 1,
        "text": "",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 140,
            "y": 0
        },
        "background": {
            "enable": false,
            "color": "0xFFFFFF"
        }
    }
]
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/camera/osd'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-7"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
[
    {
        "size": 1,
        "text": "Строка 1",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": "%d-%m-%Y"
        },
        "time": {
            "enable": false,
            "format": "%H:%M:%S"
        },
        "position": {
            "x": 10,
            "y": 10
        },
        "background": {
            "enable": false,
            "color": "0x000000"
        }
    },
    ...,
    {
        "size": 3,
        "text": "Строка 3",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 60
        },
        "background": {
            "enable": false,
            "color": "0x000000"
        }
    }
]
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
[
    {
        "size": 1,
        "text": "Строка 1",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": "%d-%m-%Y"
        },
        "time": {
            "enable": false,
            "format": "%H:%M:%S"
        },
        "position": {
            "x": 10,
            "y": 10
        },
        "background": {
            "enable": false,
            "color": "0x0053DE"
        }
    },
    {
        "size": 2,
        "text": "Строка 2",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 30
        },
        "background": {
            "enable": false,
            "color": "0x000000"
        }
    },
    {
        "size": 3,
        "text": "Строка 3",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 60
        },
        "background": {
            "enable": false,
            "color": "0xFFFFFF"
        }
    }
]
```

</details><details><summary>400 Bad Request</summary>

<p class="callout warning">Ошибка проверки переданных параметров</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 212.359px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**

</td><td style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors

</td><td style="vertical-align: middle; height: 35.3906px;">Array</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 35.3906px;"> message

</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Сообщение с ошибкой.</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v2/camera/osd' \
--data-raw '[
    {
        "size": 1,
        "text": "Строка 1",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": "%d-%m-%Y"
        },
        "time": {
            "enable": false,
            "format": "%H:%M:%S"
        },
        "position": {
            "x": 10,
            "y": 10
        },
        "background": {
            "enable": false,
            "color": "0x0053DE"
        }
    },
    {
        "size": 2,
        "text": "Строка 2",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 30
        },
        "background": {
            "enable": false,
            "color": "0x000000"
        }
    },
    {
        "size": 3,
        "text": "Строка 3",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 60
        },
        "background": {
            "enable": false,
            "color": "0xFFFFFF"
        }
    }
]'
```

</details></details>#### /v2/camera/picture

Методы получение и изменения параметров картинки видеопотока.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--9"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 577.453px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**

</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">u8Contr

</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Контрастность изображения.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">50 </span>

**ВАЖНО!**

\- При значении больше 50-ти - контрастность увеличена.

\- При значении меньше 50-ти - контрастность уменьшена.

</td></tr><tr><td style="vertical-align: middle;">u8Luma

</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Яркость изображения.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">50 </span>

**ВАЖНО!**

\- При значении больше 50-ти - яркость увеличена.

\- При значении меньше 50-ти - яркость уменьшена.

</td></tr><tr><td style="vertical-align: middle;">u8Satu

</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Насыщенность изображения.  
\- По умолчанию: <span style="color: rgb(186, 55, 42);">50 </span>

**ВАЖНО!**

\- При значении больше 50-ти - насыщенность увеличена.

\- При значении меньше 50-ти - насыщенность уменьшена.

</td></tr><tr><td style="vertical-align: middle;">u8Hue

</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Регулировка оттенка изображения.  
\- По умолчанию: <span style="color: rgb(186, 55, 42);">50 </span>

**ВАЖНО!**

\- При значении больше 50-ти - регулировка изменяется по часовой стрелке: красный имеет синий оттенок, синий имеет зеленый оттенок.

\- При значении меньше 50-ти - регулировакаи изменяется против часовой стрелки: синий имеет красный оттенок, красный имеет зеленый оттенок.

</td></tr><tr><td style="vertical-align: middle;">wb

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры баланса белого</td></tr><tr><td style="vertical-align: middle;"> u8RGStrength

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> </td></tr><tr><td style="vertical-align: middle;"> u8BGStrength

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> </td></tr><tr><td style="vertical-align: middle;">dehaze

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры устранения дымки.</td></tr><tr><td style="vertical-align: middle;"> u8strength

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Интенсивность устранения дымки.

**ВАЖНО!** Чем больше значение, тем больше устранение дымки (влияет на контрастность изображения).

</td></tr><tr><td style="vertical-align: middle;">drc

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;"> Параметры регулирования динамического диапазона.

Соотношение яркости между самым ярким и самым темным объектом.

</td></tr><tr><td style="vertical-align: middle;"> u16Strength

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Интенсивность.  
\- По умолчанию:

**ВАЖНО!** Чем больше значение, тем ярче общее изображение.

</td></tr><tr><td style="vertical-align: middle;"> u16StrengthMax

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Граница светлого.  
\- По умолчанию:

**ВАЖНО!** Чем больше значение, тем больше ярких областей распознается.

</td></tr><tr><td style="vertical-align: middle;"> u16StrengthMin

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Граница темного.  
\- По умолчанию:

**ВАЖНО!** Чем больше значение, тем меньше темных областей распознается.

</td></tr><tr><td style="vertical-align: middle;">iso

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> index

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> params

</td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> 0-15

</td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> sharpness

</td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au16TextureFreq

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au16EdgeFreq

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au8OverShoot

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au8UnderShoot

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au8DetailCtrl

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au8RGain

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au8GGain

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au8BGain

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au8SkinGain

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr><tr><td style="vertical-align: middle;"> au16MaxSharpGain

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;">  
</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-8"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "u8Contr": 42,
    "u8Luma": 52,
    "u8Satu": 52,
    "u8Hue": 50,
    "wb": {
        "u8RGStrength": 128,
        "u8BGStrength": 128
    },
    "dehaze": {
        "u8strength": 125
    },
    "drc": {
        "u16Strength": 100,
        "u16StrengthMax": 127,
        "u16StrengthMin": 0
    },
    "iso": {
        "index": 2,
        "params": {
            "0": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            ...,
            "15": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            }
        }
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/camera/picture'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-8"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "u8Contr": 42,
    "u8Luma": 52,
    "u8Satu": 52,
    "u8Hue": 50,
    "wb": {
        "u8RGStrength": 128,
        "u8BGStrength": 128
    },
    "dehaze": {
        "u8strength": 125
    },
    "drc": {
        "u16Strength": 100,
        "u16StrengthMax": 127,
        "u16StrengthMin": 0
    },
    "iso": {
        "index": 2,
        "params": {
            "0": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            ...,
            "15": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            }
        }
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "u8Contr": 42,
    "u8Luma": 52,
    "u8Satu": 52,
    "u8Hue": 50,
    "wb": {
        "u8RGStrength": 128,
        "u8BGStrength": 128
    },
    "dehaze": {
        "u8strength": 125
    },
    "drc": {
        "u16Strength": 100,
        "u16StrengthMax": 127,
        "u16StrengthMin": 0
    },
    "iso": {
        "index": 2,
        "params": {
            "0": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            ...,
            "15": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            }
        }
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v2/camera/picture' \
--data-raw '{
    "u8Contr": 42,
    "u8Luma": 52,
    "u8Satu": 52,
    "u8Hue": 50,
    "wb": {
        "u8RGStrength": 128,
        "u8BGStrength": 128
    },
    "dehaze": {
        "u8strength": 125
    },
    "drc": {
        "u16Strength": 100,
        "u16StrengthMax": 127,
        "u16StrengthMin": 0
    },
    "iso": {
        "index": 2,
        "params": {
            "0": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "1": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "2": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 55,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "3": {
                "sharpness": {
                    "au16TextureFreq": 215,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 55,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "4": {
                "sharpness": {
                    "au16TextureFreq": 215,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 19,
                    "au8UnderShoot": 53,
                    "au8DetailCtrl": 128,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "5": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 18,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 16,
                    "au8GGain": 45,
                    "au8BGain": 26,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 58
                }
            },
            "6": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 11,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 16,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "7": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 1,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 26,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "8": {
                "sharpness": {
                    "au16TextureFreq": 250,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 1,
                    "au8UnderShoot": 28,
                    "au8DetailCtrl": 130,
                    "au8RGain": 8,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "9": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 24,
                    "au8UnderShoot": 28,
                    "au8DetailCtrl": 116,
                    "au8RGain": 8,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "10": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 40,
                    "au8UnderShoot": 50,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "11": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 40,
                    "au8UnderShoot": 50,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "12": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "13": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "14": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "15": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            }
        }
    }
}'
```

</details></details>#### /v3/camera/osd

Методы получения и изменения параметров наложения текста на видеопоток (osd).

<p class="callout info">Видео поток поддерживает отображение до 3-х строк.</p>

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--10"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 521.516px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">size

</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Размер отображаемой информации.

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">text</td><td class="align-left" style="vertical-align: middle; height: 57.7812px;">String</td><td style="vertical-align: middle; height: 57.7812px;">Отображаемый текст.

\- Длина строки: <span style="color: rgb(186, 55, 42);">0 - 100 символов</span>

</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">color

</td><td style="vertical-align: middle; height: 29.7969px;">String</td><td style="vertical-align: middle; height: 29.7969px;">Цвет osd в hex.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">date

</td><td style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Параметры отображения даты.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> enable

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;"> Boolean</td><td style="vertical-align: middle; height: 29.7969px;"> Флаг включения / отключения отображения даты.</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> format</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Формат отображаемой даты ([форматы](https://www.tutorialspoint.com/c_standard_library/c_function_strftime.htm)).

</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">time

</td><td style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Параметры отображения времени.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> enable

</td><td style="vertical-align: middle; height: 29.7969px;"> Boolean</td><td style="vertical-align: middle; height: 29.7969px;"> Флаг включения / отключения отображения времени.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> format</td><td style="vertical-align: middle; height: 29.7969px;"> String</td><td style="vertical-align: middle; height: 29.7969px;"> Формат отображаемового времени ([форматы](https://www.tutorialspoint.com/c_standard_library/c_function_strftime.htm)).</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">position

</td><td style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Параметры смещения текста.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> x

</td><td style="vertical-align: middle; height: 29.7969px;"> Integer</td><td style="vertical-align: middle; height: 29.7969px;"> Смещение по оси "X" в процентном соотношении.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> y

</td><td style="vertical-align: middle; height: 29.7969px;"> Integer</td><td style="vertical-align: middle; height: 29.7969px;"> Смещение по оси "Y" в процентном соотношении.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">background

</td><td style="vertical-align: middle; height: 29.7969px;">Object</td><td style="vertical-align: middle; height: 29.7969px;">Параметры отображения фона.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;"> enable

</td><td style="vertical-align: middle; height: 29.7969px;"> Boolean</td><td style="vertical-align: middle; height: 29.7969px;"> Флаг включения / отключения фона.</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> color</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Цвет фона в hex.

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-9"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
[
    {
        "size": 2,
        "text": "",
        "color": "0xFFFFFF",
        "date": {
            "enable": true,
            "format": "%d-%m-%Y"
        },
        "time": {
            "enable": true,
            "format": "%H:%M:%S"
        },
        "position": {
            "x": 2,
            "y": 10
        },
        "background": {
            "enable": false,
            "color": "0x0053DE"
        }
    },
    ...,
    {
        "size": 1,
        "text": "",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 140,
            "y": 0
        },
        "background": {
            "enable": false,
            "color": "0xFFFFFF"
        }
    }
]
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v3/camera/osd'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-9"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
[
    {
        "size": 1,
        "text": "Строка 1",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": "%d-%m-%Y"
        },
        "time": {
            "enable": false,
            "format": "%H:%M:%S"
        },
        "position": {
            "x": 10,
            "y": 10
        },
        "background": {
            "enable": false,
            "color": "0x000000"
        }
    },
    ...,
    {
        "size": 3,
        "text": "Строка 3",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 60
        },
        "background": {
            "enable": false,
            "color": "0x000000"
        }
    }
]
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
[
    {
        "size": 1,
        "text": "Строка 1",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": "%d-%m-%Y"
        },
        "time": {
            "enable": false,
            "format": "%H:%M:%S"
        },
        "position": {
            "x": 10,
            "y": 10
        },
        "background": {
            "enable": false,
            "color": "0x0053DE"
        }
    },
    ...,
    {
        "size": 3,
        "text": "Строка 3",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 60
        },
        "background": {
            "enable": false,
            "color": "0xFFFFFF"
        }
    }
]
```

</details><details><summary>400 Bad Request</summary>

<p class="callout warning">Ошибка проверки переданных параметров</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 212.359px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**

</td><td style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors

</td><td style="vertical-align: middle; height: 35.3906px;">Array</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 35.3906px;"> message

</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Сообщение с ошибкой.</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v3camera/osd' \
--data-raw '[
    {
        "size": 1,
        "text": "Строка 1",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": "%d-%m-%Y"
        },
        "time": {
            "enable": false,
            "format": "%H:%M:%S"
        },
        "position": {
            "x": 10,
            "y": 10
        },
        "background": {
            "enable": false,
            "color": "0x0053DE"
        }
    },
    {
        "size": 2,
        "text": "Строка 2",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 30
        },
        "background": {
            "enable": false,
            "color": "0x000000"
        }
    },
    {
        "size": 3,
        "text": "Строка 3",
        "color": "0xFFFFFF",
        "date": {
            "enable": false,
            "format": ""
        },
        "time": {
            "enable": false,
            "format": ""
        },
        "position": {
            "x": 10,
            "y": 60
        },
        "background": {
            "enable": false,
            "color": "0xFFFFFF"
        }
    }
]'
```

</details></details>---

### **Коды**

#### /openCode

Методы получения и добавления кодов на устройство.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--11"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 521.516px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">code</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Идентификатор "Кода доступа".

</td></tr><tr><td style="vertical-align: middle;">panelCode</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Номер квартиры к которой привязан "Код доступа".

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BF%D0%B8%D1%81"><summary>GET - Получение списка</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

**Тело:**

```json
[
    {
        "code": 12345,
        "panelCode": 0
    }
]
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode'
```

</details></details><details id="bkmrk-post---%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE"><summary>POST - Добавление кода</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "code": 12345,
    "panelCode": 0
}
```

</details><details><summary>Ответы</summary>

<details><summary>201 OK</summary>

<p class="callout success"> Успешное добавление кода</p>

**Тело:**

```json
[
    {
        "code": 12345,
        "panelCode": 0
    }
]
```

</details><details><summary>400 Bad Request</summary>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 521.516px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">errors</td><td style="vertical-align: middle;">Array</td><td style="vertical-align: middle;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> field</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Название переменной к которой относиться ошибка.

</td></tr><tr><td style="vertical-align: middle;"> message</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибки для поля "field".

</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "field": "code",
            "message": "Код для квартиры уже установлен"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/openCode' \
--data-raw '{
    "code": 12345,
    "panelCode": 0
}'
```

</details></details>#### /openCode/clear

Метод очистки кодов на устройстве.

<details id="bkmrk-%C2%A0-11"><summary>DELETE - Удаление кодов</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success">Успешное удаление кодов</p>

</details><details><summary>404 Not Found</summary>

<p class="callout warning">Ошибка при отсутствии кодов на панели</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 521.516px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">errors

</td><td style="vertical-align: middle;">Array</td><td style="vertical-align: middle;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> messgae

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибке.

</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Коды на домофонной панели отсутствуют"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/clear'
```

</details></details>#### /openCode/{номер квартиры}

Методы получения и изменения кодов у указанной квартиры.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--12"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 521.516px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">code</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Идентификатор "Кода доступа".

</td></tr><tr><td style="vertical-align: middle;">panelCode</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Номер квартиры к которой привязан "Код доступа".

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-13"><summary>GET - Получение кодов</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение кодов</p>

**Тело:**

```json
[
    {
        "code": 12345,
        "panelCode": 0
    }
]
```

</details><details><summary>400 Bad Request</summary>

<p class="callout warning">Ошибка при указании не верного номера квартиры</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 521.516px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> message</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибке.

</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Неверный формат номера квартиры"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode/0'
```

</details></details><details id="bkmrk-%C2%A0-15"><summary>DELETE - Удаление кодов</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success"> Успешное удаление кодов для указанной квартиры</p>

</details><details><summary>404 Not Found</summary>

<p class="callout warning"> Ошибка при удалении не существующих кодов для указанной квартиры</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 521.516px;"><colgroup><col style="width: 15%;"></col><col style="width: 10%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Array</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> message

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибке.</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Код в указанной квартире не существует"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/1'
```

</details></details>#### /openCode/{номер квартиры}/{идентификатор кода}

Метод удаления указанного кода для указанной квартиры.

<details id="bkmrk-%C2%A0-17"><summary>DELETE - Удаление кода</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success"> Успешное удаление кода</p>

</details><details><summary>404 Not Found</summary>

<p class="callout warning">Ошибка при удалении не существующего кода для указанной квартиры</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 212.359px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">**Название**

</td><td class="align-left" style="vertical-align: middle; height: 29.7969px;">**Тип**  
</td><td style="vertical-align: middle; height: 29.7969px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors

</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> message

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибке.

</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Код в указанной квартире не существует"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/0/12345'
```

</details></details>---


### **Ключи**

#### /key/settings

Методы получение и изменения параметров панели при взаимодействии с ключами.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--13"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 460.078px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.2529%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">mode</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Режим работы базы данных с ключами 4 или 7 байт.

 1 - режим 4 байта;

 2 - режим 7 байт;

\- Ограничения: <span style="color: rgb(186, 55, 42);">1 - 2</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">1</span>

**ВАЖНО:** При переключении режимов из базы данных будут удалены все ключи и вся информация о прошитых секторах.

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">autocollect</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Параметры режима автосбора ключей.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> enabled</td><td style="vertical-align: middle; height: 35.3906px;"> Boolean</td><td style="vertical-align: middle; height: 35.3906px;"> Флаг включения / выключения режима.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> room</td><td style="vertical-align: middle; height: 35.3906px;"> Integer</td><td style="vertical-align: middle; height: 35.3906px;"> Номер квартиры к которой будут привязаны приложенные ключи.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">encryption</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Параметры проверки шифрованных ключей.

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;"> enabled</td><td style="vertical-align: middle; height: 35.3906px;"> Boolean</td><td style="vertical-align: middle; height: 35.3906px;"> Флаг включения / выключения режима.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;"> key\_type</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Тип ключа для авторизации в сектор ключа.

\- Ограничения: <span style="color: rgb(186, 55, 42);">A, B</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">A</span>

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;"> key\_auth</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Значение ключа для авторизации в сектор ключа.

\- Длина строки: <span style="color: rgb(186, 55, 42);">12 символов (16-ой системе)</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">FFFFFFFFFFFF</span>

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;"> sector</td><td style="vertical-align: middle; height: 35.3906px;"> Integer</td><td style="vertical-align: middle; height: 35.3906px;"> Сектор, который будет проверяться на шифрование.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 15</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;"> increment</td><td style="vertical-align: middle; height: 35.3906px;"> Object</td><td style="vertical-align: middle; height: 35.3906px;"> Параметры инкрементирования значения в указанном блоке сектора.

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;"> enabled</td><td style="vertical-align: middle; height: 35.3906px;"> Boolean</td><td style="vertical-align: middle; height: 35.3906px;"> Флаг включения / выключения режима.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> block</td><td style="vertical-align: middle; height: 35.3906px;"> Integer</td><td style="vertical-align: middle; height: 35.3906px;"> Блок в котором будет увеличиваться значение инкремента.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 2</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle;"> openByError</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Флаг открытия двери при ошибке инкремента.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle;">kb\_codes</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения сервисных кодов.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true  
</span>

**ВАЖНО!** При использовании панели в продуктивной среде на постоянной основе **НЕОБХОДИМО** выключать сервисные коды.

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-10"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "mode": 1,
    "autocollect": {
        "enabled": false,
        "room": 0
    },
    "encryption": {
        "enabled": false,
        "key_type": "A",
        "key_auth": "FFFFFFFFFFFF",
        "sector": 0,
        "increment": {
            "enabled": true,
            "block": 0,
            "openByError": true
        }
    },
    "kb_codes": false
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/settings'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-10"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "mode": 1,
    "autocollect": {
        "enabled": false,
        "room": 0
    },
    "encryption": {
        "enabled": false,
        "key_type": "A",
        "key_auth": "FFFFFFFFFFFF",
        "sector": 0,
        "increment": {
            "enabled": true,
            "block": 0,
            "openByError": true
        }
    },
    "kb_codes": false
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "mode": 1,
    "autocollect": {
        "enabled": false,
        "room": 0
    },
    "encryption": {
        "enabled": false,
        "key_type": "A",
        "key_auth": "FFFFFFFFFFFF",
        "sector": 0,
        "increment": {
            "enabled": true,
            "block": 0,
            "openByError": true
        }
    },
    "kb_codes": false
}
```

</details><details><summary>400 Bad Request</summary>

<p class="callout warning">Ошибка проверки передаваемых данных</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 460.078px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">Array</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> message</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибке.

</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Ключ уже существует - 000000AABBCCDD"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/key/settings' \
--data-raw '{
    "mode": 1,
    "autocollect": {
        "enabled": false,
        "room": 0
    },
    "encryption": {
        "enabled": false,
        "key_type": "B",
        "key_auth": "FFFFFFFFFFF3",
        "sector": 0,
        "increment": {
            "enabled": true,
            "block": 0,
            "openByError": true
        }
    },
    "kb_codes": false
}'
```

</details></details>#### /key/store

Методы получения и добавления ключей.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--14"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 460.078px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">uuid</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Идентификатор ключа.

</td></tr><tr><td style="vertical-align: middle;">panelCode</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Номер квартиры к которой привязан ключ.

</td></tr><tr><td style="vertical-align: middle;">encryption</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения персональной проверки шифрования.

**ВАЖНО!** Работает при включенном общем параметре "Проверка шифрования".

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BB%D1%8E%D1%87"><summary>GET - Получение ключей</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение списка ключей</p>

**Тело:**

```json
[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 1,
        "encryption": true
    },
    {
        "uuid": "000000CCDDEEFF",
        "panelCode": 2,
        "encryption": true
    }
]
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/store'
```

</details></details><details id="bkmrk-post---%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BB"><summary>POST - Добавление ключа</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное добавление ключа</p>

**Тело:**

```json
{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/key/store' \
--data-raw '{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}'
```

</details></details>#### /key/store/clear

Метод удаления всех ключей.

<details id="bkmrk-delete---%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BB"><summary>DELETE - Удаление ключей</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success"> Успешное удаление ключей</p>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/key/store/clear'
```

</details></details>#### /key/store/merge

Метод изменения указанных ключей.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--15"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 460.078px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">uuid</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Идентификатор ключа.

</td></tr><tr><td style="vertical-align: middle;">panelCode</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Номер квартиры к которой привязан ключ.

</td></tr><tr><td style="vertical-align: middle;">encryption</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения персональной проверки шифрования.

**ВАЖНО!** Работает при включенном общем параметре "Проверка шифрования".

</td></tr></tbody></table>

</details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BB%D1%8E%D1%87"><summary>PUT - Изменение ключей</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 0,
        "encryption": true
    }
]
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение ключей</p>

**Тело:**

```json
[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 0,
        "encryption": true
    }
]
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/key/store/merge' \
--data-raw '[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 0,
        "encryption": true
    }
]'
```

</details></details>#### /key/store/{идентификатор ключа}


Методы получения и изменения указанного ключа.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--16"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 408.078px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">uuid</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Идентификатор ключа.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle;">panelCode</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Номер квартиры к которой привязан ключ.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle;">encryption</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения персональной проверки шифрования.

**ВАЖНО!** Работает при включенном общем параметре "Проверка шифрования".

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-11"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/store/000000AABBCCDD'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-11"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "panelCode": 0,
    "encryption": true
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/key/store/000000AABBCCDD' \
--data-raw '{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}'
```

</details></details><details id="bkmrk-delete---%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BB-1"><summary>DELETE - Удаление ключа</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное удаление ключа </p>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/key/store/000000AABBCCDD'
```

</details></details>#### /v1/key/markup/mifare

Методы получения и изменения разметки "Mifare" для прошивки ключей.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--17"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 559.03px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">enabled</td><td class="align-left" style="vertical-align: middle; height: 57.7812px;">Boolean</td><td style="vertical-align: middle; height: 57.7812px;">Флаг включения / выключения прошивки ключей.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 102.562px;"><td style="vertical-align: middle; height: 102.562px;">numSectors</td><td style="vertical-align: middle; height: 102.562px;">Integer</td><td style="vertical-align: middle; height: 102.562px;">Количество прошиваемых секторов за раз в момент удержания ключа.

\- Ограничения: <span style="color: rgb(186, 55, 42);">1 - 16</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">16</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">markup</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Разметка для прошивки Mifare ключей по протоколу SL1.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> 0 - 15</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Поддерживаемые сектора для прошивки в ключах.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> skip</td><td style="vertical-align: middle; height: 35.3906px;"> Object</td><td style="vertical-align: middle; height: 35.3906px;"> Параметры пропуска указанного сектора.

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;"> err</td><td style="vertical-align: middle; height: 57.7812px;"> Boolean</td><td style="vertical-align: middle; height: 57.7812px;"> Пропуск сектора при ошибке во время прошивки.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;"> always</td><td style="vertical-align: middle; height: 57.7812px;"> Boolean</td><td style="vertical-align: middle; height: 57.7812px;"> Пропуск сектора при любых действиях.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> key</td><td style="vertical-align: middle; height: 35.3906px;"> Object</td><td style="vertical-align: middle; height: 35.3906px;"> Параметры авторизации в сектор ключа.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> type</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Тип ключа для авторизации в сектор ключа.

\- Ограничения: <span style="color: rgb(186, 55, 42);">A, B</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">A</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> value</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Значение ключа для авторизации в сектор ключа.

\- Длина строки: <span style="color: rgb(186, 55, 42);">12 символов (16-ой системе)</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">FFFFFFFFFFFF</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> 0 - 3</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Блоки для указания различной информации.

 **ВАЖНО!** Блок под номером 3 является управляющим блоком. Настоятельно рекомендуем ознакомиться с возможными данными для указания в данный блок.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-23"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        ...,
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/key/markup/mifare'
```

</details></details><details id="bkmrk-%C2%A0-24"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        ...,
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        ...,
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/key/markup/mifare' \
--data-raw '{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "1": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "2": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "3": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "4": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "5": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "6": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "7": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "8": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "9": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "10": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "11": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "12": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "13": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "14": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}'
```

</details></details><details id="bkmrk-delete---%D0%A1%D0%B1%D1%80%D0%BE%D1%81-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC-1"><summary>DELETE - Сброс параметров к стандартным</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success">Успешный сброс параметров</p>

</details></details><details><summary>Пример</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/key/markup/mifare'
```

</details></details>---

### **Квартиры**

#### /panelCode

Методы получения и добавления квартир на устройство.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--18"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 559.03px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">panelCode</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Номер квартиры.

</td></tr><tr><td style="vertical-align: middle;">callsEnabled</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры разрешения вызовов в АТ и SIP.

</td></tr><tr><td style="vertical-align: middle;"> sip </td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Флаг включения / выключения вызовов в SIP.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td style="vertical-align: middle;"> handset</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Флаг включения / выключения вызовов в АТ.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td style="vertical-align: middle;">soundOpenTh</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире.

</td></tr><tr><td style="vertical-align: middle;">typeSound</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Режимы эхоподавления при вызове в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0, 1, 2, 3  
</span> - 0, 1, 2 - варианты эхоподавления;  
\- 3 - общие настройки.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">3</span>

</td></tr><tr><td style="vertical-align: middle;">volumes</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Персональные громкости при вызове в квартиру.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td style="vertical-align: middle;"> thCall</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Громкость мелодии трубки во время вызова в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;"> thTalk</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Громкость в трубке во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;"> uartFrom</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Громкость на панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;"> uartTo</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Усиление микрофона панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

<span style="color: rgb(186, 55, 42);"> </span>- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;"> panelCall</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Системные звуки панели.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;"> panelTalk</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Громкость на панели во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;">resistances</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры сопротивления трубки для смены состояний.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td style="vertical-align: middle;"> quiescent</td><td style="vertical-align: middle;"> Integer

</td><td style="vertical-align: middle;"> Уровень поднятия трубки.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;"> answer</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Уровень открытия двери.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-26"><summary>GET - Получение квартир</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение квартир</p>

**Тело:**

```json
[
    {
        "panelCode": 1,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": 3,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    },
    ...,
    {
        "panelCode": 100,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": 3,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        },
        "sipAccounts": [
            "1"
          [
    }
]
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode'
```

</details></details><details id="bkmrk-post---%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%B2"><summary>POST - Добавление квартиры</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное добавление квартиры</p>

**Тело:**

```json
{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
```

</details><details><summary>400 Bad Request</summary>

<p class="callout warning">Ошибка при добавлении существующей квартиры</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 559.03px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">errors</td><td style="vertical-align: middle;">Array</td><td style="vertical-align: middle;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> field</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Название переменной к которой относиться ошибка.

</td></tr><tr><td style="vertical-align: middle;"> message</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибки для переменной из поля "field".

</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "field": "panelCode",
            "message": "Квартира уже существует - 1"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode' \
--data-raw '{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'
```

</details></details>#### /panelCode/clear

Метод удаления всех квартир с устройства.

<details id="bkmrk-%C2%A0-28"><summary>DELETE - Удаление квартир</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success"> Успешное удаление квартир</p>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/panelCode/clear'
```

</details></details>#### /panelCode/settings

Методы получения и изменения параметров "SOS" и "Консьерж".

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--19"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 335.328px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">**Название**

</td><td style="height: 35.3906px; vertical-align: middle;">**Тип**</td><td style="height: 35.3906px; vertical-align: middle;">**Описание**</td></tr><tr style="height: 46.5938px;"><td style="vertical-align: middle; height: 46.5938px;">consiergeRoom

</td><td style="vertical-align: middle; height: 46.5938px;">String</td><td style="vertical-align: middle; height: 46.5938px;">"Номер квартиры" или "SIP аккаунт" на который будет вызов при нажатии на кнопку "Консьерж".

\- По умолчанию: <span style="color: rgb(186, 55, 42);">999</span>

</td></tr><tr style="height: 46.5938px;"><td style="vertical-align: middle; height: 46.5938px;">sosRoom

</td><td style="vertical-align: middle; height: 46.5938px;">String</td><td style="vertical-align: middle; height: 46.5938px;">"Номер квартиры" или "SIP аккаунт" на который будет вызов при нажатии на кнопку "SOS".

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">sosDelay

</td><td style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Флаг включения / выключения задержки при нажатии кнопки "SOS".

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">sosDelayTime

</td><td style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Время которое необходимо удерживать кнопку "SOS" для совершения вызова.

\- Ограничения: <span style="color: rgb(186, 55, 42);">1 - 10 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">3 секунды</span>

<span style="color: rgb(186, 55, 42);"><span style="color: rgb(0, 0, 0);">- Для установления значения по умолчанию также можно записать 0 или 255</span></span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">sosType

</td><td style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Тип отображаемой строки при удержании кнопки "SOS".

\- true - "112";

\- false - "SOS".

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">soundOpenPanel

</td><td style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Флаг включения / выключения звуков открытия и ошибок при прикладывании ключа.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">soundOpenTh

</td><td style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Флаг включения / выключения звуков открытия при прикладывании ключа привязанного к квартире.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 29.7969px;">typeSound</td><td style="vertical-align: middle; height: 29.7969px;">Integer</td><td style="vertical-align: middle; height: 29.7969px;">Общий тип эхоподавления используемый для персональных настроек квартир со значением "255" или "null".

\- Ограничение: <span style="color: rgb(186, 55, 42);">0, 1, 3</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">3</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-30"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/settings'
```

</details></details><details id="bkmrk-%C2%A0-31"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение параметров </p>

**Тело:**

```json
{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/settings' \
--data-raw '{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}'
```

</details></details>#### /panelCode/diag

Метод массового замера уровня сопротивления абонентских трубок для указанных квартир.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--20"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 335.328px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">**Название**

</td><td style="height: 35.3906px; vertical-align: middle;">**Тип**</td><td style="height: 35.3906px; vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">1 - 5

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Номер квартиры к которой относятся данные.</td></tr><tr><td style="vertical-align: middle;"> resist

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Значение сопротивления измеренное панелью.

\- Ограничения:<span style="color: rgb(186, 55, 42);"> 0 - 255</span>

</td></tr><tr><td style="vertical-align: middle;"> status

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Положение трубки полученное из ограничений общих параметров "quiesence" и "answer"

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

\- <span style="color: rgb(186, 55, 42);">down</span> - положенная трубка (зеленый);

\- <span style="color: rgb(186, 55, 42);">up</span> - поднятая трубка (желтый);

\- <span style="color: rgb(186, 55, 42);">error</span> - ошибка при замере (красный).

</td></tr><tr><td style="vertical-align: middle;"> error

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение ошибки при значении "error" в параметре "status". </td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-33"><summary>POST - Получение замеров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
[1, 2, 3, 4, 5]
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение замеров</p>

**Тело:**

```json
{
    "1": {
        "resist": 75,
        "status": "down"
    },
    "2": {
        "resist": 190,
        "status": "up"
    },
    "3": {
        "resist": 0,
        "status": "error",
        "error": "Обрыв трубки, кв. 3"
    },
    "4": {
        "resist": 0,
        "status": "error",
        "error": "Обрыв трубки, кв. 4"
    },
    "5": {
        "resist": 0,
        "status": "error",
        "error": "Обрыв трубки, кв. 5"
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode/diag' \
--data-raw '[1, 2, 3, 4, 5]'
```

</details></details>#### /panelCode/{номер квартиры}

Методы получения и изменения персональных параметров квартиры.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--21"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td>**Название**  
</td><td style="width: 10%;">**Тип**  
</td><td>**Описание**

</td></tr><tr><td>panelCode</td><td>Integer</td><td>Номер квартиры.

</td></tr><tr><td>callsEnabled</td><td>Object</td><td>Параметры разрешения вызовов в АТ и SIP.

</td></tr><tr><td> sip </td><td> Boolean</td><td> Флаг включения / выключения вызовов в SIP.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td> handset</td><td> Boolean</td><td> Флаг включения / выключения вызовов в АТ.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td>soundOpenTh</td><td>Boolean</td><td>Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире.

</td></tr><tr><td>typeSound</td><td>Integer</td><td>Режимы эхоподавления при вызове в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0, 1, 3</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">3</span>

</td></tr><tr><td>volumes</td><td>Object</td><td>Персональные громкости при вызове в квартиру.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td> thCall</td><td> Integer</td><td> Громкость мелодии трубки во время вызова в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> thTalk</td><td> Integer</td><td> Громкость в трубке во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> uartFrom</td><td> Integer</td><td> Громкость на панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> uartTo</td><td> Integer</td><td> Усиление микрофона панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> panelCall</td><td> Integer</td><td> Системные звуки панели.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> panelTalk</td><td> Integer</td><td> Громкость на панели во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td>resistances</td><td>Object</td><td>Параметры сопротивления трубки для смены состояний.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td> quiescent</td><td> Integer

</td><td> Уровень поднятия трубки.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> answer</td><td> Integer</td><td> Уровень открытия двери.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-35"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1'
```

</details></details><details id="bkmrk-%C2%A0-36"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение параметров</p>

**Тело:**

```json
{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/1' \
--data-raw '{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'
```

</details></details><details id="bkmrk-%C2%A0-37"><summary>DELETE - Удаление квартиры</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success">Успешное удаление квартиры</p>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/panelCode/1'
```

</details></details>#### /panelCode/{номер квартиры}/levels

Методы получения и изменения персональных уровней громкости и сопротивлений абонентских трубок.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--22"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td>**Название**  
</td><td style="width: 10%;">**Тип**  
</td><td>**Описание**

</td></tr><tr><td>volumes</td><td>Object</td><td>Персональные громкости при вызове в квартиру.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td> thCall</td><td> Integer</td><td> Громкость мелодии трубки во время вызова в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> thTalk</td><td> Integer</td><td> Громкость в трубке во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> uartFrom</td><td> Integer</td><td> Громкость на панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> uartTo</td><td> Integer</td><td> Усиление микрофона панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> panelCall</td><td> Integer</td><td> Системные звуки панели.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> panelTalk</td><td> Integer</td><td> Громкость на панели во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td>resistances</td><td>Object</td><td>Параметры сопротивления трубки для смены состояний.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td> quiescent</td><td> Integer

</td><td> Уровень поднятия трубки.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td> answer</td><td> Integer</td><td> Уровень открытия двери.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-39"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/levels'
```

</details></details><details id="bkmrk-%C2%A0-40"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/1/levels' \
--data-raw '{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'
```

</details></details>#### /panelCode/{номер квартиры}/resist

Метод получения уровня сопротивления трубки у указанной квартиры.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--23"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 335.328px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">**Название**

</td><td style="height: 35.3906px; vertical-align: middle;">**Тип**</td><td style="height: 35.3906px; vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">resist

</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Значение сопротивления измеренное панелью.

\- Ограничения:<span style="color: rgb(186, 55, 42);"> 0 - 255</span>

</td></tr><tr><td style="vertical-align: middle;">status

</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Положение трубки полученное из ограничений общих параметров "quiesence" и "answer"

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

\- <span style="color: rgb(186, 55, 42);">down</span> - положенная трубка (зеленый);

\- <span style="color: rgb(186, 55, 42);">up</span> - поднятая трубка (желтый).

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-42"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "resist": 75,
    "status": "down"
}
```

или

```json
{
    "resist": 190,
    "status": "up"
}
```

</details><details><summary>500 Internal Server Error</summary>

<p class="callout danger">Внутренняя ошибка при обработке метода</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 212.359px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**

</td><td style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**  
</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors

</td><td style="vertical-align: middle; height: 35.3906px;">Array</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.</td></tr><tr style="height: 29.7969px;"><td style="vertical-align: middle; height: 35.3906px;"> message

</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Сообщение с ошибкой.</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Обрыв трубки, кв. 1"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/resist'
```

</details></details>#### /panelCode/rooms\_update

Метод массового обновления параметров указанных квартир.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--24"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.7677%;"></col><col style="width: 17.0895%;"></col><col style="width: 57.1429%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">panelCode</td><td style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Номер квартиры.

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">callsEnabled</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Параметры разрешения вызовов в АТ и SIP.

</td></tr><tr><td style="vertical-align: middle; height: 57.7812px;"> sip </td><td style="vertical-align: middle; height: 57.7812px;"> Boolean</td><td style="vertical-align: middle; height: 57.7812px;"> Флаг включения / выключения вызовов в SIP.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td style="vertical-align: middle; height: 57.7812px;"> handset</td><td style="vertical-align: middle; height: 57.7812px;"> Boolean</td><td style="vertical-align: middle; height: 57.7812px;"> Флаг включения / выключения вызовов в АТ.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td style="vertical-align: middle; height: 57.7812px;">soundOpenTh</td><td style="vertical-align: middle; height: 57.7812px;">Boolean</td><td style="vertical-align: middle; height: 57.7812px;">Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире.

</td></tr><tr><td style="vertical-align: middle; height: 80.1719px;">typeSound</td><td style="vertical-align: middle; height: 80.1719px;">Integer</td><td style="vertical-align: middle; height: 80.1719px;">Режимы эхоподавления при вызове в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0, 1, 2, 3  
</span> - 0, 1, 2 - варианты эхоподавления;  
\- 3 - общие настройки.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">3</span>

</td></tr><tr><td style="vertical-align: middle; height: 124.953px;">volumes</td><td style="vertical-align: middle; height: 124.953px;">Object</td><td style="vertical-align: middle; height: 124.953px;">Персональные громкости при вызове в квартиру.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td style="vertical-align: middle; height: 95.1719px;"> thCall</td><td style="vertical-align: middle; height: 95.1719px;"> Integer</td><td style="vertical-align: middle; height: 95.1719px;"> Громкость мелодии трубки во время вызова в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle; height: 95.1719px;"> thTalk</td><td style="vertical-align: middle; height: 95.1719px;"> Integer</td><td style="vertical-align: middle; height: 95.1719px;"> Громкость в трубке во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle; height: 95.1719px;"> uartFrom</td><td style="vertical-align: middle; height: 95.1719px;"> Integer</td><td style="vertical-align: middle; height: 95.1719px;"> Громкость на панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle; height: 117.562px;"> uartTo</td><td style="vertical-align: middle; height: 117.562px;"> Integer</td><td style="vertical-align: middle; height: 117.562px;"> Усиление микрофона панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

<span style="color: rgb(186, 55, 42);"> </span>- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle; height: 95.1719px;"> panelCall</td><td style="vertical-align: middle; height: 95.1719px;"> Integer</td><td style="vertical-align: middle; height: 95.1719px;"> Системные звуки панели.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle; height: 95.1719px;"> panelTalk</td><td style="vertical-align: middle; height: 95.1719px;"> Integer</td><td style="vertical-align: middle; height: 95.1719px;"> Громкость на панели во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle; height: 162.344px;">resistances</td><td style="vertical-align: middle; height: 162.344px;">Object</td><td style="vertical-align: middle; height: 162.344px;">Параметры сопротивления трубки для смены состояний.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td style="vertical-align: middle; height: 95.1719px;"> quiescent</td><td style="vertical-align: middle; height: 95.1719px;"> Integer

</td><td style="vertical-align: middle; height: 95.1719px;"> Уровень поднятия трубки.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle; height: 95.1719px;"> answer</td><td style="vertical-align: middle; height: 95.1719px;"> Integer</td><td style="vertical-align: middle; height: 95.1719px;"> Уровень открытия двери.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr></tbody></table>

</details><details id="bkmrk-put---%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80-1"><summary>PUT - Обновление параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
[
    {
        "panelCode": 1,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": null,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    },
    {
        "panelCode": 2,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": null,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    }
]
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

 **Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="height: 29.7969px; vertical-align: middle;">**Название**

</td><td style="height: 29.7969px; vertical-align: middle;">**Значение**</td><td style="height: 29.7969px; vertical-align: middle;">**Описание**</td></tr><tr><td style="height: 29.7969px; vertical-align: middle;">Content-Type

</td><td style="height: 29.7969px; vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="height: 29.7969px; vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details><details><summary>400 Bad Request</summary>

<p class="callout warning"> Ошибка при добавлении существующей квартиры</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 559.03px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">errors</td><td style="vertical-align: middle;">Array</td><td style="vertical-align: middle;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> message</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибке.

</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Не удалось распарсить JSON 15: ']' expected near end of file"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/rooms_update' \
--data-raw '[
    {
        "panelCode": 1,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": null,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    },
    {
        "panelCode": 2,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": null,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    }
]'
```

</details></details>---

### **Калитка**

#### /gate/settings

Методы получение и изменения параметров панели в режиме "Калитка".

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--27"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 359.687px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">**Название**

</td><td style="height: 35.3906px; vertical-align: middle;">**Тип**</td><td style="height: 35.3906px; vertical-align: middle;">**Описание**</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">gateMode

</td><td style="vertical-align: middle; height: 57.7812px;">Boolean</td><td style="vertical-align: middle; height: 57.7812px;">Флаг включения / выключения режима калитки.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">prefixHouse

</td><td style="vertical-align: middle; height: 57.7812px;">Boolean</td><td style="vertical-align: middle; height: 57.7812px;">Флаг включения / выключения вызовы с префиксом.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">direct

</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Параметры прямых вызовов с устройства на устройство.

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;"> mode

</td><td style="vertical-align: middle; height: 57.7812px;"> Boolean</td><td style="vertical-align: middle; height: 57.7812px;"> Флаг включения / выключения прямых вызовов.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> rules

</td><td style="vertical-align: middle; height: 35.3906px;"> Object</td><td style="vertical-align: middle; height: 35.3906px;"> Правила для прямых вызовов.

</td></tr><tr style="height: 80.1719px;"><td style="vertical-align: middle; height: 80.1719px;"> 0

</td><td style="vertical-align: middle; height: 80.1719px;"> String</td><td style="vertical-align: middle; height: 80.1719px;"> Префикс дома при вызове.

\- Ограничения: <span style="color: rgb(186, 55, 42);">цифры</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

 **ВАЖНО!** Если требуются прямые вызовы, но не включен префикс, то всегда указываем 0. В остальных случаях указываем необходимый префикс дома.

</td></tr><tr><td style="vertical-align: middle;"> 1 - 10

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Диапазон квартир при наборе которого будет уходить вызов на указанное устройство.

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-12"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/gate/settings'
```

</details></details><details id="bkmrk-put---%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-12"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/gate/settings' \
--data-raw '{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {}
    }
}'
```

</details></details>---

### **Уровни звука**

#### /levels

Методы получения и изменения общих уровней громкости и сопротивлений абонентских трубок.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--28"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**  
</td><td style="width: 10%; vertical-align: middle;">**Тип**  
</td><td style="vertical-align: middle;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">resistances</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры сопротивления трубки для смены состояний.

**Важно!** Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

</td></tr><tr><td style="vertical-align: middle;"> break</td><td style="vertical-align: middle;"> Integer

</td><td style="vertical-align: middle;"> Уровень при неисправности трубки.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;"> error</td><td style="vertical-align: middle;"> Integer

</td><td style="vertical-align: middle;"> Уровень при обрыве.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr><td style="vertical-align: middle;"> quiescent</td><td style="vertical-align: middle;"> Integer

</td><td style="vertical-align: middle;"> Уровень поднятия трубки.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr style="height: 95.1719px;"><td style="vertical-align: middle;"> answer</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Уровень открытия двери.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr style="height: 95.1719px;"><td style="vertical-align: middle;"> thTalk</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Громкость в трубке во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr style="height: 95.1719px;"><td style="vertical-align: middle;"> uartFrom</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Громкость на панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr style="height: 117.562px;"><td style="vertical-align: middle;"> uartTo</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Усиление микрофона панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr style="height: 95.1719px;"><td style="vertical-align: middle;"> panelCall</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Системные звуки панели.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr><tr style="height: 95.1719px;"><td style="vertical-align: middle;"> panelTalk</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Громкость на панели во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 254, 255 или null</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">null</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-46"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/levels'
```

</details></details><details id="bkmrk-%C2%A0-47"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/levels' \
--data-raw '{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    },
    "noise": {
        "line": null
    }
}'
```

</details></details>#### /levels/realtime

Методы получения и изменения уровней громкости только во время текущего вызова.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--25"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">thCall</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Громкость мелодии трубки во время вызова в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 255</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr><td style="vertical-align: middle;">thTalk</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Громкость в трубке во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 255</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr><td style="vertical-align: middle;">uartFrom</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Громкость на панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 255</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr><td style="vertical-align: middle;">uartTo</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Усиление микрофона панели во время разговора по SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 255</span>

<span style="color: rgb(186, 55, 42);"> </span>- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr><td style="vertical-align: middle;">panelCall</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Системные звуки панели.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 255</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr><td style="vertical-align: middle;">panelTalk</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Громкость на панели во время разговора по АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 255</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-49"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/levels/realtime'
```

</details></details><details id="bkmrk-%C2%A0-50"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/levels/realtime' \
--data-raw '{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}'
```

</details></details>---

### **Логи**

#### /log/last

Метод получения последних 100 строк логов.

<details id="bkmrk-%C2%A0-52"><summary>GET - Получение логов</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение логов</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 130.375px;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">**Название**

</td><td style="height: 35.3906px; vertical-align: middle;">**Значение**</td><td style="height: 35.3906px; vertical-align: middle;">**Описание**</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">Content-Type

</td><td style="height: 35.3906px; vertical-align: middle;">text/plain</td><td style="height: 35.3906px; vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

**Тело:**

```
2023-08-14T13:48:07.458354+05:00 081300000000 UART[1001]: STM32.DEBUG: 07F765003901000003401084846270882020
2023-08-14T13:48:08.976034+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:08.978101+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:09.008538+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 339469 bytes
2023-08-14T13:48:28.977651+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:28.986152+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:29.032053+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 340180 bytes
2023-08-14T13:48:30.961621+05:00 081300000000 API[1037]: Вызов метода: 1 /system/fw_env [192.168.0.10]
2023-08-14T13:48:31.083043+05:00 081300000000 UART[1001]: STM32.DEBUG: 06
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/log/last'
```

</details></details>#### /v2/logs/{сервис}

Метод получения логов указанного сервиса.

<p class="callout info">Список поддерживаемых параметров "{сервис}":  
 - **all** - все логи устройства;  
 - **api** - логи API сервера;  
 - **uart** - логи UART клиента;  
 - **ddns** - логи DDNS клиента;  
 - **camofon** - логи SIP клиента;  
 - **streamer** - логи RTSP сервера;  
 - **ircut** - логи переключения ИК шторки;  
 - **upgrade** - логи обновления устройства.</p>

<details id="bkmrk-%C2%A0-54"><summary>GET - Получение логов</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение логов</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**</td><td style="vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/plain</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

**Тело:**

```
2023-08-14T13:48:07.458354+05:00 081300000000 UART[1001]: STM32.DEBUG: 07F765003901000003401084846270882020
2023-08-14T13:48:08.976034+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:08.978101+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:09.008538+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 339469 bytes
2023-08-14T13:48:28.977651+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:28.986152+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:29.032053+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 340180 bytes
2023-08-14T13:48:30.961621+05:00 081300000000 API[1037]: Вызов метода: 1 /system/fw_env [192.168.0.10]
2023-08-14T13:48:31.083043+05:00 081300000000 UART[1001]: STM32.DEBUG: 06
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/log/all'
```

</details></details>---

### **Настройки сети**

#### /v1/network

Методы получения и изменения виртуальных сетевых интерфейсов.

<p class="callout info">Устройство поддерживает до 3-х виртуальных сетевых интерфейсов.</p>

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--29"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 359.687px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="height: 35.3906px; vertical-align: middle;">**Название**

</td><td style="height: 35.3906px; vertical-align: middle;">**Тип**</td><td style="height: 35.3906px; vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">inet

</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Тип виртуального сетевого интерфейса.

Ограничения: <span style="color: rgb(186, 55, 42);">dhcp, static</span>

</td></tr><tr><td style="vertical-align: middle;">inetStatic

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры для настройки статического виртуального сетевого интерфейса.

</td></tr><tr><td style="vertical-align: middle;"> netmask

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сетевая маска при подключении к сети.

\- Ограничения: <span style="color: rgb(186, 55, 42);">IPv4 адрес</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">255.255.255.0</span>

</td></tr><tr><td style="vertical-align: middle;"> gateway

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сетевой шлюз при подключении к сети.

\- Ограничения: <span style="color: rgb(186, 55, 42);">IPv4 адрес</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

</td></tr><tr><td style="vertical-align: middle;"> ipAddress

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> IP адрес устройства при подключении к сети.

\- Ограничения: <span style="color: rgb(186, 55, 42);">IPv4 адрес</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">192.168.0.100</span>

</td></tr><tr><td style="vertical-align: middle;"> dnsServer

</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> IP адрес DNS сервера.

\- Ограничения: <span style="color: rgb(186, 55, 42);">IPv4 адрес</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-56"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров </p>

**Тело:**

```json
[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/network'
```

</details></details><details id="bkmrk-%C2%A0-57"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "192.168.0.1",
            "ipAddress": "192.168.0.100",
            "dnsServer": "192.168.0.1"
        }
    }
]
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "192.168.0.1",
            "ipAddress": "192.168.0.100",
            "dnsServer": "192.168.0.1"
        }
    }
]
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/network' \
--data-raw '[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "192.168.0.1",
            "ipAddress": "192.168.0.100",
            "dnsServer": "192.168.0.1"
        }
    }
]'
```

</details></details><details id="bkmrk-%C2%A0-58"><summary>DELETE - Сброс к стандартным</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешный сброс к стандартным</p>

**Тело:**

```json
[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/v1/network'
```

</details></details>---

### **Уведомления**

#### /v1/notification/forced/list

Метод получения списка аудиофайлов для воспроизведения.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--33"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">name</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Наименование файла.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-60"><summary>GET - Получение списка</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение списка файлов</p>

**Тело:**

```json
[
    {
        "name": "test.wav"
    }
]
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/notification/forced/list'
```

</details></details>#### /v1/notification/forced/play

Метод запуска воспроизведения указанного аудиофайла.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--34"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">name</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Наименование файла для запуска воспроизведения.

</td></tr><tr><td style="vertical-align: middle;">repeat</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Количество повторений воспроизведений указанного файла.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-62"><summary>PUT - Воспроизведения аудио файла</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "name": "test.wav",
    "repeat": 3
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное воспроизведение аудио файла</p>

**Тело:**

```json
{
    "name": "test.wav",
    "repeat": 3
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/notification/forced/play' \
--data-raw '{
    "name": "test.wav",
    "repeat": 3
}'
```

</details></details>#### /v1/notification/forced/stop

Метод остановки воспроизводимого аудиофайла.

<details id="bkmrk-%C2%A0-64"><summary>PUT - Остановка аудио файла</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешная остановка воспроизводимого аудио файла</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/notification/forced/stop'
```

</details></details>---

### **Бегущая строка**

#### /panelDisplay/settings

Методы получения и изменения параметров бегущей строки на дисплее.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--35"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">strDisplayOff</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения бегущей строки.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr><td style="vertical-align: middle;">imgStr</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Текст отображения на дисплее.

\- Длина строки: <span style="color: rgb(186, 55, 42);">0 - 10 символов</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

**ВАЖНО!** Поддерживается латинский алфавит и цифры ASCII.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-66"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "strDisplayOff": true,
    "imgStr": ""
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelDisplay/settings'
```

</details></details><details id="bkmrk-%C2%A0-67"><summary>PUT - Изменить параметры</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "strDisplayOff": true,
    "imgStr": ""
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение параметров </p>

**Тело:**

```json
{
    "strDisplayOff": true,
    "imgStr": ""
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelDisplay/settings' \
--data-raw '{
    "strDisplayOff": true,
    "imgStr": ""
}'
```

</details></details>---

### **Реле**

#### /relay/info

Метод получения поддерживаемых номеров реле.

<details id="bkmrk-%C2%A0-69"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td>**Название**

</td><td>**Значение**  
</td><td>**Описание**  
</td></tr><tr><td>Content-Type

</td><td>text/html; charset=ISO-8859-1</td><td>Тип возвращаемых данных</td></tr></tbody></table>

**Тело:**

```json
[1, 2]
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/info'
```

</details></details>#### /relay/settings

Методы получения и изменения общих параметров реле.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--36"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">inverseDoor</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения программного инвертирования "Основного" и "Дополнительного" выходов.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr><td style="vertical-align: middle;">alwaysOpenNetMode</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения режима открытых дверей при недоступности сети.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr><td style="vertical-align: middle;">alwaysOpen</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения режима открытых дверей.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-71"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/settings'
```

</details></details><details id="bkmrk-%C2%A0-72"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение параметров</p>

**Тело:**

```json
{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/settings' \
--data-raw '{
    "inverseDoor": true,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}'
```

</details></details>#### /relay/{номер реле}/open

Метод открытия указанного номера реле.

<details id="bkmrk-%C2%A0-74"><summary>PUT - Открытие реле</summary>

<details><summary>Запрос</summary>

 **Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3778%;"></col><col style="width: 33.3778%;"></col><col style="width: 33.3778%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="height: 29.7969px; vertical-align: middle;">Authorization

</td><td style="height: 29.7969px; vertical-align: middle;">Basic cm9vdDoxMjM0NTY=</td><td style="height: 29.7969px; vertical-align: middle;">Заголовок "Базовой авторизации"</td></tr></tbody></table>

</details><details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success">Успешное открытие реле</p>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/1/open'
```

</details></details>#### /relay/{номер реле}/settings

Методы получения и изменения параметров указанного номера реле.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--37"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">switchTime</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Время удержания двери в открытом состоянии.

\- Ограничения: <span style="color: rgb(186, 55, 42);">1 - 10 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">1</span>

</td></tr><tr><td style="vertical-align: middle;">alwaysOpen</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения режима открытых дверей.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-76"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "switchTime": 1,
    "alwaysOpen": false
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/1/settings'
```

</details></details><details id="bkmrk-%C2%A0-77"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "switchTime": 1,
    "alwaysOpen": false
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение параметров</p>

**Тело:**

```json
{
    "switchTime": 1,
    "alwaysOpen": false
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/1/settings' \
--data-raw '{
    "switchTime": 1,
    "alwaysOpen": false
}'
```

</details></details>---

### **SIP**

#### /sip/options

Методы получения и изменения sip-параметров для управления вызовом;

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--40"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">dtmf</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры DTMF для выходов;

</td></tr><tr><td style="vertical-align: middle;"> 1, 2</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Символ необходимый для открытия выхода 1, 2.

\- Длина: <span style="color: rgb(186, 55, 42);">1 символ</span>

<span style="color: rgb(186, 55, 42);"> </span>- По умолчанию: <span style="color: rgb(186, 55, 42);">1, 2</span>

</td></tr><tr><td style="vertical-align: middle;">callDelay</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Задержка вызова в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 255 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0 секунд</span>

</td></tr><tr><td style="vertical-align: middle;">talkDuration</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Время разговора с момента поднятия трубки в АТ или в SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">1 - 255 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">180 секунд</span>

</td></tr><tr><td style="vertical-align: middle;">ringDuration</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Время совершения вызова до поднятия трубки в АТ или в SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">1 - 255 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">60 секунд</span>

</td></tr><tr><td style="vertical-align: middle;">echoD</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения алгоритма эхоподавления в SIP.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-79"><summary>GET - Получение параметров</summary>

<details><summary>Запрос</summary>

 **Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3778%;"></col><col style="width: 33.3778%;"></col><col style="width: 33.3778%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="height: 29.7969px; vertical-align: middle;">Authorization

</td><td style="height: 29.7969px; vertical-align: middle;">Basic cm9vdDoxMjM0NTY=</td><td style="height: 29.7969px; vertical-align: middle;">Заголовок "Базовой авторизации"</td></tr></tbody></table>

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">application/json</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr><tr><td style="vertical-align: middle;">Content-Length

</td><td style="vertical-align: middle;">90</td><td style="vertical-align: middle;">Размер возвращаемых данных</td></tr><tr><td style="vertical-align: middle;">X-Device-Mac

</td><td style="vertical-align: middle;">08:13:00:00:00:00</td><td style="vertical-align: middle;">Мак адрес устройства</td></tr></tbody></table>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">dtmf</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры DTMF для выходов;

</td></tr><tr><td style="vertical-align: middle;"> 1</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Символ необходимый для открытия выхода 1.

\- Длина: <span style="color: rgb(186, 55, 42);">1 символ</span>

<span style="color: rgb(186, 55, 42);"> </span>- По умолчанию: <span style="color: rgb(186, 55, 42);">1</span>

</td></tr><tr><td style="vertical-align: middle;"> 2</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Символ необходимый для открытия выхода 2.

\- Длина: <span style="color: rgb(186, 55, 42);">1 символ</span>

<span style="color: rgb(186, 55, 42);"> </span>- По умолчанию: <span style="color: rgb(186, 55, 42);">2</span>

</td></tr><tr><td style="vertical-align: middle;">callDelay</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Задержка вызова в АТ.

\- Ограничения: <span style="color: rgb(186, 55, 42);">0 - 255 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0 секунд</span>

</td></tr><tr><td style="vertical-align: middle;">talkDuration</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Время разговора с момента поднятия трубки в АТ или в SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">1 - 255 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">180 секунд</span>

</td></tr><tr><td style="vertical-align: middle;">ringDuration</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Время совершения вызова до поднятия трубки в АТ или в SIP.

\- Ограничения: <span style="color: rgb(186, 55, 42);">1 - 255 секунд</span>

\- По умолчанию: <span style="color: rgb(186, 55, 42);">60 секунд</span>

</td></tr><tr><td style="vertical-align: middle;">echoD</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения алгоритма эхоподавления в SIP.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr></tbody></table>

```json
{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}
```

</details><details><summary>500 Internal Server Error</summary>

<p class="callout danger">Внутренняя ошибка при обработке метода</p>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/options'
```

</details></details><details id="bkmrk-%C2%A0-80"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение параметров</p>

**Тело:**

```json
{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/options' \
--data-raw '{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}'
```

</details></details>#### /sip/settings

Методы получения и изменения sip-параметров для авторизации на сервере.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--41"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 417.469px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 80.1719px;"><td style="vertical-align: middle; height: 80.1719px;">videoEnable</td><td style="vertical-align: middle; height: 80.1719px;">Boolean</td><td style="vertical-align: middle; height: 80.1719px;">Флаг включения / выключения видео-потока в видео вызове;

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">remote</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Параметры авторизации на SIP сервере.

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;"> port</td><td style="vertical-align: middle; height: 57.7812px;"> Integer</td><td style="vertical-align: middle; height: 57.7812px;"> Порт сервера на который отправляются запросы.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">5060</span>

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;"> domain</td><td style="vertical-align: middle; height: 57.7812px;"> String</td><td style="vertical-align: middle; height: 57.7812px;"> Адрес сервера на который отправляются запросы.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">domain.com</span>

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;"> username</td><td style="vertical-align: middle; height: 57.7812px;"> String</td><td style="vertical-align: middle; height: 57.7812px;"> Логин для авторизации на сервере.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;"> password</td><td style="vertical-align: middle; height: 57.7812px;"> String</td><td style="vertical-align: middle; height: 57.7812px;"> Пароль для авторизации на сервере.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> registerStatus</td><td style="vertical-align: middle; height: 35.3906px;"> Boolean</td><td style="vertical-align: middle; height: 35.3906px;"> Флаг текущего состояния авторизации на сервере.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-82"><summary>GET - Получение параметров</summary>

<details><summary>Запрос</summary>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3778%;"></col><col style="width: 33.3778%;"></col><col style="width: 33.3778%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="height: 29.7969px; vertical-align: middle;">Authorization

</td><td style="height: 29.7969px; vertical-align: middle;">Basic cm9vdDoxMjM0NTY=</td><td style="height: 29.7969px; vertical-align: middle;">Заголовок "Базовой авторизации"</td></tr></tbody></table>

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">application/json</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr><tr><td style="vertical-align: middle;">Content-Length

</td><td style="vertical-align: middle;">116</td><td style="vertical-align: middle;">Размер возвращаемых данных</td></tr><tr><td style="vertical-align: middle;">X-Device-Mac

</td><td style="vertical-align: middle;">08:13:00:00:00:00</td><td style="vertical-align: middle;">Мак адрес устройства</td></tr></tbody></table>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">videoEnable</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения видео-потока в видео вызове;

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td style="vertical-align: middle;">remote</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры авторизации на SIP сервере.

</td></tr><tr><td style="vertical-align: middle;"> port</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Порт сервера на который отправляются запросы.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">5060</span>

</td></tr><tr><td style="vertical-align: middle;"> domain</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Адрес сервера на который отправляются запросы.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">domain.com</span>

</td></tr><tr><td style="vertical-align: middle;"> username</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Логин для авторизации на сервере.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

</td></tr><tr><td style="vertical-align: middle;"> password</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Пароль для авторизации на сервере.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">""</span>

</td></tr><tr><td style="vertical-align: middle;"> registerStatus</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Флаг текущего состояния авторизации на сервере.

</td></tr></tbody></table>

```json
{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": "",
        "registerStatus": false
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/settings'
```

</details></details><details id="bkmrk-%C2%A0-83"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": ""
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": "",
        "registerStatus": false
    }
}
```

</details><details><summary>500 Internal Server Error</summary>

<p class="callout danger">Внутренняя ошибка при обработке метода</p>

**Тело:**

```json
{
    "errors": [
        {
            "field": "SetServer",
            "message": "Ошибка установки параметра"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/sip/settings' \
--data-raw '{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": ""
    }
}'
```

</details></details>#### /sip/test/{номер квартиры}

Метод создания тестового вызова в абонентскую трубку и SIP для указанного номера квартиры.

<details id="bkmrk-%C2%A0-85"><summary>GET - Отправка тестового вызова</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешная отправка тестового вызова</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/1'
```

</details></details>#### /sip/test/sip/{номер квартиры}


Метод создания тестового вызова в SIP для указанного номера квартиры.

<details id="bkmrk-get---%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0-%D1%82%D0%B5%D1%81%D1%82%D0%BE"><summary>GET - Отправка тестового вызова</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешная отправка тестового вызова </p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/sip/1'
```

</details></details>#### /sip/test/analog/{номер квартиры}


Метод создания тестового вызова в абонентскую трубку для указанного номера квартиры.

<details id="bkmrk-get---%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0-%D1%82%D0%B5%D1%81%D1%82%D0%BE-1"><summary>GET - Отправка тестового вызова</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешная отправка тестового вызова</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/analog/1'
```

</details></details>---

### **Вызовы**

#### /v1/call/stop

Метод завершения текущего вызова.

<details id="bkmrk-put---%D0%97%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D1%8B%D0%B7"><summary>PUT - Завершение вызова</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное завершение вызова</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**  
</td><td style="vertical-align: middle;">**Описание**  
</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/call/stop'
```

</details></details>---

### **Матрицы**

#### /switch/info/models

Метод получения списка поддерживаемых коммутаторов устройством.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--43"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">id</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Модель поддерживаемового коммутатора.

</td></tr><tr><td style="vertical-align: middle;">name</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Наименование поддерживаемового коммутатора.

</td></tr><tr><td style="vertical-align: middle;">eCount</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Количество единиц используемых для коммутации.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-87"><summary>GET - Получение списка</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение списка</p>

**Тело:**

```json
[
    {
        "id": "FACTORIAL",
        "name": "Факториал",
        "eCount": 8
    },
    {
        "id": "CYFRAL",
        "name": "Цифрал",
        "eCount": 10
    },
    {
        "id": "VIZIT",
        "name": "Визит",
        "eCount": 10
    },
    {
        "id": "METAKOM",
        "name": "Метаком",
        "eCount": 10
    },
    {
        "id": "ELTIS",
        "name": "Элтис",
        "eCount": 10
    }
]
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/info/models'
```

</details></details>
#### /switch/settings

Методы получения и изменения общих параметров для коммутаторов.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--44"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 1430.75px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">modelId</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Модель используемого коммутатора.

 Метод для получения поддерживаемых коммутаторов: [**/switch/info/models**](#bkmrk-%2Fswitch%2Finfo%2Fmodels)

</td></tr><tr><td style="vertical-align: middle;">usingCom3</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг включения / выключения использования "Платы управления замком" или "Третьего коммутатора".

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-89"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "modelId": "CYFRAL",
    "usingCom3": true
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/settings'
```

</details></details><details id="bkmrk-%C2%A0-90"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "modelId": "CYFRAL",
    "usingCom3": true
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное изменение параметров</p>

**Тело:**

```json
{
    "modelId": "CYFRAL",
    "usingCom3": true
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/switch/settings' \
--data-raw '{
    "modelId": "CYFRAL",
    "usingCom3": true
}'
```

</details></details>#### /switch/matrix/{номер матрицы коммутации}

Методы получения и изменения указанной матрицы коммутации.

<p class="callout info">Панель поддерживает подключение до 2-х коммутаторов:  
 - Визит.  
  
Панель поддерживает подключение до 3-х коммутаторов:  
 - Элтис;  
 - Бевард;  
 - Цифрал;  
 - Метаком;  
 - Факториал.  
</p>

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--45"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 305.515px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">capacity</td><td style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Размер указанного коммутатора.  
\- Ограничения: <span style="color: rgb(186, 55, 42);">0, 10, 20, 40, 64, 80, 100, 160, 220  
</span> - По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr><td style="vertical-align: middle;">matrix</td><td style="vertical-align: middle;">Array</td><td style="vertical-align: middle;">Двумерный массив с номерами квартир для коммутатора.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-92"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

**Тело:**

```json
{
    "capacity": 100,
    "matrix": [
        [
            100,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
        ],
        [
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19
        ],
        [
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29
        ],
        [
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39
        ],
        [
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49
        ],
        [
            50,
            51,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            59
        ],
        [
            60,
            61,
            62,
            63,
            64,
            65,
            66,
            67,
            68,
            69
        ],
        [
            70,
            71,
            72,
            73,
            74,
            75,
            76,
            77,
            78,
            79
        ],
        [
            80,
            81,
            82,
            83,
            84,
            85,
            86,
            87,
            88,
            89
        ],
        [
            90,
            91,
            92,
            93,
            94,
            95,
            96,
            97,
            98,
            99
        ]
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/matrix/1'
```

</details></details><details id="bkmrk-%C2%A0-93"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "capacity": 100,
    "matrix": [
        [
            100,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
        ],
        [
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19
        ],
        [
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29
        ],
        [
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39
        ],
        [
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49
        ],
        [
            50,
            51,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            59
        ],
        [
            60,
            61,
            62,
            63,
            64,
            65,
            66,
            67,
            68,
            69
        ],
        [
            70,
            71,
            72,
            73,
            74,
            75,
            76,
            77,
            78,
            79
        ],
        [
            80,
            81,
            82,
            83,
            84,
            85,
            86,
            87,
            88,
            89
        ],
        [
            90,
            91,
            92,
            93,
            94,
            95,
            96,
            97,
            98,
            99
        ]
    ]
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное изменение параметров</p>

**Тело:**

```json
{
    "capacity": 100,
    "matrix": [
        [
            100,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
        ],
        [
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19
        ],
        [
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29
        ],
        [
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39
        ],
        [
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49
        ],
        [
            50,
            51,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            59
        ],
        [
            60,
            61,
            62,
            63,
            64,
            65,
            66,
            67,
            68,
            69
        ],
        [
            70,
            71,
            72,
            73,
            74,
            75,
            76,
            77,
            78,
            79
        ],
        [
            80,
            81,
            82,
            83,
            84,
            85,
            86,
            87,
            88,
            89
        ],
        [
            90,
            91,
            92,
            93,
            94,
            95,
            96,
            97,
            98,
            99
        ]
    ]
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/matrix/1' \
--data-raw '{
    "capacity": 100,
    "matrix": [
        [
            100,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
        ],
        [
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19
        ],
        [
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29
        ],
        [
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39
        ],
        [
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49
        ],
        [
            50,
            51,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            59
        ],
        [
            60,
            61,
            62,
            63,
            64,
            65,
            66,
            67,
            68,
            69
        ],
        [
            70,
            71,
            72,
            73,
            74,
            75,
            76,
            77,
            78,
            79
        ],
        [
            80,
            81,
            82,
            83,
            84,
            85,
            86,
            87,
            88,
            89
        ],
        [
            90,
            91,
            92,
            93,
            94,
            95,
            96,
            97,
            98,
            99
        ]
    ]
}'
```

</details></details>---

### **Микроконтроллер**

#### /v1/mcu/info

Метод получения информации о микроконтроллере.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--47"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 305.515px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">power</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Параметры питания панели;

</td></tr><tr><td style="vertical-align: middle;"> dc</td><td style="vertical-align: middle;"> Float</td><td style="vertical-align: middle;"> Входное напряжение;

</td></tr><tr><td style="vertical-align: middle;">chipId</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Идентификатор микроконтроллера;

</td></tr></tbody></table>

</details><details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0-13"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "power": {
        "dc": 12.412
    },
    "chipId": 2321944743649890300
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/mcu/info'
```

</details></details>---

### **Системное**

#### /system/tz

Метод получения поддерживаемых временных зон.

<details id="bkmrk-get---%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BF%D0%B8%D1%81-1"><summary>GET - Получение списка</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение списка</p>

**Тело:**

```json
[
    "Africa/Abidjan",
    "Africa/Accra",
    "Africa/Addis_Ababa",
    "Africa/Algiers",
    "Africa/Asmara",
    "Africa/Asmera",
    "Africa/Bamako",
    "Africa/Bangui",
    "Africa/Banjul",
    "Africa/Bissau",
    "Africa/Blantyre",
    "Africa/Brazzaville",
    "Africa/Bujumbura",
    "Africa/Cairo",
    "Africa/Casablanca",
    "Africa/Ceuta",
    "Africa/Conakry",
    "Africa/Dakar",
    "Africa/Dar_es_Salaam",
    "Africa/Djibouti",
    "Africa/Douala",
    "Africa/El_Aaiun",
    "Africa/Freetown",
    "Africa/Gaborone",
    "Africa/Harare",
    "Africa/Johannesburg",
    "Africa/Juba",
    "Africa/Kampala",
    "Africa/Khartoum",
    "Africa/Kigali",
    "Africa/Kinshasa",
    "Africa/Lagos",
    "Africa/Libreville",
    "Africa/Lome",
    "Africa/Luanda",
    "Africa/Lubumbashi",
    "Africa/Lusaka",
    "Africa/Malabo",
    "Africa/Maputo",
    "Africa/Maseru",
    "Africa/Mbabane",
    "Africa/Mogadishu",
    "Africa/Monrovia",
    "Africa/Nairobi",
    "Africa/Ndjamena",
    "Africa/Niamey",
    "Africa/Nouakchott",
    "Africa/Ouagadougou",
    "Africa/Porto-Novo",
    "Africa/Sao_Tome",
    "Africa/Timbuktu",
    "Africa/Tripoli",
    "Africa/Tunis",
    "Africa/Windhoek",
    "America/Adak",
    "America/Anchorage",
    "America/Anguilla",
    "America/Antigua",
    "America/Araguaina",
    "America/Argentina/Buenos_Aires",
    "America/Argentina/Catamarca",
    "America/Argentina/ComodRivadavia",
    "America/Argentina/Cordoba",
    "America/Argentina/Jujuy",
    "America/Argentina/La_Rioja",
    "America/Argentina/Mendoza",
    "America/Argentina/Rio_Gallegos",
    "America/Argentina/Salta",
    "America/Argentina/San_Juan",
    "America/Argentina/San_Luis",
    "America/Argentina/Tucuman",
    "America/Argentina/Ushuaia",
    "America/Aruba",
    "America/Asuncion",
    "America/Atikokan",
    "America/Atka",
    "America/Bahia",
    "America/Bahia_Banderas",
    "America/Barbados",
    "America/Belem",
    "America/Belize",
    "America/Blanc-Sablon",
    "America/Boa_Vista",
    "America/Bogota",
    "America/Boise",
    "America/Buenos_Aires",
    "America/Cambridge_Bay",
    "America/Campo_Grande",
    "America/Cancun",
    "America/Caracas",
    "America/Catamarca",
    "America/Cayenne",
    "America/Cayman",
    "America/Chicago",
    "America/Chihuahua",
    "America/Coral_Harbour",
    "America/Cordoba",
    "America/Costa_Rica",
    "America/Creston",
    "America/Cuiaba",
    "America/Curacao",
    "America/Danmarkshavn",
    "America/Dawson",
    "America/Dawson_Creek",
    "America/Denver",
    "America/Detroit",
    "America/Dominica",
    "America/Edmonton",
    "America/Eirunepe",
    "America/El_Salvador",
    "America/Ensenada",
    "America/Fort_Nelson",
    "America/Fort_Wayne",
    "America/Fortaleza",
    "America/Glace_Bay",
    "America/Godthab",
    "America/Goose_Bay",
    "America/Grand_Turk",
    "America/Grenada",
    "America/Guadeloupe",
    "America/Guatemala",
    "America/Guayaquil",
    "America/Guyana",
    "America/Halifax",
    "America/Havana",
    "America/Hermosillo",
    "America/Indiana/Indianapolis",
    "America/Indiana/Knox",
    "America/Indiana/Marengo",
    "America/Indiana/Petersburg",
    "America/Indiana/Tell_City",
    "America/Indiana/Vevay",
    "America/Indiana/Vincennes",
    "America/Indiana/Winamac",
    "America/Indianapolis",
    "America/Inuvik",
    "America/Iqaluit",
    "America/Jamaica",
    "America/Jujuy",
    "America/Juneau",
    "America/Kentucky/Louisville",
    "America/Kentucky/Monticello",
    "America/Knox_IN",
    "America/Kralendijk",
    "America/La_Paz",
    "America/Lima",
    "America/Los_Angeles",
    "America/Louisville",
    "America/Lower_Princes",
    "America/Maceio",
    "America/Managua",
    "America/Manaus",
    "America/Marigot",
    "America/Martinique",
    "America/Matamoros",
    "America/Mazatlan",
    "America/Mendoza",
    "America/Menominee",
    "America/Merida",
    "America/Metlakatla",
    "America/Mexico_City",
    "America/Miquelon",
    "America/Moncton",
    "America/Monterrey",
    "America/Montevideo",
    "America/Montreal",
    "America/Montserrat",
    "America/Nassau",
    "America/New_York",
    "America/Nipigon",
    "America/Nome",
    "America/Noronha",
    "America/North_Dakota/Beulah",
    "America/North_Dakota/Center",
    "America/North_Dakota/New_Salem",
    "America/Ojinaga",
    "America/Panama",
    "America/Pangnirtung",
    "America/Paramaribo",
    "America/Phoenix",
    "America/Port-au-Prince",
    "America/Port_of_Spain",
    "America/Porto_Acre",
    "America/Porto_Velho",
    "America/Puerto_Rico",
    "America/Punta_Arenas",
    "America/Rainy_River",
    "America/Rankin_Inlet",
    "America/Recife",
    "America/Regina",
    "America/Resolute",
    "America/Rio_Branco",
    "America/Rosario",
    "America/Santa_Isabel",
    "America/Santarem",
    "America/Santiago",
    "America/Santo_Domingo",
    "America/Sao_Paulo",
    "America/Scoresbysund",
    "America/Shiprock",
    "America/Sitka",
    "America/St_Barthelemy",
    "America/St_Johns",
    "America/St_Kitts",
    "America/St_Lucia",
    "America/St_Thomas",
    "America/St_Vincent",
    "America/Swift_Current",
    "America/Tegucigalpa",
    "America/Thule",
    "America/Thunder_Bay",
    "America/Tijuana",
    "America/Toronto",
    "America/Tortola",
    "America/Vancouver",
    "America/Virgin",
    "America/Whitehorse",
    "America/Winnipeg",
    "America/Yakutat",
    "America/Yellowknife",
    "Antarctica/Casey",
    "Antarctica/Davis",
    "Antarctica/DumontDUrville",
    "Antarctica/Macquarie",
    "Antarctica/Mawson",
    "Antarctica/McMurdo",
    "Antarctica/Palmer",
    "Antarctica/Rothera",
    "Antarctica/South_Pole",
    "Antarctica/Syowa",
    "Antarctica/Troll",
    "Antarctica/Vostok",
    "Arctic/Longyearbyen",
    "Asia/Aden",
    "Asia/Almaty",
    "Asia/Amman",
    "Asia/Anadyr",
    "Asia/Aqtau",
    "Asia/Aqtobe",
    "Asia/Ashgabat",
    "Asia/Ashkhabad",
    "Asia/Atyrau",
    "Asia/Baghdad",
    "Asia/Bahrain",
    "Asia/Baku",
    "Asia/Bangkok",
    "Asia/Barnaul",
    "Asia/Beirut",
    "Asia/Bishkek",
    "Asia/Brunei",
    "Asia/Calcutta",
    "Asia/Chita",
    "Asia/Choibalsan",
    "Asia/Chongqing",
    "Asia/Chungking",
    "Asia/Colombo",
    "Asia/Dacca",
    "Asia/Damascus",
    "Asia/Dhaka",
    "Asia/Dili",
    "Asia/Dubai",
    "Asia/Dushanbe",
    "Asia/Famagusta",
    "Asia/Gaza",
    "Asia/Harbin",
    "Asia/Hebron",
    "Asia/Ho_Chi_Minh",
    "Asia/Hong_Kong",
    "Asia/Hovd",
    "Asia/Irkutsk",
    "Asia/Istanbul",
    "Asia/Jakarta",
    "Asia/Jayapura",
    "Asia/Jerusalem",
    "Asia/Kabul",
    "Asia/Kamchatka",
    "Asia/Karachi",
    "Asia/Kashgar",
    "Asia/Kathmandu",
    "Asia/Katmandu",
    "Asia/Khandyga",
    "Asia/Kolkata",
    "Asia/Krasnoyarsk",
    "Asia/Kuala_Lumpur",
    "Asia/Kuching",
    "Asia/Kuwait",
    "Asia/Macao",
    "Asia/Macau",
    "Asia/Magadan",
    "Asia/Makassar",
    "Asia/Manila",
    "Asia/Muscat",
    "Asia/Nicosia",
    "Asia/Novokuznetsk",
    "Asia/Novosibirsk",
    "Asia/Omsk",
    "Asia/Oral",
    "Asia/Phnom_Penh",
    "Asia/Pontianak",
    "Asia/Pyongyang",
    "Asia/Qatar",
    "Asia/Qostanay",
    "Asia/Qyzylorda",
    "Asia/Rangoon",
    "Asia/Riyadh",
    "Asia/Saigon",
    "Asia/Sakhalin",
    "Asia/Samarkand",
    "Asia/Seoul",
    "Asia/Shanghai",
    "Asia/Singapore",
    "Asia/Srednekolymsk",
    "Asia/Taipei",
    "Asia/Tashkent",
    "Asia/Tbilisi",
    "Asia/Tehran",
    "Asia/Tel_Aviv",
    "Asia/Thimbu",
    "Asia/Thimphu",
    "Asia/Tokyo",
    "Asia/Tomsk",
    "Asia/Ujung_Pandang",
    "Asia/Ulaanbaatar",
    "Asia/Ulan_Bator",
    "Asia/Urumqi",
    "Asia/Ust-Nera",
    "Asia/Vientiane",
    "Asia/Vladivostok",
    "Asia/Yakutsk",
    "Asia/Yangon",
    "Asia/Yekaterinburg",
    "Asia/Yerevan",
    "Atlantic/Azores",
    "Atlantic/Bermuda",
    "Atlantic/Canary",
    "Atlantic/Cape_Verde",
    "Atlantic/Faeroe",
    "Atlantic/Faroe",
    "Atlantic/Jan_Mayen",
    "Atlantic/Madeira",
    "Atlantic/Reykjavik",
    "Atlantic/South_Georgia",
    "Atlantic/St_Helena",
    "Atlantic/Stanley",
    "Australia/ACT",
    "Australia/Adelaide",
    "Australia/Brisbane",
    "Australia/Broken_Hill",
    "Australia/Canberra",
    "Australia/Currie",
    "Australia/Darwin",
    "Australia/Eucla",
    "Australia/Hobart",
    "Australia/LHI",
    "Australia/Lindeman",
    "Australia/Lord_Howe",
    "Australia/Melbourne",
    "Australia/NSW",
    "Australia/North",
    "Australia/Perth",
    "Australia/Queensland",
    "Australia/South",
    "Australia/Sydney",
    "Australia/Tasmania",
    "Australia/Victoria",
    "Australia/West",
    "Australia/Yancowinna",
    "Brazil/Acre",
    "Brazil/DeNoronha",
    "Brazil/East",
    "Brazil/West",
    "CET",
    "CST6CDT",
    "Canada/Atlantic",
    "Canada/Central",
    "Canada/Eastern",
    "Canada/Mountain",
    "Canada/Newfoundland",
    "Canada/Pacific",
    "Canada/Saskatchewan",
    "Canada/Yukon",
    "Chile/Continental",
    "Chile/EasterIsland",
    "Cuba",
    "EET",
    "EST",
    "EST5EDT",
    "Egypt",
    "Eire",
    "Etc/GMT",
    "Etc/GMT+0",
    "Etc/GMT+1",
    "Etc/GMT+10",
    "Etc/GMT+11",
    "Etc/GMT+12",
    "Etc/GMT+2",
    "Etc/GMT+3",
    "Etc/GMT+4",
    "Etc/GMT+5",
    "Etc/GMT+6",
    "Etc/GMT+7",
    "Etc/GMT+8",
    "Etc/GMT+9",
    "Etc/GMT-0",
    "Etc/GMT-1",
    "Etc/GMT-10",
    "Etc/GMT-11",
    "Etc/GMT-12",
    "Etc/GMT-13",
    "Etc/GMT-14",
    "Etc/GMT-2",
    "Etc/GMT-3",
    "Etc/GMT-4",
    "Etc/GMT-5",
    "Etc/GMT-6",
    "Etc/GMT-7",
    "Etc/GMT-8",
    "Etc/GMT-9",
    "Etc/GMT0",
    "Etc/Greenwich",
    "Etc/UCT",
    "Etc/UTC",
    "Etc/Universal",
    "Etc/Zulu",
    "Europe/Amsterdam",
    "Europe/Andorra",
    "Europe/Astrakhan",
    "Europe/Athens",
    "Europe/Belfast",
    "Europe/Belgrade",
    "Europe/Berlin",
    "Europe/Bratislava",
    "Europe/Brussels",
    "Europe/Bucharest",
    "Europe/Budapest",
    "Europe/Busingen",
    "Europe/Chisinau",
    "Europe/Copenhagen",
    "Europe/Dublin",
    "Europe/Gibraltar",
    "Europe/Guernsey",
    "Europe/Helsinki",
    "Europe/Isle_of_Man",
    "Europe/Istanbul",
    "Europe/Jersey",
    "Europe/Kaliningrad",
    "Europe/Kiev",
    "Europe/Kirov",
    "Europe/Lisbon",
    "Europe/Ljubljana",
    "Europe/London",
    "Europe/Luxembourg",
    "Europe/Madrid",
    "Europe/Malta",
    "Europe/Mariehamn",
    "Europe/Minsk",
    "Europe/Monaco",
    "Europe/Moscow",
    "Europe/Nicosia",
    "Europe/Oslo",
    "Europe/Paris",
    "Europe/Podgorica",
    "Europe/Prague",
    "Europe/Riga",
    "Europe/Rome",
    "Europe/Samara",
    "Europe/San_Marino",
    "Europe/Sarajevo",
    "Europe/Saratov",
    "Europe/Simferopol",
    "Europe/Skopje",
    "Europe/Sofia",
    "Europe/Stockholm",
    "Europe/Tallinn",
    "Europe/Tirane",
    "Europe/Tiraspol",
    "Europe/Ulyanovsk",
    "Europe/Uzhgorod",
    "Europe/Vaduz",
    "Europe/Vatican",
    "Europe/Vienna",
    "Europe/Vilnius",
    "Europe/Volgograd",
    "Europe/Warsaw",
    "Europe/Zagreb",
    "Europe/Zaporozhye",
    "Europe/Zurich",
    "Factory",
    "GB",
    "GB-Eire",
    "GMT",
    "GMT+0",
    "GMT-0",
    "GMT0",
    "Greenwich",
    "HST",
    "Hongkong",
    "Iceland",
    "Indian/Antananarivo",
    "Indian/Chagos",
    "Indian/Christmas",
    "Indian/Cocos",
    "Indian/Comoro",
    "Indian/Kerguelen",
    "Indian/Mahe",
    "Indian/Maldives",
    "Indian/Mauritius",
    "Indian/Mayotte",
    "Indian/Reunion",
    "Iran",
    "Israel",
    "Jamaica",
    "Japan",
    "Kwajalein",
    "Libya",
    "MET",
    "MST",
    "MST7MDT",
    "Mexico/BajaNorte",
    "Mexico/BajaSur",
    "Mexico/General",
    "NZ",
    "NZ-CHAT",
    "Navajo",
    "PRC",
    "PST8PDT",
    "Pacific/Apia",
    "Pacific/Auckland",
    "Pacific/Bougainville",
    "Pacific/Chatham",
    "Pacific/Chuuk",
    "Pacific/Easter",
    "Pacific/Efate",
    "Pacific/Enderbury",
    "Pacific/Fakaofo",
    "Pacific/Fiji",
    "Pacific/Funafuti",
    "Pacific/Galapagos",
    "Pacific/Gambier",
    "Pacific/Guadalcanal",
    "Pacific/Guam",
    "Pacific/Honolulu",
    "Pacific/Johnston",
    "Pacific/Kiritimati",
    "Pacific/Kosrae",
    "Pacific/Kwajalein",
    "Pacific/Majuro",
    "Pacific/Marquesas",
    "Pacific/Midway",
    "Pacific/Nauru",
    "Pacific/Niue",
    "Pacific/Norfolk",
    "Pacific/Noumea",
    "Pacific/Pago_Pago",
    "Pacific/Palau",
    "Pacific/Pitcairn",
    "Pacific/Pohnpei",
    "Pacific/Ponape",
    "Pacific/Port_Moresby",
    "Pacific/Rarotonga",
    "Pacific/Saipan",
    "Pacific/Samoa",
    "Pacific/Tahiti",
    "Pacific/Tarawa",
    "Pacific/Tongatapu",
    "Pacific/Truk",
    "Pacific/Wake",
    "Pacific/Wallis",
    "Pacific/Yap",
    "Poland",
    "Portugal",
    "ROC",
    "ROK",
    "Singapore",
    "Turkey",
    "UCT",
    "US/Alaska",
    "US/Aleutian",
    "US/Arizona",
    "US/Central",
    "US/East-Indiana",
    "US/Eastern",
    "US/Hawaii",
    "US/Indiana-Starke",
    "US/Michigan",
    "US/Mountain",
    "US/Pacific",
    "US/Pacific-New",
    "US/Samoa",
    "UTC",
    "Universal",
    "W-SU",
    "WET",
    "Zulu"
]
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/tz'
```

</details></details>#### /system/info

Метод получения системной информации устройства.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--49"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 305.515px;"><colgroup><col style="width: 25.6739%;"></col><col style="width: 17.0732%;"></col><col style="width: 57.1245%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">model</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Название модели используемой камеры.

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">temperature</td><td style="vertical-align: middle; height: 57.7812px;">Double</td><td style="vertical-align: middle; height: 57.7812px;">Значение температуры процессора камеры.

\- Нормальная температура до 95**°**C.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">chipId</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Идентификатор чипа камеры.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">mac</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Мак адрес устройства.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">deviceID</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Серийный номер устройства.

</td></tr><tr><td style="vertical-align: middle;">deviceModel</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Наименование устройства.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">uptime</td><td style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Время работы устройства.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">registerStatus</td><td style="vertical-align: middle; height: 35.3906px;">Boolean</td><td style="vertical-align: middle; height: 35.3906px;">Флаг состояния SIP регистрации.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-97"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
    "model": "HI3516EV200",
    "temperature": 72.69,
    "chipId": "020c39870e0038c96370030ac215b9932729d124509c25eb",
    "mac": "08:13:00:00:00:00",
    "deviceID": "0000000",
    "deviceModel": "ISCom X1 (rev.2)",
    "uptime": 310,
    "registerStatus": false
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/info'
```

</details></details>#### /system/versions

Метод получения текущих версий прошивки устройства.

<p class="callout warning">Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)  
Советуем использовать новый метод:  
 **[ /v2/system/versions](#bkmrk-%2Fv2%2Fsystem%2Fversions)**</p>

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--26"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 266.516px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">rootfs</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Версия раздела камеры с Linux.

</td></tr><tr><td style="vertical-align: middle;">web</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Версия web интерфейса.

</td></tr><tr><td style="vertical-align: middle;">camofon</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Версия SIP клиента.

</td></tr><tr><td style="vertical-align: middle;">streamer</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Версия RTSP сервера.

</td></tr><tr><td style="vertical-align: middle;">hw</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Версия платы устройства.

</td></tr><tr><td style="vertical-align: middle;">sw</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Версия прошивки микроконтроллера.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-99"><summary>GET - Получение версий прошивки</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение версий прошивки</p>

**Тело:**

```json
{
    "rootfs": "1.1.1",
    "web": "2.2.2",
    "camofon": "3.3.3",
    "streamer": "4.4.4",
    "hw": "2.2",
    "sw": "3.3"
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/versions'
```

</details></details>#### /system/settings

Методы получения и изменения системных настроек.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--50"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 266.516px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">log\_level</td><td style="vertical-align: middle; height: 57.7812px;">Object</td><td style="vertical-align: middle; height: 57.7812px;">Уровни логирования приложений.

</td></tr><tr><td style="vertical-align: middle;"> api

 uart  
 camofon

 streamer  
 proguard

 store

 baresip

 libre

</td><td style="vertical-align: middle;"> Integer</td><td style="vertical-align: middle;"> Уровень логирования приложения:

\- 1 - Trace;  
\- 2 - Debug;  
\- 3 - Info;  
\- 4 - Warning;  
\- 5 - Error;  
\- 6 - Fatal.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">3</span>

</td></tr><tr><td style="vertical-align: middle;">tz

</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Текущая временная зона ([**Поддерживаемые зоны**](#bkmrk-%2Fsystem%2Ftz)).

\- По умолчанию: <span style="color: rgb(186, 55, 42);">Asia/Yekaterinburg</span>

</td></tr><tr><td style="vertical-align: middle;">dateTime

</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">Текущая дата и время

</td></tr><tr><td style="vertical-align: middle;">dns

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры DNS серверов

**ВАЖНО!** Является устаревшим, советуем использовать метод **[/v1/network](#bkmrk-%2Fv1%2Fnetwork)** для получения и изменения сетевых настроек включая сервера dns.

</td></tr><tr><td style="vertical-align: middle;"> auto

</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Флаг работы с dns серверами.

\- true - автоматически;

\- false - в ручную.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td style="vertical-align: middle;"> nameservers

</td><td style="vertical-align: middle;"> Array</td><td style="vertical-align: middle;"> Массив строк с dns серверами.

</td></tr><tr><td style="vertical-align: middle;">ntp

</td><td style="vertical-align: middle;">Array</td><td style="vertical-align: middle;">Массив строк с ntp серверами.

</td></tr><tr><td style="vertical-align: middle;">assist

</td><td style="vertical-align: middle;">Object</td><td style="vertical-align: middle;">Параметры для работы ассистента.

</td></tr><tr><td style="vertical-align: middle;"> enable

</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Флаг включения / выключения ассистента.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

</td></tr><tr><td style="vertical-align: middle;"> online

</td><td style="vertical-align: middle;"> Boolean</td><td style="vertical-align: middle;"> Флаг переключения онлайн и оффлайн ассистента.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">true</span>

 **ВАЖНО!** Онлайн ассистент подразумевает входящие вызовы на панель при реагировании на различные события в логах.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-101"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров</p>

**Тело:**

```json
{
    "log_level": {
        "api": 3,
        "uart": 3,
        "camofon": 3,
        "streamer": 3,
        "proguard": 3,
        "store": 3,
        "baresip": 3,
        "libre": 3
    },
    "tz": "UTC",
    "dns": {
        "auto": true,
        "nameservers": [
            "78.29.2.21",
            "78.29.2.22"
        ]
    },
    "ntp": [
        "0.pool.ntp.org",
        "1.pool.ntp.org",
        "10.100.12.14"
    ],
    "assist": {
        "enable": true,
        "online": true
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/settings'
```

</details></details><details id="bkmrk-%C2%A0-102"><summary>PUT - Изменение параметров</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "log_level": {
        "api": 3,
        "uart": 3,
        "camofon": 3,
        "streamer": 3,
        "proguard": 3,
        "store": 3,
        "baresip": 3,
        "libre": 3
    },
    "tz": "UTC",
    "dns": {
        "auto": true,
        "nameservers": [
            "78.29.2.21",
            "78.29.2.22"
        ]
    },
    "ntp": [
        "0.pool.ntp.org",
        "1.pool.ntp.org",
        "10.100.12.14"
    ],
    "assist": {
        "enable": true,
        "online": true
    }
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение параметров</p>

**Тело:**

```json
{
  "log_level": {
    "api": 3,
    "uart": 3,
    "camofon": 3,
    "streamer": 3,
    "proguard": 3,
    "store": 3,
    "baresip": 3,
    "libre": 3
  },
  "tz": "Asia/Yekaterinburg",
  "dateTime": "2024-06-13T11:02:22+0500",
  "dns": {
    "auto": true,
    "nameservers": [
      "78.29.2.21",
      "78.29.2.22"
    ]
  },
  "ntp": [
    "0.pool.ntp.org",
    "1.pool.ntp.org",
    "time.is74.ru"
  ],
  "assist": {
    "enable": true,
    "online": true
  }
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/settings' \
--data-raw '{
    "log_level": {
        "api": 3,
        "uart": 3,
        "camofon": 3,
        "streamer": 3,
        "proguard": 3,
        "store": 3,
        "baresip": 3,
        "libre": 3
    },
    "tz": "UTC",
    "dns": {
        "auto": true,
        "nameservers": [
            "78.29.2.21",
            "78.29.2.22"
        ]
    },
    "ntp": [
        "0.pool.ntp.org",
        "1.pool.ntp.org",
        "10.100.12.14"
    ],
    "assist": {
        "enable": true,
        "online": true
    }
}'
```

</details></details>#### /system/fw\_env

Метод получения текущего mac-адреса.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--51"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 266.516px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr><td style="vertical-align: middle;">ethaddr</td><td style="vertical-align: middle;">String</td><td style="vertical-align: middle;">MAC адрес устройства

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-103"><summary>GET - Получение параметров</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное получение параметров </p>

**Тело:**

```json
{
    "ethaddr": "08:13:00:00:00:00"
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100/system/fw_env'
```

</details></details>#### /system/backup

Метод создания резервной копии устройства.

<p class="callout info">Для восстановление резервной копии используется метод:  
 [**/system/restore**](#bkmrk-%2Fsystem%2Frestore)</p>

<details id="bkmrk-%C2%A0-106"><summary>GET - Создание резервной копии</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешное создание резервной копии </p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="height: 25.7969px;">**Название**</td><td style="height: 25.7969px;">**Значение**</td><td style="height: 25.7969px;">**Описание**</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">application/octet-stream</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr><tr><td style="vertical-align: middle;">Content-Disposition

</td><td style="vertical-align: middle;">attachment; filename="backup-08:13:00:00:00:00.bin"</td><td style="vertical-align: middle;">Формат возвращаемых данных</td></tr></tbody></table>

 **Тело:**

```
*** Бинарное представление файла ***
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/backup'
```

</details></details>#### /system/restore

Метод восстановления резервной копии устройства.

<p class="callout info">Для создания резервной копии используется метод:  
 [**/system/backup**](#bkmrk-%2Fsystem%2Fbackup) </p>

<details id="bkmrk-%C2%A0-108"><summary>PUT - Восстановление резервной копии</summary>

<details><summary>Запрос</summary>

 **Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3778%;"></col><col style="width: 33.3778%;"></col><col style="width: 33.3778%;"></col></colgroup><tbody><tr><td style="height: 25.7969px; vertical-align: middle;">**Название**

</td><td style="height: 25.7969px; vertical-align: middle;">**Значение**</td><td style="height: 25.7969px; vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">application/octet-stream</td><td style="vertical-align: middle;">Тип передаваемых данных</td></tr></tbody></table>

**Тело:**

```
*** Бинарный файл ***
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное восстановление резервной копии</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="height: 25.7969px; vertical-align: middle;">**Название**

</td><td style="height: 25.7969px; vertical-align: middle;">**Значение**</td><td style="height: 25.7969px; vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/octet-stream' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/restore' \
--data-binary './backup-08_13_00_00_00_00.bin'
```

</details></details>#### /system/reboot

Метод перезагрузки устройства.

<details id="bkmrk-%C2%A0-110"><summary>PUT - Перезагрузка устройства</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success">Успешная перезагрузка устройства</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="height: 25.7969px; vertical-align: middle;">**Название**

</td><td style="height: 25.7969px; vertical-align: middle;">**Значение**</td><td style="height: 25.7969px; vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/reboot'
```

</details></details>#### /system/restart/{сервис}

Метод перезапуска указанного сервиса.

<p class="callout info">Список поддерживаемых параметров "{сервис}":  
 - api;  
 - uart;  
 - upgrade;  
 - camofon;  
 - streamer.  
</p>

<details id="bkmrk-%C2%A0-112"><summary>PUT - Перезапуск сервиса</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success">Успешный перезапуск сервиса</p>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/restart/api'
```

</details></details>#### /system/factory-reset

Метод сброса устройства к заводским настройкам.

<details id="bkmrk-%C2%A0-114"><summary>PUT - Сброс устройства к заводским настройкам</summary>

<details><summary>Ответы</summary>

<details><summary>204 OK</summary>

<p class="callout success">Успешный сброс устройства к заводским настройкам</p>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/factory-reset'
```

</details></details>#### /system/upgrade

Метод обновления микроконтроллера устройства.

<p class="callout warning">Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)  
На поздних прошивках использовать новый метод:  
 [**/v2/system/upgrade**](#bkmrk-%2Fv2%2Fsystem%2Fupgrade)</p>

<p class="callout info">Для данного способа обновления необходим TFTP сервер</p>

<details id="bkmrk-%C2%A0-116"><summary>PUT - Запуск обновления</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешный запуск обновления</p>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**</td><td style="vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/upgrade'
```

</details></details>#### /system/upload\_fw

Метод загрузки прошивки в микроконтроллер.

<p class="callout warning">Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)  
На поздних прошивках использовать новый метод:  
 [**/v2/system/upgrade**](#bkmrk-%2Fv2%2Fsystem%2Fupgrade)</p>

<p class="callout info">Для данного способа обновления необходим TFTP сервер</p>

<details id="bkmrk-%C2%A0-118"><summary>PUT - Загрузка прошивки</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

**Заголовки:**

<table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col><col style="width: 33.3797%;"></col></colgroup><tbody><tr><td style="vertical-align: middle;">**Название**

</td><td style="vertical-align: middle;">**Значение**</td><td style="vertical-align: middle;">**Описание**</td></tr><tr><td style="vertical-align: middle;">Content-Type

</td><td style="vertical-align: middle;">text/html; charset=ISO-8859-1</td><td style="vertical-align: middle;">Тип возвращаемых данных</td></tr></tbody></table>

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/upload_fw'
```

</details></details>#### /system/cam/upgrade

Метод обновления разделов камеры устройства.

<p class="callout warning">Метод действителен для устройств на прошивкой до 2.5.6.1 (включительно)  
На поздних прошивках использовать новый метод:  
 [**/v2/system/upgrade**](#bkmrk-%2Fv2%2Fsystem%2Fupgrade)  
</p>

<p class="callout info">Для данного способа обновления необходим TFTP сервер</p>

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--30"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 266.516px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">server</td><td style="vertical-align: middle; height: 57.7812px;">String</td><td style="vertical-align: middle; height: 57.7812px;">IP адрес или DNS имя TFTP сервера с папкой для обновления.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">folder</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Путь до папки с файлами обновления на TFTP сервере.

</td></tr><tr><td style="vertical-align: middle;">stm</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг обновления прошивки микроконтроллера.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 57.7812px;"><td style="vertical-align: middle; height: 57.7812px;">opt</td><td style="vertical-align: middle; height: 57.7812px;">Boolean</td><td style="vertical-align: middle; height: 57.7812px;">Флаг обновления раздела камеры с приложениями.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 80.1719px;"><td style="vertical-align: middle; height: 80.1719px;">media</td><td style="vertical-align: middle; height: 80.1719px;">Boolean</td><td style="vertical-align: middle; height: 80.1719px;">Флаг обновления раздела камеры с аудио записями (оффлайн ассистента, оповещения).

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr><td style="vertical-align: middle;">rootfs</td><td style="vertical-align: middle;">Boolean</td><td style="vertical-align: middle;">Флаг обновления раздела камеры с Linux.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-120"><summary>PUT - Запуск обновления камеры</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "server": "192.168.0.10",
    "folder": "ISComX1/2.5.6.1",
    "opt": true,
    "media": true,
    "rootfs": true
} 
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешный запуск обновления</p>

**Тело:**

```json
{
    "server": "192.168.0.10",
    "folder": "ISComX1/2.5.6.1",
    "stm": true,
    "opt": true,
    "media": true,
    "rootfs": true
} 
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/cam/upgrade' \
--data-raw '{
    "server": "192.168.0.10",
    "folder": "ISComX1/2.5.6.1",
    "opt": true,
    "media": true,
    "rootfs": true
} '
```

</details></details>#### /v2/system/versions

Метод получения текущих версий прошивки устройства.

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--52"><summary>Описание параметров</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 437.859px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">opt</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Версии устройства для раздела с приложениями.

</td></tr><tr><td style="vertical-align: middle;"> date</td><td style="vertical-align: middle;"> Date</td><td style="vertical-align: middle;"> Дата создания прошивки для раздела.

</td></tr><tr><td style="vertical-align: middle;"> name</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Версия прошивки для раздела.

</td></tr><tr><td style="vertical-align: middle;"> versions</td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;"> Версии по конкретным приложения.

</td></tr><tr><td style="vertical-align: middle;"> api  
 proguard  
 camofon  
 ddns  
 streamer  
 uart  
 upgrade  
 overlay </td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;"> Описание версии приложения.

</td></tr><tr><td style="vertical-align: middle;"> name</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Версия приложения.

</td></tr><tr><td style="vertical-align: middle;"> hash</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Хэш сумма коммита приложения.

</td></tr><tr><td style="vertical-align: middle;"> hw</td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;"> Описание версии платы.

</td></tr><tr><td style="vertical-align: middle;"> name</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Версия платы.

</td></tr><tr><td style="vertical-align: middle;"> mcu</td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;"> Описание версии микроконтроллера.

</td></tr><tr><td style="vertical-align: middle;"> name</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Версия прошивки микроконтроллера.

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">media</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Версии устройства для раздела с аудио записями (оффлайн ассистента, оповещения).

</td></tr><tr><td style="vertical-align: middle;"> date</td><td style="vertical-align: middle;"> Date</td><td style="vertical-align: middle;"> Дата создания прошивки для раздела.

</td></tr><tr><td style="vertical-align: middle;"> name</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Версия прошивки для раздела.

</td></tr><tr><td style="vertical-align: middle;"> versions</td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;"> Версии по конкретным приложения.

</td></tr><tr><td style="vertical-align: middle;"> overlay </td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;"> Описание версии приложения.

</td></tr><tr><td style="vertical-align: middle;"> name</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Версия приложения.

</td></tr><tr><td style="vertical-align: middle;"> hash</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Хэш сумма коммита приложения.

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">rootfs</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Версии устройства для раздела Linux.

</td></tr><tr><td style="vertical-align: middle;"> date</td><td style="vertical-align: middle;"> Date</td><td style="vertical-align: middle;"> Дата создания прошивки для раздела.

</td></tr><tr><td style="vertical-align: middle;"> name</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Версия прошивки для раздела.

</td></tr><tr><td style="vertical-align: middle;"> versions</td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;"> Версии по конкретным приложения.

</td></tr><tr><td style="vertical-align: middle;"> libre  
 libiscom  
 baresip  
 ircut  
 rootfs  
 overlay </td><td style="vertical-align: middle;"> Object</td><td style="vertical-align: middle;"> Описание версии приложения.

</td></tr><tr><td style="vertical-align: middle;"> name</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Версия приложения.

</td></tr><tr><td style="vertical-align: middle;"> hash</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Хэш сумма коммита приложения.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-122"><summary>GET - Получение версий</summary>

<details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение версий прошивки</p>

**Тело:**

```json
{
    "opt": {
        "date": "2023-07-13",
        "name": "2.2.5.9.0",
        "versions": {
            "api": {
                "name": "0.3.3",
                "hash": "5c171d90a121cd53847397141784fd446fbf2992"
            },
            "proguard": {
                "name": "0.0.2",
                "hash": "2f52c0e931885b33cae5bb995c8e56fcc76baf80"
            },
            "camofon": {
                "name": "0.1.4",
                "hash": "9e52cf80bbe1908e6e668467e25e0cdcb4929ddc"
            },
            "ddns": {
                "name": "0.0.2",
                "hash": "adc486d21c5e3204980290b1eb413541446aff56"
            },
            "store": {
                "name": "0.0.4",
                "hash": "b4838b51190da1eea2e30b3ca0d54be47f565875"
            },
            "streamer": {
                "name": "2.8.1",
                "hash": "db96ab3070d1bc2daeb13bd0bd7786b33052c527"
            },
            "uart": {
                "name": "0.0.7",
                "hash": "f9e5460bddeef002a85fca1730927f6073e1eb9f"
            },
            "web_front": {
                "name": "2.5.4",
                "hash": "d8f8cead3fcb11cce809a4e6e67cb3f0edf77ab5"
            },
            "overlay": {
                "name": "0.1.8",
                "hash": "bd66e9a3d542dcced458decbe505ea911640958a"
            },
            "hw": {
                "name": "2.5"
            },
            "mcu": {
                "name": "3.44"
            }
        }
    },
    "media": {
        "date": "2023-05-10",
        "name": "2.5.7.19",
        "versions": {
            "overlay": {
                "name": "0.1.1",
                "hash": "45acfbd6cc600fee89e00fecbe9aaa9f0434fb13"
            }
        }
    },
    "rootfs": {
        "date": "2023-07-10",
        "name": "2.2.5.9.0",
        "versions": {
            "libre": {
                "name": "0.0.1",
                "hash": "fce5ecdd3513d37fa5d87e1515a82072761a7a06"
            },
            "librem": {
                "name": "0.0.1",
                "hash": "01ebe94c4b8671e684c2601b339efe211640a5c5"
            },
            "libiscom": {
                "name": "0.0.10",
                "hash": "1beb6432294d22c0e35014f059cc844e1eec4c39"
            },
            "baresip": {
                "name": "0.0.1",
                "hash": "b711f10af2417de49e4c718ac4a2ad181009d2f8"
            },
            "ircut": {
                "name": "0.0.9",
                "hash": "2558b1e9f7f57f1eb91e4d1979b1cbe4aa214082"
            },
            "rootfs": {
                "name": "0.0.14",
                "hash": "3a0bfa2ecf5f118fdcd22ce068fa3bd0d73fc48d"
            },
            "overlay": {
                "name": "0.1.8",
                "hash": "bd66e9a3d542dcced458decbe505ea911640958a"
            }
        }
    }
}
```

</details></details><details><summary>Примеры</summary>

 **CURL:**

```bash
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/system/versions'
```

</details></details>#### /v2/system/upgrade

Метод обновления устройства.

<p class="callout warning">Метод действителен для устройств на прошивках более 2.5.7.5</p>

<p class="callout info">Для данного способа обновления необходим HTTP сервер</p>

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2--53"><summary>Описание параметров</summary>

<details><summary>GET</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 437.859px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">state</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Описание состояния обновления.  
\- По умолчанию: <span style="color: rgb(186, 55, 42);">Обновление не запущено</span>

</td></tr><tr><td style="vertical-align: middle;">stateId</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Идентификатор состояния обновления.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr><tr><td style="vertical-align: middle; height: 35.3906px;">message</td><td style="vertical-align: middle; height: 35.3906px;">String</td><td style="vertical-align: middle; height: 35.3906px;">Описание под состояния обновления.  
\- По умолчанию: <span style="color: rgb(186, 55, 42);">Приложение Upgrade запущено</span>

</td></tr><tr><td style="vertical-align: middle;">messageId</td><td style="vertical-align: middle;">Integer</td><td style="vertical-align: middle;">Идентификатор под состояния обновления  
\- По умолчанию: <span style="color: rgb(186, 55, 42);">0</span>

</td></tr></tbody></table>

</details><details><summary>PUT</summary>

<table border="1" style="border-collapse: collapse; width: 100%; height: 437.859px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">code</td><td style="vertical-align: middle; height: 35.3906px;">Integer</td><td style="vertical-align: middle; height: 35.3906px;">Код ответа на запрос.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">data</td><td style="vertical-align: middle; height: 35.3906px;">Object</td><td style="vertical-align: middle; height: 35.3906px;">Параметры используемые при обновлении.

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;"> url</td><td style="vertical-align: middle; height: 35.3906px;"> String</td><td style="vertical-align: middle; height: 35.3906px;"> Ссылка на папку с файлами обновления на HTTP сервере.

</td></tr><tr style="height: 80.1719px;"><td style="vertical-align: middle; height: 80.1719px;"> mcu</td><td style="vertical-align: middle; height: 80.1719px;"> Boolean</td><td style="vertical-align: middle; height: 80.1719px;"> Флаг включения обновления микроконтроллера устройства.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 80.1719px;"><td style="vertical-align: middle; height: 80.1719px;"> opt</td><td style="vertical-align: middle; height: 80.1719px;"> Boolean</td><td style="vertical-align: middle; height: 80.1719px;"> Флаг включения обновления раздела с приложениями на камере.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 80.1719px;"><td style="vertical-align: middle; height: 80.1719px;"> media</td><td style="vertical-align: middle; height: 80.1719px;"> Boolean</td><td style="vertical-align: middle; height: 80.1719px;"> Флаг включения обновления раздела с аудио записями (оффлайн ассистент, оповещение) на камере.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr><tr style="height: 55.7812px;"><td style="vertical-align: middle; height: 55.7812px;"> rootfs </td><td style="vertical-align: middle; height: 55.7812px;"> Boolean</td><td style="vertical-align: middle; height: 55.7812px;"> Флаг включения обновления раздела Linux на камере.

\- По умолчанию: <span style="color: rgb(186, 55, 42);">false</span>

</td></tr></tbody></table>

</details></details><details id="bkmrk-%C2%A0-124"><summary>PUT - Запуск обновления</summary>

<details><summary>Запрос</summary>

**Тело:**

```json
{
    "url": "http://192.168.0.10:8000/2.5.6.1",
    "mcu": true,
    "opt": true,
    "media": true,
    "rootfs": true
}
```

</details><details><summary>Ответы</summary>

<details><summary>200 OK</summary>

<p class="callout success"> Успешное получение задания на обновление</p>

**Тело:**

```json
{
    "code": 200,
    "data": {
        "url": "http://192.168.0.10:8000/2.5.6.1",
        "mcu": true,
        "opt": true,
        "media": true,
        "rootfs": true
    }
}
```

</details><details><summary>400 Bad Request</summary>

<p class="callout warning">Ошибка при проверки переданных параметров  
</p>

**Тело:**

<table border="1" style="border-collapse: collapse; width: 100%; height: 437.859px;"><colgroup><col style="width: 25.7302%;"></col><col style="width: 17.1071%;"></col><col style="width: 57.1627%;"></col></colgroup><tbody><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">**Название**  
</td><td class="align-left" style="vertical-align: middle; height: 35.3906px;">**Тип**  
</td><td style="vertical-align: middle; height: 35.3906px;">**Описание**

</td></tr><tr style="height: 35.3906px;"><td style="vertical-align: middle; height: 35.3906px;">errors</td><td style="vertical-align: middle; height: 35.3906px;">Array</td><td style="vertical-align: middle; height: 35.3906px;">Массив возвращаемых ошибок.

</td></tr><tr><td style="vertical-align: middle;"> message</td><td style="vertical-align: middle;"> String</td><td style="vertical-align: middle;"> Сообщение об ошибке.

</td></tr></tbody></table>

```json
{
    "errors": [
        {
            "message": "Ошибка: url - Параметр пуст или не найден"
        }
    ]
}
```

или

```json
{
    "errors": [
        {
            "message": "Ошибка: stm - Должен быть логической переменной"
        }
    ]
}
```

или

```json
{
    "errors": [
        {
            "message": "Ошибка: opt - Должен быть логической переменной"
        }
    ]
}
```

или

```json
{
    "errors": [
        {
            "message": "Ошибка: media - Должен быть логической переменной"
        }
    ]
}
```

или

```json
{
    "errors": [
        {
            "message": "Ошибка: rootfs - Должен быть логической переменной"
        }
    ]
}
```

</details></details><details><summary>Примеры</summary>

**CURL:**

```bash
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v2/system/upgrade' \
--data-raw '{
    "url": "http://192.168.0.10:8000/2.5.6.1",
    "mcu": true,
    "opt": true,
    "media": true,
    "rootfs": true
}'
```

</details></details>

# Инструкция по пользованию Postman

Пример использования API-метода для настройки умного домофона Сокол с помощью программы Postman: [Видеоинструкция Postman.mp4](https://doc.is74.ru/attachments/23)

<video controls="controls" height="338" style="width: 676px; height: 338px;" width="676"> <source src="https://doc.is74.ru/attachments/23"></source></video>

# Коллекция API-методов Postman для домофона Сокол

Вы можете скачать коллекцию методов по ссылке: [Sokol\_API.postman\_collection.json](https://doc.is74.ru/attachments/24)