API Документация
Описание
В данном документе описаны API-методы для взаимодействия с домофонной панелью Сокол (rev.2) через http-запросы.
На устройстве по умолчанию 2 виртуальных сетевых интерфейса:
- Динамический;
- Статический (192.168.0.100).
Метод для настройки сетевых интерфейсов:
/v1/network
Данные для авторизации по умолчанию:
- логин: root
- пароль: 123456
Метод для смены пароля по умолчанию:
/user/change_password
Обязательные заголовки
Некоторые методы могут иметь другое значение для указанных заголовков или новые заголовки.
Запрос
Наименование |
Значение | Описание |
GET, PUT, POST, DELETE
|
||
Authorization |
Basic cm9vdDoxMjM0NTY=
|
Заголовок "Базовой авторизации" |
PUT, POST, DELETE
|
||
Content-Type |
application/json
|
Тип передаваемых данных |
Content-Length |
0
|
Размер передаваемых данных |
Ответ
Заголовки
Наименование |
Значение | Описание |
Authorization |
Basic cm9vdDoxMjM0NTY=
|
Заголовок "Базовой авторизации" |
Content-Type |
application/json
|
Тип возвращаемых данных |
Content-Length |
0
|
Размер возвращаемых данных |
X-Device-Mac |
08:13:00:00:00:00
|
Мак адрес устройства |
Коды
Наименование |
Значение |
Успешные |
|
Пользовательские |
|
Серверные |
|
Авторизация
/auth/check
Метод проверки данных, используемых для авторизации, при вызове API-методов.
Для авторизации поддерживается "Базовая аутентификация (Basic access authentication)" .
GET - Проверка авторизации
Ответы
200 OK
Авторизация пройдена
Заголовки:
Наименование |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1
|
Тип возвращаемых данных |
401 Unauthorized
- Не корректно передан заголовок Authorization
- Используются не корректные данные логин или пароль
Заголовки:
Наименование |
Значение | Описание |
WWW-Authenticate |
Basic realm="Access to camofon", charset="UTF-8"
|
Заголовок обязательной авторизации |
Content-Type |
text/html; charset=ISO-8859-1
|
Тип возвращаемых данных |
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/auth/check'
Пользователь
/user/change_password
Метод смены текущего пароля пользователя на новый.
Описание параметров
Название |
Тип | Описание |
newPassword | String |
Новый пароль для указанного пользователя в заголовке авторизации. - По умолчанию: 123456 |
PUT - Обновление пароля
Запрос
Тело:
{
"newPassword": "123456"
}
Ответы
200 OK
Успешная смена пароля
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип | Описание |
errors |
Array | Массив возвращаемых ошибок. |
field |
String | Название переменной к которой относиться ошибка. |
message |
String | Сообщение об ошибки для переменной из поля "field". |
{
"errors": [
{
"field": "newPassword",
"message": "Ошибка получения поля newPassword из запроса"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/user/change_password' \
--data-raw '{"newPassword": "123456"}'
Параметры API
/v1/api
Методы получения и настройки параметров HTTP-сервера.
Описание параметров
Название |
Тип |
Описание |
port |
Integer |
Порт для работы HTTP-сервера. - По умолчанию: 80 |
GET - Получение параметров
Ответы
200 OK
Успешное получение данных
Тело:
{
"port": 80
}
Примеры
Curl:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/api'
PUT - Изменение параметров
Запрос
Тело:
{
"port": 80
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"port": 80
}
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors |
Array | Массив возвращаемых ошибок. |
message |
String | Сообщение с ошибкой. |
{
"errors": [
{
"message": "Не удалось распарсить json"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/api' \
--data-raw '{"port": 80}'
Параметры DDNS
/v1/ddns
Методы получение и изменения параметров ddns клиента, основанного на открытом No-IP протоколе.
Описание параметров
Название |
Тип |
Описание |
enabled | Boolean |
Флаг включения / отключения DDNS клиента. - По умолчанию: false |
interval | Integer |
Интервал отправки http запросов на сервер. - По умолчанию: 300 |
server |
Object | Параметры подключения к сервере |
port | Integer |
Порт сервера для отправки запросов. - По умолчанию: 8081 |
address | String |
Адрес сервера для отправки запросов. - По умолчанию: 10.199.63.7 |
username | String |
Логин для авторизации. - По молчанию: default |
password | String | Пароль для авторизации.
- По молчанию: default |
data |
Object | Отправляемые данные. |
hostname | String |
Передаваемый тип устройства. - По умолчанию: ddns.ISCom |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"enabled": true,
"interval": 300,
"server": {
"port": 8081,
"address": "10.199.63.7",
"username": "default",
"password": "default"
},
"data": {
"hostname": "ddns.ISCom"
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/ddns'
PUT - Изменение параметров
Запрос
Тело:
{
"enabled": true,
"interval": 300,
"server": {
"port": 8081,
"address": "10.199.63.7",
"username": "default",
"password": "default"
},
"data": {
"hostname": "ddns.ISCom"
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"enabled": true,
"interval": 300,
"server": {
"port": 8081,
"address": "10.199.63.7",
"username": "default",
"password": "default"
},
"data": {
"hostname": "ddns.ISCom"
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/ddns' \
--data-raw '{
"enabled": true,
"interval": 300,
"server": {
"port": 8081,
"address": "10.199.63.7",
"username": "default",
"password": "default"
},
"data": {
"hostname": "ddns.ISCom"
}
}'
DELETE - Сброс параметров
Ответы
200 OK
Успешный сброс параметров к стандартным
Тело:
{
"enabled": true,
"interval": 300,
"server": {
"port": 8081,
"address": "10.199.63.7",
"username": "default",
"password": "default"
},
"data": {
"hostname": "ddns.ISCom"
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/v1/ddns'
Видеопоток
RTSP
Методы получения основного и дополнительного видеопотоков.
Основной видеопоток
VLC:
vlc rtsp://root:123456@192.168.0.100:554/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
/camera/md
Методы получение и изменения параметров детектора движения видеопотока.
Описание параметров
Название |
Тип |
Описание |
md_enable | Boolean |
Флаг включения / отключения детектора движения. - По умолчанию: false |
md_area_thr | Integer |
Минимальный размер детектируемой области. Для людей на близком расстоянии примерно 100000 пикселей. - По умолчанию: 30000 пикселей |
md_send_snapshot_enable | Boolean |
Флаг включения / отключения отправки картинок на сервер указанный в параметре "snap_send_url". - По умолчанию: false |
md_send_snapshot_interval | Integer |
Интервал в секундах между отправкой картинок на сервер. - Ограничение: 1 - 20 секунд - По умолчанию: 1 секунда
ВАЖНО! Будет отправлена одна картинка, даже если за этот период было задетектировано больше движений. |
md_rects_enable | Boolean |
Флаг включения / отключения отображения рамок детектора. - По умолчанию: false |
md_logs_enable | Boolean |
Флаг включения / отключения отправки событий детектора в логи. - По умолчанию: false |
md_rect_color | String |
Цвет отображающихся рамок детектора. - По умолчанию: 0xFF0000 |
md_frame_int | Integer |
Интервал между кадрами, отправляемыми на поиск движения. - По умолчанию: 30 кадров |
md_frame_shift | Integer |
Смещение второго кадра, участвующего в определении детекции. - По умолчанию: 1 кадр |
md_max_rect_ratio | Double |
Максимальное соотношение длина / ширина прямоугольника для отображения. - По умолчанию: 8.0 |
snap_send_url | String |
HTTP адрес на который будут отправляться картинки детектора. - По умолчанию: "" |
При использовании удаленного HTTP-сервера детекции (snap_send_url).
Данные формата application/json отправляются на HTTP-сервер с помощью POST метода.
Название |
Тип |
Описание |
time |
String | Дата и время в формате "%y-%m-%d %H:%M:%S". |
df_id |
String | Мак адрес устройства без символов двоеточия. |
img_bytes |
String | Представление картинки в base64 строке. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"md_enable": false,
"md_area_thr": 30000,
"md_send_snapshot_enable": false,
"md_send_snapshot_interval": 1,
"md_rects_enable": false,
"md_logs_enable": false,
"md_rect_color": "0xFF0000",
"md_frame_int": 30,
"md_frame_shift": 1,
"md_max_rect_ratio": 8.0,
"snap_send_url": ""
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/md'
PUT - Изменение параметров
Запрос
Тело:
{
"md_enable": false,
"md_area_thr": 30000,
"md_send_snapshot_enable": false,
"md_send_snapshot_interval": 1,
"md_rects_enable": false,
"md_logs_enable": false,
"md_rect_color": "0xFF0000",
"md_frame_int": 30,
"md_frame_shift": 1,
"md_max_rect_ratio": 8.0,
"snap_send_url": ""
}
Ответы
200 OK
Успешное получение параметров
Тело:
{
"md_enable": false,
"md_area_thr": 30000,
"md_send_snapshot_enable": false,
"md_send_snapshot_interval": 1,
"md_rects_enable": false,
"md_logs_enable": false,
"md_rect_color": "0xFF0000",
"md_frame_int": 30,
"md_frame_shift": 1,
"md_max_rect_ratio": 8.0,
"snap_send_url": ""
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/md' \
--data-raw '{
"md_enable": false,
"md_area_thr": 30000,
"md_send_snapshot_enable": false,
"md_send_snapshot_interval": 1,
"md_rects_enable": false,
"md_logs_enable": false,
"md_rect_color": "0xFF0000",
"md_frame_int": 30,
"md_frame_shift": 1,
"md_max_rect_ratio": 8.0,
"snap_send_url": ""
}'
/camera/audio
Методы получение и изменения параметров звука.
Описание параметров
Название |
Тип |
Описание |
aac_enable | Boolean |
Флаг включения / отключения кодирования звука в AAC. - По умолчанию: false (звук в PCMU) |
format | String |
Формат кодирования звука. - По умолчанию: AAC - Поддерживаемые варианты: - AAC; - PCM; - PCMA (G.711A); - PCMU (G.711U); |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"aac_enable": true,
"format": "AAC"
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/audio'
PUT - Изменение параметров
Запрос
Тело:
{
"aac_enable": true
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"aac_enable": true,
"format": "AAC"
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/audio' \
--data-raw '{
"aac_enable": true,
"format": "AAC"
}'
/camera/codec
Методы получения и изменения параметров видеопотоков (основного, дополнительного).
Описание параметров
Название |
Тип |
Описание |
Channels | Array |
Массив видео потоков. |
Channel | Integer |
Номер видео потока. |
Type | String |
Тип кодека видео. |
Profile | Integer |
Профиль кодека. - По умолчанию: 1 (Main) - Поддерживаемые варианты: - 1 - Main; - 2 - Baseline; - 3 - High; |
ByFrame | Boolean |
|
Width / Height | Integer |
Разрешение видео потока. - Поддерживаемые варианты: - 1920х1080 (основной поток); - 1280х720; - 720х576; - 704х576; - 640х480; - 640х360. |
GopMode | String |
|
IPQpDelta | Integer |
|
RcMode | String |
Режим управления кодированием. - По умолчанию: AVBR |
IFrameInterval | Integer |
Интервал опорного кадра (кадр/сек). - По умолчанию: 30 |
MaxBitrate | Integer |
Максимальный битрейт видеопотока (Кбит/сек). |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"Channels": [
{
"Channel": 0,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 1280,
"Height": 720,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 3072
},
{
"Channel": 1,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 640,
"Height": 480,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 1536
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/codec'
PUT - Изменение параметров
Запрос
Тело:
{
"Channels": [
{
"Channel": 0,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 1280,
"Height": 720,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 3072
},
{
"Channel": 1,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 640,
"Height": 480,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 1536
}
]
}
Ответы
200 OK
Успешное получение параметров
Тело:
{
"Channels": [
{
"Channel": 0,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 1280,
"Height": 720,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 3072
},
{
"Channel": 1,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 640,
"Height": 480,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 1536
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/codec' \
--data-raw '{
"Channels": [
{
"Channel": 0,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 1280,
"Height": 720,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 3072
},
{
"Channel": 1,
"Type": "H264",
"Profile": 1,
"ByFrame": true,
"Width": 640,
"Height": 480,
"GopMode": "NormalP",
"IPQpDelta": 2,
"RcMode": "AVBR",
"IFrameInterval": 30,
"MaxBitrate": 1536
}
]
}'
/camera/picture
Методы получение и изменения параметров картинки (отражение по вертикали, отражение по горизонтали).
Описание параметров
Название |
Тип |
Описание |
Image |
Object |
Параметры отражения картинки по вертикали и по горизонтали. |
Flip |
Boolean |
Отражение картинки по вертикали. - По умолчанию: false |
Mirror |
Boolean |
Отражение картинки по горизонтали. - По умолчанию: false |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"Image": {
"Flip": false,
"Mirror": false
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/picture'
PUT - Изменение параметров
Запрос
Тело:
{
"Image": {
"Flip": false,
"Mirror": false
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"Image": {
"Flip": false,
"Mirror": false
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/picture' \
--data-raw '{
"Image": {
"Flip": false,
"Mirror": false
}
}'
/camera/snapshot
Метод получение картинки с видеопотока в данный момент.
Размер картинки зависит от размера основного видеопотока
Для смены размера картинки видеопотока используйте:
/camera/codec
GET - Получение картинки
Ответы
200 OK
Заголовки:
Название |
Значение | Описание |
Content-Type |
image/jpeg | Тип возвращаемых данных |
Тело:
*** Бинарное представление картинки ***
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/snapshot'
/camera/whiteBlack
Методы получения и изменения параметров черно-белого режима видеопотока. Для перехода в цветной и черно-белый режим используется экспозиция.
- Для перехода потока в цветной режим: необходимо значение "exposureCurrent" менее "exposureLight"
- Для перехода потока в черно-белый режим: необходимо значение "exposureCurrent" более "exposureNight"
Описание параметров
Название |
Тип |
Описание |
state |
Boolean |
Текущее состояние черно-белого режима. |
threshold |
Object | Пороги переключения черно-белого режима. |
exposureCurrent |
Integer | Текущее значение экспозиции сенсора. |
exposureLight | Integer |
Порог включение цветного режима. - Ограничения: 0 - 4294967295 - По умолчанию: 22000 |
exposureNight | Integer |
Порог включения черно-белого режима. - Ограничения: 0 - 4294967295 - По умолчанию: 250000 |
GET - Получение параметров
Ответы
200 OK
Успешное получение данных
Тело:
{
"state": false,
"threshold": {
"exposureCurrent": 100000,
"exposureLight": 22000,
"exposureNight": 250000
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/whiteBlack'
PUT - Изменение параметров
Запрос
Тело:
{
"threshold": {
"exposureLight": 22000,
"exposureNight": 250000
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"state": false,
"threshold": {
"exposureCurrent": 100000,
"exposureLight": 22000,
"exposureNight": 250000
}
}
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
message | String | Сообщение об ошибке. |
{
"errors": [
{
"message": "Не удалось распарсить JSON 3: unexpected token near '}'"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/whiteBlack' \
--data-raw '{
"threshold": {
"exposureLight": 22000,
"exposureNight": 250000
}
}'
/v2/camera/osd
Методы получения и изменения параметров наложения текста на видеопоток (osd).
Видео поток поддерживает отображение до 3-х строк.
Описание параметров
Название |
Тип |
Описание |
size |
Integer |
Размер отображаемой информации. |
text | String |
Отображаемый текст. - Длина строки: 0 - 100 символов |
color |
String | Цвет osd в hex. |
date |
Object | Параметры отображения даты. |
enable |
Boolean | Флаг включения / отключения отображения даты. |
format | String |
Формат отображаемой даты (форматы). |
time |
Object | Параметры отображения времени. |
enable |
Boolean | Флаг включения / отключения отображения времени. |
format | String | Формат отображаемового времени (форматы). |
position |
Object | Параметры смещения текста. |
x |
Integer | Смещение по оси "X" (пиксели). |
y |
Integer | Смещение по оси "Y" (пиксели). |
background |
Object | Параметры отображения фона. |
enable |
Boolean | Флаг включения / отключения фона. |
color | String |
Цвет фона в hex. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
[
{
"size": 2,
"text": "",
"color": "0xFFFFFF",
"date": {
"enable": true,
"format": "%d-%m-%Y"
},
"time": {
"enable": true,
"format": "%H:%M:%S"
},
"position": {
"x": 2,
"y": 10
},
"background": {
"enable": false,
"color": "0x0053DE"
}
},
...,
{
"size": 1,
"text": "",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 140,
"y": 0
},
"background": {
"enable": false,
"color": "0xFFFFFF"
}
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/camera/osd'
PUT - Изменение параметров
Запрос
Тело:
[
{
"size": 1,
"text": "Строка 1",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": "%d-%m-%Y"
},
"time": {
"enable": false,
"format": "%H:%M:%S"
},
"position": {
"x": 10,
"y": 10
},
"background": {
"enable": false,
"color": "0x000000"
}
},
...,
{
"size": 3,
"text": "Строка 3",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 60
},
"background": {
"enable": false,
"color": "0x000000"
}
}
]
Ответы
200 OK
Успешное изменение параметров
Тело:
[
{
"size": 1,
"text": "Строка 1",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": "%d-%m-%Y"
},
"time": {
"enable": false,
"format": "%H:%M:%S"
},
"position": {
"x": 10,
"y": 10
},
"background": {
"enable": false,
"color": "0x0053DE"
}
},
{
"size": 2,
"text": "Строка 2",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 30
},
"background": {
"enable": false,
"color": "0x000000"
}
},
{
"size": 3,
"text": "Строка 3",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 60
},
"background": {
"enable": false,
"color": "0xFFFFFF"
}
}
]
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors |
Array | Массив возвращаемых ошибок. |
message |
String | Сообщение с ошибкой. |
{
"errors": [
{
"message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v2/camera/osd' \
--data-raw '[
{
"size": 1,
"text": "Строка 1",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": "%d-%m-%Y"
},
"time": {
"enable": false,
"format": "%H:%M:%S"
},
"position": {
"x": 10,
"y": 10
},
"background": {
"enable": false,
"color": "0x0053DE"
}
},
{
"size": 2,
"text": "Строка 2",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 30
},
"background": {
"enable": false,
"color": "0x000000"
}
},
{
"size": 3,
"text": "Строка 3",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 60
},
"background": {
"enable": false,
"color": "0xFFFFFF"
}
}
]'
/v2/camera/picture
Методы получение и изменения параметров картинки видеопотока.
Описание параметров
Название |
Тип |
Описание |
u8Contr |
Integer |
Контрастность изображения. - По умолчанию: 50
ВАЖНО! - При значении больше 50-ти - контрастность увеличена. - При значении меньше 50-ти - контрастность уменьшена. |
u8Luma |
Integer |
Яркость изображения. - По умолчанию: 50
ВАЖНО! - При значении больше 50-ти - яркость увеличена. - При значении меньше 50-ти - яркость уменьшена. |
u8Satu |
Integer | Насыщенность изображения. - По умолчанию: 50
ВАЖНО! - При значении больше 50-ти - насыщенность увеличена. - При значении меньше 50-ти - насыщенность уменьшена. |
u8Hue |
Integer | Регулировка оттенка изображения. - По умолчанию: 50
ВАЖНО! - При значении больше 50-ти - регулировка изменяется по часовой стрелке: красный имеет синий оттенок, синий имеет зеленый оттенок. - При значении меньше 50-ти - регулировакаи изменяется против часовой стрелки: синий имеет красный оттенок, красный имеет зеленый оттенок. |
wb |
Object | Параметры баланса белого |
u8RGStrength |
Integer | |
u8BGStrength |
Integer | |
dehaze |
Object | Параметры устранения дымки. |
u8strength |
Integer |
Интенсивность устранения дымки.
ВАЖНО! Чем больше значение, тем больше устранение дымки (влияет на контрастность изображения). |
drc |
Object |
Параметры регулирования динамического диапазона.
Соотношение яркости между самым ярким и самым темным объектом. |
u16Strength |
Integer |
Интенсивность.
ВАЖНО! Чем больше значение, тем ярче общее изображение. |
u16StrengthMax |
Integer |
Граница светлого.
ВАЖНО! Чем больше значение, тем больше ярких областей распознается. |
u16StrengthMin |
Integer |
Граница темного.
ВАЖНО! Чем больше значение, тем меньше темных областей распознается. |
iso |
Object | |
index |
Integer | |
params |
Object | |
0-15 |
Object | |
sharpness |
Object | |
au16TextureFreq |
Integer | |
au16EdgeFreq |
Integer | |
au8OverShoot |
Integer | |
au8UnderShoot |
Integer | |
au8DetailCtrl |
Integer | |
au8RGain |
Integer | |
au8GGain |
Integer | |
au8BGain |
Integer | |
au8SkinGain |
Integer | |
au16MaxSharpGain |
Integer |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"u8Contr": 42,
"u8Luma": 52,
"u8Satu": 52,
"u8Hue": 50,
"wb": {
"u8RGStrength": 128,
"u8BGStrength": 128
},
"dehaze": {
"u8strength": 125
},
"drc": {
"u16Strength": 100,
"u16StrengthMax": 127,
"u16StrengthMin": 0
},
"iso": {
"index": 2,
"params": {
"0": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 13,
"au8UnderShoot": 58,
"au8DetailCtrl": 139,
"au8RGain": 28,
"au8GGain": 31,
"au8BGain": 28,
"au8SkinGain": 25,
"au16MaxSharpGain": 63
}
},
...,
"15": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 10,
"au8UnderShoot": 15,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
}
}
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/camera/picture'
PUT - Изменение параметров
Запрос
Тело:
{
"u8Contr": 42,
"u8Luma": 52,
"u8Satu": 52,
"u8Hue": 50,
"wb": {
"u8RGStrength": 128,
"u8BGStrength": 128
},
"dehaze": {
"u8strength": 125
},
"drc": {
"u16Strength": 100,
"u16StrengthMax": 127,
"u16StrengthMin": 0
},
"iso": {
"index": 2,
"params": {
"0": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 13,
"au8UnderShoot": 58,
"au8DetailCtrl": 139,
"au8RGain": 28,
"au8GGain": 31,
"au8BGain": 28,
"au8SkinGain": 25,
"au16MaxSharpGain": 63
}
},
...,
"15": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 10,
"au8UnderShoot": 15,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
}
}
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"u8Contr": 42,
"u8Luma": 52,
"u8Satu": 52,
"u8Hue": 50,
"wb": {
"u8RGStrength": 128,
"u8BGStrength": 128
},
"dehaze": {
"u8strength": 125
},
"drc": {
"u16Strength": 100,
"u16StrengthMax": 127,
"u16StrengthMin": 0
},
"iso": {
"index": 2,
"params": {
"0": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 13,
"au8UnderShoot": 58,
"au8DetailCtrl": 139,
"au8RGain": 28,
"au8GGain": 31,
"au8BGain": 28,
"au8SkinGain": 25,
"au16MaxSharpGain": 63
}
},
...,
"15": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 10,
"au8UnderShoot": 15,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
}
}
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v2/camera/picture' \
--data-raw '{
"u8Contr": 42,
"u8Luma": 52,
"u8Satu": 52,
"u8Hue": 50,
"wb": {
"u8RGStrength": 128,
"u8BGStrength": 128
},
"dehaze": {
"u8strength": 125
},
"drc": {
"u16Strength": 100,
"u16StrengthMax": 127,
"u16StrengthMin": 0
},
"iso": {
"index": 2,
"params": {
"0": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 13,
"au8UnderShoot": 58,
"au8DetailCtrl": 139,
"au8RGain": 28,
"au8GGain": 31,
"au8BGain": 28,
"au8SkinGain": 25,
"au16MaxSharpGain": 63
}
},
"1": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 13,
"au8UnderShoot": 58,
"au8DetailCtrl": 139,
"au8RGain": 28,
"au8GGain": 31,
"au8BGain": 28,
"au8SkinGain": 25,
"au16MaxSharpGain": 63
}
},
"2": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 13,
"au8UnderShoot": 55,
"au8DetailCtrl": 139,
"au8RGain": 28,
"au8GGain": 31,
"au8BGain": 28,
"au8SkinGain": 25,
"au16MaxSharpGain": 63
}
},
"3": {
"sharpness": {
"au16TextureFreq": 215,
"au16EdgeFreq": 0,
"au8OverShoot": 13,
"au8UnderShoot": 55,
"au8DetailCtrl": 139,
"au8RGain": 28,
"au8GGain": 31,
"au8BGain": 28,
"au8SkinGain": 25,
"au16MaxSharpGain": 63
}
},
"4": {
"sharpness": {
"au16TextureFreq": 215,
"au16EdgeFreq": 0,
"au8OverShoot": 19,
"au8UnderShoot": 53,
"au8DetailCtrl": 128,
"au8RGain": 28,
"au8GGain": 31,
"au8BGain": 28,
"au8SkinGain": 25,
"au16MaxSharpGain": 63
}
},
"5": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 18,
"au8UnderShoot": 34,
"au8DetailCtrl": 130,
"au8RGain": 16,
"au8GGain": 45,
"au8BGain": 26,
"au8SkinGain": 31,
"au16MaxSharpGain": 58
}
},
"6": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 11,
"au8UnderShoot": 34,
"au8DetailCtrl": 130,
"au8RGain": 16,
"au8GGain": 45,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 42
}
},
"7": {
"sharpness": {
"au16TextureFreq": 183,
"au16EdgeFreq": 0,
"au8OverShoot": 1,
"au8UnderShoot": 34,
"au8DetailCtrl": 130,
"au8RGain": 26,
"au8GGain": 45,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 42
}
},
"8": {
"sharpness": {
"au16TextureFreq": 250,
"au16EdgeFreq": 0,
"au8OverShoot": 1,
"au8UnderShoot": 28,
"au8DetailCtrl": 130,
"au8RGain": 8,
"au8GGain": 45,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 42
}
},
"9": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 0,
"au8OverShoot": 24,
"au8UnderShoot": 28,
"au8DetailCtrl": 116,
"au8RGain": 8,
"au8GGain": 45,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
},
"10": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 40,
"au8UnderShoot": 50,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
},
"11": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 40,
"au8UnderShoot": 50,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
},
"12": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 10,
"au8UnderShoot": 15,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
},
"13": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 10,
"au8UnderShoot": 15,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
},
"14": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 10,
"au8UnderShoot": 15,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
},
"15": {
"sharpness": {
"au16TextureFreq": 170,
"au16EdgeFreq": 96,
"au8OverShoot": 10,
"au8UnderShoot": 15,
"au8DetailCtrl": 120,
"au8RGain": 31,
"au8GGain": 31,
"au8BGain": 31,
"au8SkinGain": 31,
"au16MaxSharpGain": 80
}
}
}
}
}'
/v3/camera/osd
Методы получения и изменения параметров наложения текста на видеопоток (osd).
Видео поток поддерживает отображение до 3-х строк.
Описание параметров
Название |
Тип |
Описание |
size |
Integer |
Размер отображаемой информации. |
text | String |
Отображаемый текст. - Длина строки: 0 - 100 символов |
color |
String | Цвет osd в hex. |
date |
Object | Параметры отображения даты. |
enable |
Boolean | Флаг включения / отключения отображения даты. |
format | String |
Формат отображаемой даты (форматы). |
time |
Object | Параметры отображения времени. |
enable |
Boolean | Флаг включения / отключения отображения времени. |
format | String | Формат отображаемового времени (форматы). |
position |
Object | Параметры смещения текста. |
x |
Integer | Смещение по оси "X" в процентном соотношении. |
y |
Integer | Смещение по оси "Y" в процентном соотношении. |
background |
Object | Параметры отображения фона. |
enable |
Boolean | Флаг включения / отключения фона. |
color | String |
Цвет фона в hex. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
[
{
"size": 2,
"text": "",
"color": "0xFFFFFF",
"date": {
"enable": true,
"format": "%d-%m-%Y"
},
"time": {
"enable": true,
"format": "%H:%M:%S"
},
"position": {
"x": 2,
"y": 10
},
"background": {
"enable": false,
"color": "0x0053DE"
}
},
...,
{
"size": 1,
"text": "",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 140,
"y": 0
},
"background": {
"enable": false,
"color": "0xFFFFFF"
}
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v3/camera/osd'
PUT - Изменение параметров
Запрос
Тело:
[
{
"size": 1,
"text": "Строка 1",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": "%d-%m-%Y"
},
"time": {
"enable": false,
"format": "%H:%M:%S"
},
"position": {
"x": 10,
"y": 10
},
"background": {
"enable": false,
"color": "0x000000"
}
},
...,
{
"size": 3,
"text": "Строка 3",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 60
},
"background": {
"enable": false,
"color": "0x000000"
}
}
]
Ответы
200 OK
Успешное изменение параметров
Тело:
[
{
"size": 1,
"text": "Строка 1",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": "%d-%m-%Y"
},
"time": {
"enable": false,
"format": "%H:%M:%S"
},
"position": {
"x": 10,
"y": 10
},
"background": {
"enable": false,
"color": "0x0053DE"
}
},
...,
{
"size": 3,
"text": "Строка 3",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 60
},
"background": {
"enable": false,
"color": "0xFFFFFF"
}
}
]
400 Bad Request
Ошибка проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors |
Array | Массив возвращаемых ошибок. |
message |
String | Сообщение с ошибкой. |
{
"errors": [
{
"message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v3camera/osd' \
--data-raw '[
{
"size": 1,
"text": "Строка 1",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": "%d-%m-%Y"
},
"time": {
"enable": false,
"format": "%H:%M:%S"
},
"position": {
"x": 10,
"y": 10
},
"background": {
"enable": false,
"color": "0x0053DE"
}
},
{
"size": 2,
"text": "Строка 2",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 30
},
"background": {
"enable": false,
"color": "0x000000"
}
},
{
"size": 3,
"text": "Строка 3",
"color": "0xFFFFFF",
"date": {
"enable": false,
"format": ""
},
"time": {
"enable": false,
"format": ""
},
"position": {
"x": 10,
"y": 60
},
"background": {
"enable": false,
"color": "0xFFFFFF"
}
}
]'
Коды
/openCode
Методы получения и добавления кодов на устройство.
Описание параметров
Название |
Тип |
Описание |
code | Integer |
Идентификатор "Кода доступа". |
panelCode | Integer |
Номер квартиры к которой привязан "Код доступа". |
GET - Получение списка
Ответы
200 OK
Тело:
[
{
"code": 12345,
"panelCode": 0
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode'
POST - Добавление кода
Запрос
Тело:
{
"code": 12345,
"panelCode": 0
}
Ответы
201 OK
Успешное добавление кода
Тело:
[
{
"code": 12345,
"panelCode": 0
}
]
400 Bad Request
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для поля "field". |
{
"errors": [
{
"field": "code",
"message": "Код для квартиры уже установлен"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/openCode' \
--data-raw '{
"code": 12345,
"panelCode": 0
}'
/openCode/clear
Метод очистки кодов на устройстве.
DELETE - Удаление кодов
Ответы
204 OK
Успешное удаление кодов
404 Not Found
Ошибка при отсутствии кодов на панели
Тело:
Название |
Тип |
Описание |
errors |
Array |
Массив возвращаемых ошибок. |
messgae |
String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "Коды на домофонной панели отсутствуют"
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/clear'
/openCode/{номер квартиры}
Методы получения и изменения кодов у указанной квартиры.
Описание параметров
Название |
Тип |
Описание |
code | Integer |
Идентификатор "Кода доступа". |
panelCode | Integer |
Номер квартиры к которой привязан "Код доступа". |
GET - Получение кодов
Ответы
200 OK
Успешное получение кодов
Тело:
[
{
"code": 12345,
"panelCode": 0
}
]
400 Bad Request
Ошибка при указании не верного номера квартиры
Тело:
Название |
Тип |
Описание |
errors | Integer |
Массив возвращаемых ошибок. |
message | String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "Неверный формат номера квартиры"
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode/0'
DELETE - Удаление кодов
Ответы
204 OK
Успешное удаление кодов для указанной квартиры
404 Not Found
Ошибка при удалении не существующих кодов для указанной квартиры
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
message |
String | Сообщение об ошибке. |
{
"errors": [
{
"message": "Код в указанной квартире не существует"
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/1'
/openCode/{номер квартиры}/{идентификатор кода}
Метод удаления указанного кода для указанной квартиры.
DELETE - Удаление кода
Ответы
204 OK
Успешное удаление кода
404 Not Found
Ошибка при удалении не существующего кода для указанной квартиры
Тело:
Название |
Тип |
Описание |
errors |
Object |
Массив возвращаемых ошибок. |
message |
String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "Код в указанной квартире не существует"
}
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/openCode/0/12345'
Ключи
/key/settings
Методы получение и изменения параметров панели при взаимодействии с ключами.
Описание параметров
Название |
Тип |
Описание |
mode | Integer |
Режим работы базы данных с ключами 4 или 7 байт. 1 - режим 4 байта; 2 - режим 7 байт; - Ограничения: 1 - 2 - По умолчанию: 1
ВАЖНО: При переключении режимов из базы данных будут удалены все ключи и вся информация о прошитых секторах. |
autocollect | Object |
Параметры режима автосбора ключей. |
enabled | Boolean |
Флаг включения / выключения режима. - По умолчанию: false |
room | Integer |
Номер квартиры к которой будут привязаны приложенные ключи. - По умолчанию: 0 |
encryption | Object |
Параметры проверки шифрованных ключей. |
enabled | Boolean |
Флаг включения / выключения режима. - По умолчанию: false |
key_type | String |
Тип ключа для авторизации в сектор ключа. - Ограничения: A, B - По умолчанию: A |
key_auth | String |
Значение ключа для авторизации в сектор ключа. - Длина строки: 12 символов (16-ой системе) - По умолчанию: FFFFFFFFFFFF |
sector | Integer |
Сектор, который будет проверяться на шифрование. - Ограничения: 0 - 15 - По умолчанию: 0 |
increment | Object |
Параметры инкрементирования значения в указанном блоке сектора. |
enabled | Boolean |
Флаг включения / выключения режима. - По умолчанию: false |
block | Integer |
Блок в котором будет увеличиваться значение инкремента. - Ограничения: 0 - 2 - По умолчанию: 0 |
openByError | Boolean |
Флаг открытия двери при ошибке инкремента. - По умолчанию: false |
kb_codes | Boolean |
Флаг включения / выключения сервисных кодов. - По умолчанию: true
ВАЖНО! При использовании панели в продуктивной среде на постоянной основе НЕОБХОДИМО выключать сервисные коды. |
offset | Integer |
Номер первой квартиры в подъезде, если используются вызовы по смещению. - По умолчанию: 255 |
wiegand | Object |
Параметры использования Wiegand. |
type | Integer |
Тип используемого Wiegand. Определяется автоматически при подключении дополнительного считывателя. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"mode": 1,
"autocollect": {
"enabled": false,
"room": 0
},
"encryption": {
"enabled": false,
"key_type": "A",
"key_auth": "FFFFFFFFFFFF",
"sector": 0,
"increment": {
"enabled": true,
"block": 0,
"openByError": true
}
},
"kb_codes": false,
"offset": 255,
"wiegand": {
"type": 26
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"mode": 1,
"autocollect": {
"enabled": false,
"room": 0
},
"encryption": {
"enabled": false,
"key_type": "A",
"key_auth": "FFFFFFFFFFFF",
"sector": 0,
"increment": {
"enabled": true,
"block": 0,
"openByError": true
}
},
"kb_codes": false,
"offset": 255
}
Ответы
200 OK
Успешное получение параметров
Тело:
{
"mode": 1,
"autocollect": {
"enabled": false,
"room": 0
},
"encryption": {
"enabled": false,
"key_type": "A",
"key_auth": "FFFFFFFFFFFF",
"sector": 0,
"increment": {
"enabled": true,
"block": 0,
"openByError": true
}
},
"kb_codes": false,
"offset": 255,
"wiegand": {
"type": 26
}
}
400 Bad Request
Ошибка проверки передаваемых данных
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
message | String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "Ключ уже существует - 000000AABBCCDD"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/key/settings' \
--data-raw '{
"mode": 1,
"autocollect": {
"enabled": false,
"room": 0
},
"encryption": {
"enabled": false,
"key_type": "B",
"key_auth": "FFFFFFFFFFF3",
"sector": 0,
"increment": {
"enabled": true,
"block": 0,
"openByError": true
}
},
"kb_codes": false,
"offset": 255,
"wiegand": {
"type": 26
}
}'
/key/store
Методы получения и добавления ключей.
Описание параметров
Название |
Тип |
Описание |
uuid | String |
Идентификатор ключа. |
panelCode | Integer |
Номер квартиры к которой привязан ключ. |
encryption | Boolean |
Флаг включения / выключения персональной проверки шифрования.
ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". |
GET - Получение ключей
Ответы
200 OK
Успешное получение списка ключей
Тело:
[
{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
},
{
"uuid": "000000BBCCDDEE",
"panelCode": 1,
"encryption": true
},
{
"uuid": "000000CCDDEEFF",
"panelCode": 2,
"encryption": true
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/store'
POST - Добавление ключа
Запрос
Тело:
{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
}
Ответы
200 OK
Успешное добавление ключа
Тело:
{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/key/store' \
--data-raw '{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
}'
/key/store/clear
Метод удаления всех ключей.
DELETE - Удаление ключей
Ответы
204 OK
Успешное удаление ключей
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/key/store/clear'
/key/store/merge
Метод изменения указанных ключей.
Описание параметров
Название |
Тип |
Описание |
uuid | String |
Идентификатор ключа. |
panelCode | Integer |
Номер квартиры к которой привязан ключ. |
encryption | Boolean |
Флаг включения / выключения персональной проверки шифрования.
ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". |
PUT - Изменение ключей
Запрос
Тело:
[
{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
},
{
"uuid": "000000BBCCDDEE",
"panelCode": 0,
"encryption": true
}
]
Ответы
200 OK
Успешное изменение ключей
Тело:
[
{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
},
{
"uuid": "000000BBCCDDEE",
"panelCode": 0,
"encryption": true
}
]
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/key/store/merge' \
--data-raw '[
{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
},
{
"uuid": "000000BBCCDDEE",
"panelCode": 0,
"encryption": true
}
]'
/key/store/{идентификатор ключа}
Методы получения и изменения указанного ключа.
Описание параметров
Название |
Тип |
Описание |
uuid | String |
Идентификатор ключа. |
panelCode | Integer |
Номер квартиры к которой привязан ключ. |
encryption | Boolean |
Флаг включения / выключения персональной проверки шифрования.
ВАЖНО! Работает при включенном общем параметре "Проверка шифрования". |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/store/000000AABBCCDD'
PUT - Изменение параметров
Запрос
Тело:
{
"panelCode": 0,
"encryption": true
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/key/store/000000AABBCCDD' \
--data-raw '{
"uuid": "000000AABBCCDD",
"panelCode": 0,
"encryption": true
}'
DELETE - Удаление ключа
Ответы
204 OK
Успешное удаление ключа
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/key/store/000000AABBCCDD'
/v1/key/markup/mifare
Методы получения и изменения разметки "Mifare" для прошивки ключей.
Описание параметров
Название |
Тип |
Описание |
enabled | Boolean |
Флаг включения / выключения прошивки ключей. - По умолчанию: false |
numSectors | Integer |
Количество прошиваемых секторов за раз в момент удержания ключа. - Ограничения: 1 - 16 - По умолчанию: 16 |
markup | Object |
Разметка для прошивки Mifare ключей по протоколу SL1. |
0 - 15 | String |
Поддерживаемые сектора для прошивки в ключах. |
skip | Object |
Параметры пропуска указанного сектора. |
err | Boolean |
Пропуск сектора при ошибке во время прошивки. - По умолчанию: false |
always | Boolean |
Пропуск сектора при любых действиях. - По умолчанию: false |
key | Object |
Параметры авторизации в сектор ключа. |
type | String |
Тип ключа для авторизации в сектор ключа. - Ограничения: A, B - По умолчанию: A |
value | String |
Значение ключа для авторизации в сектор ключа. - Длина строки: 12 символов (16-ой системе) - По умолчанию: FFFFFFFFFFFF |
0 - 3 | String |
Блоки для указания различной информации.
ВАЖНО! Блок под номером 3 является управляющим блоком. Настоятельно рекомендуем ознакомиться с возможными данными для указания в данный блок. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"enable": false,
"numSectors": 16,
"markup": {
"0": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
...,
"15": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
}
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/key/markup/mifare'
PUT - Изменение параметров
Запрос
Тело:
{
"enable": false,
"numSectors": 16,
"markup": {
"0": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
...,
"15": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
}
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"enable": false,
"numSectors": 16,
"markup": {
"0": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
...,
"15": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
}
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/key/markup/mifare' \
--data-raw '{
"enable": false,
"numSectors": 16,
"markup": {
"0": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"1": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"2": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"3": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"4": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"5": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"6": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"7": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"8": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"9": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"10": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"11": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"12": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"13": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"14": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
},
"15": {
"skip": {
"err": true,
"always": true
},
"key": {
"type": "A",
"value": "FFFFFFFFFFFF"
},
"3": null,
"2": null,
"1": null,
"0": null
}
}
}'
DELETE - Сброс параметров к стандартным
Ответы
204 OK
Успешный сброс параметров
Пример
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/key/markup/mifare'
Квартиры
/panelCode
Методы получения и добавления квартир на устройство.
Описание параметров
Название |
Тип |
Описание |
panelCode | Integer |
Номер квартиры. |
callsEnabled | Object |
Параметры разрешения вызовов в АТ и SIP. |
sip | Boolean |
Флаг включения / выключения вызовов в SIP. - По умолчанию: true |
handset | Boolean |
Флаг включения / выключения вызовов в АТ. - По умолчанию: true |
soundOpenTh | Boolean |
Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. |
typeSound | Integer |
Режимы эхоподавления при вызове в АТ. - Ограничения: 0, 1, 2, 3 - По умолчанию: 3 |
volumes | Object |
Персональные громкости при вызове в квартиру.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
thCall | Integer |
Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
resistances | Object |
Параметры сопротивления трубки для смены состояний.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
quiescent |
Integer |
Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
answer | Integer |
Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
GET - Получение квартир
Ответы
200 OK
Успешное получение квартир
Тело:
[
{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
},
...,
{
"panelCode": 100,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
]
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode'
POST - Добавление квартиры
Запрос
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": false,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
Ответы
200 OK
Успешное добавление квартиры
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": false,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
400 Bad Request
Ошибка при добавлении существующей квартиры
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
field | String |
Название переменной к которой относиться ошибка. |
message | String |
Сообщение об ошибки для переменной из поля "field". |
{
"errors": [
{
"field": "panelCode",
"message": "Квартира уже существует - 1"
}
]
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode' \
--data-raw '{
"panelCode": 1,
"callsEnabled": {
"sip": false,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}'
/panelCode/clear
Метод удаления всех квартир с устройства.
DELETE - Удаление квартир
Ответы
204 OK
Успешное удаление квартир
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/panelCode/clear'
/panelCode/settings
Методы получения и изменения параметров "SOS" и "Консьерж".
Описание параметров
Название |
Тип | Описание |
consiergeRoom |
String |
"Номер квартиры" или "SIP аккаунт" на который будет вызов при нажатии на кнопку "Консьерж". - По умолчанию: 999 |
sosRoom |
String |
"Номер квартиры" или "SIP аккаунт" на который будет вызов при нажатии на кнопку "SOS". - По умолчанию: "" |
sosDelay |
Boolean |
Флаг включения / выключения задержки при нажатии кнопки "SOS". - По умолчанию: true |
sosDelayTime |
Integer |
Время которое необходимо удерживать кнопку "SOS" для совершения вызова. - Ограничения: 1 - 10 секунд - По умолчанию: 255 (5 секунд) |
sosType |
Boolean |
Тип отображаемой строки при удержании кнопки "SOS". - true - "112"; - false - "SOS". - По умолчанию: true |
soundOpenPanel |
Boolean |
Флаг включения / выключения звуков открытия и ошибок при прикладывании ключа. - По умолчанию: true |
soundOpenTh |
Boolean |
Флаг включения / выключения звуков открытия при прикладывании ключа привязанного к квартире. - По умолчанию: false |
typeSound | Integer |
Общий тип эхоподавления используемый для персональных настроек квартир со значением "255" или "null". - Ограничение: 0, 1, 3 - По умолчанию: 3 |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"consiergeRoom": "999",
"sosRoom": "",
"sosDelay": true,
"soundOpenPanel": true,
"soundOpenTh": false,
"typeSound": 3,
"sosType": true,
"sosDelayTime": 255
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"consiergeRoom": "999",
"sosRoom": "",
"sosDelay": true,
"soundOpenPanel": true,
"soundOpenTh": false,
"typeSound": 3,
"sosType": true,
"sosDelayTime": 255
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"consiergeRoom": "999",
"sosRoom": "",
"sosDelay": true,
"soundOpenPanel": true,
"soundOpenTh": false,
"typeSound": 3,
"sosType": true,
"sosDelayTime": 255
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/settings' \
--data-raw '{
"consiergeRoom": "999",
"sosRoom": "",
"sosDelay": true,
"soundOpenPanel": true,
"soundOpenTh": false,
"typeSound": 3,
"sosType": true,
"sosDelayTime": 255
}'
/panelCode/diag
Метод массового замера уровня сопротивления абонентских трубок для указанных квартир.
Описание параметров
Название |
Тип | Описание |
1 - 5 |
Object | Номер квартиры к которой относятся данные. |
resist |
Integer |
Значение сопротивления измеренное панелью. - Ограничения: 0 - 255 |
status |
String |
Положение трубки полученное из ограничений общих параметров "quiesence" и "answer" - Ограничения: - down - положенная трубка (зеленый); - up - поднятая трубка (желтый); - error - ошибка при замере (красный). |
error |
String | Сообщение ошибки при значении "error" в параметре "status". |
POST - Получение замеров
Запрос
Тело:
[1, 2, 3, 4, 5]
Ответы
200 OK
Успешное получение замеров
Тело:
{
"1": {
"resist": 75,
"status": "down"
},
"2": {
"resist": 190,
"status": "up"
},
"3": {
"resist": 0,
"status": "error",
"error": "Обрыв трубки, кв. 3"
},
"4": {
"resist": 0,
"status": "error",
"error": "Обрыв трубки, кв. 4"
},
"5": {
"resist": 0,
"status": "error",
"error": "Обрыв трубки, кв. 5"
}
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode/diag' \
--data-raw '[1, 2, 3, 4, 5]'
/panelCode/{номер квартиры}
Методы получения и изменения персональных параметров квартиры.
Описание параметров
Название |
Тип |
Описание |
panelCode | Integer |
Номер квартиры. |
callsEnabled | Object |
Параметры разрешения вызовов в АТ и SIP. |
sip | Boolean |
Флаг включения / выключения вызовов в SIP. - По умолчанию: true |
handset | Boolean |
Флаг включения / выключения вызовов в АТ. - По умолчанию: true |
soundOpenTh | Boolean |
Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. |
typeSound | Integer |
Режимы эхоподавления при вызове в АТ. - Ограничения: 0, 1, 3 - По умолчанию: 3 |
volumes | Object |
Персональные громкости при вызове в квартиру.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
thCall | Integer |
Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
resistances | Object |
Параметры сопротивления трубки для смены состояний.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
quiescent |
Integer |
Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
answer | Integer |
Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1'
PUT - Изменение параметров
Запрос
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/1' \
--data-raw '{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": 3,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}'
DELETE - Удаление квартиры
Ответы
204 OK
Успешное удаление квартиры
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/panelCode/1'
/panelCode/{номер квартиры}/levels
Методы получения и изменения персональных уровней громкости и сопротивлений абонентских трубок.
Описание параметров
Название |
Тип |
Описание |
volumes | Object |
Персональные громкости при вызове в квартиру.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
thCall | Integer |
Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
resistances | Object |
Параметры сопротивления трубки для смены состояний.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
quiescent |
Integer |
Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
answer | Integer |
Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/levels'
PUT - Изменение параметров
Запрос
Тело:
{
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/1/levels' \
--data-raw '{
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}'
/panelCode/{номер квартиры}/resist
Метод получения уровня сопротивления трубки у указанной квартиры.
Описание параметров
Название |
Тип | Описание |
resist |
Integer |
Значение сопротивления измеренное панелью. - Ограничения: 0 - 255 |
status |
String |
Положение трубки полученное из ограничений общих параметров "quiesence" и "answer" - Ограничения: - down - положенная трубка (зеленый); - up - поднятая трубка (желтый). |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"resist": 75,
"status": "down"
}
или
{
"resist": 190,
"status": "up"
}
500 Internal Server Error
Внутренняя ошибка при обработке метода
Тело:
Название |
Тип |
Описание |
errors |
Array | Массив возвращаемых ошибок. |
message |
String | Сообщение с ошибкой. |
{
"errors": [
{
"message": "Обрыв трубки, кв. 1"
}
]
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/resist'
/panelCode/rooms_update
Метод массового обновления параметров указанных квартир.
Описание параметров
Название |
Тип |
Описание |
panelCode | Integer |
Номер квартиры. |
callsEnabled | Object |
Параметры разрешения вызовов в АТ и SIP. |
sip | Boolean |
Флаг включения / выключения вызовов в SIP. - По умолчанию: true |
handset | Boolean |
Флаг включения / выключения вызовов в АТ. - По умолчанию: true |
soundOpenTh | Boolean |
Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире. |
typeSound | Integer |
Режимы эхоподавления при вызове в АТ. - Ограничения: 0, 1, 2, 3 - По умолчанию: 3 |
volumes | Object |
Персональные громкости при вызове в квартиру.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
thCall | Integer |
Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
resistances | Object |
Параметры сопротивления трубки для смены состояний.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
quiescent |
Integer |
Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
answer | Integer |
Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
PUT - Обновление параметров
Запрос
Тело:
[
{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": null,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
},
{
"panelCode": 2,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": null,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
]
Ответы
200 OK
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
400 Bad Request
Ошибка при добавлении существующей квартиры
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
message | String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "Не удалось распарсить JSON 15: ']' expected near end of file"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/rooms_update' \
--data-raw '[
{
"panelCode": 1,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": null,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
},
{
"panelCode": 2,
"callsEnabled": {
"sip": true,
"handset": true
},
"soundOpenTh": null,
"typeSound": null,
"volumes": {
"thCall": null,
"thTalk": null,
"uartFrom": null,
"uartTo": null,
"panelCall": null,
"panelTalk": null
},
"resistances": {
"quiescent": null,
"answer": null
}
}
]'
Калитка
/gate/settings
Методы получение и изменения параметров панели в режиме "Калитка".
Описание параметров
Название |
Тип | Описание |
gateMode |
Boolean |
Флаг включения / выключения режима калитки. - По умолчанию: false |
prefixHouse |
Boolean |
Флаг включения / выключения вызовы с префиксом. - По умолчанию: false |
direct |
Object |
Параметры прямых вызовов с устройства на устройство. |
mode |
Boolean |
Флаг включения / выключения прямых вызовов. - По умолчанию: false |
rules |
Object |
Правила для прямых вызовов. |
0 |
String |
Префикс дома при вызове. - Ограничения: цифры - По умолчанию: 0
ВАЖНО! Если требуются прямые вызовы, но не включен префикс, то всегда указываем 0. В остальных случаях указываем необходимый префикс дома. |
1 - 10 |
String |
Диапазон квартир при наборе которого будет уходить вызов на указанное устройство. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"gateMode": false,
"prefixHouse": false,
"direct": {
"mode": false,
"rules": {
"0": {
"1-10": "192.168.0.101"
}
}
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/gate/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"gateMode": false,
"prefixHouse": false,
"direct": {
"mode": false,
"rules": {
"0": {
"1-10": "192.168.0.101"
}
}
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"gateMode": false,
"prefixHouse": false,
"direct": {
"mode": false,
"rules": {
"0": {
"1-10": "192.168.0.101"
}
}
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/gate/settings' \
--data-raw '{
"gateMode": false,
"prefixHouse": false,
"direct": {
"mode": false,
"rules": {}
}
}'
Уровни звука
/levels
Методы получения и изменения общих уровней громкости и сопротивлений абонентских трубок.
Описание параметров
Название |
Тип |
Описание |
resistances | Object |
Параметры сопротивления трубки для смены состояний.
Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир. |
break |
Integer |
Уровень при неисправности трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
error |
Integer |
Уровень при обрыве. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
quiescent |
Integer |
Уровень поднятия трубки. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
answer | Integer |
Уровень открытия двери. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 254, 255 или null - По умолчанию: null |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"resistances": {
"break": 240,
"error": 105,
"quiescent": 255,
"answer": 255
},
"volumes": {
"panelCall": 110,
"panelTalk": 125,
"thTalk": 250,
"thCall": 130,
"uartFrom": 135,
"uartTo": 255
}
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/levels'
PUT - Изменение параметров
Запрос
Тело:
{
"resistances": {
"break": 240,
"error": 105,
"quiescent": 255,
"answer": 255
},
"volumes": {
"panelCall": 110,
"panelTalk": 125,
"thTalk": 250,
"thCall": 130,
"uartFrom": 135,
"uartTo": 255
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"resistances": {
"break": 240,
"error": 105,
"quiescent": 255,
"answer": 255
},
"volumes": {
"panelCall": 110,
"panelTalk": 125,
"thTalk": 250,
"thCall": 130,
"uartFrom": 135,
"uartTo": 255
}
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/levels' \
--data-raw '{
"resistances": {
"break": 240,
"error": 105,
"quiescent": 255,
"answer": 255
},
"volumes": {
"panelCall": 110,
"panelTalk": 125,
"thTalk": 250,
"thCall": 130,
"uartFrom": 135,
"uartTo": 255
},
"noise": {
"line": null
}
}'
/levels/realtime
Методы получения и изменения уровней громкости только во время текущего вызова.
Описание параметров
Название |
Тип |
Описание |
thCall | Integer |
Громкость мелодии трубки во время вызова в АТ. - Ограничения: 0 - 255 - По умолчанию: 0 |
thTalk | Integer |
Громкость в трубке во время разговора по АТ. - Ограничения: 0 - 255 - По умолчанию: 0 |
uartFrom | Integer |
Громкость на панели во время разговора по SIP. - Ограничения: 0 - 255 - По умолчанию: 0 |
uartTo | Integer |
Усиление микрофона панели во время разговора по SIP. - Ограничения: 0 - 255 - По умолчанию: 0 |
panelCall | Integer |
Системные звуки панели. - Ограничения: 0 - 255 - По умолчанию: 0 |
panelTalk | Integer |
Громкость на панели во время разговора по АТ. - Ограничения: 0 - 255 - По умолчанию: 0 |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"thCall": 0,
"panelCall": 0,
"thTalk": 0,
"panelTalk": 0,
"uartFrom": 0,
"uartTo": 0
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/levels/realtime'
PUT - Изменение параметров
Запрос
Тело:
{
"thCall": 0,
"panelCall": 0,
"thTalk": 0,
"panelTalk": 0,
"uartFrom": 0,
"uartTo": 0
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"thCall": 0,
"panelCall": 0,
"thTalk": 0,
"panelTalk": 0,
"uartFrom": 0,
"uartTo": 0
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/levels/realtime' \
--data-raw '{
"thCall": 0,
"panelCall": 0,
"thTalk": 0,
"panelTalk": 0,
"uartFrom": 0,
"uartTo": 0
}'
Логи
/log/last
Метод получения последних 100 строк логов.
GET - Получение логов
Ответы
200 OK
Успешное получение логов
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/plain | Тип возвращаемых данных |
Тело:
2023-08-14T13:48:07.458354+05:00 081300000000 UART[1001]: STM32.DEBUG: 07F765003901000003401084846270882020
2023-08-14T13:48:08.976034+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:08.978101+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:09.008538+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 339469 bytes
2023-08-14T13:48:28.977651+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:28.986152+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:29.032053+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 340180 bytes
2023-08-14T13:48:30.961621+05:00 081300000000 API[1037]: Вызов метода: 1 /system/fw_env [192.168.0.10]
2023-08-14T13:48:31.083043+05:00 081300000000 UART[1001]: STM32.DEBUG: 06
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/log/last'
/v2/logs/{сервис}
Метод получения логов указанного сервиса.
Список поддерживаемых параметров "{сервис}":
- all - все логи устройства;
- api - логи API сервера;
- uart - логи UART клиента;
- ddns - логи DDNS клиента;
- camofon - логи SIP клиента;
- streamer - логи RTSP сервера;
- ircut - логи переключения ИК шторки;
- upgrade - логи обновления устройства.
GET - Получение логов
Ответы
200 OK
Успешное получение логов
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/plain | Тип возвращаемых данных |
Тело:
2023-08-14T13:48:07.458354+05:00 081300000000 UART[1001]: STM32.DEBUG: 07F765003901000003401084846270882020
2023-08-14T13:48:08.976034+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:08.978101+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:09.008538+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 339469 bytes
2023-08-14T13:48:28.977651+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:28.986152+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:29.032053+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 340180 bytes
2023-08-14T13:48:30.961621+05:00 081300000000 API[1037]: Вызов метода: 1 /system/fw_env [192.168.0.10]
2023-08-14T13:48:31.083043+05:00 081300000000 UART[1001]: STM32.DEBUG: 06
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/log/all'
Настройки сети
/v1/network
Методы получения и изменения виртуальных сетевых интерфейсов.
Устройство поддерживает до 3-х виртуальных сетевых интерфейсов.
Описание параметров
Название |
Тип | Описание |
inet |
String |
Тип виртуального сетевого интерфейса. Ограничения: dhcp, static |
inetStatic |
Object |
Параметры для настройки статического виртуального сетевого интерфейса. |
netmask |
String |
Сетевая маска при подключении к сети. - Ограничения: IPv4 адрес - По умолчанию: 255.255.255.0 |
gateway |
String |
Сетевой шлюз при подключении к сети. - Ограничения: IPv4 адрес - По умолчанию: "" |
ipAddress |
String |
IP адрес устройства при подключении к сети. - Ограничения: IPv4 адрес - По умолчанию: 192.168.0.100 |
dnsServer |
String |
IP адрес DNS сервера. - Ограничения: IPv4 адрес - По умолчанию: "" |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
[
{
"inet": "dhcp"
},
{
"inet": "static",
"inetStatic": {
"netmask": "255.255.255.0",
"gateway": "",
"ipAddress": "192.168.0.100",
"dnsServer": ""
}
}
]
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/network'
PUT - Изменение параметров
Запрос
Тело:
[
{
"inet": "dhcp"
},
{
"inet": "static",
"inetStatic": {
"netmask": "255.255.255.0",
"gateway": "192.168.0.1",
"ipAddress": "192.168.0.100",
"dnsServer": "192.168.0.1"
}
}
]
Ответы
200 OK
Успешное изменение параметров
Тело:
[
{
"inet": "dhcp"
},
{
"inet": "static",
"inetStatic": {
"netmask": "255.255.255.0",
"gateway": "192.168.0.1",
"ipAddress": "192.168.0.100",
"dnsServer": "192.168.0.1"
}
}
]
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/network' \
--data-raw '[
{
"inet": "dhcp"
},
{
"inet": "static",
"inetStatic": {
"netmask": "255.255.255.0",
"gateway": "192.168.0.1",
"ipAddress": "192.168.0.100",
"dnsServer": "192.168.0.1"
}
}
]'
DELETE - Сброс к стандартным
Ответы
200 OK
Успешный сброс к стандартным
Тело:
[
{
"inet": "dhcp"
},
{
"inet": "static",
"inetStatic": {
"netmask": "255.255.255.0",
"gateway": "",
"ipAddress": "192.168.0.100",
"dnsServer": ""
}
}
]
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/v1/network'
Уведомления
/v1/notification/forced/list
Метод получения списка аудиофайлов для воспроизведения.
Описание параметров
Название |
Тип |
Описание |
name | String |
Наименование файла. |
GET - Получение списка
Ответы
200 OK
Успешное получение списка файлов
Тело:
[
{
"name": "test.wav"
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/notification/forced/list'
/v1/notification/forced/play
Метод запуска воспроизведения указанного аудиофайла.
Описание параметров
Название |
Тип |
Описание |
name | String |
Наименование файла для запуска воспроизведения. |
repeat | Integer |
Количество повторений воспроизведений указанного файла. |
PUT - Воспроизведения аудио файла
Запрос
Тело:
{
"name": "test.wav",
"repeat": 3
}
Ответы
200 OK
Успешное воспроизведение аудио файла
Тело:
{
"name": "test.wav",
"repeat": 3
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/notification/forced/play' \
--data-raw '{
"name": "test.wav",
"repeat": 3
}'
/v1/notification/forced/stop
Метод остановки воспроизводимого аудиофайла.
PUT - Остановка аудио файла
Ответы
200 OK
Успешная остановка воспроизводимого аудио файла
Заголовки:
Название |
Значение |
Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/notification/forced/stop'
Бегущая строка
/panelDisplay/settings
Методы получения и изменения параметров бегущей строки на дисплее.
Описание параметров
Название |
Тип |
Описание |
strDisplayOff | Boolean |
Флаг включения / выключения бегущей строки. - По умолчанию: false |
imgStr | String |
Текст отображения на дисплее. - Длина строки: 0 - 10 символов - По умолчанию: ""
ВАЖНО! Поддерживается латинский алфавит и цифры ASCII. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"strDisplayOff": true,
"imgStr": ""
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelDisplay/settings'
PUT - Изменить параметры
Запрос
Тело:
{
"strDisplayOff": true,
"imgStr": ""
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"strDisplayOff": true,
"imgStr": ""
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelDisplay/settings' \
--data-raw '{
"strDisplayOff": true,
"imgStr": ""
}'
Реле
/relay/info
Метод получения поддерживаемых номеров реле.
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Заголовки:
Название |
Значение |
Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Тело:
[1, 2]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/info'
/relay/settings
Методы получения и изменения общих параметров реле.
Описание параметров
Название |
Тип |
Описание |
inverseDoor | Boolean |
Флаг включения / выключения программного инвертирования "Основного" и "Дополнительного" выходов. - По умолчанию: false |
alwaysOpenNetMode | Boolean |
Флаг включения / выключения режима открытых дверей при недоступности сети. - По умолчанию: false |
alwaysOpen | Boolean |
Флаг включения / выключения режима открытых дверей. - По умолчанию: false |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"inverseDoor": false,
"alwaysOpenNetMode": false,
"alwaysOpen": false
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"inverseDoor": false,
"alwaysOpenNetMode": false,
"alwaysOpen": false
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"inverseDoor": false,
"alwaysOpenNetMode": false,
"alwaysOpen": false
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/settings' \
--data-raw '{
"inverseDoor": true,
"alwaysOpenNetMode": false,
"alwaysOpen": false
}'
/relay/{номер реле}/open
Метод открытия указанного номера реле.
PUT - Открытие реле
Запрос
Заголовки:
Название |
Значение |
Описание |
Authorization |
Basic cm9vdDoxMjM0NTY= | Заголовок "Базовой авторизации" |
Ответы
204 OK
Успешное открытие реле
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/1/open'
/relay/{номер реле}/settings
Методы получения и изменения параметров указанного номера реле.
Описание параметров
Название |
Тип |
Описание |
switchTime | Integer |
Время удержания двери в открытом состоянии. - Ограничения: 1 - 10 секунд - По умолчанию: 1 |
alwaysOpen | Boolean |
Флаг включения / выключения режима открытых дверей. - По умолчанию: false |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"switchTime": 1,
"alwaysOpen": false
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/1/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"switchTime": 1,
"alwaysOpen": false
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"switchTime": 1,
"alwaysOpen": false
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/1/settings' \
--data-raw '{
"switchTime": 1,
"alwaysOpen": false
}'
SIP
/sip/options
Методы получения и изменения sip-параметров для управления вызовом;
Описание параметров
Название |
Тип |
Описание |
dtmf | Object |
Параметры DTMF для выходов; |
1, 2 | String |
Символ необходимый для открытия выхода 1, 2. - Длина: 1 символ - По умолчанию: 1, 2 |
callDelay | Integer |
Задержка вызова в АТ. - Ограничения: 0 - 255 секунд - По умолчанию: 0 секунд |
talkDuration | Integer |
Время разговора с момента поднятия трубки в АТ или в SIP. - Ограничения: 1 - 255 секунд - По умолчанию: 180 секунд |
ringDuration | Integer |
Время совершения вызова до поднятия трубки в АТ или в SIP. - Ограничения: 1 - 255 секунд - По умолчанию: 60 секунд |
echoD | Boolean |
Флаг включения / выключения алгоритма эхоподавления в SIP. - По умолчанию: true |
GET - Получение параметров
Запрос
Заголовки:
Название |
Значение |
Описание |
Authorization |
Basic cm9vdDoxMjM0NTY= | Заголовок "Базовой авторизации" |
Ответы
200 OK
Заголовки:
Название |
Значение |
Описание |
Content-Type |
application/json | Тип возвращаемых данных |
Content-Length |
90 | Размер возвращаемых данных |
X-Device-Mac |
08:13:00:00:00:00 | Мак адрес устройства |
Тело:
Название |
Тип |
Описание |
dtmf | Object |
Параметры DTMF для выходов; |
1 | String |
Символ необходимый для открытия выхода 1. - Длина: 1 символ - По умолчанию: 1 |
2 | String |
Символ необходимый для открытия выхода 2. - Длина: 1 символ - По умолчанию: 2 |
callDelay | Integer |
Задержка вызова в АТ. - Ограничения: 0 - 255 секунд - По умолчанию: 0 секунд |
talkDuration | Integer |
Время разговора с момента поднятия трубки в АТ или в SIP. - Ограничения: 1 - 255 секунд - По умолчанию: 180 секунд |
ringDuration | Integer |
Время совершения вызова до поднятия трубки в АТ или в SIP. - Ограничения: 1 - 255 секунд - По умолчанию: 60 секунд |
echoD | Boolean |
Флаг включения / выключения алгоритма эхоподавления в SIP. - По умолчанию: true |
{
"dtmf": {
"1": "1",
"2": "2"
},
"callDelay": 0,
"talkDuration": 180,
"ringDuration": 60,
"echoD": true
}
500 Internal Server Error
Внутренняя ошибка при обработке метода
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/options'
PUT - Изменение параметров
Запрос
Тело:
{
"dtmf": {
"1": "1",
"2": "2"
},
"callDelay": 0,
"talkDuration": 180,
"ringDuration": 60,
"echoD": true
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"dtmf": {
"1": "1",
"2": "2"
},
"callDelay": 0,
"talkDuration": 180,
"ringDuration": 60,
"echoD": true
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/options' \
--data-raw '{
"dtmf": {
"1": "1",
"2": "2"
},
"callDelay": 0,
"talkDuration": 180,
"ringDuration": 60,
"echoD": true
}'
/sip/settings
Методы получения и изменения sip-параметров для авторизации на сервере.
Описание параметров
Название |
Тип |
Описание |
videoEnable | Boolean |
Флаг включения / выключения видео-потока в видео вызове; - По умолчанию: true |
remote | Object |
Параметры авторизации на SIP сервере. |
port | Integer |
Порт сервера на который отправляются запросы. - По умолчанию: 5060 |
domain | String |
Адрес сервера на который отправляются запросы. - По умолчанию: domain.com |
username | String |
Логин для авторизации на сервере. - По умолчанию: "" |
password | String |
Пароль для авторизации на сервере. - По умолчанию: "" |
registerStatus | Boolean |
Флаг текущего состояния авторизации на сервере. |
GET - Получение параметров
Запрос
Заголовки:
Название |
Значение |
Описание |
Authorization |
Basic cm9vdDoxMjM0NTY= | Заголовок "Базовой авторизации" |
Ответы
200 OK
Успешное получение параметров
Заголовки:
Название |
Значение |
Описание |
Content-Type |
application/json | Тип возвращаемых данных |
Content-Length |
116 | Размер возвращаемых данных |
X-Device-Mac |
08:13:00:00:00:00 | Мак адрес устройства |
Тело:
Название |
Тип |
Описание |
videoEnable | Boolean |
Флаг включения / выключения видео-потока в видео вызове; - По умолчанию: true |
remote | Object |
Параметры авторизации на SIP сервере. |
port | Integer |
Порт сервера на который отправляются запросы. - По умолчанию: 5060 |
domain | String |
Адрес сервера на который отправляются запросы. - По умолчанию: domain.com |
username | String |
Логин для авторизации на сервере. - По умолчанию: "" |
password | String |
Пароль для авторизации на сервере. - По умолчанию: "" |
registerStatus | Boolean |
Флаг текущего состояния авторизации на сервере. |
{
"videoEnable": true,
"remote": {
"port": 5060,
"domain": "domain.com",
"username": "",
"password": "",
"registerStatus": false
}
}
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"videoEnable": true,
"remote": {
"port": 5060,
"domain": "domain.com",
"username": "",
"password": ""
}
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"videoEnable": true,
"remote": {
"port": 5060,
"domain": "domain.com",
"username": "",
"password": "",
"registerStatus": false
}
}
500 Internal Server Error
Внутренняя ошибка при обработке метода
Тело:
{
"errors": [
{
"field": "SetServer",
"message": "Ошибка установки параметра"
}
]
}
Примеры
CURL:
curl
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/sip/settings' \
--data-raw '{
"videoEnable": true,
"remote": {
"port": 5060,
"domain": "domain.com",
"username": "",
"password": ""
}
}'
/sip/test/{номер квартиры}
Метод создания тестового вызова в абонентскую трубку и SIP для указанного номера квартиры.
GET - Отправка тестового вызова
Ответы
200 OK
Успешная отправка тестового вызова
Заголовки:
Название |
Значение |
Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/1'
/sip/test/sip/{номер квартиры}
Метод создания тестового вызова в SIP для указанного номера квартиры.
GET - Отправка тестового вызова
Ответы
200 OK
Успешная отправка тестового вызова
Заголовки:
Название |
Значение |
Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/sip/1'
/sip/test/analog/{номер квартиры}
Метод создания тестового вызова в абонентскую трубку для указанного номера квартиры.
GET - Отправка тестового вызова
Ответы
200 OK
Успешная отправка тестового вызова
Заголовки:
Название |
Значение |
Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/analog/1'
Вызовы
/v1/call/stop
Метод завершения текущего вызова.
PUT - Завершение вызова
Ответы
200 OK
Успешное завершение вызова
Заголовки:
Название |
Значение |
Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/call/stop'
Матрицы
/switch/info/models
Метод получения списка поддерживаемых коммутаторов устройством.
Описание параметров
Название |
Тип |
Описание |
id | String |
Модель поддерживаемового коммутатора. |
name | String |
Наименование поддерживаемового коммутатора. |
eCount | Integer |
Количество единиц используемых для коммутации. |
GET - Получение списка
Ответы
200 OK
Успешное получение списка
Тело:
[
{
"id": "FACTORIAL",
"name": "Факториал",
"eCount": 8
},
{
"id": "CYFRAL",
"name": "Цифрал",
"eCount": 10
},
{
"id": "VIZIT",
"name": "Визит",
"eCount": 10
},
{
"id": "METAKOM",
"name": "Метаком",
"eCount": 10
},
{
"id": "ELTIS",
"name": "Элтис",
"eCount": 10
}
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/info/models'
/switch/settings
Методы получения и изменения общих параметров для коммутаторов.
Описание параметров
Название |
Тип |
Описание |
modelId | String |
Модель используемого коммутатора. Метод для получения поддерживаемых коммутаторов: /switch/info/models |
usingCom3 | Boolean |
Флаг включения / выключения использования "Платы управления замком" или "Третьего коммутатора". - По умолчанию: true |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"modelId": "CYFRAL",
"usingCom3": true
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"modelId": "CYFRAL",
"usingCom3": true
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"modelId": "CYFRAL",
"usingCom3": true
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/switch/settings' \
--data-raw '{
"modelId": "CYFRAL",
"usingCom3": true
}'
/switch/matrix/{номер матрицы коммутации}
Методы получения и изменения указанной матрицы коммутации.
Панель поддерживает подключение до 2-х коммутаторов:
- Визит.
Панель поддерживает подключение до 3-х коммутаторов:
- Элтис;
- Бевард;
- Цифрал;
- Метаком;
- Факториал.
Описание параметров
Название |
Тип |
Описание |
capacity | Integer |
Размер указанного коммутатора. |
matrix | Array |
Двумерный массив с номерами квартир для коммутатора. |
GET - Получение параметров
Ответы
200 OK
Тело:
{
"capacity": 100,
"matrix": [
[
100,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
[
10,
11,
12,
13,
14,
15,
16,
17,
18,
19
],
[
20,
21,
22,
23,
24,
25,
26,
27,
28,
29
],
[
30,
31,
32,
33,
34,
35,
36,
37,
38,
39
],
[
40,
41,
42,
43,
44,
45,
46,
47,
48,
49
],
[
50,
51,
52,
53,
54,
55,
56,
57,
58,
59
],
[
60,
61,
62,
63,
64,
65,
66,
67,
68,
69
],
[
70,
71,
72,
73,
74,
75,
76,
77,
78,
79
],
[
80,
81,
82,
83,
84,
85,
86,
87,
88,
89
],
[
90,
91,
92,
93,
94,
95,
96,
97,
98,
99
]
]
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/matrix/1'
PUT - Изменение параметров
Запрос
Тело:
{
"capacity": 100,
"matrix": [
[
100,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
[
10,
11,
12,
13,
14,
15,
16,
17,
18,
19
],
[
20,
21,
22,
23,
24,
25,
26,
27,
28,
29
],
[
30,
31,
32,
33,
34,
35,
36,
37,
38,
39
],
[
40,
41,
42,
43,
44,
45,
46,
47,
48,
49
],
[
50,
51,
52,
53,
54,
55,
56,
57,
58,
59
],
[
60,
61,
62,
63,
64,
65,
66,
67,
68,
69
],
[
70,
71,
72,
73,
74,
75,
76,
77,
78,
79
],
[
80,
81,
82,
83,
84,
85,
86,
87,
88,
89
],
[
90,
91,
92,
93,
94,
95,
96,
97,
98,
99
]
]
}
Ответы
200 OK
Успешное изменение параметров
Тело:
{
"capacity": 100,
"matrix": [
[
100,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
[
10,
11,
12,
13,
14,
15,
16,
17,
18,
19
],
[
20,
21,
22,
23,
24,
25,
26,
27,
28,
29
],
[
30,
31,
32,
33,
34,
35,
36,
37,
38,
39
],
[
40,
41,
42,
43,
44,
45,
46,
47,
48,
49
],
[
50,
51,
52,
53,
54,
55,
56,
57,
58,
59
],
[
60,
61,
62,
63,
64,
65,
66,
67,
68,
69
],
[
70,
71,
72,
73,
74,
75,
76,
77,
78,
79
],
[
80,
81,
82,
83,
84,
85,
86,
87,
88,
89
],
[
90,
91,
92,
93,
94,
95,
96,
97,
98,
99
]
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/matrix/1' \
--data-raw '{
"capacity": 100,
"matrix": [
[
100,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
[
10,
11,
12,
13,
14,
15,
16,
17,
18,
19
],
[
20,
21,
22,
23,
24,
25,
26,
27,
28,
29
],
[
30,
31,
32,
33,
34,
35,
36,
37,
38,
39
],
[
40,
41,
42,
43,
44,
45,
46,
47,
48,
49
],
[
50,
51,
52,
53,
54,
55,
56,
57,
58,
59
],
[
60,
61,
62,
63,
64,
65,
66,
67,
68,
69
],
[
70,
71,
72,
73,
74,
75,
76,
77,
78,
79
],
[
80,
81,
82,
83,
84,
85,
86,
87,
88,
89
],
[
90,
91,
92,
93,
94,
95,
96,
97,
98,
99
]
]
}'
Микроконтроллер
/v1/mcu/info
Метод получения информации о микроконтроллере.
Описание параметров
Название |
Тип |
Описание |
power | Object |
Параметры питания панели; |
dc | Float |
Входное напряжение; |
chipId | Integer |
Идентификатор микроконтроллера; |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"power": {
"dc": 12.412
},
"chipId": 2321944743649890300
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/mcu/info'
Системное
/system/tz
Метод получения поддерживаемых временных зон.
GET - Получение списка
Ответы
200 OK
Успешное получение списка
Тело:
[
"Africa/Abidjan",
"Africa/Accra",
"Africa/Addis_Ababa",
"Africa/Algiers",
"Africa/Asmara",
"Africa/Asmera",
"Africa/Bamako",
"Africa/Bangui",
"Africa/Banjul",
"Africa/Bissau",
"Africa/Blantyre",
"Africa/Brazzaville",
"Africa/Bujumbura",
"Africa/Cairo",
"Africa/Casablanca",
"Africa/Ceuta",
"Africa/Conakry",
"Africa/Dakar",
"Africa/Dar_es_Salaam",
"Africa/Djibouti",
"Africa/Douala",
"Africa/El_Aaiun",
"Africa/Freetown",
"Africa/Gaborone",
"Africa/Harare",
"Africa/Johannesburg",
"Africa/Juba",
"Africa/Kampala",
"Africa/Khartoum",
"Africa/Kigali",
"Africa/Kinshasa",
"Africa/Lagos",
"Africa/Libreville",
"Africa/Lome",
"Africa/Luanda",
"Africa/Lubumbashi",
"Africa/Lusaka",
"Africa/Malabo",
"Africa/Maputo",
"Africa/Maseru",
"Africa/Mbabane",
"Africa/Mogadishu",
"Africa/Monrovia",
"Africa/Nairobi",
"Africa/Ndjamena",
"Africa/Niamey",
"Africa/Nouakchott",
"Africa/Ouagadougou",
"Africa/Porto-Novo",
"Africa/Sao_Tome",
"Africa/Timbuktu",
"Africa/Tripoli",
"Africa/Tunis",
"Africa/Windhoek",
"America/Adak",
"America/Anchorage",
"America/Anguilla",
"America/Antigua",
"America/Araguaina",
"America/Argentina/Buenos_Aires",
"America/Argentina/Catamarca",
"America/Argentina/ComodRivadavia",
"America/Argentina/Cordoba",
"America/Argentina/Jujuy",
"America/Argentina/La_Rioja",
"America/Argentina/Mendoza",
"America/Argentina/Rio_Gallegos",
"America/Argentina/Salta",
"America/Argentina/San_Juan",
"America/Argentina/San_Luis",
"America/Argentina/Tucuman",
"America/Argentina/Ushuaia",
"America/Aruba",
"America/Asuncion",
"America/Atikokan",
"America/Atka",
"America/Bahia",
"America/Bahia_Banderas",
"America/Barbados",
"America/Belem",
"America/Belize",
"America/Blanc-Sablon",
"America/Boa_Vista",
"America/Bogota",
"America/Boise",
"America/Buenos_Aires",
"America/Cambridge_Bay",
"America/Campo_Grande",
"America/Cancun",
"America/Caracas",
"America/Catamarca",
"America/Cayenne",
"America/Cayman",
"America/Chicago",
"America/Chihuahua",
"America/Coral_Harbour",
"America/Cordoba",
"America/Costa_Rica",
"America/Creston",
"America/Cuiaba",
"America/Curacao",
"America/Danmarkshavn",
"America/Dawson",
"America/Dawson_Creek",
"America/Denver",
"America/Detroit",
"America/Dominica",
"America/Edmonton",
"America/Eirunepe",
"America/El_Salvador",
"America/Ensenada",
"America/Fort_Nelson",
"America/Fort_Wayne",
"America/Fortaleza",
"America/Glace_Bay",
"America/Godthab",
"America/Goose_Bay",
"America/Grand_Turk",
"America/Grenada",
"America/Guadeloupe",
"America/Guatemala",
"America/Guayaquil",
"America/Guyana",
"America/Halifax",
"America/Havana",
"America/Hermosillo",
"America/Indiana/Indianapolis",
"America/Indiana/Knox",
"America/Indiana/Marengo",
"America/Indiana/Petersburg",
"America/Indiana/Tell_City",
"America/Indiana/Vevay",
"America/Indiana/Vincennes",
"America/Indiana/Winamac",
"America/Indianapolis",
"America/Inuvik",
"America/Iqaluit",
"America/Jamaica",
"America/Jujuy",
"America/Juneau",
"America/Kentucky/Louisville",
"America/Kentucky/Monticello",
"America/Knox_IN",
"America/Kralendijk",
"America/La_Paz",
"America/Lima",
"America/Los_Angeles",
"America/Louisville",
"America/Lower_Princes",
"America/Maceio",
"America/Managua",
"America/Manaus",
"America/Marigot",
"America/Martinique",
"America/Matamoros",
"America/Mazatlan",
"America/Mendoza",
"America/Menominee",
"America/Merida",
"America/Metlakatla",
"America/Mexico_City",
"America/Miquelon",
"America/Moncton",
"America/Monterrey",
"America/Montevideo",
"America/Montreal",
"America/Montserrat",
"America/Nassau",
"America/New_York",
"America/Nipigon",
"America/Nome",
"America/Noronha",
"America/North_Dakota/Beulah",
"America/North_Dakota/Center",
"America/North_Dakota/New_Salem",
"America/Ojinaga",
"America/Panama",
"America/Pangnirtung",
"America/Paramaribo",
"America/Phoenix",
"America/Port-au-Prince",
"America/Port_of_Spain",
"America/Porto_Acre",
"America/Porto_Velho",
"America/Puerto_Rico",
"America/Punta_Arenas",
"America/Rainy_River",
"America/Rankin_Inlet",
"America/Recife",
"America/Regina",
"America/Resolute",
"America/Rio_Branco",
"America/Rosario",
"America/Santa_Isabel",
"America/Santarem",
"America/Santiago",
"America/Santo_Domingo",
"America/Sao_Paulo",
"America/Scoresbysund",
"America/Shiprock",
"America/Sitka",
"America/St_Barthelemy",
"America/St_Johns",
"America/St_Kitts",
"America/St_Lucia",
"America/St_Thomas",
"America/St_Vincent",
"America/Swift_Current",
"America/Tegucigalpa",
"America/Thule",
"America/Thunder_Bay",
"America/Tijuana",
"America/Toronto",
"America/Tortola",
"America/Vancouver",
"America/Virgin",
"America/Whitehorse",
"America/Winnipeg",
"America/Yakutat",
"America/Yellowknife",
"Antarctica/Casey",
"Antarctica/Davis",
"Antarctica/DumontDUrville",
"Antarctica/Macquarie",
"Antarctica/Mawson",
"Antarctica/McMurdo",
"Antarctica/Palmer",
"Antarctica/Rothera",
"Antarctica/South_Pole",
"Antarctica/Syowa",
"Antarctica/Troll",
"Antarctica/Vostok",
"Arctic/Longyearbyen",
"Asia/Aden",
"Asia/Almaty",
"Asia/Amman",
"Asia/Anadyr",
"Asia/Aqtau",
"Asia/Aqtobe",
"Asia/Ashgabat",
"Asia/Ashkhabad",
"Asia/Atyrau",
"Asia/Baghdad",
"Asia/Bahrain",
"Asia/Baku",
"Asia/Bangkok",
"Asia/Barnaul",
"Asia/Beirut",
"Asia/Bishkek",
"Asia/Brunei",
"Asia/Calcutta",
"Asia/Chita",
"Asia/Choibalsan",
"Asia/Chongqing",
"Asia/Chungking",
"Asia/Colombo",
"Asia/Dacca",
"Asia/Damascus",
"Asia/Dhaka",
"Asia/Dili",
"Asia/Dubai",
"Asia/Dushanbe",
"Asia/Famagusta",
"Asia/Gaza",
"Asia/Harbin",
"Asia/Hebron",
"Asia/Ho_Chi_Minh",
"Asia/Hong_Kong",
"Asia/Hovd",
"Asia/Irkutsk",
"Asia/Istanbul",
"Asia/Jakarta",
"Asia/Jayapura",
"Asia/Jerusalem",
"Asia/Kabul",
"Asia/Kamchatka",
"Asia/Karachi",
"Asia/Kashgar",
"Asia/Kathmandu",
"Asia/Katmandu",
"Asia/Khandyga",
"Asia/Kolkata",
"Asia/Krasnoyarsk",
"Asia/Kuala_Lumpur",
"Asia/Kuching",
"Asia/Kuwait",
"Asia/Macao",
"Asia/Macau",
"Asia/Magadan",
"Asia/Makassar",
"Asia/Manila",
"Asia/Muscat",
"Asia/Nicosia",
"Asia/Novokuznetsk",
"Asia/Novosibirsk",
"Asia/Omsk",
"Asia/Oral",
"Asia/Phnom_Penh",
"Asia/Pontianak",
"Asia/Pyongyang",
"Asia/Qatar",
"Asia/Qostanay",
"Asia/Qyzylorda",
"Asia/Rangoon",
"Asia/Riyadh",
"Asia/Saigon",
"Asia/Sakhalin",
"Asia/Samarkand",
"Asia/Seoul",
"Asia/Shanghai",
"Asia/Singapore",
"Asia/Srednekolymsk",
"Asia/Taipei",
"Asia/Tashkent",
"Asia/Tbilisi",
"Asia/Tehran",
"Asia/Tel_Aviv",
"Asia/Thimbu",
"Asia/Thimphu",
"Asia/Tokyo",
"Asia/Tomsk",
"Asia/Ujung_Pandang",
"Asia/Ulaanbaatar",
"Asia/Ulan_Bator",
"Asia/Urumqi",
"Asia/Ust-Nera",
"Asia/Vientiane",
"Asia/Vladivostok",
"Asia/Yakutsk",
"Asia/Yangon",
"Asia/Yekaterinburg",
"Asia/Yerevan",
"Atlantic/Azores",
"Atlantic/Bermuda",
"Atlantic/Canary",
"Atlantic/Cape_Verde",
"Atlantic/Faeroe",
"Atlantic/Faroe",
"Atlantic/Jan_Mayen",
"Atlantic/Madeira",
"Atlantic/Reykjavik",
"Atlantic/South_Georgia",
"Atlantic/St_Helena",
"Atlantic/Stanley",
"Australia/ACT",
"Australia/Adelaide",
"Australia/Brisbane",
"Australia/Broken_Hill",
"Australia/Canberra",
"Australia/Currie",
"Australia/Darwin",
"Australia/Eucla",
"Australia/Hobart",
"Australia/LHI",
"Australia/Lindeman",
"Australia/Lord_Howe",
"Australia/Melbourne",
"Australia/NSW",
"Australia/North",
"Australia/Perth",
"Australia/Queensland",
"Australia/South",
"Australia/Sydney",
"Australia/Tasmania",
"Australia/Victoria",
"Australia/West",
"Australia/Yancowinna",
"Brazil/Acre",
"Brazil/DeNoronha",
"Brazil/East",
"Brazil/West",
"CET",
"CST6CDT",
"Canada/Atlantic",
"Canada/Central",
"Canada/Eastern",
"Canada/Mountain",
"Canada/Newfoundland",
"Canada/Pacific",
"Canada/Saskatchewan",
"Canada/Yukon",
"Chile/Continental",
"Chile/EasterIsland",
"Cuba",
"EET",
"EST",
"EST5EDT",
"Egypt",
"Eire",
"Etc/GMT",
"Etc/GMT+0",
"Etc/GMT+1",
"Etc/GMT+10",
"Etc/GMT+11",
"Etc/GMT+12",
"Etc/GMT+2",
"Etc/GMT+3",
"Etc/GMT+4",
"Etc/GMT+5",
"Etc/GMT+6",
"Etc/GMT+7",
"Etc/GMT+8",
"Etc/GMT+9",
"Etc/GMT-0",
"Etc/GMT-1",
"Etc/GMT-10",
"Etc/GMT-11",
"Etc/GMT-12",
"Etc/GMT-13",
"Etc/GMT-14",
"Etc/GMT-2",
"Etc/GMT-3",
"Etc/GMT-4",
"Etc/GMT-5",
"Etc/GMT-6",
"Etc/GMT-7",
"Etc/GMT-8",
"Etc/GMT-9",
"Etc/GMT0",
"Etc/Greenwich",
"Etc/UCT",
"Etc/UTC",
"Etc/Universal",
"Etc/Zulu",
"Europe/Amsterdam",
"Europe/Andorra",
"Europe/Astrakhan",
"Europe/Athens",
"Europe/Belfast",
"Europe/Belgrade",
"Europe/Berlin",
"Europe/Bratislava",
"Europe/Brussels",
"Europe/Bucharest",
"Europe/Budapest",
"Europe/Busingen",
"Europe/Chisinau",
"Europe/Copenhagen",
"Europe/Dublin",
"Europe/Gibraltar",
"Europe/Guernsey",
"Europe/Helsinki",
"Europe/Isle_of_Man",
"Europe/Istanbul",
"Europe/Jersey",
"Europe/Kaliningrad",
"Europe/Kiev",
"Europe/Kirov",
"Europe/Lisbon",
"Europe/Ljubljana",
"Europe/London",
"Europe/Luxembourg",
"Europe/Madrid",
"Europe/Malta",
"Europe/Mariehamn",
"Europe/Minsk",
"Europe/Monaco",
"Europe/Moscow",
"Europe/Nicosia",
"Europe/Oslo",
"Europe/Paris",
"Europe/Podgorica",
"Europe/Prague",
"Europe/Riga",
"Europe/Rome",
"Europe/Samara",
"Europe/San_Marino",
"Europe/Sarajevo",
"Europe/Saratov",
"Europe/Simferopol",
"Europe/Skopje",
"Europe/Sofia",
"Europe/Stockholm",
"Europe/Tallinn",
"Europe/Tirane",
"Europe/Tiraspol",
"Europe/Ulyanovsk",
"Europe/Uzhgorod",
"Europe/Vaduz",
"Europe/Vatican",
"Europe/Vienna",
"Europe/Vilnius",
"Europe/Volgograd",
"Europe/Warsaw",
"Europe/Zagreb",
"Europe/Zaporozhye",
"Europe/Zurich",
"Factory",
"GB",
"GB-Eire",
"GMT",
"GMT+0",
"GMT-0",
"GMT0",
"Greenwich",
"HST",
"Hongkong",
"Iceland",
"Indian/Antananarivo",
"Indian/Chagos",
"Indian/Christmas",
"Indian/Cocos",
"Indian/Comoro",
"Indian/Kerguelen",
"Indian/Mahe",
"Indian/Maldives",
"Indian/Mauritius",
"Indian/Mayotte",
"Indian/Reunion",
"Iran",
"Israel",
"Jamaica",
"Japan",
"Kwajalein",
"Libya",
"MET",
"MST",
"MST7MDT",
"Mexico/BajaNorte",
"Mexico/BajaSur",
"Mexico/General",
"NZ",
"NZ-CHAT",
"Navajo",
"PRC",
"PST8PDT",
"Pacific/Apia",
"Pacific/Auckland",
"Pacific/Bougainville",
"Pacific/Chatham",
"Pacific/Chuuk",
"Pacific/Easter",
"Pacific/Efate",
"Pacific/Enderbury",
"Pacific/Fakaofo",
"Pacific/Fiji",
"Pacific/Funafuti",
"Pacific/Galapagos",
"Pacific/Gambier",
"Pacific/Guadalcanal",
"Pacific/Guam",
"Pacific/Honolulu",
"Pacific/Johnston",
"Pacific/Kiritimati",
"Pacific/Kosrae",
"Pacific/Kwajalein",
"Pacific/Majuro",
"Pacific/Marquesas",
"Pacific/Midway",
"Pacific/Nauru",
"Pacific/Niue",
"Pacific/Norfolk",
"Pacific/Noumea",
"Pacific/Pago_Pago",
"Pacific/Palau",
"Pacific/Pitcairn",
"Pacific/Pohnpei",
"Pacific/Ponape",
"Pacific/Port_Moresby",
"Pacific/Rarotonga",
"Pacific/Saipan",
"Pacific/Samoa",
"Pacific/Tahiti",
"Pacific/Tarawa",
"Pacific/Tongatapu",
"Pacific/Truk",
"Pacific/Wake",
"Pacific/Wallis",
"Pacific/Yap",
"Poland",
"Portugal",
"ROC",
"ROK",
"Singapore",
"Turkey",
"UCT",
"US/Alaska",
"US/Aleutian",
"US/Arizona",
"US/Central",
"US/East-Indiana",
"US/Eastern",
"US/Hawaii",
"US/Indiana-Starke",
"US/Michigan",
"US/Mountain",
"US/Pacific",
"US/Pacific-New",
"US/Samoa",
"UTC",
"Universal",
"W-SU",
"WET",
"Zulu"
]
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/tz'
/system/info
Метод получения системной информации устройства.
Описание параметров
Название |
Тип |
Описание |
model | String |
Название модели используемой камеры. |
temperature | Double |
Значение температуры процессора камеры. - Нормальная температура до 95°C. |
chipId | String |
Идентификатор чипа камеры. |
mac | String |
Мак адрес устройства. |
deviceID | String |
Серийный номер устройства. |
deviceModel | String |
Наименование устройства. |
uptime | Integer |
Время работы устройства. |
registerStatus | Boolean |
Флаг состояния SIP регистрации. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"model": "HI3516EV200",
"temperature": 72.69,
"chipId": "020c39870e0038c96370030ac215b9932729d124509c25eb",
"mac": "08:13:00:00:00:00",
"deviceID": "0000000",
"deviceModel": "ISCom X1 (rev.2)",
"uptime": 310,
"registerStatus": false
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/info'
/system/versions
Метод получения текущих версий прошивки устройства.
Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
Советуем использовать новый метод:
/v2/system/versions
Описание параметров
Название |
Тип |
Описание |
rootfs | String |
Версия раздела камеры с Linux. |
web | String |
Версия web интерфейса. |
camofon | String |
Версия SIP клиента. |
streamer | String |
Версия RTSP сервера. |
hw | String |
Версия платы устройства. |
sw | String |
Версия прошивки микроконтроллера. |
GET - Получение версий прошивки
Ответы
200 OK
Успешное получение версий прошивки
Тело:
{
"rootfs": "1.1.1",
"web": "2.2.2",
"camofon": "3.3.3",
"streamer": "4.4.4",
"hw": "2.2",
"sw": "3.3"
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/versions'
/system/settings
Методы получения и изменения системных настроек.
Описание параметров
Название |
Тип |
Описание |
log_level | Object |
Уровни логирования приложений. |
api uart streamer store baresip libre |
Integer |
Уровень логирования приложения: - 1 - Trace; - По умолчанию: 3 |
tz |
String |
Текущая временная зона (Поддерживаемые зоны). - По умолчанию: Asia/Yekaterinburg |
dateTime |
String |
Текущая дата и время |
dns |
Object |
Параметры DNS серверов
ВАЖНО! Является устаревшим, советуем использовать метод /v1/network для получения и изменения сетевых настроек включая сервера dns. |
auto |
Boolean |
Флаг работы с dns серверами. - true - автоматически; - false - в ручную. - По умолчанию: true |
nameservers |
Array |
Массив строк с dns серверами. |
ntp |
Array |
Массив строк с ntp серверами. |
assist |
Object |
Параметры для работы ассистента. |
enable |
Boolean |
Флаг включения / выключения ассистента. - По умолчанию: true |
online |
Boolean |
Флаг переключения онлайн и оффлайн ассистента. - По умолчанию: true
ВАЖНО! Онлайн ассистент подразумевает входящие вызовы на панель при реагировании на различные события в логах. |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"log_level": {
"api": 3,
"uart": 3,
"camofon": 3,
"streamer": 3,
"proguard": 3,
"store": 3,
"baresip": 3,
"libre": 3
},
"tz": "UTC",
"dns": {
"auto": true,
"nameservers": [
"78.29.2.21",
"78.29.2.22"
]
},
"ntp": [
"0.pool.ntp.org",
"1.pool.ntp.org",
"10.100.12.14"
],
"assist": {
"enable": true,
"online": true
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/settings'
PUT - Изменение параметров
Запрос
Тело:
{
"log_level": {
"api": 3,
"uart": 3,
"camofon": 3,
"streamer": 3,
"proguard": 3,
"store": 3,
"baresip": 3,
"libre": 3
},
"tz": "UTC",
"dns": {
"auto": true,
"nameservers": [
"78.29.2.21",
"78.29.2.22"
]
},
"ntp": [
"0.pool.ntp.org",
"1.pool.ntp.org",
"10.100.12.14"
],
"assist": {
"enable": true,
"online": true
}
}
Ответы
200 OK
Успешное получение параметров
Тело:
{
"log_level": {
"api": 3,
"uart": 3,
"camofon": 3,
"streamer": 3,
"proguard": 3,
"store": 3,
"baresip": 3,
"libre": 3
},
"tz": "Asia/Yekaterinburg",
"dateTime": "2024-06-13T11:02:22+0500",
"dns": {
"auto": true,
"nameservers": [
"78.29.2.21",
"78.29.2.22"
]
},
"ntp": [
"0.pool.ntp.org",
"1.pool.ntp.org",
"time.is74.ru"
],
"assist": {
"enable": true,
"online": true
}
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/settings' \
--data-raw '{
"log_level": {
"api": 3,
"uart": 3,
"camofon": 3,
"streamer": 3,
"proguard": 3,
"store": 3,
"baresip": 3,
"libre": 3
},
"tz": "UTC",
"dns": {
"auto": true,
"nameservers": [
"78.29.2.21",
"78.29.2.22"
]
},
"ntp": [
"0.pool.ntp.org",
"1.pool.ntp.org",
"10.100.12.14"
],
"assist": {
"enable": true,
"online": true
}
}'
/system/fw_env
Метод получения текущего mac-адреса.
Описание параметров
Название |
Тип |
Описание |
ethaddr | String |
MAC адрес устройства |
GET - Получение параметров
Ответы
200 OK
Успешное получение параметров
Тело:
{
"ethaddr": "08:13:00:00:00:00"
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100/system/fw_env'
/system/backup
Метод создания резервной копии устройства.
Для восстановление резервной копии используется метод:
/system/restore
GET - Создание резервной копии
Ответы
200 OK
Успешное создание резервной копии
Заголовки:
Название | Значение | Описание |
Content-Type |
application/octet-stream | Тип возвращаемых данных |
Content-Disposition |
attachment; filename="backup-08:13:00:00:00:00.bin" | Формат возвращаемых данных |
Тело:
*** Бинарное представление файла ***
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/backup'
/system/restore
Метод восстановления резервной копии устройства.
Для создания резервной копии используется метод:
/system/backup
PUT - Восстановление резервной копии
Запрос
Заголовки:
Название |
Значение | Описание |
Content-Type |
application/octet-stream | Тип передаваемых данных |
Тело:
*** Бинарный файл ***
Ответы
200 OK
Успешное восстановление резервной копии
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl \
--header 'Content-Type: application/octet-stream' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/restore' \
--data-binary './backup-08_13_00_00_00_00.bin'
/system/reboot
Метод перезагрузки устройства.
PUT - Перезагрузка устройства
Ответы
200 OK
Успешная перезагрузка устройства
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/reboot'
/system/restart/{сервис}
Метод перезапуска указанного сервиса.
Список поддерживаемых параметров "{сервис}":
- api;
- uart;
- upgrade;
- camofon;
- streamer.
PUT - Перезапуск сервиса
Ответы
204 OK
Успешный перезапуск сервиса
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/restart/api'
/system/factory-reset
Метод сброса устройства к заводским настройкам.
PUT - Сброс устройства к заводским настройкам
Ответы
204 OK
Успешный сброс устройства к заводским настройкам
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/factory-reset'
/system/upgrade
Метод обновления микроконтроллера устройства.
Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
/v2/system/upgrade
Для данного способа обновления необходим TFTP сервер
PUT - Запуск обновления
Ответы
200 OK
Успешный запуск обновления
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/upgrade'
/system/upload_fw
Метод загрузки прошивки в микроконтроллер.
Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
/v2/system/upgrade
Для данного способа обновления необходим TFTP сервер
PUT - Загрузка прошивки
Ответы
200 OK
Заголовки:
Название |
Значение | Описание |
Content-Type |
text/html; charset=ISO-8859-1 | Тип возвращаемых данных |
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/upload_fw'
/system/cam/upgrade
Метод обновления разделов камеры устройства.
Метод действителен для устройств на прошивкой до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
/v2/system/upgrade
Для данного способа обновления необходим TFTP сервер
Описание параметров
Название |
Тип |
Описание |
server | String |
IP адрес или DNS имя TFTP сервера с папкой для обновления. |
folder | String |
Путь до папки с файлами обновления на TFTP сервере. |
stm | Boolean |
Флаг обновления прошивки микроконтроллера. - По умолчанию: false |
opt | Boolean |
Флаг обновления раздела камеры с приложениями. - По умолчанию: false |
media | Boolean |
Флаг обновления раздела камеры с аудио записями (оффлайн ассистента, оповещения). - По умолчанию: false |
rootfs | Boolean |
Флаг обновления раздела камеры с Linux. - По умолчанию: false |
PUT - Запуск обновления камеры
Запрос
Тело:
{
"server": "192.168.0.10",
"folder": "ISComX1/2.5.6.1",
"opt": true,
"media": true,
"rootfs": true
}
Ответы
200 OK
Успешный запуск обновления
Тело:
{
"server": "192.168.0.10",
"folder": "ISComX1/2.5.6.1",
"stm": true,
"opt": true,
"media": true,
"rootfs": true
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/cam/upgrade' \
--data-raw '{
"server": "192.168.0.10",
"folder": "ISComX1/2.5.6.1",
"opt": true,
"media": true,
"rootfs": true
} '
/v2/system/versions
Метод получения текущих версий прошивки устройства.
Описание параметров
Название |
Тип |
Описание |
opt | Object |
Версии устройства для раздела с приложениями. |
date | Date |
Дата создания прошивки для раздела. |
name | String |
Версия прошивки для раздела. |
versions | Object |
Версии по конкретным приложения. |
api proguard camofon ddns streamer uart upgrade overlay |
Object |
Описание версии приложения. |
name | String |
Версия приложения. |
hash | String |
Хэш сумма коммита приложения. |
hw | Object |
Описание версии платы. |
name | String |
Версия платы. |
mcu | Object |
Описание версии микроконтроллера. |
name | String |
Версия прошивки микроконтроллера. |
media | Object |
Версии устройства для раздела с аудио записями (оффлайн ассистента, оповещения). |
date | Date |
Дата создания прошивки для раздела. |
name | String |
Версия прошивки для раздела. |
versions | Object |
Версии по конкретным приложения. |
overlay | Object |
Описание версии приложения. |
name | String |
Версия приложения. |
hash | String |
Хэш сумма коммита приложения. |
rootfs | Object |
Версии устройства для раздела Linux. |
date | Date |
Дата создания прошивки для раздела. |
name | String |
Версия прошивки для раздела. |
versions | Object |
Версии по конкретным приложения. |
libre libiscom baresip ircut rootfs overlay |
Object |
Описание версии приложения. |
name | String |
Версия приложения. |
hash | String |
Хэш сумма коммита приложения. |
GET - Получение версий
Ответы
200 OK
Успешное получение версий прошивки
Тело:
{
"opt": {
"date": "2023-07-13",
"name": "2.2.5.9.0",
"versions": {
"api": {
"name": "0.3.3",
"hash": "5c171d90a121cd53847397141784fd446fbf2992"
},
"proguard": {
"name": "0.0.2",
"hash": "2f52c0e931885b33cae5bb995c8e56fcc76baf80"
},
"camofon": {
"name": "0.1.4",
"hash": "9e52cf80bbe1908e6e668467e25e0cdcb4929ddc"
},
"ddns": {
"name": "0.0.2",
"hash": "adc486d21c5e3204980290b1eb413541446aff56"
},
"store": {
"name": "0.0.4",
"hash": "b4838b51190da1eea2e30b3ca0d54be47f565875"
},
"streamer": {
"name": "2.8.1",
"hash": "db96ab3070d1bc2daeb13bd0bd7786b33052c527"
},
"uart": {
"name": "0.0.7",
"hash": "f9e5460bddeef002a85fca1730927f6073e1eb9f"
},
"web_front": {
"name": "2.5.4",
"hash": "d8f8cead3fcb11cce809a4e6e67cb3f0edf77ab5"
},
"overlay": {
"name": "0.1.8",
"hash": "bd66e9a3d542dcced458decbe505ea911640958a"
},
"hw": {
"name": "2.5"
},
"mcu": {
"name": "3.44"
}
}
},
"media": {
"date": "2023-05-10",
"name": "2.5.7.19",
"versions": {
"overlay": {
"name": "0.1.1",
"hash": "45acfbd6cc600fee89e00fecbe9aaa9f0434fb13"
}
}
},
"rootfs": {
"date": "2023-07-10",
"name": "2.2.5.9.0",
"versions": {
"libre": {
"name": "0.0.1",
"hash": "fce5ecdd3513d37fa5d87e1515a82072761a7a06"
},
"librem": {
"name": "0.0.1",
"hash": "01ebe94c4b8671e684c2601b339efe211640a5c5"
},
"libiscom": {
"name": "0.0.10",
"hash": "1beb6432294d22c0e35014f059cc844e1eec4c39"
},
"baresip": {
"name": "0.0.1",
"hash": "b711f10af2417de49e4c718ac4a2ad181009d2f8"
},
"ircut": {
"name": "0.0.9",
"hash": "2558b1e9f7f57f1eb91e4d1979b1cbe4aa214082"
},
"rootfs": {
"name": "0.0.14",
"hash": "3a0bfa2ecf5f118fdcd22ce068fa3bd0d73fc48d"
},
"overlay": {
"name": "0.1.8",
"hash": "bd66e9a3d542dcced458decbe505ea911640958a"
}
}
}
}
Примеры
CURL:
curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/system/versions'
/v2/system/upgrade
Метод обновления устройства.
Метод действителен для устройств на прошивках более 2.5.7.5
Для данного способа обновления необходим HTTP сервер
Описание параметров
GET
Название |
Тип |
Описание |
state | String |
Описание состояния обновления. |
stateId | Integer |
Идентификатор состояния обновления. - По умолчанию: 0 |
message | String |
Описание под состояния обновления. |
messageId | Integer |
Идентификатор под состояния обновления |
PUT
Название |
Тип |
Описание |
code | Integer |
Код ответа на запрос. |
data | Object |
Параметры используемые при обновлении. |
url | String |
Ссылка на папку с файлами обновления на HTTP сервере. |
mcu | Boolean |
Флаг включения обновления микроконтроллера устройства. - По умолчанию: false |
opt | Boolean |
Флаг включения обновления раздела с приложениями на камере. - По умолчанию: false |
media | Boolean |
Флаг включения обновления раздела с аудио записями (оффлайн ассистент, оповещение) на камере. - По умолчанию: false |
rootfs | Boolean |
Флаг включения обновления раздела Linux на камере. - По умолчанию: false |
PUT - Запуск обновления
Запрос
Тело:
{
"url": "http://192.168.0.10:8000/2.5.6.1",
"mcu": true,
"opt": true,
"media": true,
"rootfs": true
}
Ответы
200 OK
Успешное получение задания на обновление
Тело:
{
"code": 200,
"data": {
"url": "http://192.168.0.10:8000/2.5.6.1",
"mcu": true,
"opt": true,
"media": true,
"rootfs": true
}
}
400 Bad Request
Ошибка при проверки переданных параметров
Тело:
Название |
Тип |
Описание |
errors | Array |
Массив возвращаемых ошибок. |
message | String |
Сообщение об ошибке. |
{
"errors": [
{
"message": "Ошибка: url - Параметр пуст или не найден"
}
]
}
или
{
"errors": [
{
"message": "Ошибка: stm - Должен быть логической переменной"
}
]
}
или
{
"errors": [
{
"message": "Ошибка: opt - Должен быть логической переменной"
}
]
}
или
{
"errors": [
{
"message": "Ошибка: media - Должен быть логической переменной"
}
]
}
или
{
"errors": [
{
"message": "Ошибка: rootfs - Должен быть логической переменной"
}
]
}
Примеры
CURL:
curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v2/system/upgrade' \
--data-raw '{
"url": "http://192.168.0.10:8000/2.5.6.1",
"mcu": true,
"opt": true,
"media": true,
"rootfs": true
}'