API Документация
Описание
В данном документе описаны методы для взаимодействия с домофонной панелью Сокол Плюс через 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
Метод смены текущего пароля пользователя на новый.
В прошивках старше 31.07 отключена возможность использовать кириллицу при смене пароля.
Описание параметров
Название |
Тип | Описание |
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 | 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 |
{
"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
Методы получения основного и дополнительного видеопотоков.
По умолчанию "Альтернативный видеопоток 2" выключен
Для включения используйте метод: /camera/codec
Основной видеопоток
VLC:
vlc rtsp://root:123456@192.168.0.100:554/ch0
FFPLAY:
ffplay rtsp://root:123456@192.168.0.100:554/ch0
Альтернативный видеопоток
VLC:
vlc rtsp://root:123456@192.168.0.100:554/ch1
FFPLAY:
ffplay rtsp://root:123456@192.168.0.100:554/ch1
Альтернативный видеопоток 2
VLC:
vlc rtsp://root:123456@192.168.0.100:554/ch2
FFPLAY:
ffplay rtsp://root:123456@192.168.0.100:554/ch2
/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 адрес на который будут отправляться картинки детектора. - По умолчанию: "" |
Добавлено после версий от 01.08
md_active_time
|
Integer |
Если после последней детекции движения проходит md_active_time секунд, то отправляется событие EVENT: Detected motion finished оповещающее о конце движения.
Для отправки событий о начале и конце движения, также должны быть установлены параметры md_enable и md_logs_enable в значения true.
- По умолчанию: 1 секунда - Ограничение: 1 - 5 секунд
|
При использовании удаленного 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": ""
}
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/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); |
mic_gain | Integer |
Усиление микрофона. - По умолчанию: -30 |
spk_gain | Integer |
Громкость динамика. - По умолчанию: 6 |
micGain | Integer |
Программное усиление микрофона. - По умолчанию: 5 |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"aac_enable": true,
"format": "AAC",
"mic_gain": -30,
"spk_gain": 6,
"micGain": 5
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/audio'
PUT - Изменение параметров
Запрос
Тело:
{
"aac_enable": true,
"format": "AAC",
"mic_gain": -30,
"spk_gain": 6,
"micGain": 5
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"aac_enable": true,
"format": "AAC",
"mic_gain": -30,
"spk_gain": 6,
"micGain": 5
}
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/camera/audio' \
--data-raw '{
"aac_enable": true,
"format": "AAC",
"mic_gain": -30,
"spk_gain": 6,
"micGain": 5
}'
/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": 0,
"ByFrame": true,
"Width": 1920,
"Height": 1080,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 4096
},
...
{
"Channel": 2,
"Enabled": true,
"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": 2,
"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": 0,
"ByFrame": true,
"Width": 1920,
"Height": 1080,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 4096
},
...,
{
"Channel": 2,
"Enabled": true,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 640,
"Height": 480,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 1536
}
]
}
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 GET 'http://192.168.0.100:80/camera/codec' \
--data-raw '{
"Channels": [
{
"Channel": 0,
"Type": "H264",
"Profile": 0,
"ByFrame": true,
"Width": 1920,
"Height": 1080,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 4096
},
{
"Channel": 1,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 1280,
"Height": 720,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 1536
},
{
"Channel": 2,
"Enabled": true,
"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
}
}
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/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/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": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
}
]
}
Примеры
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": 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
}
},
"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
}
}
}
}
}
Примеры
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
}
},
"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
}
}
}
}
}
Ответы
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
}
},
"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
}
}
}
}
}
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/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": [
{
"message": "Код 12345 уже существует"
}
]
}
Примеры
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
Успешное удаление кодов
Примеры
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 | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для поля "field". |
{
"errors": [
{
"message": "Неверный формат номера квартиры"
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode/0'
DELETE - Удаление кодов
Ответы
204 OK
Успешное удаление кодов для указанной квартиры
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для поля "field". |
{
"errors": [
{
"message": "Неверный формат номера квартиры"
}
]
}
404 Not Found
Ошибка при удалении не существующих кодов для указанной квартиры
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/1'
/openCode/{номер квартиры}/{идентификатор кода}
Метод удаления указанного кода для указанной квартиры.
DELETE - Удаление кода
Ответы
204 OK
Успешное удаление кода
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для поля "field". |
{
"errors": [
{
"message": "Неверный формат номера квартиры"
}
]
}
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'
/openCode/settings
Метод получения и изменения параметров кодов открытия
Описание параметров
Название |
Тип |
Описание |
commonCode |
Object | |
enable |
Boolean | Флаг включения общего кода По умолчанию: false |
value |
Integer | Значение общего кода По умолчанию: 0 Ограничения: уникальный код в пределах 10000...99999 |
GET - Получение параметров
Ответы
200 OK
Успешное получение данных
Тело:
{
"commonCode": {
"enable": false,
"value": 12349
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET '192.168.0.100/openCode/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"commonCode": {
"enable": false,
"value": 12345
}
}
Ответы
200 OK
Успешное получение данных
Тело:
{
"commonCode": {
"enable": false,
"value": 12345
}
}
400 Bad Requst
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors |
Array | Массив возвращаемых ошибок. |
message |
String | Сообщение с ошибкой. |
{
"errors": [
{
"message": "Код 12345 уже существует"
}
]
}
* * *
{
"errors": [
{
"message": "Общий код может быть выбран из диапазона от 10000 до 99999"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT '192.168.0.100/openCode/settings' \
--data '{
"commonCode": {
"enable": false,
"value": 12345
}
}'
DELETE - Удаление параметров
Ответы
204 OK
Успешное удаление общего кода
Примеры
CURL:
curl \
--request DELETE '192.168.0.100/openCode/settings' \
Ключи
/key/settings
Методы получение и изменения параметров панели при взаимодействии с ключами.
Описание параметров
Название |
Тип |
Описание |
inverse_uid_open | Boolean |
Режим проверки обратного идентификатора ключа. - По умолчанию: true
|
any_key_open | Boolean |
Режим открытия двери любым ключом. - По умолчанию: true
ВАЖНО: При включенном режиме ключи приложенные к считывателю не записываются в базу данных. ВАЖНО: Режим автосбора ключей будет проигнорирован, если включен данный режим. |
autocollect | Object |
Параметры режима автосбора ключей. |
enabled | Boolean |
Флаг включения / выключения режима. - По умолчанию: false |
room | Integer |
Номер квартиры к которой будут привязаны приложенные ключи. - По умолчанию: 0 |
keyMask | String |
Маска идентификатора ключа - По умолчанию: xxxxxxxxxxxxxx ВАЖНО: На панель будет добавлены только те ключи, которые пройдут маску. |
access | Object |
Параметры назначаемых доступов добавленных через режим автосбора ключей. |
main | Boolean |
Доступ на открытие основной двери. - По умолчанию: true |
second | Boolean |
Доступ на открытие дополнительной двери. - По умолчанию: false |
gates | Object |
Параметры доступов на открытие внешних модулей NCS-102. |
0-3 | Boolean |
Доступ на открытие внешних модулей NCS-102 с адресами 0-3. - По умолчанию: false |
encryption | Object |
Параметры проверки шифрованных ключей. |
enabled | Boolean |
Флаг включения / выключения режима. - По умолчанию: false |
key_type | String |
Тип ключа для авторизации в сектор ключа. - Ограничения: A, B - По умолчанию: A |
key_auth | String |
Значение ключа для авторизации в сектор ключа. - Длина строки: 12 символов (16-ой системе) - По умолчанию: FFFFFFFFFFFF |
sector | Integer |
Сектор, который будет проверяться на шифрование. - Ограничения: 0 - 15, 255 - По умолчанию: 255 |
increment | Object |
Параметры инкрементирования значения в указанном блоке сектора. |
enabled | Boolean |
Флаг включения / выключения режима. - По умолчанию: false |
block | Integer |
Блок в котором будет увеличиваться значение инкремента. - Ограничения: 0 - 2 - По умолчанию: 0 |
openByError | Boolean |
Флаг открытия двери при ошибке инкремента. - По умолчанию: false |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"inverse_uid_open": false,
"any_key_open": false,
"autocollect": {
"enabled": true,
"room": 0,
"keyMask": "xxxxxxxxxxxxxx",
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
},
"encryption": {
"increment": {
"enabled": false,
"block": null,
"openByError": false
},
"enabled": false,
"key_type": "A",
"key_auth": "FFFFFFFFFFFF",
"sector": 255
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"inverse_uid_open": false,
"any_key_open": false,
"autocollect": {
"enabled": true,
"room": 0,
"keyMask": "xxxxxxxxxxxxxx",
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
},
"encryption": {
"increment": {
"enabled": false,
"block": null,
"openByError": false
},
"enabled": false,
"key_type": "A",
"key_auth": "FFFFFFFFFFFF",
"sector": 255
}
}
Ответы
200 OK
Успешное получение параметров
Тело:
{
"inverse_uid_open": false,
"any_key_open": false,
"autocollect": {
"enabled": true,
"room": 0,
"keyMask": "xxxxxxxxxxxxxx",
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
},
"encryption": {
"increment": {
"enabled": false,
"block": null,
"openByError": false
},
"enabled": false,
"key_type": "A",
"key_auth": "FFFFFFFFFFFF",
"sector": 255
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/settings' \
--data-raw '{
"inverse_uid_open": false,
"any_key_open": false,
"autocollect": {
"enabled": true,
"room": 0,
"keyMask": "xxxxxxxxxxxxxx",
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
},
"encryption": {
"increment": {
"enabled": false,
"block": null,
"openByError": false
},
"enabled": false,
"key_type": "A",
"key_auth": "FFFFFFFFFFFF",
"sector": 255
}
}'
/key/store
Методы получения и добавления ключей.
Описание параметров
Название |
Тип |
Описание |
uuid | String |
Идентификатор ключа. |
panelCode | Integer |
Номер квартиры к которой привязан ключ. |
encryption | Boolean |
Флаг включения / выключения персональной проверки шифрования.
ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". |
access | Object |
Флаги доступа ко входам |
main | Boolean |
Флаг открытия первого входа. |
second | Boolean |
Флаг открытия второго входа. |
gates | Object |
Флаги открытия внешних входов. |
0, 1, 2, 3 | Boolean |
Флаг открытия внешнего входа. |
GET - Получение ключей
Ответы
200 OK
Успешное получение списка ключей
Тело:
[
{
"uuid": "000000AABBCCDD",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/store'
POST - Добавление ключа
Запрос
Тело:
{
"uuid": "000000AABBCCDD",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
Ответы
200 OK
Успешное добавление ключа
Тело:
[
{
"uuid": "000000AABBCCDD",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
]
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для поля "field". |
{
"errors": [
{
"message": "Ключ уже существует - 000000AABBCCDD"
}
]
}
Примеры
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": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}'
/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 |
Флаг включения / выключения персональной проверки шифрования.
ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". |
access | Object |
Флаги доступа ко входам |
main | Boolean |
Флаг открытия первого входа. |
second | Boolean |
Флаг открытия второго входа. |
gates | Object |
Флаги открытия внешних входов. |
0, 1, 2, 3 | Boolean |
Флаг открытия внешнего входа. |
PUT - Изменение ключей
Запрос
Тело:
[
{
"uuid": "000000BBCCDDEE",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
]
Ответы
200 OK
Успешное изменение ключей
Тело:
[
{
"uuid": "000000AABBCCDD",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
},
{
"uuid": "000000BBCCDDEE",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
]
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для поля "field". |
{
"errors": [
{
"message": "Номер квартиры должен быть от 0 до 9999"
}
]
}
Примеры
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": "000000BBCCDDEE",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
]'
/key/store/{идентификатор ключа}
Методы получения и изменения указанного ключа.
Описание параметров
Название |
Тип |
Описание |
uuid | String |
Идентификатор ключа. |
panelCode | Integer |
Номер квартиры к которой привязан ключ. |
encryption | Boolean |
Флаг включения / выключения персональной проверки шифрования.
ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". |
access | Object |
Флаги доступа ко входам |
main | Boolean |
Флаг открытия первого входа. |
second | Boolean |
Флаг открытия второго входа. |
gates | Object |
Флаги открытия внешних входов. |
0, 1, 2, 3 | Boolean |
Флаг открытия внешнего входа. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"uuid": "000000AABBCCDD",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100/key/store/000000AABBCCDD'
PUT - Изменение параметров
В прошивках позднее 08.08.2024: если использовать этот метод для ключа, которого нет в БД, то такой ключ будет добавлен в БД
Запрос
Тело:
{
"uuid": "000000AABBCCDD",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"uuid": "000000AABBCCDD",
"panelCode": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}
Примеры
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": 1,
"encryption": true,
"access": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
}
}'
DELETE - Удаление ключа
Ответы
204 OK
Успешное удаление ключа
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для поля "field". |
{
"errors": [
{
"field": "uuid",
"message": "Ключ не является HEX-строкой: 0000000000-123"
}
]
}
404 Not Found
Ошибка при удалении не существующего ключа для указанной квартиры
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/key/store/000000AABBCCDD'
/key/{номер квартиры}
Методы для работы с ключами, привязанными к конкретной квартире
Метод не доступен для устройств на прошивке ниже 2.5.0.9.4 (включительно).
DELETE - Удаление ключей конкретной квартиры
Ответы
204 OK
Успешное удаление ключей
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для поля "field". |
{
"errors": [
{
"message": "Номер квартиры не найден"
}
]
}
404 Not Found
Ошибка при удалении не существующего ключа для указанной квартиры
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY='
--request DELETE '192.168.1.51/key/34' \
/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
},
"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
}
}
}
Ответы
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 |
Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. |
debtor с версий позже 30.07.2024 |
Boolean |
Флаг, обозначающий квартиру должника. - По умолчанию: false
При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь. |
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,
"debtor": false,
"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,
"debtor": false,
"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'
POST - Добавление квартиры
Запрос
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": false,
"handset": true
},
"soundOpenTh": null,
"debtor": false,
"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,
"debtor": false,
"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,
"debtor": false,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}'
/v1/panelCode
Методы получения и добавления квартир на устройство.
Описание параметров
Название |
Тип |
Описание |
panelCode | Integer |
Номер квартиры. |
callsEnabled | Object |
Параметры разрешения вызовов в АТ и SIP. |
sip | Boolean |
Флаг включения / выключения вызовов в SIP. - По умолчанию: true |
handset | Boolean |
Флаг включения / выключения вызовов в АТ. - По умолчанию: true |
soundOpenTh | Boolean |
Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. |
debtor с версий позже 30.07.2024 |
Boolean |
Флаг, обозначающий квартиру должника. - По умолчанию: false
При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь. |
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,
"debtor": false,
"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,
"debtor": false,
"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/v1/panelCode'
POST - Добавление квартиры
Запрос
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": false,
"handset": true
},
"soundOpenTh": null,
"debtor": false,
"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,
"debtor": false,
"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/v1/panelCode' \
--data-raw '{
"panelCode": 1,
"callsEnabled": {
"sip": false,
"handset": true
},
"soundOpenTh": null,
"debtor": false,
"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 |
Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. |
debtor с версий позже 30.07.2024 |
Boolean |
Флаг, обозначающий квартиру должника. - По умолчанию: false
При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь. |
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,
"debtor": false,
"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,
"debtor": false,
"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,
"debtor": false,
"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,
"debtor": false,
"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'
/v1/panelCode/{номер квартиры}
Методы получения и изменения персональных параметров квартиры.
Описание параметров
Название |
Тип |
Описание |
panelCode | Integer |
Номер квартиры. |
callsEnabled | Object |
Параметры разрешения вызовов в АТ и SIP. |
sip | Boolean |
Флаг включения / выключения вызовов в SIP. - По умолчанию: true |
handset | Boolean |
Флаг включения / выключения вызовов в АТ. - По умолчанию: true |
soundOpenTh | Boolean |
Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. |
debtor с версий позже 30.07.2024 |
Boolean |
Флаг, обозначающий квартиру должника. - По умолчанию: false
При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь. |
volumes | Object |
Персональные громкости при вызове в квартиру.
Важно! Значения "16" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
thCall | Integer |
Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 16, null - По умолчанию: null |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 16, null - По умолчанию: null |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 16, null - По умолчанию: null |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 16, null - По умолчанию: null |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 16, null - По умолчанию: null |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 16, null - По умолчанию: null |
resistances | Object |
Параметры сопротивления трубки для смены состояний.
Важно! Значения "256" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
quiescent |
Integer |
Уровень поднятия трубки. - Ограничения: 0 - 256, null - По умолчанию: null |
answer | Integer |
Уровень открытия двери. - Ограничения: 0 - 256, null - По умолчанию: null |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"debtor": false,
"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/v1/panelCode/1'
PUT - Изменение параметров
Запрос
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"debtor": false,
"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,
"debtor": false,
"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/v1/panelCode/1' \
--data-raw '{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"debtor": false,
"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/v1/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
}
}'
/v1/panelCode/{номер квартиры}/levels
Методы получения и изменения персональных уровней громкости и сопротивлений абонентских трубок.
Описание параметров
Название |
Тип |
Описание |
volumes | Object |
Персональные громкости при вызове в квартиру.
Важно! Значения "16" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
thCall | Integer |
Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 16, null - По умолчанию: null |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 16, null - По умолчанию: null |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 16, null - По умолчанию: null |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 16, null - По умолчанию: null |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 16, null - По умолчанию: null |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 16, null - По умолчанию: null |
resistances | Object |
Параметры сопротивления трубки для смены состояний.
Важно! Значения "16" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
quiescent |
Integer |
Уровень поднятия трубки. - Ограничения: 0 - 16, null - По умолчанию: null |
answer | Integer |
Уровень открытия двери. - Ограничения: 0 - 16, 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/v1/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/v1/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": 3.0,
"status": "down"
}
или
{
"resist": 7.0,
"status": "up"
}
500 Internal Server Error
Внутренняя ошибка при обработке метода
Тело:
{
"errors": [
{
"message": "Обрыв трубки, кв. 1"
}
]
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/resist'
/v1/panelCode/{номер квартиры}/resist
Метод получения уровня сопротивления трубки у указанной квартиры.
Описание параметров
Название |
Тип | Описание |
resist |
Integer |
Значение сопротивления измеренное панелью. - Ограничения: 0 - 255 |
status |
String |
Положение трубки полученное из ограничений общих параметров "quiesence" и "answer" - Ограничения: - down - положенная трубка (зеленый); - up - поднятая трубка (желтый). |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"resist": 3.0,
"status": "down"
}
или
{
"resist": 7.0,
"status": "up"
}
500 Internal Server Error
Внутренняя ошибка при обработке метода
Тело:
{
"errors": [
{
"message": "Обрыв трубки, кв. 1"
}
]
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/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 |
debtor с версий позже 30.07.2024 |
Boolean |
Флаг, обозначающий квартиру должника. - По умолчанию: false
При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь. |
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
Успешное обновление параметров
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
}
}
]'
/panelCode/adjustLevels
Метод авто регулировки уровней трубок для указанного диапазона квартир в матрицах ККМ.
Описание параметров
Название |
Тип |
Описание |
1, 2, 3 | object |
Номер квартиры. |
resist | float |
Уровень напряжения на абонентской трубке. |
status | string |
Статус в котором находиться трубка. |
error | string |
Описание ошибки при замере напряжения. |
POST - Авто регулировка уровней трубок для диапазона квартир
Запрос
Тело:
Тип |
Описание |
Integer[] |
Номера квартир по которым необходимо выполнить авто регулировку уровней трубок. |
[1, 2, 3]
Ответы
200 OK
Тело:
{
"1": {
"resist": 9.431,
"status": "up"
},
"2": {
"resist": 3.059,
"status": "down"
},
"3": {
"resist": 0.0,
"status": "error",
"error": "Обрыв трубки, кв. 3"
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode/adjustLevels' \
--data-raw '[1, 2, 3]'
/panelCode/adjustLevels/all
Метод авто регулировки уровней трубок для всех квартир в матрицах ККМ.
Описание параметров
Название |
Тип |
Описание |
1, 2, 3 | object |
Номер квартиры. |
resist | float |
Уровень напряжения на абонентской трубке. |
status | string |
Статус в котором находиться трубка. |
error | string |
Описание ошибки при замере напряжения. |
POST - Авто регулировка уровней трубок для всех квартир
Ответы
200 OK
Тело:
{
"1": {
"resist": 9.431,
"status": "up"
},
"2": {
"resist": 3.059,
"status": "down"
},
"3": {
"resist": 0.0,
"status": "error",
"error": "Обрыв трубки, кв. 3"
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode/adjustLevels/all'
Калитка
/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 |
volumes | Object |
Персональные громкости при вызове в квартиру.
Важно! Значения "255" или "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
}
}'
/v1/levels
Методы получения и изменения общих уровней громкости и сопротивлений абонентских трубок.
Описание параметров
Название |
Тип |
Описание |
resistances | Object |
Параметры сопротивления трубки для смены состояний.
Важно! Значения "256" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
quiescent |
Integer |
Уровень поднятия трубки. - Ограничения: 0 - 40, null - По умолчанию: null |
answer | Integer |
Уровень открытия двери. - Ограничения: 0 - 40, null - По умолчанию: null |
volumes | Object |
Персональные громкости при вызове в квартиру.
Важно! Значения "16" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 16, null - По умолчанию: null |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 16, null - По умолчанию: null |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 16, null - По умолчанию: null |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 16, null - По умолчанию: null |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 16, null - По умолчанию: null |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"resistances": {
"quiescent": null,
"answer": null
},
"volumes": {
"panelCall": 5,
"uartFrom": 12,
"uartTo": 16,
"panelTalk": 12,
"thTalk": 4,
"thCall": 1,
"thGate": 13
}
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/levels'
PUT - Изменение параметров
Запрос
Тело:
{
"resistances": {
"quiescent": null,
"answer": null
},
"volumes": {
"panelCall": 5,
"uartFrom": 12,
"uartTo": 16,
"panelTalk": 12,
"thTalk": 4,
"thCall": 1,
"thGate": 13
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"resistances": {
"quiescent": null,
"answer": null
},
"volumes": {
"panelCall": 5,
"uartFrom": 12,
"uartTo": 16,
"panelTalk": 12,
"thTalk": 4,
"thCall": 1,
"thGate": 13
}
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/levels' \
--data-raw '{
"resistances": {
"quiescent": null,
"answer": null
},
"volumes": {
"panelCall": 5,
"uartFrom": 12,
"uartTo": 16,
"panelTalk": 12,
"thTalk": 4,
"thCall": 1,
"thGate": 13
}
}'
Логи
/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 - логи HTTP сервера;
- 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": "",
"ipAddress": "192.168.0.100",
"dnsServer": ""
}
}
]
Ответы
200 OK
Успешное изменение параметров
Тело:
[
{
"inet": "dhcp"
},
{
"inet": "static",
"inetStatic": {
"netmask": "255.255.255.0",
"gateway": "",
"ipAddress": "192.168.0.100",
"dnsServer": ""
}
}
]
Примеры
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/network/ping
Метод для проверки доступности хоста.
Описание параметров
Название |
Тип |
Описание |
addr | String |
Ip-адрес хоста - Обязательное поле |
numberPack
|
Integer |
Число пакетов, которое необходимо отправить указанному адресу - Обязательное поле - Ограничения: [1; 100] |
interval | Integer |
Интервал между пакетами в мсек - Ограничения: [1; 10000] - По умолчанию: 1000 |
sizePack | Integer |
Размер пакетов в байтах - Ограничения: [1; 65535] - По умолчанию: 56 |
timeout | Integer |
Таймаут для пакета - Ограничения: [1; 10] - По умолчанию: 5 |
PUT - Выполнить команду ping
Запрос
Тело:
{
"addr": "192.168.0.100",
"numberPack": 1,
"interval" : 1000,
"sizePack" : 39,
"timeout" : 1
}
Ответы
200 OK
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Тело:
Массив строк - результат выполнения команды
[
"PING 192.168.0.100 (192.168.0.100): 39 data bytes",
"47 bytes from 192.168.0.100: seq=0 ttl=64 time=0.207 ms",
"47 bytes from 192.168.0.100: seq=1 ttl=64 time=0.210 ms",
"47 bytes from 192.168.0.100: seq=2 ttl=64 time=0.201 ms",
"47 bytes from 192.168.0.100: seq=3 ttl=64 time=0.201 ms",
"47 bytes from 192.168.0.100: seq=4 ttl=64 time=0.203 ms",
"47 bytes from 192.168.0.100: seq=5 ttl=64 time=0.213 ms",
"--- 192.168.0.100 ping statistics ---",
"6 packets transmitted, 6 packets received, 0% packet loss",
"round-trip min/avg/max = 0.201/0.205/0.213 ms"
]
400 Bad Request
Ошибка при задании настроек для команд
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
message | String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "Ошибка! Валидация адреса не пройдена"
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--header 'Content-Type: application/json' \
--request PUT 'http://192.168.0.100:80/v1/network/ping' \
--data-raw '{
"addr": "192.168.0.100",
"numberPack": 5,
"interval" : 1000,
"sizePack" : 39,
"timeout" : 1
}'
/v1/network/traceroute
Метод для отслеживания маршрута данных, которые следуют к указанному хосту
Описание параметров
Название |
Тип |
Описание |
addr | String |
Ip-адрес хоста - Обязательное поле |
numberHops
|
Integer |
Максимальное количество переходов - Обязательное поле - Ограничения: 1 - 100 Рекомендуем: проверять доступность маршрута изначально на маленьком числе переходов т.к. если маршрут не доступен то проверка может занимать до нескольких минут. |
udpPort | Integer |
Порт назначения для запроса - По умолчанию: 33434 |
timeout | Integer |
Максимальное время ожидания для каждого ответа - Ограничения: 1 - 10 - По умолчанию: 2 |
PUT - Выполнить команду traceroute
Запрос
Тело:
{
"addr": "192.168.0.100",
"numberHops": 1,
"udpPort" : 33434,
"timeout" : 1
}
Ответы
200 OK
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Тело:
Массив строк - результат выполнения команды
[
"traceroute to 192.168.1.48 (192.168.1.48), 100 hops max, 38 byte packets",
" 1 192.168.1.48 (192.168.1.48) 0.044 ms 0.056 ms 0.021 ms"
]
400 Bad Request
Ошибка при задании настроек для команд
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
message | String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "Ошибка! Валидация адреса не пройдена"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/network/traceroute' \
--data-raw '{
"addr": "192.168.0.100",
"numberHops": 1,
"udpPort" : 33434,
"timeout" : 1
}'
/v1/network/syslog
Метод для задания адреса отправки логов
Описание параметров
Название |
Тип | Описание |
addr |
String |
Адрес для отправки логов - По умолчанию: logserv.sokol |
port |
Integer |
udp порт - По умолчанию: 514 |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"addr": "logserv.is74.ru",
"port": 514
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
-request GET 'http://192.168.0.100:80/v1/network/syslog'
PUT - Изменение параметров
Запрос
Тело:
{
"addr": "192.168.0.100",
"port": 514
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"addr": "192.168.0.100",
"port": 514
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/network/syslog' \
--data-raw '{
"addr": "192.168.0.100",
"port": 514
}'
Уведомления
/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/debtor/list
Методы для работы с аудиофайлом для оповещения должников.
Метод не доступен для устройств на прошивке ниже 2.5.0.9.4 (включительно).
Для оповещения должников об оплате домофона, необходимо:
1. включить оффлайн-ассистента;
2. установить в настройках квартиры флаг "debtor" (задолжник) в состояние "true";
3. убедиться, что в папке /media/assistant/key/debtor существует файл для воспроизведения;
GET - Получение списка
Ответы
200 OK
Успешное получение списка файлов
Тело:
[
{
"name": "1.wav"
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/notification/debtor/list'
PUT - Изменение файла
Запрос
Заголовки:
Название |
Значение | Описание |
Content-Type |
audio/wave или audio/wav или audio/x-wav или audio/x-pn-wav |
Тип передаваемых данных |
Тело:
*** Бинарный файл ***
Ответы
200 OK
Успешное изменение файла
[
{
"name": "1.wav"
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--header 'Content-Type: audio/wave' \
--data-binary '@/C:/Downloads/1.wav'
--request PUT 'http://192.168.0.100:80/v1/notification/debtor/list'
DELETE - Удаление всех аудиозаписей для должников
Ответы
200 OK
Успешное удаление
Тело:
[]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/v1/notification/debtor/list'
Оповещение
Методы данного раздела не доступны.
/v1/notification/alarm
Методы для работы с аудио файлом для речевого оповещения в случае ЧС.
GET - Получение списка
Ответ
200 OK
Успешное получение списка файлов
[
{
"name": "1.wav"
},
{
"name": "2.wav"
}
]
PUT - Добавление нового файла
Запрос
Заголовки:
Название |
Значение |
Описание |
Content-Disposition |
attachment; filename="filename.wav" | Желаемое имя файла. Поле не обязательное - возможна авто генерация имен |
Content-Type |
audio/wave или audio/wav или audio/x-wav или audio/x-pn-wav |
Тип передаваемых данных |
Тело:
*** Бинарный файл ***
Ответ
200 OK
Успешное добавление файла
[
{
"name": "1.wav"
},
{
"name": "2.wav"
}
]
DELETE - Удаление конкретного аудиофайла
Запрос
Заголовки:
Название |
Значение |
Описание |
Content-Type |
application/json
|
Тип передаваемых данных |
{
"name": "1.wav"
}
Ответ
200 OK
Успешное удаление файла
500
Файл отсутствует либо не верный формат json в теле запроса.
/v1/notification/alarm/play
Метод запуска воспроизведения указанного аудио файла.
Воспроизведение происходит непрерывно. Остановка производиться отдельным методом /v1/notification/alarm/stop
PUT - Воспроизведения аудио файла
Запрос
Тело:
{
"name": "test.wav"
}
Ответ
200 OK
/v1/notification/alarm/stop
Метод остановки речевого воспроизведения.
PUT - Остановка текущего воспроизведения аудиофайла
Ассистент
/assistant/settings
Метод получения и изменения параметров оффлайн ассистента.
Метод не доступен для устройств на прошивке ниже 2.5.0.14.0 (включительно).
Описание параметров
Название |
Тип |
Описание |
assistant | Object |
Параметры ассистента |
enable | Boolean |
Состояние ассистента По умолчанию: true |
online | Boolean |
Режим ассистента: По умолчанию: true - true: онлайн; - false: оффлайн; |
offlineVoice | Object |
Параметры оффлайн ассистента |
volumes | Object |
Параметры громкости |
rfVolume | Integer |
Общая громкость По умолчанию: 12 Диапазон значений: [0; 15] |
bass | Integer |
Эквалайзер: низкие частоты По умолчанию: 10 Диапазон значений: [-15; 15] |
middle | Integer |
Эквалайзер: средние частоты По умолчанию: 10 Диапазон значений: [-15; 15] |
treble | Integer |
Эквалайзер: высокие частоты По умолчанию: 10 Диапазон значений: [-15; 15] |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"assistant": {
"enable": true,
"online": true
},
"offlineVoice": {
"volumes": {
"rfVolume": 12,
"bass": 10,
"middle": 10,
"treble": -15
}
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/assistant/settings'
PUT - Изменить параметры
Запрос
Тело:
{
"assistant": {
"enable": true,
"online": true
},
"offlineVoice": {
"volumes": {
"rfVolume": 12,
"bass": 10,
"middle": 10,
"treble": -15
}
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"assistant": {
"enable": true,
"online": true
},
"offlineVoice": {
"volumes": {
"rfVolume": 12,
"bass": 10,
"middle": 10,
"treble": -15
}
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/assistant/settings' \
--data-raw '{
"assistant": {
"enable": true,
"online": true
},
"offlineVoice": {
"volumes": {
"rfVolume": 12,
"bass": 10,
"middle": 10,
"treble": -15
}
}
}'
DELETE - Сброс параметров
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"assistant": {
"enable": true,
"online": true
},
"offlineVoice": {
"volumes": {
"rfVolume": 12,
"bass": 10,
"middle": 10,
"treble": -15
}
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/assistant/settings'
Бегущая строка
/panelDisplay/settings
Методы получения и изменения параметров бегущей строки на дисплее.
Описание параметров
Название |
Тип |
Описание |
speed | Integer |
Скорость бегущей сроки в мсек. Например, 500 значит 500 мсек. - По умолчанию: 500 - Ограничения: [50; 1000] |
strDisplay | Boolean |
Флаг включения / выключения бегущей строки. - По умолчанию: false |
imgStr | String |
Текст отображения на дисплее. - Длина строки: [0; 99] символов - По умолчанию: ""
ВАЖНО! Поддерживается латинский алфавит и цифры ASCII. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"strDisplay": true,
"speed": 400,
"imgStr": "74174"
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelDisplay/settings'
PUT - Изменить параметры
Запрос
Тело:
{
"strDisplay": true,
"speed": 400,
"imgStr": "74174"
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"strDisplay": true,
"speed": 400,
"imgStr": "74174"
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelDisplay/settings' \
--data-raw '{
"strDisplay": true,
"speed": 400,
"imgStr": "74174"
}'
/v1/display
Методы получения и изменения параметров бегущей строки на дисплее.
Описание параметров
Название |
Тип |
Описание |
enable | Boolean |
Флаг включения / выключения бегущей строки. - По умолчанию: false |
imgStr | String |
Текст отображения на дисплее. - Длина строки: [0; 99] символов - По умолчанию: ""
ВАЖНО! Поддерживается латинский алфавит и цифры ASCII. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"enable": true,
"imgStr": "enable"
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/display'
PUT - Изменить параметры
Запрос
Тело:
{
"enable": true,
"imgStr": "74174"
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"enable": true,
"imgStr": "74174"
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/display' \
--data-raw '{
"enable": true,
"imgStr": "74174"
}'
Реле
/relay/info
Метод получения поддерживаемых номеров реле.
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
[1, 2]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/info'
/relay/settings
Методы получения и изменения общих параметров реле.
Описание параметров
Название |
Тип |
Описание |
alwaysOpenNetMode | Boolean |
Флаг включения / выключения режима открытых дверей при недоступности сети. - По умолчанию: false |
alwaysOpen | Boolean |
Флаг включения / выключения режима открытых дверей. - По умолчанию: false |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"alwaysOpenNetMode": false,
"alwaysOpen": false
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"alwaysOpenNetMode": false,
"alwaysOpen": false
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"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 '{
"alwaysOpenNetMode": false,
"alwaysOpen": false
}'
/relay/{номер реле}/open
Метод открытия указанного номера реле.
PUT - Открытие реле
Ответы
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
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"switchTime": 1
}
Примеры
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
}'
/relay/doors/mapping
Метод для связывания считывателей с доступными для открытия входами/выходами.
Описание параметров
Название |
Тип |
Описание |
mainReader, extReader0,
extReader1,
extReader2,
extReader3
|
Object |
mainReader - считыватель на панели. secondReader - дополнительный считыватель. extReader0,1,2,3 - внешние модули входов. |
main | Boolean |
Флаг открытия первого входа. |
second | Boolean |
Флаг открытия второго входа. |
gates | Object |
Флаги открытия внешних входов |
1, 2, 3, 4 | Boolean |
Флаг открытия внешнего входа. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"mainReader": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
},
"secondReader": {
"main": false,
"second": true,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
},
...,
"extReader3": {
"main": false,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": true
}
}
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/doors/mapping'
PUT - Изменение параметров
Запрос
Тело:
{
"mainReader": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
},
"secondReader": {
"main": false,
"second": true,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
},
...,
"extReader3": {
"main": false,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": true
}
}
}
Ответы
200 OK
Успешное получение параметров
Тело:
{
"mainReader": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
},
"secondReader": {
"main": false,
"second": true,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
},
...,
"extReader3": {
"main": false,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": true
}
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/doors/mapping' \
--data '{
"mainReader": {
"main": true,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
},
"secondReader": {
"main": false,
"second": true,
"gates": {
"0": false,
"1": false,
"2": false,
"3": false
}
},
"extReader0": {
"main": false,
"second": false,
"gates": {
"0": true,
"1": false,
"2": false,
"3": false
}
},
"extReader1": {
"main": false,
"second": false,
"gates": {
"0": false,
"1": true,
"2": false,
"3": false
}
},
"extReader2": {
"main": false,
"second": false,
"gates": {
"0": false,
"1": false,
"2": true,
"3": false
}
},
"extReader3": {
"main": false,
"second": false,
"gates": {
"0": false,
"1": false,
"2": false,
"3": true
}
}
}'
/relay/external/{адрес_контроллера}/open
Метод открытия дверей, управляемых внешними контроллерами.
PUT - Открытие реле
Ответы
204 OK
Успешное открытие реле
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors |
Array | Массив возвращаемых ошибок. |
message |
String | Сообщение с ошибкой. |
{
"errors": [
{
"message": "Контроллер с адресом 0 отключен"
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/external/1/open'
/relay/door_controller
Метод для настройки внешних модулей входов
В данный момент поддерживаются внешние модули входов Beward NCS-102
Описание параметров
Название |
Тип |
Описание |
Тип запроса |
timeout | Integer | Таймаут между посылками в шине Ограничения: 170-1000 мс |
GET PUT |
busErrors | Integer | Количество ошибок в шине. Сюда записываются ошибки, которые не удалось идентифицировать как ошибки, используемые в реализации протокола. | GET |
modules | Array | Массив параметров модулей (4 элемента) | GET PUT |
... | Object | ||
type | String | Тип модуля. На данный момент поддерживаются только модули Beward NCS-102 | GET |
enabled | Boolean | Флаг включения/выключения модуля | GET PUT |
address | Integer |
Адрес модуля на шине RS-485 Ограничения: 0-3 |
GET PUT |
version | String | Версия модуля* | GET |
openTime | Integer | Время открытия двери Ограничения: 1-9 секунд |
GET PUT |
button | Boolean | Фактическое** состояние кнопки | GET |
tamper | Boolean | Фактическое** состояние тампера | GET |
alwaysOpen | Boolean | Состояние режима открытых дверей |
GET PUT |
* обновляется при каждой перенастройке модулей; через ~10 секунд после каждого запуска |
|
||
errors | Integer | Количество ошибок, которые удалось идентифицировать как ошибку, отправленную модулем в соответствии с реализованным протоколом | GET |
connection | Boolean |
Подключение к модулю. Флаг меняется потере и возобновлении связи с модулем или его питания. |
GET |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"timeout": 170,
"busErrors": 0,
"modules": [
{
"type": "NCS102",
"enabled": true,
"address": 0,
"version": "1.2.1.11.5",
"openTime": 9,
"button": false,
"tamper": false,
"alwaysOpen": false,
"errors": 0,
"connection": true
},
{
"type": "NCS102",
"enabled": true,
"address": 1,
"version": "1.2.1.11.5",
"openTime": 5,
"button": false,
"tamper": false,
"alwaysOpen": false,
"errors": 0,
"connection": true
},
{
"type": "NCS102",
"enabled": true,
"address": 2,
"version": "1.2.1.11.5",
"openTime": 5,
"button": false,
"tamper": false,
"alwaysOpen": false,
"errors": 0,
"connection": true
},
{
"type": "NCS102",
"enabled": true,
"address": 3,
"version": "1.2.1.11.5",
"openTime": 5,
"button": false,
"tamper": false,
"alwaysOpen": false,
"errors": 0,
"connection": true
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/door_controller'
PUT - Изменение параметров
Запрос
Тело:
{
"timeout": 170,
"modules": [
{
"enabled": true,
"address": 0,
"alwaysOpen": false,
"openTime": 9
},
{
"enabled": true,
"address": 1,
"alwaysOpen": false,
"openTime": 7
},
{
"enabled": true,
"address": 2,
"alwaysOpen": false,
"openTime": 6
},
{
"enabled": true,
"address": 3,
"alwaysOpen": false,
"openTime": 6
}
]
}
Ответы
200 OK
Успешное получение параметров
Тело:
{
"timeout": 170,
"busErrors": 0,
"modules": [
{
"type": "NCS102",
"enabled": true,
"address": 0,
"version": "1.2.1.11.5",
"openTime": 9,
"button": false,
"tamper": false,
"alwaysOpen": false,
"errors": 0,
"connection": true
},
{
"type": "NCS102",
"enabled": true,
"address": 1,
"version": "1.2.1.11.5",
"openTime": 5,
"button": false,
"tamper": false,
"alwaysOpen": false,
"errors": 0,
"connection": true
},
{
"type": "NCS102",
"enabled": true,
"address": 2,
"version": "1.2.1.11.5",
"openTime": 5,
"button": false,
"tamper": false,
"alwaysOpen": false,
"errors": 0,
"connection": true
},
{
"type": "NCS102",
"enabled": true,
"address": 3,
"version": "1.2.1.11.5",
"openTime": 5,
"button": false,
"tamper": false,
"alwaysOpen": false,
"errors": 0,
"connection": true
}
]
}
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors |
Array | Массив возвращаемых ошибок |
message |
String | Сообщение с ошибкой |
{
"errors": [
{
"message": "Адрес должен быть от 0 до 3"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/door_controller' \
--data '{
"timeout": 170,
"modules": [
{
"enabled": true,
"address": 0,
"alwaysOpen": false,
"openTime": 9
},
{
"enabled": true,
"address": 1,
"alwaysOpen": false,
"openTime": 7
},
{
"enabled": true,
"address": 2,
"alwaysOpen": false,
"openTime": 6
},
{
"enabled": true,
"address": 3,
"alwaysOpen": false,
"openTime": 6
}
]
}'
SIP
Обращаем ваше внимание!
Если отсутствует SIP регистрация, то проверьте доступен ли SIP-сервер. А также убедитесь, что IP-адрес, используемый для авторизации, является основным сетевым интерфейсом.
/sip/options
Методы получения и изменения sip-параметров для управления вызовом;
Описание параметров
Название |
Тип |
Описание |
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 |
GET - Получение параметров
Ответы
200 OK
Тело:
{
"dtmf": {
"1": "1",
"2": "2"
},
"callDelay": 0,
"talkDuration": 180,
"ringDuration": 60,
"echoD": true
}
Примеры
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 |
portRegister | Integer |
Порт сервера на который отправляются запросы регистрации. - По умолчанию: 5060 |
domainRegister | String |
Адрес сервера на который отправляются запросы регистрации. - По умолчанию: domain.com |
username | String |
Логин для авторизации на сервере. - По умолчанию: "" |
password | String |
Пароль для авторизации на сервере. - По умолчанию: "" |
proxy | Object |
Параметры для работы с прокси сервером; |
port | Integer |
Порт прокси сервера; - По умолчанию: "" |
domain | String |
Адрес прокси сервера; - По умолчанию: "" |
enable | Boolean |
Флаг использования прокси сервера; - По умолчанию: false |
transport | Object |
Протоколы для работы с серверами; |
udp | Boolean |
Флаг использования UDP; - По умолчанию: true |
tcp | Boolean |
Флаг использования TCP; - По умолчанию: false |
registerStatus | Boolean |
Флаг текущего состояния авторизации на сервере. |
videoEnable | Boolean |
Флаг включения / выключения видео-потока в видео вызове; - По умолчанию: true |
videoStreamId | Integer |
Идентификатор включения / выключения видео-потока в видео вызове; - По умолчанию: 1 |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"remote": {
"port": 5060,
"domain": "domain.com",
"portRegister": 5060,
"domainRegister": "domain.com",
"username": "",
"password": "",
"proxy": {
"port": 5060,
"domain": "",
"enable": false
},
"transport": {
"udp": true,
"tcp": false
},
"registerStatus": false
},
"videoEnable": true,
"videoStreamId": 1
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"remote": {
"port": 5060,
"domain": "domain.com",
"portRegister": 5060,
"domainRegister": "domain.com",
"username": "",
"password": "",
"proxy": {
"port": 5060,
"domain": "",
"enable": false
},
"transport": {
"udp": true,
"tcp": false
},
"registerStatus": false
},
"videoEnable": true,
"videoStreamId": 1
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"remote": {
"port": 5060,
"domain": "domain.com",
"portRegister": 5060,
"domainRegister": "domain.com",
"username": "",
"password": "",
"proxy": {
"port": 5060,
"domain": "",
"enable": false
},
"transport": {
"udp": true,
"tcp": false
},
"registerStatus": false
},
"videoEnable": true,
"videoStreamId": 1
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/sip/settings' \
--data-raw '{
"remote": {
"port": 5060,
"domain": "domain.com",
"portRegister": 5060,
"domainRegister": "domain.com",
"username": "",
"password": "",
"proxy": {
"port": 5060,
"domain": "",
"enable": false
},
"transport": {
"udp": true,
"tcp": false
},
"registerStatus": false
},
"videoEnable": true,
"videoStreamId": 1
}'
/sip/test/{номер квартиры}
Метод создания тестового вызова в абонентскую трубку и SIP для указанного номера квартиры.
Описание параметров
С версии прошивки выше 2.5.0.3.2
Название |
Тип |
Описание |
prefixHouse | Integer |
Префикс для калитки. Необходимо указывать, если калитка с префиксом. - Ограничения: 1-65535 |
GET - Отправка тестового вызова
Ответы
200 OK
Успешная отправка тестового вызова
Тело:
{
"prefixHouse": 2
}
500 Internal Server Error
Внутренняя ошибка при обработке метода
Примеры
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
Успешное завершение вызова
Примеры
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 |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"modelId": "CYFRAL"
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"modelId": "CYFRAL"
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"modelId": "CYFRAL"
}
Примеры
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"
}'
/switch/matrix/{номер матрицы коммутации}
Методы получения и изменения указанной матрицы коммутации.
Панель поддерживает подключение до 3-х коммутаторов:
- Визит.
Панель поддерживает подключение до 4-х коммутаторов:
- Элтис;
- Бевард;
- Цифрал;
- Метаком;
- Факториал.
Описание параметров
Название |
Тип |
Описание |
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/switch/models
Метод получения списка поддерживаемых коммутаторов устройством.
Метод не доступен для устройств на прошивке ниже 2.5.0.9.4 (включительно).
Описание параметров
Название |
Тип |
Описание |
id | String |
Модель поддерживаемового коммутатора. |
name | String |
Наименование поддерживаемового коммутатора. |
eCount | Integer |
Количество единиц используемых для коммутации. |
dCount | Integer |
Количество десятков используемых для коммутации. |
switchCount | Integer |
Количество возможных коммутаторов подключаемых друг в друга. |
GET - Получение списка
Ответы
200 OK
Успешное получение списка
Тело:
[
{
"id": 0,
"name": "Факториал",
"eCount": 8,
"dCount": 0,
"switchCount": 1
},
{
"id": 1,
"name": "Цифрал",
"eCount": 10,
"dCount": 0,
"switchCount": 1
},
{
"id": 2,
"name": "Визит",
"eCount": 10,
"dCount": 0,
"switchCount": 1
},
{
"id": 3,
"name": "Метаком",
"eCount": 10,
"dCount": 0,
"switchCount": 1
},
{
"id": 4,
"name": "Элтис",
"eCount": 10,
"dCount": 0,
"switchCount": 1
},
{
"id": 10,
"name": "Бевард",
"eCount": 10,
"dCount": 0,
"switchCount": 1
},
{
"id": 11,
"name": "Бевард ККМ-105",
"eCount": 10,
"dCount": 10,
"switchCount": 5
},
{
"id": 12,
"name": "Бевард ККМ-108",
"eCount": 10,
"dCount": 10,
"switchCount": 8
},
{
"id": 13,
"name": "Бевард ККМ-100S2",
"eCount": 10,
"dCount": 10,
"switchCount": 1
},
{
"id": 20,
"name": "Цифрал КМГ-100",
"eCount": 10,
"dCount": 10,
"switchCount": 1
},
{
"id": 30,
"name": "Элтис КМ100-7.2",
"eCount": 10,
"dCount": 10,
"switchCount": 1
},
{
"id": 40,
"name": "ДП-К2Д",
"eCount": 0,
"dCount": 0,
"switchCount": 1
},
{
"id": 50,
"name": "Визит БК-4",
"eCount": 4,
"dCount": 1,
"switchCount": 1
},
{
"id": 51,
"name": "Визит БК-10",
"eCount": 10,
"dCount": 1,
"switchCount": 1
},
{
"id": 52,
"name": "Визит БК-100М",
"eCount": 10,
"dCount": 10,
"switchCount": 1
},
{
"id": 60,
"name": "Метаком COM 80",
"eCount": 10,
"dCount": 8,
"switchCount": 1
},
{
"id": 61,
"name": "Метаком COM 80 U",
"eCount": 10,
"dCount": 8,
"switchCount": 1
},
{
"id": 62,
"name": "Метаком COM 80 UD",
"eCount": 10,
"dCount": 8,
"switchCount": 1
},
{
"id": 63,
"name": "Метаком COM 160 U",
"eCount": 10,
"dCount": 16,
"switchCount": 1
},
{
"id": 64,
"name": "Метаком COM 160 UD",
"eCount": 10,
"dCount": 16,
"switchCount": 1
},
{
"id": 65,
"name": "Метаком COM 220 U",
"eCount": 10,
"dCount": 22,
"switchCount": 1
},
{
"id": 66,
"name": "Метаком COM 220 UD",
"eCount": 10,
"dCount": 22,
"switchCount": 1
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/switch/info/models'
/v1/switch/{номер матрицы коммутации}
Методы получения и изменения указанной матрицы коммутации.
Метод не доступен для устройств на прошивке ниже 2.5.0.9.4 (включительно).
Панель поддерживает подключение до 3-х коммутаторов:
- Визит.
Панель поддерживает подключение до 4-х коммутаторов:
- Элтис;
- Бевард;
- Цифрал;
- Метаком;
- Факториал.
Микроконтроллер
/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'
Сервисные коды
/serviceCode/settings
Метод получения и изменения параметров сервисного кода для настройки панели через клавиатуру.
Описание параметров
Название |
Тип |
Описание |
enabled | Boolean |
Флаг включения / выключения режима ввода сервисных кодов. - По умолчанию: true |
pass | Integer |
Код доступа для сервисных функций - По умолчанию: 123456 |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"enabled": true,
"pass": 874123
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/serviceCode/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"enabled": true,
"pass": 123456
}
Ответы
200 OK
Успешное получение параметров
Тело:
{
"enabled": true,
"pass": 123456
}
400 Bad Request
Ошибка проверки передаваемых данных
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
message | String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "pass - Значение должно быть в диапазоне от 100000 до 999999"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/serviceCode/settings' \
--data-raw '{
"enabled": true,
"pass": 123456
}'
Системное
/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": "GK7205V300",
"temperature": 84.68,
"chipId": "232ae91c800955e300000000000000000000000000000000",
"mac": "08:53:00:00:00:00",
"deviceID": "5300000000",
"deviceModel": "ISCom X1 (rev.5)",
"uptime": 416,
"registerStatus": false
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/info'
/system/load
Метод получения количества свободной и задействованной памяти системой устройства.
Описание параметров
Название |
Тип |
Описание |
memory |
Obejct | Параметры использованной и задействованной памяти системой и приложениями; |
system |
Object | Параметры памяти системы: |
used |
Integer | Количество задействованной памяти; |
free |
Integer | Количество свободной памяти; |
services |
Object | Параметры использования памяти приложениями; |
api |
Object | Наименование приложения |
pid |
Integer | Номер процессора; |
used |
Integer | Количество используемой памяти; |
processor |
Object | Параметры загруженность процессора за: |
1 |
Float | 1-у минуту; |
5 |
Float | 5-ть минут; |
15 |
Float | 15-ть минут; |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"memory": {
"system": {
"used": 19568,
"free": 17060
},
"services": {
"api": {
"pid": 1136,
"used": 3032
},
"uart": {
"pid": 1093,
"used": 1056
},
"ddns": {
"pid": 1033,
"used": 1204
},
"streamer": {
"pid": 1052,
"used": 7516
},
"camofon": {
"pid": 1115,
"used": 3628
},
"upgrade": {
"pid": 1156,
"used": 1056
},
"proguard": {
"pid": 1011,
"used": 1000
},
"ircut": {
"pid": 1010,
"used": 728
}
}
},
"processor": {
"1": 2.48,
"5": 2.1,
"15": 1.11
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/load'
/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": "Asia/Yekaterinburg",
"dateTime": "2024-06-06T13:21:38+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 '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-06T13:21:38+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:53:00:00:00:00"
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/fw_env'
/system/backup
Метод создания резервной копии устройства.
Для восстановление резервной копии используется метод:
/system/restore или /system/restore/ftp
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/backup/ftp
Метод создания резервной копии устройства с отправкой файла на FTP сервер.
Метод не доступен для устройств на прошивке ниже 2.5.0.9.4 (включительно).
Для восстановление резервной копии используется метод:
/system/restore или /system/restore/ftp
Описание параметров
Название |
Тип |
Описание |
server
|
String |
Сервер и порт для скачивания файла резервной копии |
auth
|
Object |
Данные для авторизации на сервере |
username
|
String |
Логин |
password
|
String |
Пароль |
path
|
String |
Путь к папке на сервере |
name
|
String |
Название файла в папке |
PUT - Создание резервной копии
Запрос
Тело:
{
"server": "192.168.0.100:21",
"auth": {
"username": "username",
"password": "password"
},
"path": "",
"name": "backup.bin"
}
Ответы
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/backup/ftp' \
--data-raw '{
"server": "192.168.0.100:21",
"auth": {
"username": "username",
"password": "password"
},
"path": "",
"name": "backup.bin"
}'
/system/restore
Метод восстановления резервной копии устройства.
Для создания резервной копии используется метод:
/system/backup или /system/backup/ftp
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/restore/ftp
Метод восстановления резервной копии устройства со скачиванием файла с FTP сервера.
Метод не доступен для устройств на прошивке ниже 2.5.0.9.4 (включительно).
Для создания резервной копии используется метод:
/system/backup или /system/backup/ftp
Описание параметров
Название |
Тип |
Описание |
server
|
String |
Сервер и порт для скачивания файла резервной копии |
auth
|
Object |
Данные для авторизации на сервере |
username
|
String |
Логин |
password
|
String |
Пароль |
path
|
String |
Путь к папке на сервере |
name
|
String |
Название файла в папке |
PUT - Восстановление резервной копии
Запрос
Тело:
{
"server": "192.168.0.100:21",
"auth": {
"username": "username",
"password": "password"
},
"path": "",
"name": "backup.bin"
}
Ответы
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/ftp' \
--data-raw '{
"server": "192.168.0.100:21",
"auth": {
"username": "username",
"password": "password"
},
"path": "",
"name": "backup.bin"
}'
/system/reboot
Метод перезагрузки устройства.
PUT - Перезагрузка устройства
Ответы
200 OK
Успешная перезагрузка устройства
Примеры
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'
/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": "2024-05-27",
"name": "2.5.0.7.2",
"versions": {
"api": {
"name": "0.7.2",
"hash": "6e0b6f9159ac22d9a1efcdae56fa337777056cd2"
},
"proguard": {
"name": "0.0.5",
"hash": "a308a3732ea8584bee9fc1fa08ea0299ba0eeea3"
},
"camofon": {
"name": "0.4.8",
"hash": "217aaad3c8b003975ff9173ea8279e86074e89a9"
},
"ddns": {
"name": "0.0.6",
"hash": "634934435463f78df7236d49d5669a3639cf4a24"
},
"streamer": {
"name": "2.10.22",
"hash": "e7a5ca779b74ae85eef5f36bbb265c1b486accea"
},
"uart": {
"name": "0.0.21",
"hash": "6a58107a0fee1a606e3d62d5dcd34275551b8dad"
},
"upgrade": {
"name": "0.1.8",
"hash": "06e5727e2a5308999e23f1b3fe1a0915a0267943"
},
"overlay": {
"name": "0.3.5",
"hash": "48d7606fad16a16f9d276708379d5ece25d5a062"
},
"hw": {
"name": "5.1"
},
"mcu": {
"name": "7.37"
}
}
},
"media": {
"date": "2024-05-27",
"name": "2.5.0.7.2",
"versions": {
"overlay": {
"name": "0.3.5",
"hash": "48d7606fad16a16f9d276708379d5ece25d5a062"
}
}
},
"rootfs": {
"date": "2024-05-27",
"name": "2.5.0.7.2",
"versions": {
"libre": {
"name": "0.1.2",
"hash": "6a2cda92898fa7eb413dd6f0469242d6a964c28f"
},
"libiscom": {
"name": "0.0.32",
"hash": "0c824a3dd9d1a3821bf0671640fa98329daa2bca"
},
"baresip": {
"name": "0.1.3",
"hash": "f2b04ea4e43ebe139606037756ccb002ea28ff4d"
},
"ircut": {
"name": "0.1.2",
"hash": "ceaa84a5cdbd1e3ee62a2a8cd9426ee5ff181f6c"
},
"rootfs": {
"name": "0.0.9",
"hash": "78e43316f723c413c24e1ee897b60fca507332a6"
},
"overlay": {
"name": "0.3.5",
"hash": "48d7606fad16a16f9d276708379d5ece25d5a062"
}
}
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/system/versions'
/v2/system/upgrade
Методы для работы с обновлением устройства.
Метод действителен для устройств на прошивках до 2.5.0.9.4 (включительно).
На поздних прошивках использовать новый метод:
/v3/system/upgrade
Для данного способа обновления необходим 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 |
GET - Получение состояния обновления
Метод получения состояния обновления устройства доступен с прошивки 2.5.0.5.6
Ответы
200 OK
Успешное получение состояния обновления
Тело:
{
"state": "Обновление не запущено",
"stateId": 0,
"message": "Приложение Upgrade запущено",
"messageId": 0
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/system/upgrade'
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.0.6.1",
"mcu": true,
"opt": true,
"media": true,
"rootfs": true
}'
/v3/system/upgrade
Методы для работы с обновлением устройства.
На прошивках позднее 2.5.0.9.4 перед обновлением устройство будет перезагружено.
Данный способ обновления проверяет файл обновления на электронную подпись.
Описание параметров
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 |
GET - Получение состояния обновления
Ответы
200 OK
Успешное получение состояния обновления
Тело:
{
"state": "Обновление не запущено",
"stateId": 0,
"message": "Приложение Upgrade запущено",
"messageId": 0
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v3/system/upgrade'
PUT - Запуск обновления
Запрос
Тело:
{
"url": "http://192.168.0.10:8000/2.5.0.9.4",
"mcu": true,
"opt": true,
"media": true,
"rootfs": true
}
Ответы
200 OK
Успешное получение задания на обновление
Тело:
{
"code": 200,
"data": {
"url": "http://192.168.0.10:8000/2.5.0.9.4",
"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/v3/system/upgrade' \
--data-raw '{
"url": "http://192.168.0.10:8000/2.5.0.9.4",
"mcu": true,
"opt": true,
"media": true,
"rootfs": true
}'
Производитель
/v1/manufacturer
Метод получения информации об устройстве указанной на производстве.
Описание параметров
Название |
Тип |
Описание |
mac | String |
MAC адрес устройства. |
serialNumber | String |
Серийный номе устройства. |
revision | String |
Ревизия устройства. |
timestamp | String |
Дата и время создания QR кода. |
testTimestamp | String |
Дата и время завершения тестирования. |
manufacturer | String |
Наименование производитель. |
batchNumber | Integer |
Номер партии. |
GET - Получение информации
Ответы
200 OK
Успешное получение информации
Тело:
{
"mac": "08:13:00:00:00:00",
"serialNumber": "0000000000",
"revision": "5.3",
"timestamp": "2024-05-28 09:39:23",
"testTimestamp": "2024-05-28 09:39:24",
"manufacturer": "VD",
"batchNumber": 10
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/manufacturer'