API Документация
Описание
В данном документе описаны API-методы для взаимодействия с домофонной панелью Сокол (rev.2) через http-запросы.
На устройстве по умолчанию 2 виртуальных сетевых интерфейса:
 - Динамический;
 - Статический (192.168.0.100).
Метод для настройки сетевых интерфейсов:
   /v1/network
Данные для авторизации по умолчанию:
   - логин: root
   - пароль: 123456
Метод для смены пароля по умолчанию:
   /user/change_password
Обязательные заголовки
Некоторые методы могут иметь другое значение для указанных заголовков или новые заголовки.
Запрос
| Наименование | Значение | Описание | 
| GET, PUT, POST, DELETE | ||
| Authorization | Basic cm9vdDoxMjM0NTY= | Заголовок "Базовой авторизации" | 
| PUT, POST, DELETE | ||
| Content-Type | application/json | Тип передаваемых данных | 
| Content-Length | 0 | Размер передаваемых данных | 
Ответ
Заголовки
| Наименование | Значение | Описание | 
| Authorization | Basic cm9vdDoxMjM0NTY= | Заголовок "Базовой авторизации" | 
| Content-Type | application/json | Тип возвращаемых данных | 
| Content-Length | 0 | Размер возвращаемых данных | 
| X-Device-Mac | 08:13:00:00:00:00 | Мак адрес устройства | 
Коды
| Наименование | Значение | 
| Успешные | 
 | 
| Пользовательские | 
 | 
| Серверные | 
 | 
Авторизация
/auth/check
Метод проверки данных, используемых для авторизации, при вызове API-методов.
Для авторизации поддерживается "Базовая аутентификация (Basic access authentication)" .
GET - Проверка авторизации
Ответы
200 OK
Авторизация пройдена
Заголовки:
| Наименование | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
401 Unauthorized
- Не корректно передан заголовок Authorization
- Используются не корректные данные логин или пароль
Заголовки:
| Наименование | Значение | Описание | 
| WWW-Authenticate | Basic realm="Access to camofon", charset="UTF-8" | Заголовок обязательной авторизации | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/auth/check'Пользователь
/user/change_password
Метод смены текущего пароля пользователя на новый.
Описание параметров
| Название | Тип | Описание | 
| newPassword | String | Новый пароль для указанного пользователя в заголовке авторизации. - По умолчанию: 123456 | 
PUT - Обновление пароля
Запрос
Тело:
{
  "newPassword": "123456"
}Ответы
200 OK
Успешная смена пароля
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
400 Bad Request
Ошибка проверки переданных параметров
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| field | String | Название переменной к которой относиться ошибка. | 
| message | String | Сообщение об ошибки для переменной из поля "field". | 
{
    "errors": [
        {
            "field": "newPassword",
            "message": "Ошибка получения поля newPassword из запроса"
        }
    ]
}Примеры
CURL:
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"}'Параметры API
/v1/api
Методы получения и настройки параметров HTTP-сервера.
Описание параметров
| Название | Тип | Описание | 
| port | Integer | Порт для работы HTTP-сервера. - По умолчанию: 80 | 
GET - Получение параметров
Ответы
200 OK
Успешное получение данных
Тело:
{
    "port": 80
}Примеры
Curl:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/api'PUT - Изменение параметров
Запрос
Тело:
{
    "port": 80
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "port": 80
}400 Bad Request
Ошибка проверки переданных параметров
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение с ошибкой. | 
{
    "errors": [
        {
            "message": "Не удалось распарсить json"
        }
    ]
}Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/api' \
--data-raw '{"port": 80}'Параметры DDNS
/v1/ddns
Методы получение и изменения параметров ddns клиента, основанного на открытом No-IP протоколе.
Описание параметров
| Название | Тип | Описание | 
| enabled | Boolean | Флаг включения / отключения DDNS клиента. - По умолчанию: false | 
| interval | Integer | Интервал отправки http запросов на сервер. - По умолчанию: 300 | 
| server | Object | Параметры подключения к сервере | 
| port | Integer | Порт сервера для отправки запросов. - По умолчанию: 8081 | 
| address | String | Адрес сервера для отправки запросов. - По умолчанию: 10.199.63.7 | 
| username | String | Логин для авторизации. - По молчанию: default | 
| password | String | Пароль для авторизации. - По молчанию: default | 
| data | Object | Отправляемые данные. | 
| hostname | String | Передаваемый тип устройства. - По умолчанию: ddns.ISCom | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/ddns'PUT - Изменение параметров
Запрос
Тело:
{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}Примеры
CURL:
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"
    }
}'
DELETE - Сброс параметров
Ответы
200 OK
Успешный сброс параметров к стандартным
Тело:
{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/v1/ddns'Видеопоток
RTSP
Методы получения основного и дополнительного видеопотоков.
Основной видеопоток
VLC:
vlc rtsp://root:123456@192.168.0.100:554/ch0FFPLAY:
ffplay rtsp://root:123456@192.168.0.100:554/ch0Дополнительный видеопоток
VLC:
vlc rtsp://root:123456@192.168.0.100:554/ch1FFPLAY:
ffplay rtsp://root:123456@192.168.0.100:554/ch1/camera/md
Методы получение и изменения параметров детектора движения видеопотока.
Описание параметров
| Название | Тип | Описание | 
| md_enable | Boolean | Флаг включения / отключения детектора движения. - По умолчанию: false | 
| md_area_thr | Integer | Минимальный размер детектируемой области. Для людей на близком расстоянии примерно 100000 пикселей. - По умолчанию: 30000 пикселей | 
| md_send_snapshot_enable | Boolean | Флаг включения / отключения отправки картинок на сервер указанный в параметре "snap_send_url". - По умолчанию: false | 
| md_send_snapshot_interval | Integer | Интервал в секундах между отправкой картинок на сервер. - Ограничение: 1 - 20 секунд - По умолчанию: 1 секунда 
 ВАЖНО! Будет отправлена одна картинка, даже если за этот период было задетектировано больше движений. | 
| md_rects_enable | Boolean | Флаг включения / отключения отображения рамок детектора. - По умолчанию: false | 
| md_logs_enable | Boolean | Флаг включения / отключения отправки событий детектора в логи. - По умолчанию: false | 
| md_rect_color | String | Цвет отображающихся рамок детектора. - По умолчанию: 0xFF0000 | 
| md_frame_int | Integer | Интервал между кадрами, отправляемыми на поиск движения. - По умолчанию: 30 кадров | 
| md_frame_shift | Integer | Смещение второго кадра, участвующего в определении детекции. - По умолчанию: 1 кадр | 
| md_max_rect_ratio | Double | Максимальное соотношение длина / ширина прямоугольника для отображения. - По умолчанию: 8.0 | 
| snap_send_url | String | HTTP адрес на который будут отправляться картинки детектора. - По умолчанию: "" | 
При использовании удаленного HTTP-сервера детекции (snap_send_url).
Данные формата application/json отправляются на HTTP-сервер с помощью POST метода.
| Название | Тип | Описание | 
| time | String | Дата и время в формате "%y-%m-%d %H:%M:%S". | 
| df_id | String | Мак адрес устройства без символов двоеточия. | 
| img_bytes | String | Представление картинки в base64 строке. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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": ""
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/md'PUT - Изменение параметров
Запрос
Тело:
{
    "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": ""
}Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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": ""
}Примеры
CURL:
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": ""
}'/camera/audio
Методы получение и изменения параметров звука.
Описание параметров
| Название | Тип | Описание | 
| aac_enable | Boolean | Флаг включения / отключения кодирования звука в AAC. - По умолчанию: false (звук в PCMU) | 
| format | String | Формат кодирования звука. - По умолчанию: AAC - Поддерживаемые варианты: - AAC; - PCM; - PCMA (G.711A); - PCMU (G.711U); | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "aac_enable": true,
    "format": "AAC"
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/audio'PUT - Изменение параметров
Запрос
Тело:
{
    "aac_enable": true
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "aac_enable": true,
    "format": "AAC"
}Примеры
CURL:
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"
}'/camera/codec
Методы получения и изменения параметров видеопотоков (основного, дополнительного).
Описание параметров
| Название | Тип | Описание | 
| Channels | Array | Массив видео потоков. | 
| Channel | Integer | Номер видео потока. | 
| Type | String | Тип кодека видео. | 
| Profile | Integer | Профиль кодека. - По умолчанию: 1 (Main) - Поддерживаемые варианты: - 1 - Main; - 2 - Baseline; - 3 - High; | 
| ByFrame | Boolean |  | 
| Width / Height | Integer | Разрешение видео потока. - Поддерживаемые варианты: - 1920х1080 (основной поток); - 1280х720; - 720х576; - 704х576; - 640х480; - 640х360. | 
| GopMode | String | 
 | 
| IPQpDelta | Integer | 
 | 
| RcMode | String | Режим управления кодированием. - По умолчанию: AVBR | 
| IFrameInterval | Integer | Интервал опорного кадра (кадр/сек). - По умолчанию: 30 | 
| MaxBitrate | Integer | Максимальный битрейт видеопотока (Кбит/сек). | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
        }
    ]
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/codec'PUT - Изменение параметров
Запрос
Тело:
{
    "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
        }
    ]
}Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
        }
    ]
}Примеры
CURL:
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
        }
    ]
}'/camera/picture
Методы получение и изменения параметров картинки (отражение по вертикали, отражение по горизонтали).
Описание параметров
| Название | Тип | Описание | 
| Image | Object | Параметры отражения картинки по вертикали и по горизонтали. | 
| Flip | Boolean | Отражение картинки по вертикали. - По умолчанию: false | 
| Mirror | Boolean | Отражение картинки по горизонтали. - По умолчанию: false | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/picture'PUT - Изменение параметров
Запрос
Тело:
{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}Примеры
CURL:
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
    }
}'/camera/snapshot
Метод получение картинки с видеопотока в данный момент.
Размер картинки зависит от размера основного видеопотока
Для смены размера картинки видеопотока используйте:
   /camera/codec
GET - Получение картинки
Ответы
200 OK
Заголовки:
| Название | Значение | Описание | 
| Content-Type | image/jpeg | Тип возвращаемых данных | 
Тело:
*** Бинарное представление картинки ***Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/snapshot'/camera/whiteBlack
Методы получения и изменения параметров черно-белого режима видеопотока. Для перехода в цветной и черно-белый режим используется экспозиция.
- Для перехода потока в цветной режим: необходимо значение "exposureCurrent" менее "exposureLight"
- Для перехода потока в черно-белый режим: необходимо значение "exposureCurrent" более  "exposureNight" 
Описание параметров
| Название | Тип | Описание | 
| state | Boolean | Текущее состояние черно-белого режима. | 
| threshold | Object | Пороги переключения черно-белого режима. | 
| exposureCurrent | Integer | Текущее значение экспозиции сенсора. | 
| exposureLight | Integer |    Порог включение цветного режима. - Ограничения: 0 - 4294967295 - По умолчанию: 22000 | 
| exposureNight | Integer | Порог включения черно-белого режима. - Ограничения: 0 - 4294967295 - По умолчанию: 250000 | 
GET - Получение параметров
Ответы
200 OK
Успешное получение данных
Тело:
{
    "state": false,
    "threshold": {
        "exposureCurrent": 100000,
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/whiteBlack'PUT - Изменение параметров
Запрос
Тело:
{
    "threshold": {
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "state": false,
    "threshold": {
        "exposureCurrent": 100000,
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}400 Bad Request
Ошибка проверки переданных параметров
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение об ошибке. | 
{
    "errors": [
        {
            "message": "Не удалось распарсить JSON 3: unexpected token near '}'"
        }
    ]
}Примеры
CURL:
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
    }
}'/v2/camera/osd
Методы получения и изменения параметров наложения текста на видеопоток (osd).
Видео поток поддерживает отображение до 3-х строк.
Описание параметров
| Название | Тип | Описание | 
| size | Integer | Размер отображаемой информации. | 
| text | String | Отображаемый текст. - Длина строки: 0 - 100 символов | 
| color | String | Цвет osd в hex. | 
| date | Object | Параметры отображения даты. | 
| enable | Boolean | Флаг включения / отключения отображения даты. | 
| format | String | Формат отображаемой даты (форматы). | 
| time | Object | Параметры отображения времени. | 
| enable | Boolean | Флаг включения / отключения отображения времени. | 
| format | String | Формат отображаемового времени (форматы). | 
| position | Object | Параметры смещения текста. | 
| x | Integer | Смещение по оси "X" (пиксели). | 
| y | Integer | Смещение по оси "Y" (пиксели). | 
| background | Object | Параметры отображения фона. | 
| enable | Boolean | Флаг включения / отключения фона. | 
| color | String | Цвет фона в hex. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
[
    {
        "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"
        }
    }
]Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/camera/osd'PUT - Изменение параметров
Запрос
Тело:
[
    {
        "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"
        }
    }
]Ответы
200 OK
Успешное изменение параметров
Тело:
[
    {
        "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"
        }
    }
]
400 Bad Request
Ошибка проверки переданных параметров
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение с ошибкой. | 
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}Примеры
CURL:
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"
        }
    }
]'/v2/camera/picture
Методы получение и изменения параметров картинки видеопотока.
Описание параметров
| Название | Тип | Описание | 
| u8Contr | Integer | Контрастность изображения. - По умолчанию: 50 
 ВАЖНО! - При значении больше 50-ти - контрастность увеличена. - При значении меньше 50-ти - контрастность уменьшена. | 
| u8Luma | Integer | Яркость изображения.  - По умолчанию: 50 
 ВАЖНО! - При значении больше 50-ти - яркость увеличена. - При значении меньше 50-ти - яркость уменьшена. | 
| u8Satu | Integer | Насыщенность изображения. - По умолчанию: 50 
 ВАЖНО! - При значении больше 50-ти - насыщенность увеличена. - При значении меньше 50-ти - насыщенность уменьшена. | 
| u8Hue | Integer | Регулировка оттенка изображения. - По умолчанию: 50 
 ВАЖНО! - При значении больше 50-ти - регулировка изменяется по часовой стрелке: красный имеет синий оттенок, синий имеет зеленый оттенок. - При значении меньше 50-ти - регулировакаи изменяется против часовой стрелки: синий имеет красный оттенок, красный имеет зеленый оттенок. | 
| wb | Object | Параметры баланса белого | 
| u8RGStrength | Integer | |
| u8BGStrength | Integer | |
| dehaze | Object | Параметры устранения дымки. | 
| u8strength | Integer | Интенсивность устранения дымки. 
 ВАЖНО! Чем больше значение, тем больше устранение дымки (влияет на контрастность изображения). | 
| drc | Object | Параметры регулирования динамического диапазона. 
 Соотношение яркости между самым ярким и самым темным объектом. | 
| u16Strength | Integer |       Интенсивность. 
 ВАЖНО! Чем больше значение, тем ярче общее изображение. | 
| u16StrengthMax | Integer |       Граница светлого. 
 ВАЖНО! Чем больше значение, тем больше ярких областей распознается. | 
| u16StrengthMin | Integer |       Граница темного. 
 ВАЖНО! Чем больше значение, тем меньше темных областей распознается. | 
| iso | Object | |
| index | Integer | |
| params | Object | |
| 0-15 | Object | |
| sharpness | Object | |
| au16TextureFreq | Integer | |
| au16EdgeFreq | Integer | |
| au8OverShoot | Integer | |
| au8UnderShoot | Integer | |
| au8DetailCtrl | Integer | |
| au8RGain | Integer | |
| au8GGain | Integer | |
| au8BGain | Integer | |
| au8SkinGain | Integer | |
| au16MaxSharpGain | Integer | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
                }
            }
        }
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/camera/picture'PUT - Изменение параметров
Запрос
Тело:
{
    "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
                }
            }
        }
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "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
                }
            }
        }
    }
}Примеры
CURL:
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
                }
            }
        }
    }
}'/v3/camera/osd
Методы получения и изменения параметров наложения текста на видеопоток (osd).
Видео поток поддерживает отображение до 3-х строк.
Описание параметров
| Название | Тип | Описание | 
| size | Integer | Размер отображаемой информации. | 
| text | String | Отображаемый текст. - Длина строки: 0 - 100 символов | 
| color | String | Цвет osd в hex. | 
| date | Object | Параметры отображения даты. | 
| enable | Boolean | Флаг включения / отключения отображения даты. | 
| format | String | Формат отображаемой даты (форматы). | 
| time | Object | Параметры отображения времени. | 
| enable | Boolean | Флаг включения / отключения отображения времени. | 
| format | String | Формат отображаемового времени (форматы). | 
| position | Object | Параметры смещения текста. | 
| x | Integer | Смещение по оси "X" в процентном соотношении. | 
| y | Integer | Смещение по оси "Y" в процентном соотношении. | 
| background | Object | Параметры отображения фона. | 
| enable | Boolean | Флаг включения / отключения фона. | 
| color | String | Цвет фона в hex. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
[
    {
        "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"
        }
    }
]Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v3/camera/osd'PUT - Изменение параметров
Запрос
Тело:
[
    {
        "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"
        }
    }
]Ответы
200 OK
Успешное изменение параметров
Тело:
[
    {
        "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"
        }
    }
]400 Bad Request
Ошибка проверки переданных параметров
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение с ошибкой. | 
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}Примеры
CURL:
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"
        }
    }
]'Коды
/openCode
Методы получения и добавления кодов на устройство.
Описание параметров
| Название | Тип | Описание | 
| code | Integer | Идентификатор "Кода доступа". | 
| panelCode | Integer | Номер квартиры к которой привязан "Код доступа". | 
GET - Получение списка
Ответы
200 OK
Тело:
[
    {
        "code": 12345,
        "panelCode": 0
    }
]Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode'POST - Добавление кода
Запрос
Тело:
{
    "code": 12345,
    "panelCode": 0
}Ответы
201 OK
Успешное добавление кода
Тело:
[
    {
        "code": 12345,
        "panelCode": 0
    }
]400 Bad Request
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| field | String | Название переменной к которой относиться ошибка. | 
| message | String | Сообщение об ошибки для поля "field". | 
{
    "errors": [
        {
            "field": "code",
            "message": "Код для квартиры уже установлен"
        }
    ]
}Примеры
CURL:
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
}'/openCode/clear
Метод очистки кодов на устройстве.
DELETE - Удаление кодов
Ответы
204 OK
Успешное удаление кодов
404 Not Found
Ошибка при отсутствии кодов на панели
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| messgae | String | Сообщение об ошибке. | 
{
    "errors": [
        {
            "message": "Коды на домофонной панели отсутствуют"
        }
    ]
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/clear'/openCode/{номер квартиры}
Методы получения и изменения кодов у указанной квартиры.
Описание параметров
| Название | Тип | Описание | 
| code | Integer | Идентификатор "Кода доступа". | 
| panelCode | Integer | Номер квартиры к которой привязан "Код доступа". | 
GET - Получение кодов
Ответы
200 OK
Успешное получение кодов
Тело:
[
    {
        "code": 12345,
        "panelCode": 0
    }
]400 Bad Request
Ошибка при указании не верного номера квартиры
Тело:
| Название | Тип | Описание | 
| errors | Integer | Массив возвращаемых ошибок. | 
| message | String | Сообщение об ошибке. | 
{
    "errors": [
        {
            "message": "Неверный формат номера квартиры"
        }
    ]
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode/0'DELETE - Удаление кодов
Ответы
204 OK
Успешное удаление кодов для указанной квартиры
404 Not Found
Ошибка при удалении не существующих кодов для указанной квартиры
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение об ошибке. | 
{
    "errors": [
        {
            "message": "Код в указанной квартире не существует"
        }
    ]
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/1'/openCode/{номер квартиры}/{идентификатор кода}
Метод удаления указанного кода для указанной квартиры.
DELETE - Удаление кода
Ответы
204 OK
Успешное удаление кода
404 Not Found
Ошибка при удалении не существующего кода для указанной квартиры
Тело:
| Название | Тип | Описание | 
| errors | Object | Массив возвращаемых ошибок. | 
| message | String | Сообщение об ошибке. | 
{
    "errors": [
        {
            "message": "Код в указанной квартире не существует"
        }
    ]
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/0/12345'Ключи
/key/settings
Методы получение и изменения параметров панели при взаимодействии с ключами.
Описание параметров
| Название | Тип | Описание | 
| mode | Integer | Режим работы базы данных с ключами 4 или 7 байт. 1 - режим 4 байта; 2 - режим 7 байт; - Ограничения: 1 - 2 - По умолчанию: 1 
 ВАЖНО: При переключении режимов из базы данных будут удалены все ключи и вся информация о прошитых секторах. | 
| autocollect | Object | Параметры режима автосбора ключей. | 
| enabled | Boolean | Флаг включения / выключения режима. - По умолчанию: false | 
| room | Integer | Номер квартиры к которой будут привязаны приложенные ключи. - По умолчанию: 0 | 
| encryption | Object | Параметры проверки шифрованных ключей. | 
| enabled | Boolean | Флаг включения / выключения режима. - По умолчанию: false | 
| key_type | String | Тип ключа для авторизации в сектор ключа. - Ограничения: A, B - По умолчанию: A | 
| key_auth | String | Значение ключа для авторизации в сектор ключа. - Длина строки: 12 символов (16-ой системе) - По умолчанию: FFFFFFFFFFFF | 
| sector | Integer | Сектор, который будет проверяться на шифрование. - Ограничения: 0 - 15 - По умолчанию: 0 | 
| increment | Object | Параметры инкрементирования значения в указанном блоке сектора. | 
| enabled | Boolean | Флаг включения / выключения режима. - По умолчанию: false | 
| block | Integer | Блок в котором будет увеличиваться значение инкремента. - Ограничения: 0 - 2 - По умолчанию: 0 | 
| openByError | Boolean | Флаг открытия двери при ошибке инкремента. - По умолчанию: false | 
| kb_codes | Boolean | Флаг включения / выключения сервисных кодов. - По умолчанию: true 
 ВАЖНО! При использовании панели в продуктивной среде на постоянной основе НЕОБХОДИМО выключать сервисные коды. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/settings'PUT - Изменение параметров
Запрос
Тело:
{
    "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
}Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
}400 Bad Request
Ошибка проверки передаваемых данных
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение об ошибке. | 
{
    "errors": [
        {
            "message": "Ключ уже существует - 000000AABBCCDD"
        }
    ]
}Примеры
CURL:
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
}'/key/store
Методы получения и добавления ключей.
Описание параметров
| Название | Тип | Описание | 
| uuid | String | Идентификатор ключа. | 
| panelCode | Integer | Номер квартиры к которой привязан ключ. | 
| encryption | Boolean | Флаг включения / выключения персональной проверки шифрования. 
 ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". | 
GET - Получение ключей
Ответы
200 OK
Успешное получение списка ключей
Тело:
[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 1,
        "encryption": true
    },
    {
        "uuid": "000000CCDDEEFF",
        "panelCode": 2,
        "encryption": true
    }
]Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/store'POST - Добавление ключа
Запрос
Тело:
{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}Ответы
200 OK
Успешное добавление ключа
Тело:
{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}Примеры
CURL:
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
}'/key/store/clear
Метод удаления всех ключей.
DELETE - Удаление ключей
Ответы
204 OK
Успешное удаление ключей
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/key/store/clear'/key/store/merge
Метод изменения указанных ключей.
Описание параметров
| Название | Тип | Описание | 
| uuid | String | Идентификатор ключа. | 
| panelCode | Integer | Номер квартиры к которой привязан ключ. | 
| encryption | Boolean | Флаг включения / выключения персональной проверки шифрования. 
 ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". | 
PUT - Изменение ключей
Запрос
Тело:
[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 0,
        "encryption": true
    }
]Ответы
200 OK
Успешное изменение ключей
Тело:
[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 0,
        "encryption": true
    }
]Примеры
CURL:
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
    }
]'/key/store/{идентификатор ключа}
Методы получения и изменения указанного ключа.
Описание параметров
| Название | Тип | Описание | 
| uuid | String | Идентификатор ключа. | 
| panelCode | Integer | Номер квартиры к которой привязан ключ. | 
| encryption | Boolean | Флаг включения / выключения персональной проверки шифрования. 
 ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/store/000000AABBCCDD'PUT - Изменение параметров
Запрос
Тело:
{
    "panelCode": 0,
    "encryption": true
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}Примеры
CURL:
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
}'DELETE - Удаление ключа
Ответы
204 OK
Успешное удаление ключа
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/key/store/000000AABBCCDD'/v1/key/markup/mifare
Методы получения и изменения разметки "Mifare" для прошивки ключей.
Описание параметров
| Название | Тип | Описание | 
| enabled | Boolean | Флаг включения / выключения прошивки ключей. - По умолчанию: false | 
| numSectors | Integer | Количество прошиваемых секторов за раз в момент удержания ключа. - Ограничения: 1 - 16 - По умолчанию: 16 | 
| markup | Object | Разметка для прошивки Mifare ключей по протоколу SL1. | 
| 0 - 15 | String | Поддерживаемые сектора для прошивки в ключах. | 
| skip | Object | Параметры пропуска указанного сектора. | 
| err | Boolean | Пропуск сектора при ошибке во время прошивки. - По умолчанию: false | 
| always | Boolean | Пропуск сектора при любых действиях. - По умолчанию: false | 
| key | Object | Параметры авторизации в сектор ключа. | 
| type | String | Тип ключа для авторизации в сектор ключа. - Ограничения: A, B - По умолчанию: A | 
| value | String | Значение ключа для авторизации в сектор ключа. - Длина строки: 12 символов (16-ой системе) - По умолчанию: FFFFFFFFFFFF | 
| 0 - 3 | String | Блоки для указания различной информации. 
 ВАЖНО! Блок под номером 3 является управляющим блоком. Настоятельно рекомендуем ознакомиться с возможными данными для указания в данный блок. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
        }
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/key/markup/mifare'PUT - Изменение параметров
Запрос
Тело:
{
    "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
        }
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "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
        }
    }
}Примеры
CURL:
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
        }
    }
}'DELETE - Сброс параметров к стандартным
Ответы
204 OK
Успешный сброс параметров
Пример
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/key/markup/mifare'Квартиры
/panelCode
Методы получения и добавления квартир на устройство.
Описание параметров
| Название | Тип | Описание | 
| panelCode | Integer | Номер квартиры. | 
| callsEnabled | Object | Параметры разрешения вызовов в АТ и SIP. | 
| sip | Boolean | Флаг включения / выключения вызовов в SIP. - По умолчанию: true | 
| handset | Boolean | Флаг включения / выключения вызовов в АТ. - По умолчанию: true | 
| soundOpenTh | Boolean | Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. | 
| typeSound | Integer | Режимы эхоподавления при вызове в АТ.  - Ограничения: 0, 1, 2, 3 - По умолчанию: 3 | 
| volumes | Object | Персональные громкости при вызове в квартиру. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| thCall | Integer | Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| thTalk | Integer | Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartFrom | Integer | Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartTo | Integer | Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelCall | Integer | Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelTalk | Integer | Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| resistances | Object | Параметры сопротивления трубки для смены состояний. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| quiescent | Integer | Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| answer | Integer | Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
GET - Получение квартир
Ответы
200 OK
Успешное получение квартир
Тело:
[
    {
        "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"
          [
    }
]Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode'POST - Добавление квартиры
Запрос
Тело:
{
    "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
    }
}Ответы
200 OK
Успешное добавление квартиры
Тело:
{
    "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
    }
}400 Bad Request
Ошибка при добавлении существующей квартиры
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| field | String | Название переменной к которой относиться ошибка. | 
| message | String | Сообщение об ошибки для переменной из поля "field". | 
{
    "errors": [
        {
            "field": "panelCode",
            "message": "Квартира уже существует - 1"
        }
    ]
}Примеры
CURL:
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
    }
}'/panelCode/clear
Метод удаления всех квартир с устройства.
DELETE - Удаление квартир
Ответы
204 OK
Успешное удаление квартир
Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/panelCode/clear'/panelCode/settings
Методы получения и изменения параметров "SOS" и "Консьерж".
Описание параметров
| Название | Тип | Описание | 
| consiergeRoom | String | "Номер квартиры" или "SIP аккаунт" на который будет вызов при нажатии на кнопку "Консьерж". - По умолчанию: 999 | 
| sosRoom | String | "Номер квартиры" или "SIP аккаунт" на который будет вызов при нажатии на кнопку "SOS". - По умолчанию: "" | 
| sosDelay | Boolean | Флаг включения / выключения задержки при нажатии кнопки "SOS". - По умолчанию: true | 
| sosDelayTime | Integer | Время которое необходимо удерживать кнопку "SOS" для совершения вызова. - Ограничения: 1 - 10 секунд - По умолчанию: 3 секунды - Для установления значения по умолчанию также можно записать 0 или 255 | 
| sosType | Boolean | Тип отображаемой строки при удержании кнопки "SOS". - true - "112"; - false - "SOS". - По умолчанию: true | 
| soundOpenPanel | Boolean | Флаг включения / выключения звуков открытия и ошибок при прикладывании ключа. - По умолчанию: true | 
| soundOpenTh | Boolean | Флаг включения / выключения звуков открытия при прикладывании ключа привязанного к квартире. - По умолчанию: false | 
| typeSound | Integer | Общий тип эхоподавления используемый для персональных настроек квартир со значением "255" или "null". - Ограничение: 0, 1, 3 - По умолчанию: 3 | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/settings'PUT - Изменение параметров
Запрос
Тело:
{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}Примеры
CURL:
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
}'/panelCode/diag
Метод массового замера уровня сопротивления абонентских трубок для указанных квартир.
Описание параметров
| Название | Тип | Описание | 
| 1 - 5 | Object | Номер квартиры к которой относятся данные. | 
| resist | Integer | Значение сопротивления измеренное панелью. - Ограничения: 0 - 255 | 
| status | String | Положение трубки полученное из ограничений общих параметров "quiesence" и "answer" - Ограничения: - down - положенная трубка (зеленый); - up - поднятая трубка (желтый); - error - ошибка при замере (красный). | 
| error | String | Сообщение ошибки при значении "error" в параметре "status". | 
POST - Получение замеров
Запрос
Тело:
[1, 2, 3, 4, 5]Ответы
200 OK
Успешное получение замеров
Тело:
{
    "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"
    }
}Примеры
CURL:
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]'/panelCode/{номер квартиры}
Методы получения и изменения персональных параметров квартиры.
Описание параметров
| Название | Тип | Описание | 
| panelCode | Integer | Номер квартиры. | 
| callsEnabled | Object | Параметры разрешения вызовов в АТ и SIP. | 
| sip | Boolean | Флаг включения / выключения вызовов в SIP. - По умолчанию: true | 
| handset | Boolean | Флаг включения / выключения вызовов в АТ. - По умолчанию: true | 
| soundOpenTh | Boolean | Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. | 
| typeSound | Integer | Режимы эхоподавления при вызове в АТ. - Ограничения: 0, 1, 3 - По умолчанию: 3 | 
| volumes | Object | Персональные громкости при вызове в квартиру. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| thCall | Integer | Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| thTalk | Integer | Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartFrom | Integer | Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartTo | Integer | Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelCall | Integer | Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelTalk | Integer | Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| resistances | Object | Параметры сопротивления трубки для смены состояний. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| quiescent | Integer | Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| answer | Integer | Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
    }
}Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1'PUT - Изменение параметров
Запрос
Тело:
{
    "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
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "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
    }
}Примеры
CURL:
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
    }
}'DELETE - Удаление квартиры
Ответы
204 OK
Успешное удаление квартиры
Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/panelCode/1'/panelCode/{номер квартиры}/levels
Методы получения и изменения персональных уровней громкости и сопротивлений абонентских трубок.
Описание параметров
| Название | Тип | Описание | 
| volumes | Object | Персональные громкости при вызове в квартиру. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| thCall | Integer | Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| thTalk | Integer | Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartFrom | Integer | Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartTo | Integer | Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelCall | Integer | Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelTalk | Integer | Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| resistances | Object | Параметры сопротивления трубки для смены состояний. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| quiescent | Integer | Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| answer | Integer | Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/levels'PUT - Изменение параметров
Запрос
Тело:
{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}Примеры
CURL:
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
    }
}'/panelCode/{номер квартиры}/resist
Метод получения уровня сопротивления трубки у указанной квартиры.
Описание параметров
| Название | Тип | Описание | 
| resist | Integer | Значение сопротивления измеренное панелью. - Ограничения: 0 - 255 | 
| status | String | Положение трубки полученное из ограничений общих параметров "quiesence" и "answer" - Ограничения: - down - положенная трубка (зеленый); - up - поднятая трубка (желтый). | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "resist": 75,
    "status": "down"
}или
{
    "resist": 190,
    "status": "up"
}500 Internal Server Error
Внутренняя ошибка при обработке метода
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение с ошибкой. | 
{
    "errors": [
        {
            "message": "Обрыв трубки, кв. 1"
        }
    ]
}Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/resist'/panelCode/rooms_update
Метод массового обновления параметров указанных квартир.
Описание параметров
| Название | Тип | Описание | 
| panelCode | Integer | Номер квартиры. | 
| callsEnabled | Object | Параметры разрешения вызовов в АТ и SIP. | 
| sip | Boolean | Флаг включения / выключения вызовов в SIP. - По умолчанию: true | 
| handset | Boolean | Флаг включения / выключения вызовов в АТ. - По умолчанию: true | 
| soundOpenTh | Boolean | Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. | 
| typeSound | Integer | Режимы эхоподавления при вызове в АТ.  - Ограничения: 0, 1, 2, 3 - По умолчанию: 3 | 
| volumes | Object | Персональные громкости при вызове в квартиру. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| thCall | Integer | Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| thTalk | Integer | Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartFrom | Integer | Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartTo | Integer | Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelCall | Integer | Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelTalk | Integer | Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| resistances | Object | Параметры сопротивления трубки для смены состояний. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| quiescent | Integer | Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| answer | Integer | Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
PUT - Обновление параметров
Запрос
Тело:
[
    {
        "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
        }
    }
]Ответы
200 OK
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
400 Bad Request
Ошибка при добавлении существующей квартиры
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение об ошибке. | 
{
    "errors": [
        {
            "message": "Не удалось распарсить JSON 15: ']' expected near end of file"
        }
    ]
}Примеры
CURL:
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
        }
    }
]'Калитка
/gate/settings
Методы получение и изменения параметров панели в режиме "Калитка".
Описание параметров
| Название | Тип | Описание | 
| gateMode | Boolean | Флаг включения / выключения режима калитки. - По умолчанию: false | 
| prefixHouse | Boolean | Флаг включения / выключения вызовы с префиксом. - По умолчанию: false | 
| direct | Object | Параметры прямых вызовов с устройства на устройство. | 
| mode | Boolean | Флаг включения / выключения прямых вызовов. - По умолчанию: false | 
| rules | Object | Правила для прямых вызовов. | 
| 0 | String | Префикс дома при вызове. - Ограничения: цифры - По умолчанию: 0 
 ВАЖНО! Если требуются прямые вызовы, но не включен префикс, то всегда указываем 0. В остальных случаях указываем необходимый префикс дома. | 
| 1 - 10 | String | Диапазон квартир при наборе которого будет уходить вызов на указанное устройство. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/gate/settings'PUT - Изменение параметров
Запрос
Тело:
{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}Примеры
CURL:
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": {}
    }
}'Уровни звука
/levels
Методы получения и изменения общих уровней громкости и сопротивлений абонентских трубок.
Описание параметров
| Название | Тип | Описание | 
| resistances | Object | Параметры сопротивления трубки для смены состояний. 
 Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. | 
| break | Integer | Уровень при неисправности трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| error | Integer | Уровень при обрыве. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| quiescent | Integer | Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| answer | Integer | Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| thTalk | Integer | Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartFrom | Integer | Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| uartTo | Integer | Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelCall | Integer | Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
| panelTalk | Integer | Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/levels'PUT - Изменение параметров
Запрос
Тело:
{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}Примеры
CURL:
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
    }
}'/levels/realtime
Методы получения и изменения уровней громкости только во время текущего вызова.
Описание параметров
| Название | Тип | Описание | 
| thCall | Integer | Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 255 - По умолчанию: 0 | 
| thTalk | Integer | Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 255 - По умолчанию: 0 | 
| uartFrom | Integer | Громкость на панели во время разговора по SIP. - Ограничения: 0 - 255 - По умолчанию: 0 | 
| uartTo | Integer | Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 255 - По умолчанию: 0 | 
| panelCall | Integer | Системные звуки панели. - Ограничения: 0 - 255 - По умолчанию: 0 | 
| panelTalk | Integer | Громкость на панели во время разговора по АТ. - Ограничения: 0 - 255 - По умолчанию: 0 | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/levels/realtime'PUT - Изменение параметров
Запрос
Тело:
{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}Примеры
CURL:
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
}'Логи
/log/last
Метод получения последних 100 строк логов.
GET - Получение логов
Ответы
200 OK
Успешное получение логов
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/plain | Тип возвращаемых данных | 
Тело:
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Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/log/last'/v2/logs/{сервис}
Метод получения логов указанного сервиса.
Список поддерживаемых параметров "{сервис}":
   - all - все логи устройства;
   - api - логи API сервера;
   - uart - логи UART клиента;
   - ddns - логи DDNS клиента;
   - camofon - логи SIP клиента;
   - streamer - логи RTSP сервера;
   - ircut - логи переключения ИК шторки;
   - upgrade - логи обновления устройства.
GET - Получение логов
Ответы
200 OK
Успешное получение логов
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/plain | Тип возвращаемых данных | 
Тело:
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Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/log/all'Настройки сети
/v1/network
Методы получения и изменения виртуальных сетевых интерфейсов.
Устройство поддерживает до 3-х виртуальных сетевых интерфейсов.
Описание параметров
| Название | Тип | Описание | 
| inet | String | Тип виртуального сетевого интерфейса. Ограничения: dhcp, static | 
| inetStatic | Object | Параметры для настройки статического виртуального сетевого интерфейса. | 
| netmask | String | Сетевая маска при подключении к сети. - Ограничения: IPv4 адрес - По умолчанию: 255.255.255.0 | 
| gateway | String | Сетевой шлюз при подключении к сети. - Ограничения: IPv4 адрес - По умолчанию: "" | 
| ipAddress | String | IP адрес устройства при подключении к сети. - Ограничения: IPv4 адрес - По умолчанию: 192.168.0.100 | 
| dnsServer | String | IP адрес DNS сервера. - Ограничения: IPv4 адрес - По умолчанию: "" | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/network'PUT - Изменение параметров
Запрос
Тело:
[
    {
        "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"
        }
    }
]Ответы
200 OK
Успешное изменение параметров
Тело:
[
    {
        "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"
        }
    }
]Примеры
CURL:
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"
        }
    }
]'DELETE - Сброс к стандартным
Ответы
200 OK
Успешный сброс к стандартным
Тело:
[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/v1/network'Уведомления
/v1/notification/forced/list
Метод получения списка аудиофайлов для воспроизведения.
Описание параметров
| Название | Тип | Описание | 
| name | String | Наименование файла. | 
GET - Получение списка
Ответы
200 OK
Успешное получение списка файлов
Тело:
[
    {
        "name": "test.wav"
    }
]Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/notification/forced/list'/v1/notification/forced/play
Метод запуска воспроизведения указанного аудиофайла.
Описание параметров
| Название | Тип | Описание | 
| name | String | Наименование файла для запуска воспроизведения. | 
| repeat | Integer | Количество повторений воспроизведений указанного файла. | 
PUT - Воспроизведения аудио файла
Запрос
Тело:
{
    "name": "test.wav",
    "repeat": 3
}Ответы
200 OK
Успешное воспроизведение аудио файла
Тело:
{
    "name": "test.wav",
    "repeat": 3
}Примеры
CURL:
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
}'/v1/notification/forced/stop
Метод остановки воспроизводимого аудиофайла.
PUT - Остановка аудио файла
Ответы
200 OK
Успешная остановка воспроизводимого аудио файла
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/notification/forced/stop'Бегущая строка
/panelDisplay/settings
Методы получения и изменения параметров бегущей строки на дисплее.
Описание параметров
| Название | Тип | Описание | 
| strDisplayOff | Boolean | Флаг включения / выключения бегущей строки. - По умолчанию: false | 
| imgStr | String | Текст отображения на дисплее. - Длина строки: 0 - 10 символов - По умолчанию: "" 
 ВАЖНО! Поддерживается латинский алфавит и цифры ASCII. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "strDisplayOff": true,
    "imgStr": ""
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelDisplay/settings'PUT - Изменить параметры
Запрос
Тело:
{
    "strDisplayOff": true,
    "imgStr": ""
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "strDisplayOff": true,
    "imgStr": ""
}Примеры
CURL:
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": ""
}'Реле
/relay/info
Метод получения поддерживаемых номеров реле.
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Тело:
[1, 2]Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/info'/relay/settings
Методы получения и изменения общих параметров реле.
Описание параметров
| Название | Тип | Описание | 
| inverseDoor | Boolean | Флаг включения / выключения программного инвертирования "Основного" и "Дополнительного" выходов. - По умолчанию: false | 
| alwaysOpenNetMode | Boolean | Флаг включения / выключения режима открытых дверей при недоступности сети. - По умолчанию: false | 
| alwaysOpen | Boolean | Флаг включения / выключения режима открытых дверей. - По умолчанию: false | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/settings'PUT - Изменение параметров
Запрос
Тело:
{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}Примеры
CURL:
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
}'/relay/{номер реле}/open
Метод открытия указанного номера реле.
PUT - Открытие реле
Запрос
Заголовки:
| Название | Значение | Описание | 
| Authorization | Basic cm9vdDoxMjM0NTY= | Заголовок "Базовой авторизации" | 
Ответы
204 OK
Успешное открытие реле
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/1/open'/relay/{номер реле}/settings
Методы получения и изменения параметров указанного номера реле.
Описание параметров
| Название | Тип | Описание | 
| switchTime | Integer | Время удержания двери в открытом состоянии. - Ограничения: 1 - 10 секунд - По умолчанию: 1 | 
| alwaysOpen | Boolean | Флаг включения / выключения режима открытых дверей. - По умолчанию: false | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "switchTime": 1,
    "alwaysOpen": false
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/1/settings'PUT - Изменение параметров
Запрос
Тело:
{
    "switchTime": 1,
    "alwaysOpen": false
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "switchTime": 1,
    "alwaysOpen": false
}Примеры
CURL:
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
}'SIP
/sip/options
Методы получения и изменения sip-параметров для управления вызовом;
Описание параметров
| Название | Тип | Описание | 
| dtmf | Object | Параметры DTMF для выходов; | 
| 1, 2 | String | Символ необходимый для открытия выхода 1, 2. - Длина: 1 символ - По умолчанию: 1, 2 | 
| callDelay | Integer | Задержка вызова в АТ. - Ограничения: 0 - 255 секунд - По умолчанию: 0 секунд | 
| talkDuration | Integer | Время разговора с момента поднятия трубки в АТ или в SIP. - Ограничения: 1 - 255 секунд - По умолчанию: 180 секунд | 
| ringDuration | Integer | Время совершения вызова до поднятия трубки в АТ или в SIP. - Ограничения: 1 - 255 секунд - По умолчанию: 60 секунд | 
| echoD | Boolean | Флаг включения / выключения алгоритма эхоподавления в SIP. - По умолчанию: true | 
GET - Получение параметров
Запрос
Заголовки:
| Название | Значение | Описание | 
| Authorization | Basic cm9vdDoxMjM0NTY= | Заголовок "Базовой авторизации" | 
Ответы
200 OK
Заголовки:
| Название | Значение | Описание | 
| Content-Type | application/json | Тип возвращаемых данных | 
| Content-Length | 90 | Размер возвращаемых данных | 
| X-Device-Mac | 08:13:00:00:00:00 | Мак адрес устройства | 
Тело:
| Название | Тип | Описание | 
| dtmf | Object | Параметры DTMF для выходов; | 
| 1 | String | Символ необходимый для открытия выхода 1. - Длина: 1 символ - По умолчанию: 1 | 
| 2 | String | Символ необходимый для открытия выхода 2. - Длина: 1 символ - По умолчанию: 2 | 
| callDelay | Integer | Задержка вызова в АТ. - Ограничения: 0 - 255 секунд - По умолчанию: 0 секунд | 
| talkDuration | Integer | Время разговора с момента поднятия трубки в АТ или в SIP. - Ограничения: 1 - 255 секунд - По умолчанию: 180 секунд | 
| ringDuration | Integer | Время совершения вызова до поднятия трубки в АТ или в SIP. - Ограничения: 1 - 255 секунд - По умолчанию: 60 секунд | 
| echoD | Boolean | Флаг включения / выключения алгоритма эхоподавления в SIP. - По умолчанию: true | 
{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}500 Internal Server Error
Внутренняя ошибка при обработке метода
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/options'PUT - Изменение параметров
Запрос
Тело:
{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}Примеры
CURL:
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
}'/sip/settings
Методы получения и изменения sip-параметров для авторизации на сервере.
Описание параметров
| Название | Тип | Описание | 
| videoEnable | Boolean | Флаг включения / выключения видео-потока в видео вызове; - По умолчанию: true | 
| remote | Object | Параметры авторизации на SIP сервере. | 
| port | Integer | Порт сервера на который отправляются запросы. - По умолчанию: 5060 | 
| domain | String | Адрес сервера на который отправляются запросы. - По умолчанию: domain.com | 
| username | String | Логин для авторизации на сервере. - По умолчанию: "" | 
| password | String | Пароль для авторизации на сервере. - По умолчанию: "" | 
| registerStatus | Boolean | Флаг текущего состояния авторизации на сервере. | 
GET - Получение параметров
Запрос
Заголовки:
| Название | Значение | Описание | 
| Authorization | Basic cm9vdDoxMjM0NTY= | Заголовок "Базовой авторизации" | 
Ответы
200 OK
Успешное получение параметров
Заголовки:
| Название | Значение | Описание | 
| Content-Type | application/json | Тип возвращаемых данных | 
| Content-Length | 116 | Размер возвращаемых данных | 
| X-Device-Mac | 08:13:00:00:00:00 | Мак адрес устройства | 
Тело:
| Название | Тип | Описание | 
| videoEnable | Boolean | Флаг включения / выключения видео-потока в видео вызове; - По умолчанию: true | 
| remote | Object | Параметры авторизации на SIP сервере. | 
| port | Integer | Порт сервера на который отправляются запросы. - По умолчанию: 5060 | 
| domain | String | Адрес сервера на который отправляются запросы. - По умолчанию: domain.com | 
| username | String | Логин для авторизации на сервере. - По умолчанию: "" | 
| password | String | Пароль для авторизации на сервере. - По умолчанию: "" | 
| registerStatus | Boolean | Флаг текущего состояния авторизации на сервере. | 
{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": "",
        "registerStatus": false
    }
}Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/settings'PUT - Изменение параметров
Запрос
Тело:
{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": ""
    }
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": "",
        "registerStatus": false
    }
}500 Internal Server Error
Внутренняя ошибка при обработке метода
Тело:
{
    "errors": [
        {
            "field": "SetServer",
            "message": "Ошибка установки параметра"
        }
    ]
}Примеры
CURL:
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": ""
    }
}'/sip/test/{номер квартиры}
Метод создания тестового вызова в абонентскую трубку и SIP для указанного номера квартиры.
GET - Отправка тестового вызова
Ответы
200 OK
Успешная отправка тестового вызова
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/1'/sip/test/sip/{номер квартиры}
Метод создания тестового вызова в SIP для указанного номера квартиры.
GET - Отправка тестового вызова
Ответы
200 OK
Успешная отправка тестового вызова
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/sip/1'/sip/test/analog/{номер квартиры}
Метод создания тестового вызова в абонентскую трубку для указанного номера квартиры.
GET - Отправка тестового вызова
Ответы
200 OK
Успешная отправка тестового вызова
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/analog/1'Вызовы
/v1/call/stop
Метод завершения текущего вызова.
PUT - Завершение вызова
Ответы
200 OK
Успешное завершение вызова
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/call/stop'Матрицы
/switch/info/models
Метод получения списка поддерживаемых коммутаторов устройством.
Описание параметров
| Название | Тип | Описание | 
| id | String | Модель поддерживаемового коммутатора. | 
| name | String | Наименование поддерживаемового коммутатора. | 
| eCount | Integer | Количество единиц используемых для коммутации. | 
GET - Получение списка
Ответы
200 OK
Успешное получение списка
Тело:
[
    {
        "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
    }
]Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/info/models'/switch/settings
Методы получения и изменения общих параметров для коммутаторов.
Описание параметров
| Название | Тип | Описание | 
| modelId | String | Модель используемого коммутатора. Метод для получения поддерживаемых коммутаторов: /switch/info/models | 
| usingCom3 | Boolean | Флаг включения / выключения использования "Платы управления замком" или "Третьего коммутатора". - По умолчанию: true | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "modelId": "CYFRAL",
    "usingCom3": true
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/settings'PUT - Изменение параметров
Запрос
Тело:
{
    "modelId": "CYFRAL",
    "usingCom3": true
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "modelId": "CYFRAL",
    "usingCom3": true
}Примеры
CURL:
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
}'/switch/matrix/{номер матрицы коммутации}
Методы получения и изменения указанной матрицы коммутации.
Панель поддерживает подключение до 2-х коммутаторов:
   - Визит.
Панель поддерживает подключение до 3-х коммутаторов:
   - Элтис;
   - Бевард;
   - Цифрал;
   - Метаком;
   - Факториал.
Описание параметров
| Название | Тип | Описание | 
| capacity | Integer | Размер указанного коммутатора. | 
| matrix | Array | Двумерный массив с номерами квартир для коммутатора. | 
GET - Получение параметров
Ответы
200 OK
Тело:
{
    "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
        ]
    ]
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/matrix/1'PUT - Изменение параметров
Запрос
Тело:
{
    "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
        ]
    ]
}Ответы
200 OK
Успешное изменение параметров
Тело:
{
    "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
        ]
    ]
}Примеры
CURL:
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
        ]
    ]
}'
Микроконтроллер
/v1/mcu/info
Метод получения информации о микроконтроллере.
Описание параметров
| Название | Тип | Описание | 
| power | Object | Параметры питания панели; | 
| dc | Float | Входное напряжение; | 
| chipId | Integer | Идентификатор микроконтроллера; | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "power": {
        "dc": 12.412
    },
    "chipId": 2321944743649890300
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/mcu/info'Системное
/system/tz
Метод получения поддерживаемых временных зон.
GET - Получение списка
Ответы
200 OK
Успешное получение списка
Тело:
[
    "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"
]Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/tz'/system/info
Метод получения системной информации устройства.
Описание параметров
| Название | Тип | Описание | 
| model | String | Название модели используемой камеры. | 
| temperature | Double | Значение температуры процессора камеры. - Нормальная температура до 95°C. | 
| chipId | String | Идентификатор чипа камеры. | 
| mac | String | Мак адрес устройства. | 
| deviceID | String | Серийный номер устройства. | 
| deviceModel | String | Наименование устройства. | 
| uptime | Integer | Время работы устройства. | 
| registerStatus | Boolean | Флаг состояния SIP регистрации. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/info'/system/versions
Метод получения текущих версий прошивки устройства.
Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
Советуем использовать новый метод:
   /v2/system/versions
Описание параметров
| Название | Тип | Описание | 
| rootfs | String | Версия раздела камеры с Linux. | 
| web | String | Версия web интерфейса. | 
| camofon | String | Версия SIP клиента. | 
| streamer | String | Версия RTSP сервера. | 
| hw | String | Версия платы устройства. | 
| sw | String | Версия прошивки микроконтроллера. | 
GET - Получение версий прошивки
Ответы
200 OK
Успешное получение версий прошивки
Тело:
{
    "rootfs": "1.1.1",
    "web": "2.2.2",
    "camofon": "3.3.3",
    "streamer": "4.4.4",
    "hw": "2.2",
    "sw": "3.3"
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/versions'/system/settings
Методы получения и изменения системных настроек.
Описание параметров
| Название | Тип | Описание | 
| log_level | Object | Уровни логирования приложений. | 
| api    uart    streamer store baresip libre | Integer | Уровень логирования приложения:     - 1 - Trace; - По умолчанию: 3 | 
| tz | String | Текущая временная зона (Поддерживаемые зоны). - По умолчанию: Asia/Yekaterinburg | 
| dateTime | String | Текущая дата и время | 
| dns | Object | Параметры DNS серверов 
 ВАЖНО! Является устаревшим, советуем использовать метод /v1/network для получения и изменения сетевых настроек включая сервера dns. | 
| auto | Boolean | Флаг работы с dns серверами. - true - автоматически; - false - в ручную. - По умолчанию: true | 
| nameservers | Array | Массив строк с dns серверами. | 
| ntp | Array | Массив строк с ntp серверами. | 
| assist | Object | Параметры для работы ассистента. | 
| enable | Boolean | Флаг включения / выключения ассистента. - По умолчанию: true | 
| online | Boolean | Флаг переключения онлайн и оффлайн ассистента. - По умолчанию: true 
 ВАЖНО! Онлайн ассистент подразумевает входящие вызовы на панель при реагировании на различные события в логах. | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "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
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/settings'PUT - Изменение параметров
Запрос
Тело:
{
    "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
    }
}Ответы
200 OK
Успешное получение параметров
Тело:
{
  "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
  }
}Примеры
CURL:
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
    }
}'/system/fw_env
Метод получения текущего mac-адреса.
Описание параметров
| Название | Тип | Описание | 
| ethaddr | String | MAC адрес устройства | 
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
    "ethaddr": "08:13:00:00:00:00"
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100/system/fw_env'/system/backup
Метод создания резервной копии устройства.
Для восстановление резервной копии используется метод:
   /system/restore
GET - Создание резервной копии
Ответы
200 OK
Успешное создание резервной копии
Заголовки:
| Название | Значение | Описание | 
| Content-Type | application/octet-stream | Тип возвращаемых данных | 
| Content-Disposition | attachment; filename="backup-08:13:00:00:00:00.bin" | Формат возвращаемых данных | 
Тело:
*** Бинарное представление файла ***Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/backup'/system/restore
Метод восстановления резервной копии устройства.
Для создания резервной копии используется метод:
   /system/backup 
PUT - Восстановление резервной копии
Запрос
Заголовки:
| Название | Значение | Описание | 
| Content-Type | application/octet-stream | Тип передаваемых данных | 
Тело:
*** Бинарный файл ***Ответы
200 OK
Успешное восстановление резервной копии
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
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'/system/reboot
Метод перезагрузки устройства.
PUT - Перезагрузка устройства
Ответы
200 OK
Успешная перезагрузка устройства
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/reboot'/system/restart/{сервис}
Метод перезапуска указанного сервиса.
Список поддерживаемых параметров "{сервис}":
   - api;
   - uart;
   - upgrade;
   - camofon;
   - streamer.
PUT - Перезапуск сервиса
Ответы
204 OK
Успешный перезапуск сервиса
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/restart/api'/system/factory-reset
Метод сброса устройства к заводским настройкам.
PUT - Сброс устройства к заводским настройкам
Ответы
204 OK
Успешный сброс устройства к заводским настройкам
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/factory-reset'/system/upgrade
Метод обновления микроконтроллера устройства.
Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
   /v2/system/upgrade
Для данного способа обновления необходим TFTP сервер
PUT - Запуск обновления
Ответы
200 OK
Успешный запуск обновления
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/upgrade'/system/upload_fw
Метод загрузки прошивки в микроконтроллер.
Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
   /v2/system/upgrade
Для данного способа обновления необходим TFTP сервер
PUT - Загрузка прошивки
Ответы
200 OK
Заголовки:
| Название | Значение | Описание | 
| Content-Type | text/html; charset=ISO-8859-1 | Тип возвращаемых данных | 
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/upload_fw'/system/cam/upgrade
Метод обновления разделов камеры устройства.
Метод действителен для устройств на прошивкой до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
   /v2/system/upgrade
Для данного способа обновления необходим TFTP сервер
Описание параметров
| Название | Тип | Описание | 
| server | String | IP адрес или DNS имя TFTP сервера с папкой для обновления. | 
| folder | String | Путь до папки с файлами обновления на TFTP сервере. | 
| stm | Boolean | Флаг обновления прошивки микроконтроллера. - По умолчанию: false | 
| opt | Boolean | Флаг обновления раздела камеры с приложениями. - По умолчанию: false | 
| media | Boolean | Флаг обновления раздела камеры с аудио записями (оффлайн ассистента, оповещения). - По умолчанию: false | 
| rootfs | Boolean | Флаг обновления раздела камеры с Linux. - По умолчанию: false | 
PUT - Запуск обновления камеры
Запрос
Тело:
{
    "server": "192.168.0.10",
    "folder": "ISComX1/2.5.6.1",
    "opt": true,
    "media": true,
    "rootfs": true
} Ответы
200 OK
Успешный запуск обновления
Тело:
{
    "server": "192.168.0.10",
    "folder": "ISComX1/2.5.6.1",
    "stm": true,
    "opt": true,
    "media": true,
    "rootfs": true
} Примеры
CURL:
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
} '/v2/system/versions
Метод получения текущих версий прошивки устройства.
Описание параметров
| Название | Тип | Описание | 
| opt | Object | Версии устройства для раздела с приложениями. | 
| date | Date | Дата создания прошивки для раздела. | 
| name | String | Версия прошивки для раздела. | 
| versions | Object | Версии по конкретным приложения. | 
| api proguard camofon ddns streamer uart upgrade overlay | Object | Описание версии приложения. | 
| name | String | Версия приложения. | 
| hash | String | Хэш сумма коммита приложения. | 
| hw | Object | Описание версии платы. | 
| name | String | Версия платы. | 
| mcu | Object | Описание версии микроконтроллера. | 
| name | String | Версия прошивки микроконтроллера. | 
| media | Object | Версии устройства для раздела с аудио записями (оффлайн ассистента, оповещения). | 
| date | Date | Дата создания прошивки для раздела. | 
| name | String | Версия прошивки для раздела. | 
| versions | Object | Версии по конкретным приложения. | 
| overlay | Object | Описание версии приложения. | 
| name | String | Версия приложения. | 
| hash | String | Хэш сумма коммита приложения. | 
| rootfs | Object | Версии устройства для раздела Linux. | 
| date | Date | Дата создания прошивки для раздела. | 
| name | String | Версия прошивки для раздела. | 
| versions | Object | Версии по конкретным приложения. | 
| libre libiscom baresip ircut rootfs overlay | Object | Описание версии приложения. | 
| name | String | Версия приложения. | 
| hash | String | Хэш сумма коммита приложения. | 
GET - Получение версий
Ответы
200 OK
Успешное получение версий прошивки
Тело:
{
    "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"
            }
        }
    }
}Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/system/versions'/v2/system/upgrade
Метод обновления устройства.
Метод действителен для устройств на прошивках более 2.5.7.5
Для данного способа обновления необходим HTTP сервер
Описание параметров
GET
| Название | Тип | Описание | 
| state | String | Описание состояния обновления. | 
| stateId | Integer | Идентификатор состояния обновления. - По умолчанию: 0 | 
| message | String | Описание под состояния обновления. | 
| messageId | Integer | Идентификатор под состояния обновления | 
PUT
| Название | Тип | Описание | 
| code | Integer | Код ответа на запрос. | 
| data | Object | Параметры используемые при обновлении. | 
| url | String | Ссылка на папку с файлами обновления на HTTP сервере. | 
| mcu | Boolean | Флаг включения обновления микроконтроллера устройства. - По умолчанию: false | 
| opt | Boolean | Флаг включения обновления раздела с приложениями на камере. - По умолчанию: false | 
| media | Boolean | Флаг включения обновления раздела с аудио записями (оффлайн ассистент, оповещение) на камере. - По умолчанию: false | 
| rootfs | Boolean | Флаг включения обновления раздела Linux на камере. - По умолчанию: false | 
PUT - Запуск обновления
Запрос
Тело:
{
    "url": "http://192.168.0.10:8000/2.5.6.1",
    "mcu": true,
    "opt": true,
    "media": true,
    "rootfs": true
}Ответы
200 OK
Успешное получение задания на обновление
Тело:
{
    "code": 200,
    "data": {
        "url": "http://192.168.0.10:8000/2.5.6.1",
        "mcu": true,
        "opt": true,
        "media": true,
        "rootfs": true
    }
}400 Bad Request
Ошибка при проверки переданных параметров
Тело:
| Название | Тип | Описание | 
| errors | Array | Массив возвращаемых ошибок. | 
| message | String | Сообщение об ошибке. | 
{
    "errors": [
        {
            "message": "Ошибка: url - Параметр пуст или не найден"
        }
    ]
}или
{
    "errors": [
        {
            "message": "Ошибка: stm - Должен быть логической переменной"
        }
    ]
}или
{
    "errors": [
        {
            "message": "Ошибка: opt - Должен быть логической переменной"
        }
    ]
}или
{
    "errors": [
        {
            "message": "Ошибка: media - Должен быть логической переменной"
        }
    ]
}или
{
    "errors": [
        {
            "message": "Ошибка: rootfs - Должен быть логической переменной"
        }
    ]
}Примеры
CURL:
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
}'