Перейти к основному контенту

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

Описание

В данном документе описаны методы для взаимодействия с домофонной панелью Сокол Плюс через HTTP-запросы.

На устройстве по умолчанию 2 виртуальных сетевых интерфейса:
 - Динамический;
 - Статический (192.168.0.100).

Метод для настройки сетевых интерфейсов:
   /v1/network

Данные для авторизации по умолчанию:
   - логин: root
   - пароль: 123456

Метод для смены пароля по умолчанию:
   /user/change_password


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

Некоторые методы могут иметь другое значение для указанных заголовков или новые заголовки.

Запрос

Наименование

Значение Описание
OPTIONS,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
Мак адрес устройства

X-Device-Revision

ISCom X1 (rev.5)
Ревизия устройства

X-Max-Content-Length

512000

Максимальный размер принимаемых данных

Коды

Наименование

Значение

Успешные

  • 200 OK;
  • 201 OK;
  • 204 OK.

Пользовательские

  • 400 Bad Request;
  • 401 Unauthorized;
  • 404 Not Found;
  • 405 Method Not Allowed;
  • 413 Payload Too Large;
  • 422 Unprocessable Entity;
  • 429 Too Many Requests.

Серверные

  • 500 Internal Server Error;
  • 501 Not Implemented.

Авторизация

/auth/check

Метод проверки данных используемых для авторизации.

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

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

Метод не доступен для устройств на прошивке ниже 2.5.0.12.x

Описание параметров

Название

Тип Описание
username String

Новый пароль для указанного пользователя в заголовке авторизации.

 - По умолчанию: 123456

setup Object

Первый запуск устройства.

   master    Boolean

   Флаг означающий завершение мастера устройства.

   - По умолчанию: false

logout Object

Завершение сессии пользователя

   auto    Boolean

   Флаг означающий авто завершение сессии пользователя.

   - По умолчанию: false

   timeout    Integer

   Время авто завершения сессии пользователя.

   - Ограничения: 60 - 1800

   - По умолчанию: 900

GET - Получение параметров
Ответы
200 OK

 Тело:

{
    "username": "root",
    "setup": {
        "master": false
    },
    "logout": {
        "auto": false,
        "timeout": 900
    }
}

 

Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/user'
PUT - Изменение параметров
Запрос

Тело: 

{
    "username": "root",
    "setup": {
        "master": false
    },
    "logout": {
        "auto": false,
        "timeout": 900
    }
}
Ответы
200 OK

 Тело:

{
    "username": "root",
    "setup": {
        "master": false
    },
    "logout": {
        "auto": false,
        "timeout": 900
    }
}
400 Bad Request

 Ошибка проверки переданных параметров

Тело:

Название

Тип Описание

errors

Array Массив возвращаемых ошибок.

   field

   String    Название переменной к которой относиться ошибка.

   message

   String    Сообщение об ошибки для переменной из поля "field".
{
    "errors": [
        {
            "field": "auto",
            "message": "Тип параметра должен быть boolean"
        }
    ]
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/user' \
--data-raw '{
    "username": "root",
    "setup": {
        "master": false
    },
    "logout": {
        "auto": false,
        "timeout": 900
    }
}'

/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}'

/v1/certs/https/key.pem

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

Метод не доступен для устройств на прошивке ниже 2.5.0.12.x

GET - Получение ключа шифрования
Ответы
200 OK

Тело:

-----BEGIN PRIVATE KEY-----
   *** PRIVATE KEY ***
-----END PRIVATE KEY-----
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/certs/https/key.pem'
PUT - Установка ключа шифрования
Запрос

Тело:

-----BEGIN PRIVATE KEY-----
   *** PRIVATE KEY ***
-----END PRIVATE KEY-----
Ответы
200 OK

Тело:

-----BEGIN PRIVATE KEY-----
   *** PRIVATE KEY ***
-----END PRIVATE KEY-----
400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Заголовок \"Content-Type\" должен быть \"text/plain\""
        }
    ]
}
500 Internal Server Error

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Не достаточно места для файла"
        }
    ]
}
Примеры

 CURL:

curl \
--header 'Content-Type: text/plain' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/certs/https/key.pem' \
--data-raw '-----BEGIN PRIVATE KEY-----
   *** PRIVATE KEY ***
-----END PRIVATE KEY-----'

/v1/certs/https/cert.pem

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

Метод не доступен для устройств на прошивке ниже 2.5.0.12.x

GET - Получение сертификата шифрования
Ответы
200 OK

Тело:

-----BEGIN CERTIFICATE-----
   *** CERTIFICATE ***
-----END CERTIFICATE-----
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/certs/https/cert.pem'
PUT - Установка сертификата шифрования
Запрос

Тело:

-----BEGIN CERTIFICATE-----
   *** CERTIFICATE ***
-----END CERTIFICATE-----
Ответы
200 OK

Тело:

-----BEGIN CERTIFICATE-----
   *** CERTIFICATE ***
-----END CERTIFICATE-----
400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Заголовок \"Content-Type\" должен быть \"text/plain\""
        }
    ]
}
500 Internal Server Error

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Не достаточно места для файла"
        }
    ]
}
Примеры

 CURL:

curl \
--header 'Content-Type: text/plain' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/certs/https/cert.pem' \
--data-raw '-----BEGIN CERTIFICATE-----
   *** CERTIFICATE ***
-----END CERTIFICATE-----'

Параметры DDNS

/v1/ddns

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

Описание параметров

Название

Тип
Описание
enabled Boolean

Флаг включения / отключения DDNS клиента.

 - По умолчанию: false

method String

Метод отправки http запросов на сервер.

- Ограничения: GET, POST

- По умолчанию: GET

 

Доступен начиная с версии 2.5.0.12.x

interval Integer

Интервал отправки http запросов на сервер.

 - По умолчанию: 300

server

Object Параметры подключения к сервере
   port    Integer

   Порт сервера для отправки запросов.

    - По умолчанию: 8081

   address    String

    Адрес сервера для отправки запросов.

    - По умолчанию: 10.199.63.7

   username    String

   Логин для авторизации.

    - По молчанию: default

   password    String    Пароль для авторизации.

    - По молчанию: default

data

Object Отправляемые данные.
   hostname    String

   Передаваемый тип устройства.

    - По умолчанию: ddns.ISCom

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/ddns'
PUT - Изменение параметров
Запрос

Тело:

{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}
Примеры

 CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/ddns' \
--data-raw '{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}'
DELETE - Сброс параметров
Ответы
200 OK

 Успешный сброс параметров

Тело:

Название

Тип
Описание
enabled Boolean

Флаг включения / отключения DDNS клиента.

 - По умолчанию: false

interval Integer

Интервал отправки http запросов на сервер.

 - По умолчанию: 300

server

Object Параметры подключения к сервере
   port    Integer

   Порт сервера для отправки запросов.

    - По умолчанию: 8081

   address    String

    Адрес сервера для отправки запросов.

    - По умолчанию: 10.199.63.7

   username    String

   Логин для авторизации.

    - По молчанию: default

   password    String    Пароль для авторизации.

    - По молчанию: default

data

Object Отправляемые данные.
   hostname    String

   Передаваемый тип устройства.

    - По умолчанию: ddns.ISCom

{
    "enabled": true,
    "interval": 300,
    "server": {
        "port": 8081,
        "address": "10.199.63.7",
        "username": "default",
        "password": "default"
    },
    "data": {
        "hostname": "ddns.ISCom"
    }
}
Примеры

 CURL:

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

Видеопоток

RTSP

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

По умолчанию "Альтернативный видеопоток 2" выключен
Для включения используйте метод: /camera/codec

Основной видеопоток

VLC:

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

FFPLAY:

ffplay rtsp://root:123456@192.168.0.100:554/ch0
Альтернативный видеопоток

VLC:

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

FFPLAY:

ffplay rtsp://root:123456@192.168.0.100:554/ch1
Альтернативный видеопоток 2

VLC:

vlc rtsp://root:123456@192.168.0.100:554/ch2

FFPLAY:

ffplay rtsp://root:123456@192.168.0.100:554/ch2

/camera/md

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

Описание параметров

Название

Тип
Описание
md_enable Boolean

Флаг включения / отключения детектора движения.

 - По умолчанию: false

md_area_thr Integer

Минимальный размер детектируемой области.  Для людей на близком расстоянии примерно 100000 пикселей.

 - По умолчанию: 30000 пикселей

md_send_snapshot_enable Boolean

Флаг включения / отключения отправки картинок на сервер указанный в параметре "snap_send_url".

 - По умолчанию: false

md_send_snapshot_interval Integer

Интервал в секундах между отправкой картинок на сервер.

 - Ограничение: 1 - 20 секунд

 - По умолчанию: 1 секунда

 

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

md_rects_enable Boolean

Флаг включения / отключения отображения рамок детектора.

 - По умолчанию: false

md_logs_enable Boolean

Флаг включения / отключения отправки событий детектора в логи.

 - По умолчанию: false

md_rect_color String

Цвет отображающихся рамок детектора. 

 - По умолчанию: 0xFF0000

md_frame_int Integer

Интервал между кадрами, отправляемыми на поиск движения.

 - По умолчанию: 30 кадров

md_frame_shift Integer

Смещение второго кадра, участвующего в определении детекции.

 - По умолчанию: 1 кадр

md_max_rect_ratio Double

Максимальное соотношение длина / ширина прямоугольника для отображения.

 - По умолчанию: 8.0

snap_send_url String

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

 - По умолчанию: ""

Добавлено после версий от 01.08

md_active_time
Integer

Если после последней детекции движения проходит md_active_time секунд, то отправляется событие EVENT: Detected motion finished оповещающее о конце движения.

 

Для отправки событий о начале и конце движения, также должны быть установлены параметры md_enable и  md_logs_enable в значения true.

 

- По умолчанию: 1 секунда

 - Ограничение: 1 - 5 секунд

 

 

При использовании удаленного HTTP-сервера детекции (snap_send_url).

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

Название

Тип
Описание

time

String Дата и время в формате "%y-%m-%d %H:%M:%S".

df_id

String Мак адрес устройства без символов двоеточия.

img_bytes

String Представление картинки в base64 строке.
GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "md_enable": false,
    "md_area_thr": 30000,
    "md_send_snapshot_enable": false,
    "md_send_snapshot_interval": 1,
    "md_rects_enable": false,
    "md_logs_enable": false,
    "md_rect_color": "0xFF0000",
    "md_frame_int": 30,
    "md_frame_shift": 1,
    "md_max_rect_ratio": 8.0,
    "snap_send_url": ""
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/md'
PUT - Изменение параметров
Запрос

Тело:

{
    "md_enable": false,
    "md_area_thr": 30000,
    "md_send_snapshot_enable": false,
    "md_send_snapshot_interval": 1,
    "md_rects_enable": false,
    "md_logs_enable": false,
    "md_rect_color": "0xFF0000",
    "md_frame_int": 30,
    "md_frame_shift": 1,
    "md_max_rect_ratio": 8.0,
    "snap_send_url": ""
}
Ответы
200 OK

 Успешное получение параметров

Тело:

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

 Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

CURL:

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

 

/camera/rtsp

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

Описание параметров

Название

Тип
Описание
port Int

Текущий порт для получения rtsp потока.

 - Ограничения: 100 - 65535

 - По умолчанию: 554

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "port": 554
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/rtsp'
PUT - Изменение параметров
Запрос

Тело:

{
    "port": 554
}
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "port": 554
}
400 Bad Request

 Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения rtsp настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/camera/rtsp' \
--data-raw '{
    "port": 554
}'

 

/camera/audio

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

Описание параметров

Название

Тип
Описание
aac_enable Boolean

Флаг включения / отключения кодирования звука в AAC.

  - По умолчанию: false (звук в PCMU)

format String

Формат кодирования звука.

  - По умолчанию: AAC

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

    - AAC;

    - PCM;

    - PCMA (G.711A);

    - PCMU (G.711U);

mic_gain Integer

Усиление микрофона.

  - По умолчанию: -30

spk_gain Integer

Громкость динамика.

  - По умолчанию: 6

micGain Integer

Программное усиление микрофона.

  - По умолчанию: 5

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
    "aac_enable": true,
    "format": "AAC",
    "mic_gain": -30,
    "spk_gain": 6,
    "micGain": 5
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/audio'
PUT - Изменение параметров
Запрос

Тело:

{
    "aac_enable": true,
    "format": "AAC",
    "mic_gain": -30,
    "spk_gain": 6,
    "micGain": 5
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "aac_enable": true,
    "format": "AAC",
    "mic_gain": -30,
    "spk_gain": 6,
    "micGain": 5
}
400 Bad Request

 Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

 CURL:

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

/camera/codec

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

Описание параметров

Название

Тип
Описание
Channels Array

Массив видео потоков.

   Channel    Integer

   Номер видео потока.

   Type    String

   Тип кодека видео.

   Profile    Integer

   Профиль кодека.

    - По умолчанию: 1 (Main)

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

       - 0 - Baseline;

       - 1 - Main;

       - 2 - High;

   ByFrame    Boolean

Флаг, указывающий формат получения потока (покадрово /попакетно)

   Width / Height    Integer

   Разрешение видео потока. 

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

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

       - 1280х720;

       - 720х576;

       - 704х576;

       - 640х480;

       - 640х360.

   GopMode    String

   Режим, определяющий использование P (в том числе SP, VI) и B кадров и их чередование.

   - По умолчанию: 2

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

      - NormalP

      - SmartP

      - DualP

   IPQpDelta    Integer

   Разница между средним значением и текущим значением QP.

    - Ограничения: -10 - 30     

    - По умолчанию: 2

   RcMode    String

   Режим управления кодированием.

    - По умолчанию: AVBR

   IFrameInterval    Integer

   Интервал опорного кадра (кадр/сек).

    - По умолчанию: 30

   MaxBitrate    Integer

   Максимальный битрейт видеопотока (Кбит/сек).

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "Channels": [
        {
            "Channel": 0,
            "Type": "H264",
            "Profile": 0,
            "ByFrame": true,
            "Width": 1920,
            "Height": 1080,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 4096
        },
        ...
        {
            "Channel": 2,
            "Enabled": true,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 640,
            "Height": 480,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 1536
        }
    ]
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/codec'
PUT - Изменение параметров
Запрос

Тело:

{
    "Channels": [
        {
            "Channel": 0,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 1280,
            "Height": 720,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 3072
        },
        ...,
        {
            "Channel": 2,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 640,
            "Height": 480,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 1536
        }
    ]
}
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "Channels": [
        {
            "Channel": 0,
            "Type": "H264",
            "Profile": 0,
            "ByFrame": true,
            "Width": 1920,
            "Height": 1080,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 4096
        },
        ...,
        {
            "Channel": 2,
            "Enabled": true,
            "Type": "H264",
            "Profile": 1,
            "ByFrame": true,
            "Width": 640,
            "Height": 480,
            "GopMode": "NormalP",
            "IPQpDelta": 2,
            "RcMode": "AVBR",
            "IFrameInterval": 30,
            "MaxBitrate": 1536
        }
    ]
}
400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

 CURL:

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

/camera/picture

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

Описание параметров

Название

Тип
Описание

Image

Object

Параметры отражения картинки по вертикали и по горизонтали.

   Flip

   Boolean

   Отражение картинки по вертикали.

    - По умолчанию: false

   Mirror

   Boolean

   Отражение картинки по горизонтали.

    - По умолчанию: false

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/picture'
PUT - Изменение параметров
Запрос

Тело:

{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "Image": {
        "Flip": false,
        "Mirror": false
    }
}
400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

CURL:

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

/camera/snapshot

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

Размер картинки зависит от размера основного видеопотока
Для смены размера картинки видеопотока используйте:
   /camera/codec

GET - Получение картинки
Ответы
200 OK

 Заголовки:

Название

Значение Описание

Content-Type

image/jpeg Тип возвращаемых данных

Тело:

*** Бинарное представление картинки ***
Примеры

 CURL:

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

/camera/whiteBlack

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

- Для перехода потока в цветной режим: необходимо значение "exposureCurrent" менее "exposureLight"
- Для перехода потока в черно-белый режим: необходимо значение "exposureCurrent" более  "exposureNight" 

Описание параметров

Название

Тип
Описание

state

Boolean

Текущее состояние черно-белого режима.

threshold

Object Пороги переключения черно-белого режима.

   exposureCurrent

   Integer    Текущее значение экспозиции сенсора.
   exposureLight    Integer

   Порог включение цветного режима.

    - Ограничения: 0 - 4294967295

    - По умолчанию: 22000

   exposureNight    Integer

   Порог включения черно-белого режима.

    - Ограничения: 0 - 4294967295

    - По умолчанию: 250000

GET - Получение параметров
Ответы
200 OK

 Успешное получение данных

Тело:

{
    "state": false,
    "threshold": {
        "exposureCurrent": 100000,
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/camera/whiteBlack'
PUT - Изменение параметров
Запрос

Тело:

{
    "threshold": {
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "state": false,
    "threshold": {
        "exposureCurrent": 100000,
        "exposureLight": 22000,
        "exposureNight": 250000
    }
}
400 Bad Request

 Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

CURL:

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

/v2/camera/osd

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

Видео поток поддерживает отображение до 3-х строк.

Описание параметров

Название

Тип
Описание

size

Integer

Размер отображаемой информации.

text String

Отображаемый текст.

 - Длина строки: 0 - 100 символов

color

String Цвет osd в hex.

date

Object Параметры отображения даты.

   enable

   Boolean    Флаг включения / отключения отображения даты.
   format    String

   Формат отображаемой даты (форматы).

time

Object Параметры отображения времени.

   enable

   Boolean    Флаг включения / отключения отображения времени.
   format    String    Формат отображаемового времени (форматы).

position

Object Параметры смещения текста.

   x

   Integer    Смещение по оси "X" (пиксели).

   y

   Integer    Смещение по оси "Y" (пиксели).

background

Object Параметры отображения фона.

   enable

   Boolean    Флаг включения / отключения фона.
   color    String

   Цвет фона в hex.

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

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

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/camera/osd'
PUT - Изменение параметров
Запрос

Тело:

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

 Успешное изменение параметров

Тело:

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

Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

CURL:

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

/v2/camera/picture

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

Описание параметров

Название

Тип
Описание

u8Contr

Integer

Контрастность изображения.

 - По умолчанию: 50 

 

ВАЖНО!

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

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

u8Luma

Integer

Яркость изображения. 

 - По умолчанию: 50 

 

ВАЖНО!

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

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

u8Satu

Integer Насыщенность изображения.

 - По умолчанию: 50 

 

ВАЖНО!

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

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

u8Hue

Integer Регулировка оттенка изображения.

 - По умолчанию: 50 

 

ВАЖНО!

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

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

wb

Object Параметры баланса белого

   u8RGStrength

   Integer    

   u8BGStrength

   Integer    

dehaze

Object Параметры устранения дымки.

   u8strength

   Integer

   Интенсивность устранения дымки.

 

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

drc

Object

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

 

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

   u16Strength

   Integer

      Интенсивность.
        - По умолчанию: 

 

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

   u16StrengthMax

   Integer

      Граница светлого.
        - По умолчанию: 

 

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

   u16StrengthMin

   Integer

      Граница темного.
        - По умолчанию: 

 

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

iso

Object

   index

   Integer

   params

   Object

      0-15

      Object

         sharpness

         Object

            au16TextureFreq

            Integer

            au16EdgeFreq

            Integer

            au8OverShoot

            Integer

            au8UnderShoot

            Integer

            au8DetailCtrl

            Integer

            au8RGain

            Integer

            au8GGain

            Integer

            au8BGain

            Integer

            au8SkinGain

            Integer

            au16MaxSharpGain

            Integer
GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "u8Contr": 42,
    "u8Luma": 52,
    "u8Satu": 52,
    "u8Hue": 50,
    "wb": {
        "u8RGStrength": 128,
        "u8BGStrength": 128
    },
    "dehaze": {
        "u8strength": 125
    },
    "drc": {
        "u16Strength": 100,
        "u16StrengthMax": 127,
        "u16StrengthMin": 0
    },
    "iso": {
        "index": 2,
        "params": {
            "0": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "1": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "2": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 55,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "3": {
                "sharpness": {
                    "au16TextureFreq": 215,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 55,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "4": {
                "sharpness": {
                    "au16TextureFreq": 215,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 19,
                    "au8UnderShoot": 53,
                    "au8DetailCtrl": 128,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "5": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 18,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 16,
                    "au8GGain": 45,
                    "au8BGain": 26,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 58
                }
            },
            "6": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 11,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 16,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "7": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 1,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 26,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "8": {
                "sharpness": {
                    "au16TextureFreq": 250,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 1,
                    "au8UnderShoot": 28,
                    "au8DetailCtrl": 130,
                    "au8RGain": 8,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "9": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 24,
                    "au8UnderShoot": 28,
                    "au8DetailCtrl": 116,
                    "au8RGain": 8,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "10": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 40,
                    "au8UnderShoot": 50,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "11": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 40,
                    "au8UnderShoot": 50,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "12": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "13": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "14": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "15": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            }
        }
    }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/camera/picture'
PUT - Изменение параметров
Запрос

Тело:

{
    "u8Contr": 42,
    "u8Luma": 52,
    "u8Satu": 52,
    "u8Hue": 50,
    "wb": {
        "u8RGStrength": 128,
        "u8BGStrength": 128
    },
    "dehaze": {
        "u8strength": 125
    },
    "drc": {
        "u16Strength": 100,
        "u16StrengthMax": 127,
        "u16StrengthMin": 0
    },
    "iso": {
        "index": 2,
        "params": {
            "0": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "1": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "2": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 55,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "3": {
                "sharpness": {
                    "au16TextureFreq": 215,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 55,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "4": {
                "sharpness": {
                    "au16TextureFreq": 215,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 19,
                    "au8UnderShoot": 53,
                    "au8DetailCtrl": 128,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "5": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 18,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 16,
                    "au8GGain": 45,
                    "au8BGain": 26,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 58
                }
            },
            "6": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 11,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 16,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "7": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 1,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 26,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "8": {
                "sharpness": {
                    "au16TextureFreq": 250,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 1,
                    "au8UnderShoot": 28,
                    "au8DetailCtrl": 130,
                    "au8RGain": 8,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "9": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 24,
                    "au8UnderShoot": 28,
                    "au8DetailCtrl": 116,
                    "au8RGain": 8,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "10": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 40,
                    "au8UnderShoot": 50,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "11": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 40,
                    "au8UnderShoot": 50,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "12": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "13": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "14": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "15": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            }
        }
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "u8Contr": 42,
    "u8Luma": 52,
    "u8Satu": 52,
    "u8Hue": 50,
    "wb": {
        "u8RGStrength": 128,
        "u8BGStrength": 128
    },
    "dehaze": {
        "u8strength": 125
    },
    "drc": {
        "u16Strength": 100,
        "u16StrengthMax": 127,
        "u16StrengthMin": 0
    },
    "iso": {
        "index": 2,
        "params": {
            "0": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "1": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 58,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "2": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 55,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "3": {
                "sharpness": {
                    "au16TextureFreq": 215,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 13,
                    "au8UnderShoot": 55,
                    "au8DetailCtrl": 139,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "4": {
                "sharpness": {
                    "au16TextureFreq": 215,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 19,
                    "au8UnderShoot": 53,
                    "au8DetailCtrl": 128,
                    "au8RGain": 28,
                    "au8GGain": 31,
                    "au8BGain": 28,
                    "au8SkinGain": 25,
                    "au16MaxSharpGain": 63
                }
            },
            "5": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 18,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 16,
                    "au8GGain": 45,
                    "au8BGain": 26,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 58
                }
            },
            "6": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 11,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 16,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "7": {
                "sharpness": {
                    "au16TextureFreq": 183,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 1,
                    "au8UnderShoot": 34,
                    "au8DetailCtrl": 130,
                    "au8RGain": 26,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "8": {
                "sharpness": {
                    "au16TextureFreq": 250,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 1,
                    "au8UnderShoot": 28,
                    "au8DetailCtrl": 130,
                    "au8RGain": 8,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 42
                }
            },
            "9": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 0,
                    "au8OverShoot": 24,
                    "au8UnderShoot": 28,
                    "au8DetailCtrl": 116,
                    "au8RGain": 8,
                    "au8GGain": 45,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "10": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 40,
                    "au8UnderShoot": 50,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "11": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 40,
                    "au8UnderShoot": 50,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "12": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "13": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "14": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            },
            "15": {
                "sharpness": {
                    "au16TextureFreq": 170,
                    "au16EdgeFreq": 96,
                    "au8OverShoot": 10,
                    "au8UnderShoot": 15,
                    "au8DetailCtrl": 120,
                    "au8RGain": 31,
                    "au8GGain": 31,
                    "au8BGain": 31,
                    "au8SkinGain": 31,
                    "au16MaxSharpGain": 80
                }
            }
        }
    }
}
400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

CURL:

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

/v3/camera/osd

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

Видео поток поддерживает отображение до 3-х строк.

Описание параметров

Название

Тип
Описание

size

Integer

Размер отображаемой информации.

text String

Отображаемый текст.

 - Длина строки: 0 - 100 символов

color

String Цвет osd в hex.

date

Object Параметры отображения даты.

   enable

   Boolean    Флаг включения / отключения отображения даты.
   format    String

   Формат отображаемой даты (форматы).

time

Object Параметры отображения времени.

   enable

   Boolean    Флаг включения / отключения отображения времени.
   format    String    Формат отображаемового времени (форматы).

position

Object Параметры смещения текста.

   x

   Integer    Смещение по оси "X" в процентном соотношении.

   y

   Integer    Смещение по оси "Y" в процентном соотношении.

background

Object Параметры отображения фона.

   enable

   Boolean    Флаг включения / отключения фона.
   color    String

   Цвет фона в hex.

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

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

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v3/camera/osd'
PUT - Изменение параметров
Запрос

Тело:

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

 Успешное изменение параметров

Тело:

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

Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Ошибка получения md настроек: 400 (JSON поле data отсутствует)"
        }
    ]
}
Примеры

CURL:

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


Коды

/openCode

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

Описание параметров
Название
Тип

Описание

code Integer

Идентификатор "Кода доступа".

panelCode Integer

Номер квартиры к которой привязан "Код доступа".

GET - Получение списка
Ответы
200 OK

Тело:

[
    {
        "code": 12345,
        "panelCode": 0
    }
]
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode'
POST - Добавление кода
Запрос

Тело:

{
    "code": 12345,
    "panelCode": 0
}
Ответы
201 OK

 Успешное добавление кода

Тело:

[
    {
        "code": 12345,
        "panelCode": 0
    }
]
400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для поля "field".

{
    "errors": [
        {
            "message": "Код 12345 уже существует"
        }
    ]
}
Примеры

 CURL:

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

/openCode/clear

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

DELETE - Удаление кодов
Ответы
204 OK

Успешное удаление кодов

Примеры

 CURL:

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

/openCode/{номер квартиры}

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

Описание параметров
Название
Тип

Описание

code Integer

Идентификатор "Кода доступа".

panelCode Integer

Номер квартиры к которой привязан "Код доступа".

GET - Получение кодов
Ответы
200 OK

Успешное получение списка кодов

Тело:

[
    {
        "code": 12345,
        "panelCode": 0
    }
]
400 Bad Request

 Ошибка проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для поля "field".

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

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/openCode/0'
DELETE - Удаление кодов
Ответы
204 OK

 Успешное удаление кодов для указанной квартиры

400 Bad Request

 Ошибка проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для поля "field".

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

 Ошибка при удалении не существующих кодов для указанной квартиры

Примеры

CURL:

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

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

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

DELETE - Удаление кода
Ответы
204 OK

 Успешное удаление кода

400 Bad Request

 Ошибка проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для поля "field".

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

Ошибка при удалении не существующего кода для указанной квартиры

Тело:

Название

Тип
Описание

errors

Object

Массив возвращаемых ошибок.

   message

   String

   Сообщение об ошибке.

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

CURL: 

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

/openCode/settings

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

Описание параметров

Название

Тип
Описание

commonCode

Object

   enable

   Boolean Флаг включения общего кода
По умолчанию: false

   value

   Integer Значение общего кода
По умолчанию: 0
Ограничения: уникальный код в пределах 10000...99999
GET - Получение параметров
Ответы
200 OK

 Успешное получение данных

Тело: 

{
    "commonCode": {
        "enable": false,
        "value": 12349
    }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET '192.168.0.100/openCode/settings'
PUT - Изменение параметров
Запрос

Тело:

{
    "commonCode": {
        "enable": false,
        "value": 12345
    }
}
Ответы
200 OK

 Успешное получение данных

Тело: 

{
    "commonCode": {
        "enable": false,
        "value": 12345
    }
}
400 Bad Requst

Ошибка проверки переданных параметров

Тело:

Название

Тип
Описание

errors

Array Массив возвращаемых ошибок.

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Код 12345 уже существует"
        }
    ]
}

* * *

{
    "errors": [
        {
            "message": "Общий код может быть выбран из диапазона от 10000 до 99999"
        }
    ]
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT '192.168.0.100/openCode/settings' \
--data '{
    "commonCode": {
        "enable": false,
        "value": 12345
    }
}'
DELETE - Удаление параметров
Ответы
204 OK

Успешное удаление общего кода

Примеры

CURL:

curl \
--request DELETE '192.168.0.100/openCode/settings' \

Ключи

/key/settings

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

Описание параметров
Название
Тип

Описание

inverse_uid_open Boolean

Режим проверки обратного идентификатора ключа.

 - По умолчанию: true


ВАЖНО: Панель приложенный ключ проверит  два раза прямой и обратный идентификатор т.е. AABBCCDD и DDCCBBAA.

any_key_open Boolean

Режим открытия двери любым ключом.

 - По умолчанию: true

 

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

ВАЖНО: Режим автосбора ключей будет проигнорирован, если включен данный режим.

autocollect Object

Параметры режима автосбора ключей.

   enabled    Boolean

   Флаг включения / выключения режима.

    - По умолчанию: false

   room    Integer

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

    - По умолчанию: 0

   keyMask    String

   Маска идентификатора ключа

    - По умолчанию: xxxxxxxxxxxxxx


ВАЖНО: На панель будет добавлены только те ключи, которые пройдут маску.

   access    Object

   Параметры назначаемых доступов добавленных через режим автосбора ключей.

      main       Boolean

      Доступ на открытие основной двери.

      - По умолчанию: true

      second       Boolean

      Доступ на открытие дополнительной двери.

      - По умолчанию: false

      gates       Object

      Параметры доступов на открытие внешних модулей NCS-102.

         0-3          Boolean

         Доступ на открытие внешних модулей NCS-102 с адресами 0-3.

         - По умолчанию: false

encryption Object

Параметры проверки шифрованных ключей.

    enabled    Boolean

   Флаг включения / выключения режима.

    - По умолчанию: false

   key_type    String

   Тип ключа для авторизации в сектор ключа.

    - Ограничения: A, B

    - По умолчанию: A

   key_auth    String

   Значение ключа для авторизации в сектор ключа.

    - Длина строки: 12 символов (16-ой системе)

    - По умолчанию: FFFFFFFFFFFF

   sector   Integer

   Сектор, который будет проверяться на шифрование.

    - Ограничения: 0 - 15, 255

    - По умолчанию: 255

   increment    Object

   Параметры инкрементирования значения в указанном блоке сектора.

      enabled       Boolean

      Флаг включения / выключения режима.

       - По умолчанию: false

      block       Integer

     Блок в котором будет увеличиваться значение инкремента.

      - Ограничения: 0 - 2

      - По умолчанию: 0

      openByError       Boolean

      Флаг открытия двери при ошибке инкремента.

      - По умолчанию: false

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
  "inverse_uid_open": false,
  "any_key_open": false,
  "autocollect": {
    "enabled": true,
    "room": 0,
    "keyMask": "xxxxxxxxxxxxxx",
    "access": {
      "main": true,
      "second": false,
      "gates": {
        "0": false,
        "1": false,
        "2": false,
        "3": false
      }
    }
  },
  "encryption": {
    "increment": {
      "enabled": false,
      "block": null,
      "openByError": false
    },
    "enabled": false,
    "key_type": "A",
    "key_auth": "FFFFFFFFFFFF",
    "sector": 255
  }
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/settings'
PUT - Изменение параметров
Запрос

Тело:

{
  "inverse_uid_open": false,
  "any_key_open": false,
  "autocollect": {
    "enabled": true,
    "room": 0,
    "keyMask": "xxxxxxxxxxxxxx",
    "access": {
      "main": true,
      "second": false,
      "gates": {
        "0": false,
        "1": false,
        "2": false,
        "3": false
      }
    }
  },
  "encryption": {
    "increment": {
      "enabled": false,
      "block": null,
      "openByError": false
    },
    "enabled": false,
    "key_type": "A",
    "key_auth": "FFFFFFFFFFFF",
    "sector": 255
  }
}
Ответы
200 OK

Успешное получение параметров

Тело:

{
  "inverse_uid_open": false,
  "any_key_open": false,
  "autocollect": {
    "enabled": true,
    "room": 0,
    "keyMask": "xxxxxxxxxxxxxx",
    "access": {
      "main": true,
      "second": false,
      "gates": {
        "0": false,
        "1": false,
        "2": false,
        "3": false
      }
    }
  },
  "encryption": {
    "increment": {
      "enabled": false,
      "block": null,
      "openByError": false
    },
    "enabled": false,
    "key_type": "A",
    "key_auth": "FFFFFFFFFFFF",
    "sector": 255
  }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/settings' \
--data-raw '{
  "inverse_uid_open": false,
  "any_key_open": false,
  "autocollect": {
    "enabled": true,
    "room": 0,
    "keyMask": "xxxxxxxxxxxxxx",
    "access": {
      "main": true,
      "second": false,
      "gates": {
        "0": false,
        "1": false,
        "2": false,
        "3": false
      }
    }
  },
  "encryption": {
    "increment": {
      "enabled": false,
      "block": null,
      "openByError": false
    },
    "enabled": false,
    "key_type": "A",
    "key_auth": "FFFFFFFFFFFF",
    "sector": 255
  }
}'

/key/store

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

Описание параметров
Название
Тип

Описание

uuid String

Идентификатор ключа.

panelCode Integer

Номер квартиры к которой привязан ключ.

encryption Boolean

Флаг включения / выключения персональной проверки шифрования.

 

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

access Object

Флаги доступа ко входам

   main    Boolean

   Флаг открытия первого входа. 

   second    Boolean

   Флаг открытия второго входа. 

   gates    Object

   Флаги открытия внешних входов.

      0, 1, 2, 3       Boolean

      Флаг открытия внешнего входа. 

GET - Получение ключей
Ответы
200 OK

 Успешное получение списка ключей

Тело:

[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 1,
        "encryption": true,
        "access": {
            "main": true,
            "second": false,
            "gates": {
                "0": false,
                "1": false,
                "2": false,
                "3": false
            }
        }
    }
]
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/key/store'
POST - Добавление ключа
Запрос

Тело:

{
  "uuid": "000000AABBCCDD",
  "panelCode": 1,
  "encryption": true,
  "access": {
    "main": true,
    "second": false,
    "gates": {
      "0": false,
      "1": false,
      "2": false,
      "3": false
    }
  }
}
Ответы
200 OK

 Успешное добавление ключа

Тело:

[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 1,
        "encryption": true,
        "access": {
            "main": true,
            "second": false,
            "gates": {
                "0": false,
                "1": false,
                "2": false,
                "3": false
            }
        }
    }
]
400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для поля "field".

{
    "errors": [
        {
            "message": "Ключ уже существует - 000000AABBCCDD"
        }
    ]
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/key/store' \
--data-raw '{
  "uuid": "000000AABBCCDD",
  "panelCode": 1,
  "encryption": true,
  "access": {
    "main": true,
    "second": false,
    "gates": {
      "0": false,
      "1": false,
      "2": false,
      "3": false
    }
  }
}'

/key/store/clear

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

DELETE - Удаление ключей
Ответы
204 OK

 Успешное удаление ключей

Примеры

 CURL:

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

/key/store/merge

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

Описание параметров
Название
Тип

Описание

uuid String

Идентификатор ключа.

panelCode Integer

Номер квартиры к которой привязан ключ.

encryption Boolean

Флаг включения / выключения персональной проверки шифрования.

 

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

access Object

Флаги доступа ко входам

   main    Boolean

   Флаг открытия первого входа. 

   second    Boolean

   Флаг открытия второго входа. 

   gates    Object

   Флаги открытия внешних входов.

      0, 1, 2, 3       Boolean

      Флаг открытия внешнего входа. 

PUT - Изменение ключей
Запрос

Тело:

[
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 1,
        "encryption": true,
        "access": {
            "main": true,
            "second": false,
            "gates": {
                "0": false,
                "1": false,
                "2": false,
                "3": false
            }
        }
    }
]
Ответы
200 OK

Успешное изменение ключей

Тело:

[
  {
    "uuid": "000000AABBCCDD",
    "panelCode": 1,
    "encryption": true,
    "access": {
      "main": true,
      "second": false,
      "gates": {
        "0": false,
        "1": false,
        "2": false,
        "3": false
      }
    }
  },
  {
    "uuid": "000000BBCCDDEE",
    "panelCode": 1,
    "encryption": true,
    "access": {
      "main": true,
      "second": false,
      "gates": {
        "0": false,
        "1": false,
        "2": false,
        "3": false
      }
    }
  }
]
400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для поля "field".

{
    "errors": [
        {
            "message": "Номер квартиры должен быть от 0 до 9999"
        }
    ]
}
Примеры

 CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/key/store/merge' \
--data-raw '[
  {
    "uuid": "000000BBCCDDEE",
    "panelCode": 1,
    "encryption": true,
    "access": {
      "main": true,
      "second": false,
      "gates": {
        "0": false,
        "1": false,
        "2": false,
        "3": false
      }
    }
  }
]'

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

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

Описание параметров
Название
Тип

Описание

uuid String

Идентификатор ключа.

panelCode Integer

Номер квартиры к которой привязан ключ.

encryption Boolean

Флаг включения / выключения персональной проверки шифрования.

 

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

access Object

Флаги доступа ко входам

   main    Boolean

   Флаг открытия первого входа. 

   second    Boolean

   Флаг открытия второго входа. 

   gates    Object

   Флаги открытия внешних входов.

      0, 1, 2, 3       Boolean

      Флаг открытия внешнего входа. 

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
    "uuid": "000000AABBCCDD",
    "panelCode": 1,
    "encryption": true,
    "access": {
        "main": true,
        "second": false,
        "gates": {
            "0": false,
            "1": false,
            "2": false,
            "3": false
        }
    }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100/key/store/000000AABBCCDD'
PUT - Изменение параметров

В прошивках позднее 08.08.2024: если использовать этот метод для ключа, которого нет в БД, то такой ключ будет добавлен в БД

Запрос

Тело:

{
    "uuid": "000000AABBCCDD",
    "panelCode": 1,
    "encryption": true,
    "access": {
        "main": true,
        "second": false,
        "gates": {
            "0": false,
            "1": false,
            "2": false,
            "3": false
        }
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "uuid": "000000AABBCCDD",
    "panelCode": 1,
    "encryption": true,
    "access": {
        "main": true,
        "second": false,
        "gates": {
            "0": false,
            "1": false,
            "2": false,
            "3": false
        }
    }
}
Примеры

CURL: 

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/key/store/000000AABBCCDD' \
--data-raw '{
    "uuid": "000000AABBCCDD",
    "panelCode": 1,
    "encryption": true,
    "access": {
        "main": true,
        "second": false,
        "gates": {
            "0": false,
            "1": false,
            "2": false,
            "3": false
        }
    }
}'
DELETE - Удаление ключа
Ответы
200 OK

Успешное удаление ключа 

400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для поля "field".

{
    "errors": [
        {
            "field": "uuid",
            "message": "Ключ не является HEX-строкой: 0000000000-123"
        }
    ]
}
404 Not Found

  Ошибка при удалении не существующего ключа для указанной квартиры

Примеры

 CURL:

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

/key/{номер квартиры}

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

Метод не доступен для устройств на прошивке ниже 2.5.0.10.x

DELETE - Удаление ключей конкретной квартиры
Ответы
204 OK

Успешное удаление ключей

400 Bad Request

Ошибка проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для поля "field".

{
    "errors": [
        {
            "message": "Номер квартиры не найден"
        }
    ]
}
404 Not Found

  Ошибка при удалении не существующего ключа для указанной квартиры

Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY='
--request DELETE '192.168.1.51/key/34' \

/v1/key/markup/mifare

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

Описание параметров
Название
Тип

Описание

enabled Boolean

Флаг включения / выключения прошивки ключей.

 - По умолчанию: false

numSectors Integer

Количество прошиваемых секторов за раз в момент удержания ключа.

 - Ограничения: 1 - 16

 - По умолчанию: 16

markup Object

Разметка для прошивки Mifare ключей по протоколу SL1.

   0 - 15    String

   Поддерживаемые сектора для прошивки в ключах.

      skip       Object

      Параметры пропуска указанного сектора.

          err          Boolean

         Пропуск сектора при ошибке во время прошивки.

          - По умолчанию: false

          always          Boolean

         Пропуск сектора при любых действиях.

          - По умолчанию: false

      key       Object

      Параметры авторизации в сектор ключа.

         type          String

         Тип ключа для авторизации в сектор ключа.

          - Ограничения: A, B

          - По умолчанию: A

         value          String

         Значение ключа для авторизации в сектор ключа.

          - Длина строки: 12 символов (16-ой системе)

          - По умолчанию: FFFFFFFFFFFF

      0 - 3       String

      Блоки для указания различной информации.

 

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

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        ...,
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/key/markup/mifare'
PUT - Изменение параметров
Запрос

Тело:

{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "1": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "2": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "3": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "4": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "5": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "6": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "7": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "8": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "9": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "10": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "11": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "12": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "13": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "14": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        ...,
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}
Примеры

 CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/key/markup/mifare' \
--data-raw '{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "1": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "2": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "3": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "4": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "5": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "6": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "7": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "8": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "9": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "10": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "11": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "12": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "13": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "14": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}'
DELETE - Сброс параметров к стандартным
Ответы
204 OK

Успешный сброс параметров

Пример

CURL:

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

Квартиры

/panelCode

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

Описание параметров
Название
Тип

Описание

panelCode Integer

Номер квартиры.

callsEnabled Object

Параметры разрешения вызовов в АТ и SIP.

   sip     Boolean

   Флаг включения / выключения вызовов в SIP. 

   - По умолчанию: true

   handset    Boolean

   Флаг включения / выключения вызовов в АТ.

   - По умолчанию: true

soundOpenTh Boolean

Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире.

debtor

с версий позже 30.07.2024

Boolean

Флаг, обозначающий квартиру должника.

    - По умолчанию: false

 

При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь.

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thCall    Integer

   Громкость мелодии трубки во время вызова в АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 254, 255 или null

     - По умолчанию: null

resistances Object

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

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

GET - Получение квартир
Ответы
200 OK

Успешное получение квартир

Тело:

[
    {
        "panelCode": 1,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "debtor": false,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        },
        "sipAccounts": [
            "1"
        ]
    },
    ...,
    {
        "panelCode": 100,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "debtor": false,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        },
        "sipAccounts": [
            "100"
        ]
    }
]
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode'
POST - Добавление квартиры
Запрос

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Ответы
200 OK

Успешное добавление квартиры

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
400 Bad Request

Ошибка при добавлении существующей квартиры

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для переменной из поля "field".

{
    "errors": [
        {
            "field": "panelCode",
            "message": "Квартира уже существует - 1"
        }
    ]
}
Примеры

 CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode' \
--data-raw '{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'

/v1/panelCode

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

Описание параметров
Название
Тип

Описание

panelCode Integer

Номер квартиры.

callsEnabled Object

Параметры разрешения вызовов в АТ и SIP.

   sip     Boolean

   Флаг включения / выключения вызовов в SIP. 

   - По умолчанию: true

   handset    Boolean

   Флаг включения / выключения вызовов в АТ.

   - По умолчанию: true

soundOpenTh Boolean

Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире.

debtor

с версий позже 30.07.2024

Boolean

Флаг, обозначающий квартиру должника.

    - По умолчанию: false

 

При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь.

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thCall    Integer

   Громкость мелодии трубки во время вызова в АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 254, 255 или null

     - По умолчанию: null

resistances Object

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

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

GET - Получение квартир
Ответы
200 OK

Успешное получение квартир

Тело:

[
    {
        "panelCode": 1,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "debtor": false,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    },
    ...,
    {
        "panelCode": 100,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "debtor": false,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    }
]
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/panelCode'
POST - Добавление квартиры
Запрос

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Ответы
200 OK

Успешное добавление квартиры

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
400 Bad Request

Ошибка при добавлении существующей квартиры

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   field    String

   Название переменной к которой относиться ошибка.

   message    String

   Сообщение об ошибки для переменной из поля "field".

{
    "errors": [
        {
            "field": "panelCode",
            "message": "Квартира уже существует - 1"
        }
    ]
}
Примеры

 CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/v1/panelCode' \
--data-raw '{
    "panelCode": 1,
    "callsEnabled": {
        "sip": false,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'

/panelCode/clear

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

DELETE - Удаление квартир
Ответы
204 OK

 Успешное удаление квартир

Примеры

 CURL:

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

/panelCode/settings

Методы получения и изменения параметров "SOS" и "Консьерж".

Описание параметров

Название

Тип Описание

consiergeRoom

String

"Номер квартиры" или "SIP аккаунт" на который будет вызов при нажатии на кнопку "Консьерж". 

 - По умолчанию: 999

sosRoom

String

"Номер квартиры" или "SIP аккаунт" на который будет вызов при нажатии на кнопку "SOS".  

 - По умолчанию: ""

sosDelay

Boolean

Флаг включения / выключения задержки при нажатии кнопки "SOS". 

 - По умолчанию: true

sosDelayTime

Integer

Время которое необходимо удерживать кнопку "SOS" для совершения вызова. 

 - Ограничения: 1 - 10 секунд

 - По умолчанию: 3 секунды

- Для установления значения по умолчанию также можно записать 0 или 255

sosType

Boolean

Тип отображаемой строки при удержании кнопки "SOS".

 - true - "112";

 - false - "SOS".

 - По умолчанию: true

soundOpenPanel

Boolean

Флаг включения / выключения звуков открытия и ошибок при прикладывании ключа. 

 - По умолчанию: true

soundOpenTh

Boolean

Флаг включения / выключения звуков открытия при прикладывании ключа привязанного к квартире.

 - По умолчанию: false

typeSound Integer

Общий тип эхоподавления используемый для персональных настроек квартир со значением "255" или "null".

 - Ограничение: 0, 1, 3

 - По умолчанию: 3

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело: 

{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/settings'
PUT - Изменение параметров
Запрос

Тело:

{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}
Ответы
200 OK

Успешное изменение параметров 

Тело:

{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}
Примеры

 CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/settings' \
--data-raw '{
    "consiergeRoom": "999",
    "sosRoom": "",
    "sosDelay": true,
    "soundOpenPanel": true,
    "soundOpenTh": false,
    "typeSound": 3,
    "sosType": true,
    "sosDelayTime": 255
}'

/panelCode/diag

Метод массового замера уровня сопротивления абонентских трубок для указанных квартир.

Описание параметров

Название

Тип Описание

1 - 5

Object Номер квартиры к которой относятся данные.

   resist

   Integer

   Значение сопротивления измеренное панелью.

    - Ограничения: 0 - 255

   status

   String

   Положение трубки полученное из ограничений общих параметров "quiesence" и "answer"

    - Ограничения:

      - down - положенная трубка (зеленый);

      - up - поднятая трубка (желтый);

      - error - ошибка при замере (красный).

   error

   String    Сообщение ошибки при значении "error" в параметре "status". 
POST - Получение замеров
Запрос

Тело:

[1, 2, 3, 4, 5]
Ответы
200 OK

 Успешное получение замеров

Тело:

{
    "1": {
        "resist": 75,
        "status": "down"
    },
    "2": {
        "resist": 190,
        "status": "up"
    },
    "3": {
        "resist": 0,
        "status": "error",
        "error": "Обрыв трубки, кв. 3"
    },
    "4": {
        "resist": 0,
        "status": "error",
        "error": "Обрыв трубки, кв. 4"
    },
    "5": {
        "resist": 0,
        "status": "error",
        "error": "Обрыв трубки, кв. 5"
    }
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode/diag' \
--data-raw '[1, 2, 3, 4, 5]'

/panelCode/{номер квартиры}

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

Описание параметров
Название
Тип

Описание

panelCode Integer

Номер квартиры.

callsEnabled Object

Параметры разрешения вызовов в АТ и SIP.

   sip     Boolean

   Флаг включения / выключения вызовов в SIP. 

   - По умолчанию: true

   handset    Boolean

   Флаг включения / выключения вызовов в АТ.

   - По умолчанию: true

soundOpenTh Boolean

Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире.

debtor

с версий позже 30.07.2024

Boolean

Флаг, обозначающий квартиру должника.

    - По умолчанию: false

 

При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь.

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thCall    Integer

   Громкость мелодии трубки во время вызова в АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 254, 255 или null

     - По умолчанию: null

resistances Object

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

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL: 

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1'
PUT - Изменение параметров
Запрос

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Ответы
200 OK

Успешное изменение параметров

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/1' \
--data-raw '{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'
DELETE - Удаление квартиры
Ответы
204 OK

Успешное удаление квартиры

Примеры

CURL:

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

/v1/panelCode/{номер квартиры}

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

Описание параметров
Название
Тип

Описание

panelCode Integer

Номер квартиры.

callsEnabled Object

Параметры разрешения вызовов в АТ и SIP.

   sip     Boolean

   Флаг включения / выключения вызовов в SIP. 

   - По умолчанию: true

   handset    Boolean

   Флаг включения / выключения вызовов в АТ.

   - По умолчанию: true

soundOpenTh Boolean

Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире.

debtor

с версий позже 30.07.2024

Boolean

Флаг, обозначающий квартиру должника.

    - По умолчанию: false

 

При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь.

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "16" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thCall    Integer

   Громкость мелодии трубки во время вызова в АТ.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 16, null

     - По умолчанию: null

resistances Object

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

 

Важно! Значения "256" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 256, null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 256, null

    - По умолчанию: null

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL: 

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/panelCode/1'
PUT - Изменение параметров
Запрос

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Ответы
200 OK

Успешное изменение параметров

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/panelCode/1' \
--data-raw '{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "debtor": false,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'
DELETE - Удаление квартиры
Ответы
204 OK

Успешное удаление квартиры

Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/v1/panelCode/1'

/panelCode/{номер квартиры}/levels

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

Описание параметров
Название
Тип

Описание

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thCall    Integer

   Громкость мелодии трубки во время вызова в АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 254, 255 или null

     - По умолчанию: null

resistances Object

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

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

 CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/levels'
PUT - Изменение параметров
Запрос

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/1/levels' \
--data-raw '{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'

/v1/panelCode/{номер квартиры}/levels

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

Описание параметров
Название
Тип

Описание

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "16" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thCall    Integer

   Громкость мелодии трубки во время вызова в АТ.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 16, null

     - По умолчанию: null

resistances Object

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

 

Важно! Значения "16" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

 CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/panelCode/1/levels'
PUT - Изменение параметров
Запрос

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/panelCode/1/levels' \
--data-raw '{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'

/panelCode/{номер квартиры}/resist

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

Описание параметров

Название

Тип Описание

resist

Integer

Значение сопротивления измеренное панелью.

 - Ограничения: 0 - 255

status

String

Положение трубки полученное из ограничений общих параметров "quiesence" и "answer"

 - Ограничения:

   - down - положенная трубка (зеленый);

   - up - поднятая трубка (желтый).

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "resist": 3.0,
    "status": "down"
}

или

{
    "resist": 7.0,
    "status": "up"
}
500 Internal Server Error

Внутренняя ошибка при обработке метода

Тело:

{
    "errors": [
        {
            "message": "Обрыв трубки, кв. 1"
        }
    ]
}
Примеры

 CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/resist'

/v1/panelCode/{номер квартиры}/resist

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

Описание параметров

Название

Тип Описание

resist

Integer

Значение сопротивления измеренное панелью.

 - Ограничения: 0 - 255

status

String

Положение трубки полученное из ограничений общих параметров "quiesence" и "answer"

 - Ограничения:

   - down - положенная трубка (зеленый);

   - up - поднятая трубка (желтый).

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "resist": 3.0,
    "status": "down"
}

или

{
    "resist": 7.0,
    "status": "up"
}
500 Internal Server Error

Внутренняя ошибка при обработке метода

Тело:

{
    "errors": [
        {
            "message": "Обрыв трубки, кв. 1"
        }
    ]
}
Примеры

 CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/panelCode/1/resist'

/panelCode/rooms_update

Метод массового обновления параметров указанных квартир.

Описание параметров
Название
Тип

Описание

panelCode Integer

Номер квартиры.

callsEnabled Object

Параметры разрешения вызовов в АТ и SIP.

   sip     Boolean

   Флаг включения / выключения вызовов в SIP. 

   - По умолчанию: true

   handset    Boolean

   Флаг включения / выключения вызовов в АТ.

   - По умолчанию: true

soundOpenTh Boolean

Флаг включения / выключения звука открытия двери при открытии привязанным ключом к квартире.

typeSound Integer

Режимы эхоподавления при вызове в АТ.

 - Ограничения: 0, 1, 2, 3
   - 0, 1, 2 - варианты эхоподавления;
   - 3 - общие настройки.

 - По умолчанию: 3 

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thCall    Integer

   Громкость мелодии трубки во время вызова в АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 254, 255 или null

     - По умолчанию: null

resistances Object

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

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   debtor

с версий позже 30.07.2024

Boolean

Флаг, обозначающий квартиру должника.

    - По умолчанию: false

 

При включенном оффлайн-ассистенте и установке этого флага, житель этой квартиры будет получать звуковое уведомление из динамика домофона, когда прикладывает свой ключ и ключ открывает дверь.

PUT - Обновление параметров
Запрос

Тело:

[
    {
        "panelCode": 1,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": null,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    },
    {
        "panelCode": 2,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": null,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    }
]
Ответы
200 OK

 Успешное обновление параметров

400 Bad Request

 Ошибка при добавлении существующей квартиры

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   message    String

   Сообщение об ошибке.

{
    "errors": [
        {
            "message": "Не удалось распарсить JSON 15: ']' expected near end of file"
        }
    ]
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/rooms_update' \
--data-raw '[
    {
        "panelCode": 1,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": null,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    },
    {
        "panelCode": 2,
        "callsEnabled": {
            "sip": true,
            "handset": true
        },
        "soundOpenTh": null,
        "typeSound": null,
        "volumes": {
            "thCall": null,
            "thTalk": null,
            "uartFrom": null,
            "uartTo": null,
            "panelCall": null,
            "panelTalk": null
        },
        "resistances": {
            "quiescent": null,
            "answer": null
        }
    }
]'

/panelCode/adjustLevels

Метод авто регулировки уровней трубок для указанного диапазона квартир в матрицах ККМ.

Описание параметров
Название
Тип

Описание

1, 2, 3 object

Номер квартиры.

   resist    float

   Уровень напряжения на абонентской трубке.

   status    string

   Статус в котором находиться трубка.

   error    string

   Описание ошибки при замере напряжения.

POST - Авто регулировка уровней трубок для диапазона квартир
Запрос

Тело:

Тип

Описание

Integer[]

Номера квартир по которым необходимо выполнить авто регулировку уровней трубок.

[1, 2, 3]
Ответы
200 OK

Тело:

{
    "1": {
        "resist": 9.431,
        "status": "up"
    },
    "2": {
        "resist": 3.059,
        "status": "down"
    },
    "3": {
        "resist": 0.0,
        "status": "error",
        "error": "Обрыв трубки, кв. 3"
    }
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode/adjustLevels' \
--data-raw '[1, 2, 3]'

/panelCode/adjustLevels/all

Метод авто регулировки уровней трубок для всех квартир в матрицах ККМ.

Описание параметров
Название
Тип

Описание

1, 2, 3 object

Номер квартиры.

   resist    float

   Уровень напряжения на абонентской трубке.

   status    string

   Статус в котором находиться трубка.

   error    string

   Описание ошибки при замере напряжения.

POST - Авто регулировка уровней трубок для всех квартир
Ответы
200 OK

Тело:

{
    "1": {
        "resist": 9.431,
        "status": "up"
    },
    "2": {
        "resist": 3.059,
        "status": "down"
    },
    "3": {
        "resist": 0.0,
        "status": "error",
        "error": "Обрыв трубки, кв. 3"
    }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \ 
--request POST 'http://192.168.0.100:80/panelCode/adjustLevels/all'

Калитка

/gate/settings

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

Описание параметров

Название

Тип Описание

gateMode

Boolean

Флаг включения / выключения режима калитки.

 - По умолчанию: false

prefixHouse

Boolean

Флаг включения / выключения вызовы с префиксом.

 - По умолчанию: false

direct

Object

Параметры прямых вызовов с устройства на устройство.

   mode

   Boolean

   Флаг включения / выключения прямых вызовов.

    - По умолчанию: false

   rules

   Object

   Правила для прямых вызовов.

      0

      String

      Префикс дома при вызове.

       - Ограничения: цифры

       - По умолчанию: 0

 

      ВАЖНО! Если требуются прямые вызовы, но не включен префикс, то всегда указываем 0. В остальных случаях указываем необходимый префикс дома.

         1 - 10

         String

         Диапазон квартир при наборе которого будет уходить вызов на указанное устройство.

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/gate/settings'
PUT - Изменение параметров
Запрос

Тело:

{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/gate/settings' \
--data-raw '{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {}
    }
}'

Уровни звука

/levels

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

Описание параметров
Название
Тип

Описание

resistances Object

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

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   break

   Integer

   Уровень при неисправности трубки.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   error

   Integer

   Уровень при обрыве.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "255" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 254, 255 или null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 254, 255 или null

     - По умолчанию: null

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/levels'
PUT - Изменение параметров
Запрос

Тело:

{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
Примеры

 CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/levels' \
--data-raw '{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    },
    "noise": {
        "line": null
    }
}'

/v1/levels

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

Описание параметров
Название
Тип

Описание

resistances Object

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

 

Важно! Значения "256" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   quiescent

   Integer

   Уровень поднятия трубки.

    - Ограничения: 0 - 40, null

    - По умолчанию: null

   answer    Integer

   Уровень открытия двери.

    - Ограничения: 0 - 40, null

    - По умолчанию: null

error Integer

Уровень ошибки. Если значение вольтажа в линии меньше, чем указанное, панель при замерах либо звонках воспримет как ошибку.

- Ограничения: 0 - 65535, null

- По умолчанию: null

break Integer

Уровень обрыва. Если значение вольтажа в линии больше, чем указанное, панель при замерах либо звонках воспримет как обрыв.

- Ограничения: 0 - 65535, null

- По умолчанию: null

volumes Object

Персональные громкости при вызове в квартиру.

 

Важно! Значения "16" или "null" означают, что используются не персональные настройки квартир, а общие настройки для квартир.

   thTalk    Integer

   Громкость в трубке во время разговора по АТ.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   uartFrom    Integer

   Громкость на панели во время разговора по SIP.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   uartTo    Integer

   Усиление микрофона панели во время разговора по SIP.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   panelCall    Integer

   Системные звуки панели.

    - Ограничения: 0 - 16, null

    - По умолчанию: null

   panelTalk    Integer

   Громкость на панели во время разговора по АТ.

     - Ограничения: 0 - 16, null

     - По умолчанию: null

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
  "resistances": {
    "quiescent": null,
    "answer": null
  },
  "volumes": {
    "panelCall": 5,
    "uartFrom": 12,
    "uartTo": 16,
    "panelTalk": 12,
    "thTalk": 4,
    "thCall": 1,
    "thGate": 13
  }
}
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/levels'
PUT - Изменение параметров
Запрос

Тело:

{
  "resistances": {
    "quiescent": null,
    "answer": null
  },
  "volumes": {
    "panelCall": 5,
    "uartFrom": 12,
    "uartTo": 16,
    "panelTalk": 12,
    "thTalk": 4,
    "thCall": 1,
    "thGate": 13
  }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
  "resistances": {
    "quiescent": null,
    "answer": null
  },
  "volumes": {
    "panelCall": 5,
    "uartFrom": 12,
    "uartTo": 16,
    "panelTalk": 12,
    "thTalk": 4,
    "thCall": 1,
    "thGate": 13
  }
}
Примеры

 CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/levels' \
--data-raw '{
  "resistances": {
    "quiescent": null,
    "answer": null
  },
  "volumes": {
    "panelCall": 5,
    "uartFrom": 12,
    "uartTo": 16,
    "panelTalk": 12,
    "thTalk": 4,
    "thCall": 1,
    "thGate": 13
  }
}'


Логи

/log/last

Метод получения последних 100 строк логов.

GET - Получение логов
Ответы
200 OK

 Успешное получение логов

Заголовки:

Название

Значение Описание

Content-Type

text/plain Тип возвращаемых данных

Тело:

2023-08-14T13:48:07.458354+05:00 081300000000 UART[1001]: STM32.DEBUG: 07F765003901000003401084846270882020
2023-08-14T13:48:08.976034+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:08.978101+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:09.008538+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 339469 bytes
2023-08-14T13:48:28.977651+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:28.986152+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:29.032053+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 340180 bytes
2023-08-14T13:48:30.961621+05:00 081300000000 API[1037]: Вызов метода: 1 /system/fw_env [192.168.0.10]
2023-08-14T13:48:31.083043+05:00 081300000000 UART[1001]: STM32.DEBUG: 06
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/log/last'

/v2/logs/{сервис}

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

Список поддерживаемых параметров "{сервис}":
   - all - все логи устройства;
   - api - логи HTTP сервера;
   - uart - логи UART клиента;
   - ddns - логи DDNS клиента;
   - camofon - логи SIP клиента;
   - streamer - логи RTSP сервера;
   - ircut - логи переключения ИК шторки;
   - upgrade - логи обновления устройства.

GET - Получение логов
Ответы
200 OK

Успешное получение логов

Заголовки:

Название

Значение Описание

Content-Type

text/plain Тип возвращаемых данных

Тело: 

2023-08-14T13:48:07.458354+05:00 081300000000 UART[1001]: STM32.DEBUG: 07F765003901000003401084846270882020
2023-08-14T13:48:08.976034+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:08.978101+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:09.008538+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 339469 bytes
2023-08-14T13:48:28.977651+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:28.986152+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:29.032053+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 340180 bytes
2023-08-14T13:48:30.961621+05:00 081300000000 API[1037]: Вызов метода: 1 /system/fw_env [192.168.0.10]
2023-08-14T13:48:31.083043+05:00 081300000000 UART[1001]: STM32.DEBUG: 06
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/log/all'

Настройки сети

/v1/network

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

Устройство поддерживает до 3-х виртуальных сетевых интерфейсов.

Описание параметров

Название

Тип Описание

inet

String

Тип виртуального сетевого интерфейса.

Ограничения: dhcp, static

inetStatic

Object

Параметры для настройки статического виртуального сетевого интерфейса.

   netmask

   String

   Сетевая маска при подключении к сети.

    - Ограничения: IPv4 адрес

    - По умолчанию: 255.255.255.0

   gateway

   String

   Сетевой шлюз при подключении к сети.

    - Ограничения: IPv4 адрес

    - По умолчанию: ""

   ipAddress

   String

   IP адрес устройства при подключении к сети.

    - Ограничения: IPv4 адрес

    - По умолчанию: 192.168.0.100

   dnsServer

   String

   IP адрес DNS сервера.

    - Ограничения: IPv4 адрес

    - По умолчанию: ""

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров 

Тело:

[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/network'
PUT - Изменение параметров
Запрос

Тело: 

[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]
Ответы
200 OK

 Успешное изменение параметров

Тело: 

[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/network' \
--data-raw '[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "192.168.0.1",
            "ipAddress": "192.168.0.100",
            "dnsServer": "192.168.0.1"
        }
    }
]'
DELETE - Сброс к стандартным
Ответы
200 OK

 Успешный сброс к стандартным

Тело:

[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]
Примеры

 CURL:

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

/v1/network/ping

Метод для проверки доступности хоста.

Описание параметров
Название
Тип

Описание

addr String

Ip-адрес хоста

- Обязательное поле

numberPack
Integer

Число пакетов, которое необходимо отправить указанному адресу

- Обязательное поле

- Ограничения: [1; 100]

interval Integer

Интервал между пакетами в мсек 

- Ограничения: [1; 10000]

- По умолчанию: 1000

sizePack Integer

Размер пакетов в байтах

- Ограничения: [1; 65535]

- По умолчанию: 56

timeout Integer

Таймаут для пакета

- Ограничения: [1; 10]

- По умолчанию: 5

PUT - Выполнить команду ping
Запрос

Тело:

{
    "addr": "192.168.0.100",
    "numberPack": 1,
    "interval" : 1000,
    "sizePack" : 39,
    "timeout" : 1
}
Ответы
200 OK

Заголовки:

Название

Значение Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных

Тело:
Массив строк - результат выполнения команды

[
    "PING 192.168.0.100 (192.168.0.100): 39 data bytes",
    "47 bytes from 192.168.0.100: seq=0 ttl=64 time=0.207 ms",
    "47 bytes from 192.168.0.100: seq=1 ttl=64 time=0.210 ms",
    "47 bytes from 192.168.0.100: seq=2 ttl=64 time=0.201 ms",
    "47 bytes from 192.168.0.100: seq=3 ttl=64 time=0.201 ms",
    "47 bytes from 192.168.0.100: seq=4 ttl=64 time=0.203 ms",
    "47 bytes from 192.168.0.100: seq=5 ttl=64 time=0.213 ms",
    "--- 192.168.0.100 ping statistics ---",
    "6 packets transmitted, 6 packets received, 0% packet loss",
    "round-trip min/avg/max = 0.201/0.205/0.213 ms"
]
400 Bad Request

 Ошибка при задании настроек для команд

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   message    String

   Сообщение об ошибке.

{
    "errors": [
        {
            "message": "Ошибка! Валидация адреса не пройдена"
        }
    ]
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--header 'Content-Type: application/json' \
--request PUT 'http://192.168.0.100:80/v1/network/ping' \
--data-raw '{
    "addr": "192.168.0.100",
    "numberPack": 5,
    "interval" : 1000,
    "sizePack" : 39,
    "timeout" : 1
}'

/v1/network/syslog

Метод для задания адреса отправки логов

Описание параметров

Название

Тип Описание

addr

String

Адрес сервера для отправки событий 

- По умолчанию:  logserv.sokol

port

Integer

Порт сервер для отправки  событий

- По умолчанию: 514

Появится в будущих прошивках

severity

integer

Уровень логирования

- По умолчанию: 6

- Значения: 

  • 0 - Emergency
  • 1 - Alert
  • 2 - Critical
  • 3 - Error
  • 4 - Warning
  • 5 - Notice
  • 6 - Info
  • 7 - Debug

transport

integer

Транспорт отправки событий

- По умолчанию: 1

- Значения:

  • 1 - UDP
  • 2 - TCP
GET - Получение параметров
Ответы
200 OK

Успешное получение параметров 

Тело:

{
    "addr": "logserv.sokol",
    "port": 514,
    "severity": 6,
    "transport": 1
}
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
-request GET 'http://192.168.0.100:80/v1/network/syslog'
PUT - Изменение параметров
Запрос

Тело: 

{
    "addr": "192.168.0.100",
    "port": 514,
    "severity": 6,
    "transport": 1
}
Ответы
200 OK

 Успешное изменение параметров

Тело: 

{
    "addr": "192.168.0.100",
    "port": 514,
    "severity": 6,
    "transport": 1
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/network/syslog' \
--data-raw '{
    "addr": "192.168.0.100",
    "port": 514,
    "severity": 6,
    "transport": 1
}'

/v1/network/traceroute

Метод для отслеживания маршрута данных, которые следуют к указанному хосту

Описание параметров
Название
Тип

Описание

addr String

Ip-адрес хоста

- Обязательное поле

numberHops
Integer

Максимальное количество переходов

- Обязательное поле

- Ограничения: 1 - 100

 

Рекомендуем: проверять доступность маршрута изначально на маленьком числе переходов т.к. если маршрут не доступен то проверка может занимать до нескольких минут. 
udpPort Integer

Порт назначения для запроса 

- По умолчанию: 33434

timeout Integer

Максимальное время ожидания для каждого ответа

- Ограничения: 1 - 10

- По умолчанию: 2

PUT - Выполнить команду traceroute
Запрос

Тело:

{
    "addr": "192.168.0.100",
    "numberHops": 1,
    "udpPort" : 33434,
    "timeout" : 1
}
Ответы
200 OK

Заголовки:

Название

Значение Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных

Тело:
Массив строк - результат выполнения команды

[
    "traceroute to 192.168.1.48 (192.168.1.48), 100 hops max, 38 byte packets",
    " 1  192.168.1.48 (192.168.1.48)  0.044 ms  0.056 ms  0.021 ms"
]
400 Bad Request

 Ошибка при задании настроек для команд

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   message    String

   Сообщение об ошибке.

{
    "errors": [
        {
            "message": "Ошибка! Валидация адреса не пройдена"
        }
    ]
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/network/traceroute' \
--data-raw '{
    "addr": "192.168.0.100",
    "numberHops": 1,
    "udpPort" : 33434,
    "timeout" : 1
}'


/v1/network/available

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

Метод не доступен для устройств на прошивке ниже 2.5.0.12.x

Описание параметров

Название

Тип Описание

server

String

Адрес сервера для отправки ping запросов 

- По умолчанию:  null

GET - Получение параметров
Ответы
200 OK

Тело:

{
    "server": "192.168.1.100"
}
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
-request GET 'http://192.168.0.100:80/v1/network/available'
PUT - Изменение параметров
Запрос

Тело: 

{
    "server": "192.168.1.100"
}
Ответы
200 OK

Тело: 

{
    "server": "192.168.1.100"
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/network/available' \
--data-raw '{
    "server": "192.168.1.100"
}'

Уведомления

/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
}'


Ассистент

/assistant/settings

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

Описание параметров
Название
Тип

Описание

assistant Object

Параметры ассистента

   enable    Boolean

   Состояние ассистента

   По умолчанию: true

   online    Boolean

   Режим ассистента:

   По умолчанию: true

      - true: онлайн;

      - false: оффлайн;

offlineVoice Object

Параметры оффлайн ассистента

 

Доступен начиная с версии 2.5.0.10.x

   volumes    Object

   Параметры громкости

      rfVolume       Integer

      Общая громкость

      По умолчанию: 12      

      Диапазон значений: [0; 15]

      bass       Integer

      Эквалайзер: низкие частоты

      По умолчанию: 10

      Диапазон значений: [-15; 15]

      middle       Integer

      Эквалайзер: средние частоты

      По умолчанию: 10

      Диапазон значений: [-15; 15]

      treble       Integer

      Эквалайзер: высокие частоты

      По умолчанию: 10

      Диапазон значений: [-15; 15]

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
  "assistant": {
    "enable": true,
    "online": true
  },
  "offlineVoice": {
    "volumes": {
      "rfVolume": 12,
      "bass": 10,
      "middle": 10,
      "treble": -15
    }
  }
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/assistant/settings'
PUT - Изменить параметры
Запрос

Тело:

{
  "assistant": {
    "enable": true,
    "online": true
  },
  "offlineVoice": {
    "volumes": {
      "rfVolume": 12,
      "bass": 10,
      "middle": 10,
      "treble": -15
    }
  }
}
Ответы
200 OK

Успешное изменение параметров 

Тело:

{
  "assistant": {
    "enable": true,
    "online": true
  },
  "offlineVoice": {
    "volumes": {
      "rfVolume": 12,
      "bass": 10,
      "middle": 10,
      "treble": -15
    }
  }
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/assistant/settings' \
--data-raw '{
  "assistant": {
    "enable": true,
    "online": true
  },
  "offlineVoice": {
    "volumes": {
      "rfVolume": 12,
      "bass": 10,
      "middle": 10,
      "treble": -15
    }
  }
}'
DELETE - Сброс параметров
Ответы
200 OK

Успешное изменение параметров 

Тело:

{
  "assistant": {
    "enable": true,
    "online": true
  },
  "offlineVoice": {
    "volumes": {
      "rfVolume": 12,
      "bass": 10,
      "middle": 10,
      "treble": -15
    }
  }
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request DELETE 'http://192.168.0.100:80/assistant/settings'

Ассистент / Оповещение

Список событий

    /assistant/button/neutral - Кнопка открытия двери
    двери; /assistant/key/inform - Информирование при прикладывании ключа;
      Ранее информирование при задолженности; /assistant/key/open/neutral - Открытие панели ключом или цифровым кодом
      кодом; /assistant/key/error/neutral - Ошибка открытия панели ключом или цифровым кодом
      кодом; /assistant/tamper/alarm - СработкаИнформирование тампера
      /assistant/key/debtorпри -сработке Оповещениетампера; задолжников
      /notification/alarm - Речевое оповещение
      оповещение;
        Временно не доступно; /notification/forced - Принудительно воспроизвести файл на панелипанели;

        /v1/{событие}

        Методы получения/удаления аудио файлов офлайн ассистента.

        Метод не доступен для устройств на прошивке ниже 2.5.0.12.x

        GET - Получение списка файлов
        Ответ
        200 OK

        Успешное получение списка файлов

        [
            "isPlay": false,
            {
                "isPlay": false,
                "name": "1.wav"
            },
            {
                "isPlay": false,
                "name": "2.wav"
            }
        ]
        DELETE - Удаление всех файлов
        Ответ
        200 OK

        Успешное удаление файлов

        /v1/{событие}/list

        Методы получения/удаления аудио файлов офлайн ассистента.

        Метод не доступен для устройств на прошивке ниже 2.5.0.12.x

        GET - Получение списка файлов
        Ответ
        200 OK

        Успешное получение списка файлов

        [
            "isPlay": false,
            {
                "isPlay": false,
                "name": "1.wav"
            },
            {
                "isPlay": false,
                "name": "2.wav"
            }
        ]
        DELETE - Удаление указанных файлов
        Запрос

        Тело:

        ["1.wav", "2.wav"]
        Ответ
        200 OK

        Успешное удаление файлов

        /v1/{событие}/file

        Метод добавления/удаления аудио файла офлайн ассистента.

        Метод не доступен для устройств на прошивке ниже 2.5.0.12.x

        PUT - Добавление нового файла
        Запрос

         Заголовки:

        Название

        Значение

        Описание

        Content-Type

        audio/wave

              или 

        audio/wav

              или

        audio/x-wav

              или

        audio/x-pn-wav

        Тип передаваемых данных

        Content-Disposition

        attachment; filename="filename.wav"

        filename.wav - желаемое имя файла

         

        Поле не обязательное.

        По умолчанию используется авто генерация названий.

        Тело:

        *** Бинарный файл ***
        Ответ
        200 OK

         Успешное добавление файла

        [
            {
                "name": "1.wav"
            },
            {
                "name": "2.wav"
            }
        ]
        DELETE - Удаление указанного файла
        Запрос

        Тело:

        {
          "name": "1.wav"
        }
        Ответ
        200 OK

        Успешное удаление файла


        Оповещение

        Методы данного раздела временно не доступны.

        /v1/notification/alarm

        Методы для работы с аудио файлом для речевого оповещения в случае ЧС.

        Метод не доступен для устройств на прошивке ниже 2.5.0.x.x

        GET - Получение списка
        Ответ
        200 OK

        Успешное получение списка файлов

        [
            {
                "isPlay": false,
                "name": "1.wav"
            },
            {
                "isPlay": false,
                "name": "2.wav"
            }
        ]
        PUT - Добавление нового файла
        Запрос

         Заголовки:

        Название

        Значение

        Описание

        Content-Disposition

        attachment; filename="filename.wav" Желаемое имя файла. Поле не обязательное - возможна авто генерация имен

        Content-Type

        audio/wave или 

        audio/wav или

        audio/x-wav или

        audio/x-pn-wav

        Тип передаваемых данных

        Тело:

        *** Бинарный файл ***
        Ответ
        200 OK

         Успешное добавление файла

        [
            {
                "name": "1.wav"
            },
            {
                "name": "2.wav"
            }
        ]
        DELETE - Удаление конкретного аудиофайла
        Запрос

        Заголовки:

        Название

        Значение

        Описание

        Content-Type

         

        application/json

         

        Тип передаваемых данных
        {
          "name": "1.wav"
        }

         

        Ответ
        200 OK

        Успешное удаление файла

        500

        Файл отсутствует либо не верный формат json в теле запроса.

        /v1/notification/alarm/play

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.x.x

        Воспроизведение происходит непрерывно
        Остановка производиться отдельным методом: /v1/notification/alarm/stop

        PUT - Воспроизведения аудио файла
        Запрос

        Тело:

        {
            "name": "test.wav"
        }


        Ответ
        200 OK

         

        /v1/notification/alarm/stop

        Метод остановки речевого воспроизведения.

        Метод не доступен для устройств на прошивке ниже 2.5.0.x.x

        PUT - Остановка текущего воспроизведения аудиофайла

         


        Бегущая строка

        /panelDisplay/settings

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

        Описание параметров
        Название
        Тип

        Описание

        speed Integer

        Скорость бегущей сроки в мсек. Например, 500 значит 500 мсек.

        - По умолчанию: 500

        - Ограничения: [50; 1000]

        strDisplay Boolean

        Флаг включения / выключения бегущей строки.

         - По умолчанию: false

        imgStr String

        Текст отображения на дисплее.

         - Длина строки: [0; 99] символов 

         - По умолчанию: ""

         

        ВАЖНО! Поддерживается латинский алфавит и цифры ASCII.

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "strDisplay": true,
            "speed": 400,
            "imgStr": "74174"
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/panelDisplay/settings'
        PUT - Изменить параметры
        Запрос

        Тело:

        {
            "strDisplay": true,
            "speed": 400,
            "imgStr": "74174"
        }
        Ответы
        200 OK

        Успешное изменение параметров 

        Тело:

        {
            "strDisplay": true,
            "speed": 400,
            "imgStr": "74174"
        }
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/panelDisplay/settings' \
        --data-raw '{
            "strDisplay": true,
            "speed": 400,
            "imgStr": "74174"
        }'

        /v1/display

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

        Описание параметров
        Название
        Тип

        Описание

        enable Boolean

        Флаг включения / выключения бегущей строки.

         - По умолчанию: false

        text String

        Текст отображения на дисплее.

         - Длина строки: [0; 99] символов 

         - По умолчанию: ""

         

        ВАЖНО! Поддерживается латинский алфавит и цифры ASCII.

        speed Integer

        Скорость бегущей сроки в мсек. Например, 500 значит 500 мсек.

        - По умолчанию: 500

        - Ограничения: [50; 1000]

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "enable": true,
            "text": "123456",
            "speed": 1000
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/v1/display'
        PUT - Изменить параметры
        Запрос

        Тело:

        {
            "enable": true,
            "text": "123456",
            "speed": 1000
        }
        Ответы
        200 OK

        Успешное изменение параметров 

        Тело:

        {
            "enable": true,
            "text": "123456",
            "speed": 1000
        }
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/v1/display' \
        --data-raw '{
            "enable": true,
            "text": "123456",
            "speed": 1000
        }'

        Реле

        /relay/info

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

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        [1, 2]
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/relay/info'

        /relay/settings

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

        Описание параметров
        Название
        Тип

        Описание

        alwaysOpenNetMode Boolean

        Флаг включения / выключения режима открытых дверей при недоступности сети.

         - По умолчанию: false

        alwaysOpen Boolean

        Флаг включения / выключения режима открытых дверей.

         - По умолчанию: false

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "alwaysOpenNetMode": false,
            "alwaysOpen": false
        }
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/relay/settings'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "alwaysOpenNetMode": false,
            "alwaysOpen": false
        }
        Ответы
        200 OK

        Успешное изменение параметров

        Тело:

        {
            "alwaysOpenNetMode": false,
            "alwaysOpen": false
        }
        Примеры

         CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/relay/settings' \
        --data-raw '{
            "alwaysOpenNetMode": false,
            "alwaysOpen": false
        }'

        /relay/{номер реле}/open

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

        PUT - Открытие реле
        Ответы
        204 OK

        Успешное открытие реле

        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/relay/1/open'

        /relay/{номер реле}/settings

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

        Описание параметров
        Название
        Тип

        Описание

        switchTime Integer

        Время удержания двери в открытом состоянии.

         - Ограничения: 1 - 10 секунд

         - По умолчанию: 1

        alwaysOpen Boolean

        Флаг включения / выключения режима открытых дверей.

         - По умолчанию: false

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "switchTime": 1,
            "alwaysOpen": false
        }
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/relay/1/settings'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "switchTime": 1
        }
        Ответы
        200 OK

        Успешное изменение параметров

        Тело:

        {
            "switchTime": 1
        }
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/relay/1/settings' \
        --data-raw '{
            "switchTime": 1
        }'

        /relay/doors/mapping

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.6.x

        Описание параметров
        Название
        Тип

        Описание

        mainReader,
        secondReader,

        extReader0,
        extReader1,
        extReader2,
        extReader3
        Object


        mainReader - считыватель на панели.

        secondReader - дополнительный считыватель.

        extReader0,1,2,3 - внешние модули входов.


           main Boolean

        Флаг открытия первого входа.
        - По умолчанию: true

           second Boolean

        Флаг открытия второго входа.
        - По умолчанию: true

           gates Object

        Флаги открытия внешних входов

              1, 2, 3, 4 Boolean

           Флаг открытия внешнего входа.
           - По умолчанию: false

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "mainReader": {
                "main": true,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            "secondReader": {
                "main": false,
                "second": true,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            ...,
            "extReader3": {
                "main": false,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": true
                }
            }
        }
        Примеры

        CURL:

        curl 
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/relay/doors/mapping'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "mainReader": {
                "main": true,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            "secondReader": {
                "main": false,
                "second": true,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            ...,
            "extReader3": {
                "main": false,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": true
                }
            }
        }
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "mainReader": {
                "main": true,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            "secondReader": {
                "main": false,
                "second": true,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            ...,
            "extReader3": {
                "main": false,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": true
                }
            }
        }
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/relay/doors/mapping' \
        --data '{
            "mainReader": {
                "main": true,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            "secondReader": {
                "main": false,
                "second": true,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            "extReader0": {
                "main": false,
                "second": false,
                "gates": {
                    "0": true,
                    "1": false,
                    "2": false,
                    "3": false
                }
            },
            "extReader1": {
                "main": false,
                "second": false,
                "gates": {
                    "0": false,
                    "1": true,
                    "2": false,
                    "3": false
                }
            },
            "extReader2": {
                "main": false,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": true,
                    "3": false
                }
            },
            "extReader3": {
                "main": false,
                "second": false,
                "gates": {
                    "0": false,
                    "1": false,
                    "2": false,
                    "3": true
                }
            }
        }'

        /relay/external/{адрес_контроллера}/open

        Метод открытия дверей, управляемых внешними контроллерами. 

        Метод не доступен для устройств на прошивке ниже 2.5.0.6.x

        PUT - Открытие реле
        Ответы
        204 OK

        Успешное открытие реле

        400 Bad Request

        Ошибка проверки переданных параметров

        Тело:

        Название

        Тип
        Описание

        errors

        Array Массив возвращаемых ошибок.

           message

           String    Сообщение с ошибкой.
        {
            "errors": [
                {
                    "message": "Контроллер с адресом 0 отключен"
                }
            ]
        }
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/relay/external/1/open'

        /relay/door_controller

        Метод для настройки внешних модулей входов

        Метод не доступен для устройств на прошивке ниже 2.5.0.9.x

        В данный момент поддерживаются внешние модули входов Beward NCS-102

        Описание параметров
        Название
        Тип

        Описание

        Тип запроса

        timeout Integer Таймаут между посылками в шине
        Ограничения: 170-1000 мс
        GET
        PUT
        busErrors Integer Количество ошибок в шине. Сюда записываются ошибки, которые не удалось идентифицировать как ошибки, используемые в реализации протокола. GET
        modules Array Массив параметров модулей (4 элемента) GET
        PUT
          ...    Object  
           type    String Тип модуля. На данный момент поддерживаются только модули Beward NCS-102 GET
           enabled    Boolean Флаг включения/выключения модуля GET
        PUT
           address    Integer

        Адрес модуля на шине RS-485

        Ограничения: 0-3

        GET
        PUT
           version    String Версия модуля* GET
           openTime    Integer Время открытия двери
        Ограничения: 1-9 секунд
        GET
        PUT
           button    Boolean Фактическое** состояние кнопки GET
           tamper    Boolean Фактическое** состояние тампера GET
           alwaysOpen    Boolean Состояние режима открытых дверей

        GET
        PUT


        * обновляется при каждой перенастройке модулей; через ~10 секунд после каждого запуска
        ** значение отправляется самим модулем через 30 секунд после старта и далее обновляется каждые 25 секунд


           errors    Integer Количество ошибок, которые удалось идентифицировать как ошибку, отправленную модулем в соответствии с реализованным протоколом GET
          connection    Boolean

        Подключение к модулю.

        Флаг меняется потере и возобновлении связи с модулем или его питания. 

        GET
        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "timeout": 170,
            "busErrors": 0,
            "modules": [
                {
                    "type": "NCS102",
                    "enabled": true,
                    "address": 0,
                    "version": "1.2.1.11.5",
                    "openTime": 9,
                    "button": false,
                    "tamper": false,
                    "alwaysOpen": false,
                    "errors": 0,
                    "connection": true
                },
                {
                    "type": "NCS102",
                    "enabled": true,
                    "address": 1,
                    "version": "1.2.1.11.5",
                    "openTime": 5,
                    "button": false,
                    "tamper": false,
                    "alwaysOpen": false,
                    "errors": 0,
                    "connection": true
                },
                {
                    "type": "NCS102",
                    "enabled": true,
                    "address": 2,
                    "version": "1.2.1.11.5",
                    "openTime": 5,
                    "button": false,
                    "tamper": false,
                    "alwaysOpen": false,
                    "errors": 0,
                    "connection": true
                },
                {
                    "type": "NCS102",
                    "enabled": true,
                    "address": 3,
                    "version": "1.2.1.11.5",
                    "openTime": 5,
                    "button": false,
                    "tamper": false,
                    "alwaysOpen": false,
                    "errors": 0,
                    "connection": true
                }
            ]
        }
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/relay/door_controller'
        
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "timeout": 170,
            "modules": [
                {
                    "enabled": true,
                    "address": 0,
                    "alwaysOpen": false,
                    "openTime": 9
                },
                {
                    "enabled": true,
                    "address": 1,
                    "alwaysOpen": false,
                    "openTime": 7
                },
                {   
                    "enabled": true,
                    "address": 2,
                    "alwaysOpen": false,
                    "openTime": 6
                },
                {
                    "enabled": true,
                    "address": 3,
                    "alwaysOpen": false,
                    "openTime": 6
                }
            ]
        }

         

        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "timeout": 170,
            "busErrors": 0,
            "modules": [
                {
                    "type": "NCS102",
                    "enabled": true,
                    "address": 0,
                    "version": "1.2.1.11.5",
                    "openTime": 9,
                    "button": false,
                    "tamper": false,
                    "alwaysOpen": false,
                    "errors": 0,
                    "connection": true
                },
                {
                    "type": "NCS102",
                    "enabled": true,
                    "address": 1,
                    "version": "1.2.1.11.5",
                    "openTime": 5,
                    "button": false,
                    "tamper": false,
                    "alwaysOpen": false,
                    "errors": 0,
                    "connection": true
                },
                {
                    "type": "NCS102",
                    "enabled": true,
                    "address": 2,
                    "version": "1.2.1.11.5",
                    "openTime": 5,
                    "button": false,
                    "tamper": false,
                    "alwaysOpen": false,
                    "errors": 0,
                    "connection": true
                },
                {
                    "type": "NCS102",
                    "enabled": true,
                    "address": 3,
                    "version": "1.2.1.11.5",
                    "openTime": 5,
                    "button": false,
                    "tamper": false,
                    "alwaysOpen": false,
                    "errors": 0,
                    "connection": true
                }
            ]
        }
        400 Bad Request

        Ошибка проверки переданных параметров

        Тело:

        Название

        Тип
        Описание

        errors

        Array Массив возвращаемых ошибок

           message

           String    Сообщение с ошибкой
        {
            "errors": [
                {
                    "message": "Адрес должен быть от 0 до 3"
                }
            ]
        }
        Примеры

        CURL:

        curl  \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/relay/door_controller' \
        --data '{
            "timeout": 170,
            "modules": [
                {
                    "enabled": true,
                    "address": 0,
                    "alwaysOpen": false,
                    "openTime": 9
                },
                {
                    "enabled": true,
                    "address": 1,
                    "alwaysOpen": false,
                    "openTime": 7
                },
                {   
                    "enabled": true,
                    "address": 2,
                    "alwaysOpen": false,
                    "openTime": 6
                },
                {
                    "enabled": true,
                    "address": 3,
                    "alwaysOpen": false,
                    "openTime": 6
                }
            ]
        }'


        SIP

        Обращаем ваше внимание!
        Если отсутствует SIP регистрация, то проверьте доступен ли SIP-сервер. А также убедитесь, что IP-адрес, используемый для авторизации, является основным сетевым интерфейсом.

        /sip/options

        Методы получения и изменения sip-параметров для управления вызовом;

        Описание параметров
        Название
        Тип

        Описание

        dtmf Object

        Параметры DTMF для выходов;

           1    String

           Символ необходимый для открытия выхода 1.

            - Длина: 1 символ

            - По умолчанию: 1

           2    String

           Символ необходимый для открытия выхода 2.

            - Длина: 1 символ

            - По умолчанию: 2

        callDelay Integer

        Задержка вызова в АТ.

         - Ограничения: 0 - 255 секунд

         - По умолчанию: 0 секунд

        talkDuration Integer

        Время разговора с момента поднятия трубки в АТ или в SIP.

         - Ограничения: 1 - 255 секунд

         - По умолчанию: 180 секунд

        ringDuration Integer

        Время совершения вызова до поднятия трубки в АТ или в SIP.

         - Ограничения: 1 - 255 секунд

         - По умолчанию: 60 секунд

        echoD Boolean

        Флаг включения / выключения алгоритма эхоподавления в SIP.

         - По умолчанию: true

        GET - Получение параметров
        Ответы
        200 OK

        Тело:

        {
            "dtmf": {
                "1": "1",
                "2": "2"
            },
            "callDelay": 0,
            "talkDuration": 180,
            "ringDuration": 60,
            "echoD": true
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/sip/options'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "dtmf": {
                "1": "1",
                "2": "2"
            },
            "callDelay": 0,
            "talkDuration": 180,
            "ringDuration": 60,
            "echoD": true
        }
        Ответы
        200 OK

        Успешное изменение параметров

        Тело:

        {
            "dtmf": {
                "1": "1",
                "2": "2"
            },
            "callDelay": 0,
            "talkDuration": 180,
            "ringDuration": 60,
            "echoD": true
        }
        Примеры

         CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/sip/options' \
        --data-raw '{
            "dtmf": {
                "1": "1",
                "2": "2"
            },
            "callDelay": 0,
            "talkDuration": 180,
            "ringDuration": 60,
            "echoD": true
        }'

        /sip/settings

        Методы получения и изменения sip-параметров для авторизации на сервере.

        Описание параметров
        Название
        Тип

        Описание

        videoEnable Boolean

        Флаг включения / выключения видео-потока в видео вызове;

         - По умолчанию: true

        remote Object

        Параметры авторизации на SIP сервере.

           port    Integer

           Порт сервера на который отправляются вызовы.

            - По умолчанию: 5060

           domain    String

           Адрес сервера на который отправляются вызов.

            - По умолчанию: domain.com

           portRegister    Integer

           Порт сервера на который отправляются запросы регистрации.

            - По умолчанию: 5060

           domainRegister    String

           Адрес сервера на который отправляются запросы регистрации.

            - По умолчанию: domain.com

           username    String

           Логин для авторизации на сервере.

             - По умолчанию: "" 

           password    String

           Пароль для авторизации на сервере.

             - По умолчанию: ""

           proxy    Object

           Параметры для работы с прокси сервером;

              port       Integer

              Порт прокси сервера;

                - По умолчанию: "" 

              domain       String

              Адрес прокси сервера;

                - По умолчанию: "" 

              enable       Boolean

              Флаг использования прокси сервера;

                - По умолчанию: false

           transport    Object

           Протоколы для работы с серверами;

              udp       Boolean

              Флаг использования UDP;

                - По умолчанию: true

              tcp       Boolean

              Флаг использования TCP;

                - По умолчанию: false

           registerStatus    Boolean

           Флаг текущего состояния авторизации на сервере.

        videoEnable Boolean

        Флаг включения / выключения видео-потока в видео вызове;

         - По умолчанию: true

        videoStreamId Integer

        Идентификатор включения / выключения видео-потока в видео вызове;

         - По умолчанию: 1

        0 - основной поток
        -  альтернативный поток

        GET - Получение параметров
        Ответы
        200 OK

         Успешное получение параметров

        Тело:

        {
          "remote": {
            "port": 5060,
            "domain": "domain.com",
            "portRegister": 5060,
            "domainRegister": "domain.com",
            "username": "",
            "password": "",
            "proxy": {
              "port": 5060,
              "domain": "",
              "enable": false
            },
            "transport": {
              "udp": true,
              "tcp": false
            },
            "registerStatus": false
          },
          "videoEnable": true,
          "videoStreamId": 1
        }
        Примеры

         CURL:

        curl 
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/sip/settings'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
          "remote": {
            "port": 5060,
            "domain": "domain.com",
            "portRegister": 5060,
            "domainRegister": "domain.com",
            "username": "",
            "password": "",
            "proxy": {
              "port": 5060,
              "domain": "",
              "enable": false
            },
            "transport": {
              "udp": true,
              "tcp": false
            },
            "registerStatus": false
          },
          "videoEnable": true,
          "videoStreamId": 1
        }
        Ответы
        200 OK

         Успешное изменение параметров

        Тело:

        {
          "remote": {
            "port": 5060,
            "domain": "domain.com",
            "portRegister": 5060,
            "domainRegister": "domain.com",
            "username": "",
            "password": "",
            "proxy": {
              "port": 5060,
              "domain": "",
              "enable": false
            },
            "transport": {
              "udp": true,
              "tcp": false
            },
            "registerStatus": false
          },
          "videoEnable": true,
          "videoStreamId": 1
        }
        Примеры

        CURL:

        curl 
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/sip/settings' \
        --data-raw '{
          "remote": {
            "port": 5060,
            "domain": "domain.com",
            "portRegister": 5060,
            "domainRegister": "domain.com",
            "username": "",
            "password": "",
            "proxy": {
              "port": 5060,
              "domain": "",
              "enable": false
            },
            "transport": {
              "udp": true,
              "tcp": false
            },
            "registerStatus": false
          },
          "videoEnable": true,
          "videoStreamId": 1
        }'

        /sip/test/{номер квартиры}

        Метод создания тестового вызова в абонентскую трубку и SIP для указанного номера квартиры.

        Описание параметров

        С версии прошивки выше 2.5.0.3.2

        Название
        Тип

        Описание

        prefixHouse Integer

        Префикс для калитки. Необходимо указывать, если калитка с префиксом.

         - Ограничения: 1-65535

        GET - Отправка тестового вызова
        Ответы
        200 OK

         Успешная отправка тестового вызова

        Тело:

        {
            "prefixHouse": 2
        }
        500 Internal Server Error

        Внутренняя ошибка при обработке метода

        Примеры

        CURL:

        curl 
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/sip/test/1'

        /sip/test/sip/{номер квартиры}

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

        GET - Отправка тестового вызова
        Ответы
        200 OK

        Успешная отправка тестового вызова 

        Заголовки:

        Название

        Значение
        Описание

        Content-Type

        text/html; charset=ISO-8859-1 Тип возвращаемых данных
        Примеры

        CURL:

        curl 
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/sip/test/sip/1'

        /sip/test/analog/{номер квартиры}

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

        GET - Отправка тестового вызова
        Ответы
        200 OK

         Успешная отправка тестового вызова

        Заголовки:

        Название

        Значение
        Описание

        Content-Type

        text/html; charset=ISO-8859-1 Тип возвращаемых данных
        Примеры

        CURL:

        curl 
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/sip/test/analog/1'

        Вызовы

        /v1/call/stop

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

        PUT - Завершение вызова
        Ответы
        200 OK

         Успешное завершение вызова

        Примеры

        CURL:

        curl 
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/v1/call/stop'

        Матрицы

        /switch/info/models

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

        Описание параметров
        Название
        Тип

        Описание

        id String

        Модель поддерживаемового коммутатора.

        name String

        Наименование поддерживаемового коммутатора.

        eCount Integer

        Количество единиц используемых для коммутации.

        GET - Получение списка
        Ответы
        200 OK

        Успешное получение списка

        Тело:

        [
            {
                "id": "FACTORIAL",
                "name": "Факториал",
                "eCount": 8
            },
            {
                "id": "CYFRAL",
                "name": "Цифрал",
                "eCount": 10
            },
            {
                "id": "VIZIT",
                "name": "Визит",
                "eCount": 10
            },
            {
                "id": "METAKOM",
                "name": "Метаком",
                "eCount": 10
            },
            {
                "id": "ELTIS",
                "name": "Элтис",
                "eCount": 10
            }
        ]
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/switch/info/models'

        /switch/settings

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

        Описание параметров
        Название
        Тип

        Описание

        modelId String

        Модель используемого коммутатора.

           Метод для получения поддерживаемых коммутаторов: /switch/info/models

        GET - Получение параметров
        Ответы
        200 OK

         Успешное получение параметров

        Тело:

        {
            "modelId": "CYFRAL"
        }
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/switch/settings'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "modelId": "CYFRAL"
        }
        Ответы
        200 OK

        Успешное изменение параметров

        Тело:

        {
            "modelId": "CYFRAL"
        }
        Примеры

        CURL: 

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/switch/settings' \
        --data-raw '{
            "modelId": "CYFRAL"
        }'

        /switch/matrix/{номер матрицы коммутации}

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

        Панель поддерживает подключение до 3-х коммутаторов:
           - Визит.

        Панель поддерживает подключение до 4-х коммутаторов:
           - Элтис;
           - Бевард;
           - Цифрал;
           - Метаком;
           - Факториал.

        Описание параметров
        Название
        Тип

        Описание

        capacity Integer

        Размер указанного коммутатора.
         - Ограничения: 0, 10, 20, 40, 64, 80, 100, 160, 220
         - По умолчанию: 0

        matrix Array

        Двумерный массив с номерами квартир для коммутатора.

        GET - Получение параметров
        Ответы
        200 OK

        Тело:

        {
            "capacity": 100,
            "matrix": [
                [
                    100,
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9
                ],
                ...,
                [
                    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 PUT 'http://192.168.0.100:80/switch/matrix/1' \
        --data-raw '{
            "capacity": 100,
            "matrix": [
                [
                    100,
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9
                ],
                [
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19
                ],
                [
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29
                ],
                [
                    30,
                    31,
                    32,
                    33,
                    34,
                    35,
                    36,
                    37,
                    38,
                    39
                ],
                [
                    40,
                    41,
                    42,
                    43,
                    44,
                    45,
                    46,
                    47,
                    48,
                    49
                ],
                [
                    50,
                    51,
                    52,
                    53,
                    54,
                    55,
                    56,
                    57,
                    58,
                    59
                ],
                [
                    60,
                    61,
                    62,
                    63,
                    64,
                    65,
                    66,
                    67,
                    68,
                    69
                ],
                [
                    70,
                    71,
                    72,
                    73,
                    74,
                    75,
                    76,
                    77,
                    78,
                    79
                ],
                [
                    80,
                    81,
                    82,
                    83,
                    84,
                    85,
                    86,
                    87,
                    88,
                    89
                ],
                [
                    90,
                    91,
                    92,
                    93,
                    94,
                    95,
                    96,
                    97,
                    98,
                    99
                ]
            ]
        }'

         

        /v1/switch/models

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.10.x

        Описание параметров
        Название
        Тип

        Описание

        id String

        Модель поддерживаемового коммутатора.

        name String

        Наименование поддерживаемового коммутатора.

        eCount Integer

        Количество единиц используемых для коммутации.

        dCount Integer

        Количество десятков используемых для коммутации.

        switchCount Integer

        Количество возможных коммутаторов подключаемых друг в друга.

        GET - Получение списка
        Ответы
        200 OK

        Успешное получение списка

        Тело:

        [
            {
                "id": 0,
                "name": "Факториал",
                "eCount": 8,
                "dCount": 0,
                "switchCount": 1
            },
            {
                "id": 1,
                "name": "Цифрал",
                "eCount": 10,
                "dCount": 0,
                "switchCount": 1
            },
            {
                "id": 2,
                "name": "Визит",
                "eCount": 10,
                "dCount": 0,
                "switchCount": 1
            },
            {
                "id": 3,
                "name": "Метаком",
                "eCount": 10,
                "dCount": 0,
                "switchCount": 1
            },
            {
                "id": 4,
                "name": "Элтис",
                "eCount": 10,
                "dCount": 0,
                "switchCount": 1
            },
            {
                "id": 10,
                "name": "Бевард",
                "eCount": 10,
                "dCount": 0,
                "switchCount": 1
            },
            {
                "id": 11,
                "name": "Бевард ККМ-105",
                "eCount": 10,
                "dCount": 10,
                "switchCount": 5
            },
            {
                "id": 12,
                "name": "Бевард ККМ-108",
                "eCount": 10,
                "dCount": 10,
                "switchCount": 8
            },
            {
                "id": 13,
                "name": "Бевард ККМ-100S2",
                "eCount": 10,
                "dCount": 10,
                "switchCount": 1
            },
            {
                "id": 20,
                "name": "Цифрал КМГ-100",
                "eCount": 10,
                "dCount": 10,
                "switchCount": 1
            },
            {
                "id": 30,
                "name": "Элтис КМ100-7.2",
                "eCount": 10,
                "dCount": 10,
                "switchCount": 1
            },
            {
                "id": 40,
                "name": "ДП-К2Д",
                "eCount": 0,
                "dCount": 0,
                "switchCount": 1
            },
            {
                "id": 50,
                "name": "Визит БК-4",
                "eCount": 4,
                "dCount": 1,
                "switchCount": 1
            },
            {
                "id": 51,
                "name": "Визит БК-10",
                "eCount": 10,
                "dCount": 1,
                "switchCount": 1
            },
            {
                "id": 52,
                "name": "Визит БК-100М",
                "eCount": 10,
                "dCount": 10,
                "switchCount": 1
            },
            {
                "id": 60,
                "name": "Метаком COM 80",
                "eCount": 10,
                "dCount": 8,
                "switchCount": 1
            },
            {
                "id": 61,
                "name": "Метаком COM 80 U",
                "eCount": 10,
                "dCount": 8,
                "switchCount": 1
            },
            {
                "id": 62,
                "name": "Метаком COM 80 UD",
                "eCount": 10,
                "dCount": 8,
                "switchCount": 1
            },
            {
                "id": 63,
                "name": "Метаком COM 160 U",
                "eCount": 10,
                "dCount": 16,
                "switchCount": 1
            },
            {
                "id": 64,
                "name": "Метаком COM 160 UD",
                "eCount": 10,
                "dCount": 16,
                "switchCount": 1
            },
            {
                "id": 65,
                "name": "Метаком COM 220 U",
                "eCount": 10,
                "dCount": 22,
                "switchCount": 1
            },
            {
                "id": 66,
                "name": "Метаком COM 220 UD",
                "eCount": 10,
                "dCount": 22,
                "switchCount": 1
            }
        ]
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/v1/switch/info/models'

        /v1/switch/{номер матрицы коммутации}

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.10.x

        Панель поддерживает подключение до 3-х коммутаторов:
           - Визит.

        Панель поддерживает подключение до 4-х коммутаторов:
           - Элтис;
           - Бевард;
           - Цифрал;
           - Метаком;
           - Факториал.

        Описание параметров
        Название
        Тип

        Описание

        type Integer

        Тип используемого коммутатора.

        matrices Array

        Список подматриц.

           ...    Object

           Объект подматрицы.

              id       Integer

              Номер матрицы.

              matrix       Integer

              Массив со списками квартир.

              capacity       Integer

              Количество квартир в матрице.

        GET - Получение параметров
        Ответы
        200 OK

         Тело:

        {
            "type":10,
            "matrices":[
                {
                    "id":1,
                    "matrix":[
                        [10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                    ],
                    "capacity":10
                }
            ]
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/v1/switch/1'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "type":10,
            "matrices":[
                {
                    "id":1,
                    "matrix":[
                        [10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                    ],
                    "capacity":10
                }
            ]
        }
        Ответы
        200 OK

         Успешное изменение параметров

        Тело:

        {
            "type":10,
            "matrices":[
                {
                    "id":1,
                    "matrix":[
                        [10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                    ],
                    "capacity":10
                }
            ]
        }
        Примеры

         CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/v1/switch/1' \
        --data-raw '{
            "type":10,
            "matrices":[
                {
                    "id":1,
                    "matrix":[
                        [10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                    ],
                    "capacity":10
                }
            ]
        }'

        Микроконтроллер

        /v1/mcu/info

        Метод получения информации о микроконтроллере.

        Описание параметров
        Название
        Тип

        Описание

        power Object

        Параметры питания панели;

           dc    Float

           Входное напряжение;

        chipId Integer

        Идентификатор микроконтроллера;

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "power": {
                "dc": 12.412
            },
            "chipId": 2321944743649890300
        }
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/v1/mcu/info'

        Сервисные коды

        /serviceCode/settings

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.4.x

        Описание параметров
        Название
        Тип

        Описание

        enabled Boolean

        Флаг включения / выключения режима ввода сервисных кодов.

            - По умолчанию: true

        pass Integer

        Код доступа для сервисных функций

            - По умолчанию: 123456

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело:

        {
            "enabled": true,
            "pass": 874123
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/serviceCode/settings'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "enabled": true,
            "pass": 123456
        }
        Ответы
        200 OK

         Успешное получение параметров

        Тело:

        {
            "enabled": true,
            "pass": 123456
        }
        400 Bad Request

        Ошибка проверки передаваемых данных

        Тело:

        Название
        Тип

        Описание

        errors Array

        Массив возвращаемых ошибок.

           message    String

           Сообщение об ошибке.

        {
            "errors": [
                {
                    "message": "pass - Значение должно быть в диапазоне от 100000 до 999999"
                }
            ]
        }
        Примеры

         CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/serviceCode/settings' \
        --data-raw '{
            "enabled": true,
            "pass": 123456
        }'

        Системное

        /system/tz

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

        GET - Получение списка
        Ответы
        200 OK

        Успешное получение списка

        Тело:

        [
            "Africa/Abidjan",
            "Africa/Accra",
            "Africa/Addis_Ababa",
            "Africa/Algiers",
            "Africa/Asmara",
            "Africa/Asmera",
            "Africa/Bamako",
            "Africa/Bangui",
            "Africa/Banjul",
            "Africa/Bissau",
            "Africa/Blantyre",
            "Africa/Brazzaville",
            "Africa/Bujumbura",
            "Africa/Cairo",
            "Africa/Casablanca",
            "Africa/Ceuta",
            "Africa/Conakry",
            "Africa/Dakar",
            "Africa/Dar_es_Salaam",
            "Africa/Djibouti",
            "Africa/Douala",
            "Africa/El_Aaiun",
            "Africa/Freetown",
            "Africa/Gaborone",
            "Africa/Harare",
            "Africa/Johannesburg",
            "Africa/Juba",
            "Africa/Kampala",
            "Africa/Khartoum",
            "Africa/Kigali",
            "Africa/Kinshasa",
            "Africa/Lagos",
            "Africa/Libreville",
            "Africa/Lome",
            "Africa/Luanda",
            "Africa/Lubumbashi",
            "Africa/Lusaka",
            "Africa/Malabo",
            "Africa/Maputo",
            "Africa/Maseru",
            "Africa/Mbabane",
            "Africa/Mogadishu",
            "Africa/Monrovia",
            "Africa/Nairobi",
            "Africa/Ndjamena",
            "Africa/Niamey",
            "Africa/Nouakchott",
            "Africa/Ouagadougou",
            "Africa/Porto-Novo",
            "Africa/Sao_Tome",
            "Africa/Timbuktu",
            "Africa/Tripoli",
            "Africa/Tunis",
            "Africa/Windhoek",
            "America/Adak",
            "America/Anchorage",
            "America/Anguilla",
            "America/Antigua",
            "America/Araguaina",
            "America/Argentina/Buenos_Aires",
            "America/Argentina/Catamarca",
            "America/Argentina/ComodRivadavia",
            "America/Argentina/Cordoba",
            "America/Argentina/Jujuy",
            "America/Argentina/La_Rioja",
            "America/Argentina/Mendoza",
            "America/Argentina/Rio_Gallegos",
            "America/Argentina/Salta",
            "America/Argentina/San_Juan",
            "America/Argentina/San_Luis",
            "America/Argentina/Tucuman",
            "America/Argentina/Ushuaia",
            "America/Aruba",
            "America/Asuncion",
            "America/Atikokan",
            "America/Atka",
            "America/Bahia",
            "America/Bahia_Banderas",
            "America/Barbados",
            "America/Belem",
            "America/Belize",
            "America/Blanc-Sablon",
            "America/Boa_Vista",
            "America/Bogota",
            "America/Boise",
            "America/Buenos_Aires",
            "America/Cambridge_Bay",
            "America/Campo_Grande",
            "America/Cancun",
            "America/Caracas",
            "America/Catamarca",
            "America/Cayenne",
            "America/Cayman",
            "America/Chicago",
            "America/Chihuahua",
            "America/Coral_Harbour",
            "America/Cordoba",
            "America/Costa_Rica",
            "America/Creston",
            "America/Cuiaba",
            "America/Curacao",
            "America/Danmarkshavn",
            "America/Dawson",
            "America/Dawson_Creek",
            "America/Denver",
            "America/Detroit",
            "America/Dominica",
            "America/Edmonton",
            "America/Eirunepe",
            "America/El_Salvador",
            "America/Ensenada",
            "America/Fort_Nelson",
            "America/Fort_Wayne",
            "America/Fortaleza",
            "America/Glace_Bay",
            "America/Godthab",
            "America/Goose_Bay",
            "America/Grand_Turk",
            "America/Grenada",
            "America/Guadeloupe",
            "America/Guatemala",
            "America/Guayaquil",
            "America/Guyana",
            "America/Halifax",
            "America/Havana",
            "America/Hermosillo",
            "America/Indiana/Indianapolis",
            "America/Indiana/Knox",
            "America/Indiana/Marengo",
            "America/Indiana/Petersburg",
            "America/Indiana/Tell_City",
            "America/Indiana/Vevay",
            "America/Indiana/Vincennes",
            "America/Indiana/Winamac",
            "America/Indianapolis",
            "America/Inuvik",
            "America/Iqaluit",
            "America/Jamaica",
            "America/Jujuy",
            "America/Juneau",
            "America/Kentucky/Louisville",
            "America/Kentucky/Monticello",
            "America/Knox_IN",
            "America/Kralendijk",
            "America/La_Paz",
            "America/Lima",
            "America/Los_Angeles",
            "America/Louisville",
            "America/Lower_Princes",
            "America/Maceio",
            "America/Managua",
            "America/Manaus",
            "America/Marigot",
            "America/Martinique",
            "America/Matamoros",
            "America/Mazatlan",
            "America/Mendoza",
            "America/Menominee",
            "America/Merida",
            "America/Metlakatla",
            "America/Mexico_City",
            "America/Miquelon",
            "America/Moncton",
            "America/Monterrey",
            "America/Montevideo",
            "America/Montreal",
            "America/Montserrat",
            "America/Nassau",
            "America/New_York",
            "America/Nipigon",
            "America/Nome",
            "America/Noronha",
            "America/North_Dakota/Beulah",
            "America/North_Dakota/Center",
            "America/North_Dakota/New_Salem",
            "America/Ojinaga",
            "America/Panama",
            "America/Pangnirtung",
            "America/Paramaribo",
            "America/Phoenix",
            "America/Port-au-Prince",
            "America/Port_of_Spain",
            "America/Porto_Acre",
            "America/Porto_Velho",
            "America/Puerto_Rico",
            "America/Punta_Arenas",
            "America/Rainy_River",
            "America/Rankin_Inlet",
            "America/Recife",
            "America/Regina",
            "America/Resolute",
            "America/Rio_Branco",
            "America/Rosario",
            "America/Santa_Isabel",
            "America/Santarem",
            "America/Santiago",
            "America/Santo_Domingo",
            "America/Sao_Paulo",
            "America/Scoresbysund",
            "America/Shiprock",
            "America/Sitka",
            "America/St_Barthelemy",
            "America/St_Johns",
            "America/St_Kitts",
            "America/St_Lucia",
            "America/St_Thomas",
            "America/St_Vincent",
            "America/Swift_Current",
            "America/Tegucigalpa",
            "America/Thule",
            "America/Thunder_Bay",
            "America/Tijuana",
            "America/Toronto",
            "America/Tortola",
            "America/Vancouver",
            "America/Virgin",
            "America/Whitehorse",
            "America/Winnipeg",
            "America/Yakutat",
            "America/Yellowknife",
            "Antarctica/Casey",
            "Antarctica/Davis",
            "Antarctica/DumontDUrville",
            "Antarctica/Macquarie",
            "Antarctica/Mawson",
            "Antarctica/McMurdo",
            "Antarctica/Palmer",
            "Antarctica/Rothera",
            "Antarctica/South_Pole",
            "Antarctica/Syowa",
            "Antarctica/Troll",
            "Antarctica/Vostok",
            "Arctic/Longyearbyen",
            "Asia/Aden",
            "Asia/Almaty",
            "Asia/Amman",
            "Asia/Anadyr",
            "Asia/Aqtau",
            "Asia/Aqtobe",
            "Asia/Ashgabat",
            "Asia/Ashkhabad",
            "Asia/Atyrau",
            "Asia/Baghdad",
            "Asia/Bahrain",
            "Asia/Baku",
            "Asia/Bangkok",
            "Asia/Barnaul",
            "Asia/Beirut",
            "Asia/Bishkek",
            "Asia/Brunei",
            "Asia/Calcutta",
            "Asia/Chita",
            "Asia/Choibalsan",
            "Asia/Chongqing",
            "Asia/Chungking",
            "Asia/Colombo",
            "Asia/Dacca",
            "Asia/Damascus",
            "Asia/Dhaka",
            "Asia/Dili",
            "Asia/Dubai",
            "Asia/Dushanbe",
            "Asia/Famagusta",
            "Asia/Gaza",
            "Asia/Harbin",
            "Asia/Hebron",
            "Asia/Ho_Chi_Minh",
            "Asia/Hong_Kong",
            "Asia/Hovd",
            "Asia/Irkutsk",
            "Asia/Istanbul",
            "Asia/Jakarta",
            "Asia/Jayapura",
            "Asia/Jerusalem",
            "Asia/Kabul",
            "Asia/Kamchatka",
            "Asia/Karachi",
            "Asia/Kashgar",
            "Asia/Kathmandu",
            "Asia/Katmandu",
            "Asia/Khandyga",
            "Asia/Kolkata",
            "Asia/Krasnoyarsk",
            "Asia/Kuala_Lumpur",
            "Asia/Kuching",
            "Asia/Kuwait",
            "Asia/Macao",
            "Asia/Macau",
            "Asia/Magadan",
            "Asia/Makassar",
            "Asia/Manila",
            "Asia/Muscat",
            "Asia/Nicosia",
            "Asia/Novokuznetsk",
            "Asia/Novosibirsk",
            "Asia/Omsk",
            "Asia/Oral",
            "Asia/Phnom_Penh",
            "Asia/Pontianak",
            "Asia/Pyongyang",
            "Asia/Qatar",
            "Asia/Qostanay",
            "Asia/Qyzylorda",
            "Asia/Rangoon",
            "Asia/Riyadh",
            "Asia/Saigon",
            "Asia/Sakhalin",
            "Asia/Samarkand",
            "Asia/Seoul",
            "Asia/Shanghai",
            "Asia/Singapore",
            "Asia/Srednekolymsk",
            "Asia/Taipei",
            "Asia/Tashkent",
            "Asia/Tbilisi",
            "Asia/Tehran",
            "Asia/Tel_Aviv",
            "Asia/Thimbu",
            "Asia/Thimphu",
            "Asia/Tokyo",
            "Asia/Tomsk",
            "Asia/Ujung_Pandang",
            "Asia/Ulaanbaatar",
            "Asia/Ulan_Bator",
            "Asia/Urumqi",
            "Asia/Ust-Nera",
            "Asia/Vientiane",
            "Asia/Vladivostok",
            "Asia/Yakutsk",
            "Asia/Yangon",
            "Asia/Yekaterinburg",
            "Asia/Yerevan",
            "Atlantic/Azores",
            "Atlantic/Bermuda",
            "Atlantic/Canary",
            "Atlantic/Cape_Verde",
            "Atlantic/Faeroe",
            "Atlantic/Faroe",
            "Atlantic/Jan_Mayen",
            "Atlantic/Madeira",
            "Atlantic/Reykjavik",
            "Atlantic/South_Georgia",
            "Atlantic/St_Helena",
            "Atlantic/Stanley",
            "Australia/ACT",
            "Australia/Adelaide",
            "Australia/Brisbane",
            "Australia/Broken_Hill",
            "Australia/Canberra",
            "Australia/Currie",
            "Australia/Darwin",
            "Australia/Eucla",
            "Australia/Hobart",
            "Australia/LHI",
            "Australia/Lindeman",
            "Australia/Lord_Howe",
            "Australia/Melbourne",
            "Australia/NSW",
            "Australia/North",
            "Australia/Perth",
            "Australia/Queensland",
            "Australia/South",
            "Australia/Sydney",
            "Australia/Tasmania",
            "Australia/Victoria",
            "Australia/West",
            "Australia/Yancowinna",
            "Brazil/Acre",
            "Brazil/DeNoronha",
            "Brazil/East",
            "Brazil/West",
            "CET",
            "CST6CDT",
            "Canada/Atlantic",
            "Canada/Central",
            "Canada/Eastern",
            "Canada/Mountain",
            "Canada/Newfoundland",
            "Canada/Pacific",
            "Canada/Saskatchewan",
            "Canada/Yukon",
            "Chile/Continental",
            "Chile/EasterIsland",
            "Cuba",
            "EET",
            "EST",
            "EST5EDT",
            "Egypt",
            "Eire",
            "Etc/GMT",
            "Etc/GMT+0",
            "Etc/GMT+1",
            "Etc/GMT+10",
            "Etc/GMT+11",
            "Etc/GMT+12",
            "Etc/GMT+2",
            "Etc/GMT+3",
            "Etc/GMT+4",
            "Etc/GMT+5",
            "Etc/GMT+6",
            "Etc/GMT+7",
            "Etc/GMT+8",
            "Etc/GMT+9",
            "Etc/GMT-0",
            "Etc/GMT-1",
            "Etc/GMT-10",
            "Etc/GMT-11",
            "Etc/GMT-12",
            "Etc/GMT-13",
            "Etc/GMT-14",
            "Etc/GMT-2",
            "Etc/GMT-3",
            "Etc/GMT-4",
            "Etc/GMT-5",
            "Etc/GMT-6",
            "Etc/GMT-7",
            "Etc/GMT-8",
            "Etc/GMT-9",
            "Etc/GMT0",
            "Etc/Greenwich",
            "Etc/UCT",
            "Etc/UTC",
            "Etc/Universal",
            "Etc/Zulu",
            "Europe/Amsterdam",
            "Europe/Andorra",
            "Europe/Astrakhan",
            "Europe/Athens",
            "Europe/Belfast",
            "Europe/Belgrade",
            "Europe/Berlin",
            "Europe/Bratislava",
            "Europe/Brussels",
            "Europe/Bucharest",
            "Europe/Budapest",
            "Europe/Busingen",
            "Europe/Chisinau",
            "Europe/Copenhagen",
            "Europe/Dublin",
            "Europe/Gibraltar",
            "Europe/Guernsey",
            "Europe/Helsinki",
            "Europe/Isle_of_Man",
            "Europe/Istanbul",
            "Europe/Jersey",
            "Europe/Kaliningrad",
            "Europe/Kiev",
            "Europe/Kirov",
            "Europe/Lisbon",
            "Europe/Ljubljana",
            "Europe/London",
            "Europe/Luxembourg",
            "Europe/Madrid",
            "Europe/Malta",
            "Europe/Mariehamn",
            "Europe/Minsk",
            "Europe/Monaco",
            "Europe/Moscow",
            "Europe/Nicosia",
            "Europe/Oslo",
            "Europe/Paris",
            "Europe/Podgorica",
            "Europe/Prague",
            "Europe/Riga",
            "Europe/Rome",
            "Europe/Samara",
            "Europe/San_Marino",
            "Europe/Sarajevo",
            "Europe/Saratov",
            "Europe/Simferopol",
            "Europe/Skopje",
            "Europe/Sofia",
            "Europe/Stockholm",
            "Europe/Tallinn",
            "Europe/Tirane",
            "Europe/Tiraspol",
            "Europe/Ulyanovsk",
            "Europe/Uzhgorod",
            "Europe/Vaduz",
            "Europe/Vatican",
            "Europe/Vienna",
            "Europe/Vilnius",
            "Europe/Volgograd",
            "Europe/Warsaw",
            "Europe/Zagreb",
            "Europe/Zaporozhye",
            "Europe/Zurich",
            "Factory",
            "GB",
            "GB-Eire",
            "GMT",
            "GMT+0",
            "GMT-0",
            "GMT0",
            "Greenwich",
            "HST",
            "Hongkong",
            "Iceland",
            "Indian/Antananarivo",
            "Indian/Chagos",
            "Indian/Christmas",
            "Indian/Cocos",
            "Indian/Comoro",
            "Indian/Kerguelen",
            "Indian/Mahe",
            "Indian/Maldives",
            "Indian/Mauritius",
            "Indian/Mayotte",
            "Indian/Reunion",
            "Iran",
            "Israel",
            "Jamaica",
            "Japan",
            "Kwajalein",
            "Libya",
            "MET",
            "MST",
            "MST7MDT",
            "Mexico/BajaNorte",
            "Mexico/BajaSur",
            "Mexico/General",
            "NZ",
            "NZ-CHAT",
            "Navajo",
            "PRC",
            "PST8PDT",
            "Pacific/Apia",
            "Pacific/Auckland",
            "Pacific/Bougainville",
            "Pacific/Chatham",
            "Pacific/Chuuk",
            "Pacific/Easter",
            "Pacific/Efate",
            "Pacific/Enderbury",
            "Pacific/Fakaofo",
            "Pacific/Fiji",
            "Pacific/Funafuti",
            "Pacific/Galapagos",
            "Pacific/Gambier",
            "Pacific/Guadalcanal",
            "Pacific/Guam",
            "Pacific/Honolulu",
            "Pacific/Johnston",
            "Pacific/Kiritimati",
            "Pacific/Kosrae",
            "Pacific/Kwajalein",
            "Pacific/Majuro",
            "Pacific/Marquesas",
            "Pacific/Midway",
            "Pacific/Nauru",
            "Pacific/Niue",
            "Pacific/Norfolk",
            "Pacific/Noumea",
            "Pacific/Pago_Pago",
            "Pacific/Palau",
            "Pacific/Pitcairn",
            "Pacific/Pohnpei",
            "Pacific/Ponape",
            "Pacific/Port_Moresby",
            "Pacific/Rarotonga",
            "Pacific/Saipan",
            "Pacific/Samoa",
            "Pacific/Tahiti",
            "Pacific/Tarawa",
            "Pacific/Tongatapu",
            "Pacific/Truk",
            "Pacific/Wake",
            "Pacific/Wallis",
            "Pacific/Yap",
            "Poland",
            "Portugal",
            "ROC",
            "ROK",
            "Singapore",
            "Turkey",
            "UCT",
            "US/Alaska",
            "US/Aleutian",
            "US/Arizona",
            "US/Central",
            "US/East-Indiana",
            "US/Eastern",
            "US/Hawaii",
            "US/Indiana-Starke",
            "US/Michigan",
            "US/Mountain",
            "US/Pacific",
            "US/Pacific-New",
            "US/Samoa",
            "UTC",
            "Universal",
            "W-SU",
            "WET",
            "Zulu"
        ]
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/system/tz'

        /system/info

        Метод получения системной информации устройства.

        Описание параметров
        Название
        Тип

        Описание

        model String

        Название модели используемой камеры.

        temperature Double

        Значение температуры процессора камеры.

         - Нормальная температура до 95°C.

        chipId String

        Идентификатор чипа камеры.

        mac String

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

        deviceID String

        Серийный номер устройства.

        deviceModel String

        Наименование устройства.

        uptime Integer

        Время работы устройства.

        registerStatus Boolean

        Флаг состояния SIP регистрации.

        GET - Получение параметров
        Ответы
        200 OK

         Успешное получение параметров

        Тело:

        {
            "model": "GK7205V300",
            "temperature": 84.68,
            "chipId": "232ae91c800955e300000000000000000000000000000000",
            "mac": "08:53:00:00:00:00",
            "deviceID": "5300000000",
            "deviceModel": "ISCom X1 (rev.5)",
            "uptime": 416,
            "registerStatus": false
        }
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/system/info'

        /system/load

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.9.x

        Описание параметров
        Название
        Тип

        Описание

        memory

        Obejct Параметры использованной и задействованной памяти системой и приложениями;

           system

           Object    Параметры памяти системы:

              used

              Integer       Количество задействованной памяти;

              free

              Integer       Количество свободной памяти;

           services

           Object    Параметры использования памяти приложениями;

              api
              uart
              ddns
              streamer
              camofon
              upgrade
              proguard
              ircut

              Object       Наименование приложения

                 pid

                 Integer          Номер процессора;

                 used

                 Integer          Количество используемой памяти;

        processor

        Object Параметры загруженность процессора за:

           1

           Float    1-у минуту;

           5

           Float    5-ть минут;

           15

           Float    15-ть минут;
        GET - Получение параметров
        Ответы
        200 OK

         Успешное получение параметров

        Тело:

        {
          "memory": {
            "system": {
              "used": 19568,
              "free": 17060
            },
            "services": {
              "api": {
                "pid": 1136,
                "used": 3032
              },
              "uart": {
                "pid": 1093,
                "used": 1056
              },
              "ddns": {
                "pid": 1033,
                "used": 1204
              },
              "streamer": {
                "pid": 1052,
                "used": 7516
              },
              "camofon": {
                "pid": 1115,
                "used": 3628
              },
              "upgrade": {
                "pid": 1156,
                "used": 1056
              },
              "proguard": {
                "pid": 1011,
                "used": 1000
              },
              "ircut": {
                "pid": 1010,
                "used": 728
              }
            }
          },
          "processor": {
            "1": 2.48,
            "5": 2.1,
            "15": 1.11
          }
        }
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/system/load'

        /system/settings

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

        Описание параметров
        Название
        Тип

        Описание

        log_level Object

        Уровни логирования приложений.

           api

           uart
           camofon

           streamer
           proguard

           store

           baresip

           libre

           Integer

           Уровень логирования приложения:

            - 1 - Trace;
            - 2 - Debug;
            - 3 - Info;
            - 4 - Warning;
            - 5 - Error;
            - 6 - Fatal.

            - По умолчанию: 3

        tz

        String

        Текущая временная зона (Поддерживаемые зоны).

         - По умолчанию: Asia/Yekaterinburg

        dateTime

        String

        Текущая дата и время

        dns

        Object

        Параметры DNS серверов

         

        ВАЖНО! Является устаревшим, советуем использовать метод /v1/network для получения и изменения сетевых настроек включая сервера dns.

           auto

           Boolean

           Флаг работы с dns серверами.

            - true - автоматически;

            - false - в ручную.

            - По умолчанию: true

           nameservers

           Array

           Массив строк с dns серверами.

        ntp

        Array

        Массив строк с ntp серверами.

        assist

        Object

        Параметры для работы ассистента.

           enable

           Boolean

           Флаг включения / выключения ассистента.

            - По умолчанию: true

           online

           Boolean

           Флаг переключения онлайн и оффлайн ассистента.

            - По умолчанию: true

         

           ВАЖНО! Онлайн ассистент подразумевает входящие вызовы на панель при реагировании на различные события в логах.

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров

        Тело: 

        {
            "log_level": {
                "api": 3,
                "uart": 3,
                "camofon": 3,
                "streamer": 3,
                "proguard": 3,
                "store": 3,
                "baresip": 3,
                "libre": 3
            },
            "tz": "Asia/Yekaterinburg",
            "dateTime": "2024-06-06T13:21:38+0500",
            "dns": {
                "auto": true,
                "nameservers": [
                    "78.29.2.21",
                    "78.29.2.22"
                ]
            },
            "ntp": [
                "0.pool.ntp.org",
                "1.pool.ntp.org",
                "time.is74.ru"
            ],
            "assist": {
                "enable": true,
                "online": true
            }
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/system/settings'
        PUT - Изменение параметров
        Запрос

        Тело:

        {
            "log_level": {
                "api": 3,
                "uart": 3,
                "camofon": 3,
                "streamer": 3,
                "proguard": 3,
                "store": 3,
                "baresip": 3,
                "libre": 3
            },
            "tz": "UTC",
            "dns": {
                "auto": true,
                "nameservers": [
                    "78.29.2.21",
                    "78.29.2.22"
                ]
            },
            "ntp": [
                "0.pool.ntp.org",
                "1.pool.ntp.org",
                "10.100.12.14"
            ],
            "assist": {
                "enable": true,
                "online": true
            }
        }
        Ответы
        200 OK

         Успешное получение параметров

        Тело: 

        {
            "log_level": {
                "api": 3,
                "uart": 3,
                "camofon": 3,
                "streamer": 3,
                "proguard": 3,
                "store": 3,
                "baresip": 3,
                "libre": 3
            },
            "tz": "Asia/Yekaterinburg",
            "dateTime": "2024-06-06T13:21:38+0500",
            "dns": {
                "auto": true,
                "nameservers": [
                    "78.29.2.21",
                    "78.29.2.22"
                ]
            },
            "ntp": [
                "0.pool.ntp.org",
                "1.pool.ntp.org",
                "time.is74.ru"
            ],
            "assist": {
                "enable": true,
                "online": true
            }
        }
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/system/settings' \
        --data-raw '{
            "log_level": {
                "api": 3,
                "uart": 3,
                "camofon": 3,
                "streamer": 3,
                "proguard": 3,
                "store": 3,
                "baresip": 3,
                "libre": 3
            },
            "tz": "UTC",
            "dns": {
                "auto": true,
                "nameservers": [
                    "78.29.2.21",
                    "78.29.2.22"
                ]
            },
            "ntp": [
                "0.pool.ntp.org",
                "1.pool.ntp.org",
                "10.100.12.14"
            ],
            "assist": {
                "enable": true,
                "online": true
            }
        }'

        /system/fw_env

        Метод получения MAC-адреса устройства.

        Описание параметров
        Название
        Тип

        Описание

        ethaddr String

        MAC адрес устройства

        GET - Получение параметров
        Ответы
        200 OK

        Успешное получение параметров 

        Тело:

        {
            "ethaddr": "08:53:00:00:00:00"
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/system/fw_env'

        /system/backup

        Метод создания резервной копии устройства.

        Для восстановление резервной копии используется метод:
           /system/restore или /system/restore/ftp

        GET - Создание резервной копии
        Ответы
        200 OK

        Успешное создание резервной копии 

        Заголовки:

        Название Значение Описание

        Content-Type

        application/octet-stream Тип возвращаемых данных

        Content-Disposition

        attachment; filename="backup-08:13:00:00:00:00.bin" Формат возвращаемых данных

         Тело:

        *** Бинарное представление файла ***
        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/system/backup'

        /system/backup/ftp

        Метод создания резервной копии устройства с отправкой файла на FTP сервер.

        Метод не доступен для устройств на прошивке ниже 2.5.0.10.x

        Для восстановление резервной копии используется метод:
           /system/restore или /system/restore/ftp

        Описание параметров
        Название
        Тип

        Описание

        server
        String

        Сервер и порт для скачивания файла резервной копии

        auth
        Object

        Данные для авторизации на сервере

           username
           String

           Логин

           password
           String

           Пароль

        path
        String

        Путь к папке на сервере

        name
        String

        Название файла в папке

        PUT - Создание резервной копии
        Запрос

        Тело:

        {
            "server": "192.168.0.100:21",
            "auth": {
                "username": "username",
                "password": "password"
            },
            "path": "",
            "name": "backup.bin"
        }
        Ответы
        200 OK

        Успешное создание резервной копии 

        Заголовки:

        Название Значение Описание

        Content-Type

        text/html; charset=ISO-8859-1 Тип возвращаемых данных
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/octet-stream' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/system/backup/ftp' \
        --data-raw '{
            "server": "192.168.0.100:21",
            "auth": {
                "username": "username",
                "password": "password"
            },
            "path": "",
            "name": "backup.bin"
        }'

        /system/restore

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

        Для создания резервной копии используется метод:
           /system/backup или /system/backup/ftp

        PUT - Восстановление резервной копии
        Запрос

         Заголовки:

        Название

        Значение Описание

        Content-Type

        application/octet-stream Тип передаваемых данных

        Тело:

        *** Бинарный файл ***
        Ответы
        200 OK

         Успешное восстановление резервной копии

        Заголовки:

        Название

        Значение Описание

        Content-Type

        text/html; charset=ISO-8859-1 Тип возвращаемых данных
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/octet-stream' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/system/restore' \
        --data-binary './backup-08_13_00_00_00_00.bin'

        /system/restore/ftp

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.10.x

        Для создания резервной копии используется метод:
           /system/backup или /system/backup/ftp

        Описание параметров
        Название
        Тип

        Описание

        server
        String

        Сервер и порт для скачивания файла резервной копии

        auth
        Object

        Данные для авторизации на сервере

           username
           String

           Логин

           password
           String

           Пароль

        path
        String

        Путь к папке на сервере

        name
        String

        Название файла в папке

        PUT - Восстановление резервной копии
        Запрос

        Тело:

        {
            "server": "192.168.0.100:21",
            "auth": {
                "username": "username",
                "password": "password"
            },
            "path": "",
            "name": "backup.bin"
        }
        Ответы
        200 OK

         Успешное восстановление резервной копии

        Заголовки:

        Название

        Значение Описание

        Content-Type

        text/html; charset=ISO-8859-1 Тип возвращаемых данных
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/octet-stream' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/system/restore/ftp' \
        --data-raw '{
            "server": "192.168.0.100:21",
            "auth": {
                "username": "username",
                "password": "password"
            },
            "path": "",
            "name": "backup.bin"
        }'

        /system/reboot

        Метод перезагрузки устройства.

        PUT - Перезагрузка устройства
        Ответы
        200 OK

        Успешная перезагрузка устройства

        Примеры

        CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/system/reboot'

        /system/restart/{сервис}

        Метод перезапуска указанного сервиса.

        Список поддерживаемых параметров "{сервис}":
           - api;
           - uart;
           - upgrade;
           - camofon;
           - streamer.

        PUT - Перезапуск сервиса
        Ответы
        204 OK

        Успешный перезапуск сервиса

        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/system/restart/api'

        /system/factory-reset

        Метод сброса устройства к заводским настройкам.

        Описание параметров
        Название
        Тип

        Описание

        netReset boolean

        Флаг сброса сетевых настроек.

        PUT - Сброс к заводским настройкам
        Запрос

        Тело:

        {
            "netReset": false
        }
        Ответы
        204 OK

        Успешный сброс устройства к заводским настройкам

        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/system/factory-reset' \
        --data-raw '{
            "netReset": false
        }'

        /v2/system/versions

        Метод получения текущих версий прошивки устройства. 

        Описание параметров
        Название
        Тип

        Описание

        opt Object

        Версии устройства для раздела с приложениями.

           date    Date

           Дата создания прошивки для раздела.

           name    String

           Версия прошивки для раздела.

           versions    Object

           Версии по конкретным приложения.

              api
              proguard
              camofon
              ddns
              streamer
              uart
              upgrade
              overlay 
              Object

              Описание версии приложения. 

                 name          String

                Версия приложения.

                 hash          String

                Хэш сумма коммита приложения.

              hw       Object

              Описание версии платы.

                 name          String

                 Версия платы.

              mcu       Object

              Описание версии микроконтроллера.

                 name          String

                 Версия прошивки микроконтроллера.

        media Object

        Версии устройства для раздела с аудио записями (оффлайн ассистента, оповещения).

           date    Date

           Дата создания прошивки для раздела.

           name    String

           Версия прошивки для раздела.

           versions    Object

           Версии по конкретным приложения.

              overlay        Object

              Описание версии приложения. 

                 name          String

                Версия приложения.

                 hash          String

                Хэш сумма коммита приложения.

        rootfs Object

        Версии устройства для раздела Linux.

           date    Date

           Дата создания прошивки для раздела.

           name    String

           Версия прошивки для раздела.

           versions    Object

           Версии по конкретным приложения.

              libre
              libiscom
              baresip
              ircut
              rootfs
              overlay 
              Object

              Описание версии приложения. 

                 name          String

                Версия приложения.

                 hash          String

                Хэш сумма коммита приложения.

        GET - Получение версий
        Ответы
        200 OK

         Успешное получение версий прошивки

        Тело:

        {
            "opt": {
                "date": "2024-05-27",
                "name": "2.5.0.7.2",
                "versions": {
                    "api": {
                        "name": "0.7.2",
                        "hash": "6e0b6f9159ac22d9a1efcdae56fa337777056cd2"
                    },
                    "proguard": {
                        "name": "0.0.5",
                        "hash": "a308a3732ea8584bee9fc1fa08ea0299ba0eeea3"
                    },
                    "camofon": {
                        "name": "0.4.8",
                        "hash": "217aaad3c8b003975ff9173ea8279e86074e89a9"
                    },
                    "ddns": {
                        "name": "0.0.6",
                        "hash": "634934435463f78df7236d49d5669a3639cf4a24"
                    },
                    "streamer": {
                        "name": "2.10.22",
                        "hash": "e7a5ca779b74ae85eef5f36bbb265c1b486accea"
                    },
                    "uart": {
                        "name": "0.0.21",
                        "hash": "6a58107a0fee1a606e3d62d5dcd34275551b8dad"
                    },
                    "upgrade": {
                        "name": "0.1.8",
                        "hash": "06e5727e2a5308999e23f1b3fe1a0915a0267943"
                    },
                    "overlay": {
                        "name": "0.3.5",
                        "hash": "48d7606fad16a16f9d276708379d5ece25d5a062"
                    },
                    "hw": {
                        "name": "5.1"
                    },
                    "mcu": {
                        "name": "7.37"
                    }
                }
            },
            "media": {
                "date": "2024-05-27",
                "name": "2.5.0.7.2",
                "versions": {
                    "overlay": {
                        "name": "0.3.5",
                        "hash": "48d7606fad16a16f9d276708379d5ece25d5a062"
                    }
                }
            },
            "rootfs": {
                "date": "2024-05-27",
                "name": "2.5.0.7.2",
                "versions": {
                    "libre": {
                        "name": "0.1.2",
                        "hash": "6a2cda92898fa7eb413dd6f0469242d6a964c28f"
                    },
                    "libiscom": {
                        "name": "0.0.32",
                        "hash": "0c824a3dd9d1a3821bf0671640fa98329daa2bca"
                    },
                    "baresip": {
                        "name": "0.1.3",
                        "hash": "f2b04ea4e43ebe139606037756ccb002ea28ff4d"
                    },
                    "ircut": {
                        "name": "0.1.2",
                        "hash": "ceaa84a5cdbd1e3ee62a2a8cd9426ee5ff181f6c"
                    },
                    "rootfs": {
                        "name": "0.0.9",
                        "hash": "78e43316f723c413c24e1ee897b60fca507332a6"
                    },
                    "overlay": {
                        "name": "0.3.5",
                        "hash": "48d7606fad16a16f9d276708379d5ece25d5a062"
                    }
                }
            }
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/v2/system/versions'

        /v2/system/upgrade

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.10.x
        На поздних прошивках использовать новый метод:
           /v3/system/upgrade 

        Для данного способа обновления необходим HTTP-сервер

        Описание параметров
        GET
        Название
        Тип

        Описание

        state String

        Описание состояния обновления.
         - По умолчанию: Обновление не запущено

        stateId Integer

        Идентификатор состояния обновления.

         - По умолчанию: 0

        message String

        Описание под состояния обновления.
         - По умолчанию: Приложение Upgrade запущено

        messageId Integer

        Идентификатор под состояния обновления
         - По умолчанию: 0

        PUT
        Название
        Тип

        Описание

        code Integer

        Код ответа на запрос.

        data Object

        Параметры используемые при обновлении.

           url    String

           Ссылка на папку с файлами обновления на HTTP сервере.

           mcu    Boolean

           Флаг включения обновления микроконтроллера устройства.

            - По умолчанию: false

           opt    Boolean

           Флаг включения обновления раздела с приложениями на камере.

            - По умолчанию: false

           media    Boolean

           Флаг включения обновления раздела с аудио записями (оффлайн ассистент, оповещение) на камере.

            - По умолчанию: false

           rootfs     Boolean

           Флаг включения обновления раздела Linux на камере.

            - По умолчанию: false

           skipVersion    Boolean

           Флаг пропуска проверки версий прошивок.

            - По умолчанию: false

         

        Доступен начиная с версии 2.5.0.12.x

        GET - Получение состояния обновления

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

        Ответы
        200 OK

         Успешное получение состояния обновления

        Тело:

        {
            "state": "Обновление не запущено",
            "stateId": 0,
            "message": "Приложение Upgrade запущено",
            "messageId": 0
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/v2/system/upgrade'
        PUT - Запуск обновления
        Запрос

        Тело:

        {
            "url": "http://192.168.0.10:8000/2.5.6.1",
            "mcu": true,
            "opt": true,
            "media": true,
            "rootfs": true
        }
        Ответы
        200 OK

         Успешное получение задания  на обновление

        Тело:

        {
            "code": 200,
            "data": {
                "url": "http://192.168.0.10:8000/2.5.6.1",
                "mcu": true,
                "opt": true,
                "media": true,
                "rootfs": true
            }
        }
        400 Bad Request

        Ошибка при проверки переданных параметров

        Тело:

        Название
        Тип

        Описание

        errors Array

        Массив возвращаемых ошибок.

           message    String

           Сообщение об ошибке.

        {
            "errors": [
                {
                    "message": "Ошибка: url - Параметр пуст или не найден"
                }
            ]
        }

        или 

        {
            "errors": [
                {
                    "message": "Ошибка: stm - Должен быть логической переменной"
                }
            ]
        }

        или

        {
            "errors": [
                {
                    "message": "Ошибка: opt - Должен быть логической переменной"
                }
            ]
        }

        или

        {
            "errors": [
                {
                    "message": "Ошибка: media - Должен быть логической переменной"
                }
            ]
        }

        или

        {
            "errors": [
                {
                    "message": "Ошибка: rootfs - Должен быть логической переменной"
                }
            ]
        }
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/v2/system/upgrade' \
        --data-raw '{
            "url": "http://192.168.0.10:8000/2.5.0.6.1",
            "mcu": true,
            "opt": true,
            "media": true,
            "rootfs": true
        }'

        /v3/system/upgrade

        Методы для работы с обновлением устройства с помощью HTTP сервера.

        На прошивках начиная с 2.5.0.10.x перед обновлением устройство будет перезагружено.

        Данный способ обновления проверяет файл обновления на электронную подпись.

        Описание параметров
        GET
        Название
        Тип

        Описание

        state String

        Описание состояния обновления.
         - По умолчанию: Обновление не запущено

        stateId Integer

        Идентификатор состояния обновления.

         - По умолчанию: 0

        message String

        Описание под состояния обновления.
         - По умолчанию: Приложение Upgrade запущено

        messageId Integer

        Идентификатор под состояния обновления
         - По умолчанию: 0

        PUT
        Название
        Тип

        Описание

        code Integer

        Код ответа на запрос.

        data Object

        Параметры используемые при обновлении.

           url    String

           Ссылка на папку с файлами обновления на HTTP сервере.

           mcu    Boolean

           Флаг включения обновления микроконтроллера устройства.

            - По умолчанию: false

           opt    Boolean

           Флаг включения обновления раздела с приложениями на камере.

            - По умолчанию: false

           media    Boolean

           Флаг включения обновления раздела с аудио записями (оффлайн ассистент, оповещение) на камере.

            - По умолчанию: false

           rootfs     Boolean

           Флаг включения обновления раздела Linux на камере.

            - По умолчанию: false

           skipVersion    Boolean

           Флаг пропуска проверки версий прошивок.

            - По умолчанию: false

         

        Доступен начиная с версии 2.5.0.12.x

        GET - Получение состояния обновления
        Ответы
        200 OK

         Успешное получение состояния обновления

        Тело:

        {
            "state": "Обновление не запущено",
            "stateId": 0,
            "message": "Приложение Upgrade запущено",
            "messageId": 0
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/v3/system/upgrade'
        PUT - Запуск обновления
        Запрос

        Тело:

        {
            "url": "http://192.168.0.10:8000/2.5.0.9.4",
            "mcu": true,
            "opt": true,
            "media": true,
            "rootfs": true
        }
        Ответы
        200 OK

         Успешное получение задания  на обновление

        Тело:

        {
            "code": 200,
            "data": {
                "url": "http://192.168.0.10:8000/2.5.0.9.4",
                "mcu": true,
                "opt": true,
                "media": true,
                "rootfs": true
            }
        }
        400 Bad Request

        Ошибка при проверки переданных параметров

        Тело:

        Название
        Тип

        Описание

        errors Array

        Массив возвращаемых ошибок.

           message    String

           Сообщение об ошибке.

        {
            "errors": [
                {
                    "message": "Ошибка: url - Параметр пуст или не найден"
                }
            ]
        }

        или 

        {
            "errors": [
                {
                    "message": "Ошибка: stm - Должен быть логической переменной"
                }
            ]
        }

        или

        {
            "errors": [
                {
                    "message": "Ошибка: opt - Должен быть логической переменной"
                }
            ]
        }

        или

        {
            "errors": [
                {
                    "message": "Ошибка: media - Должен быть логической переменной"
                }
            ]
        }

        или

        {
            "errors": [
                {
                    "message": "Ошибка: rootfs - Должен быть логической переменной"
                }
            ]
        }
        Примеры

        CURL:

        curl \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request PUT 'http://192.168.0.100:80/v3/system/upgrade' \
        --data-raw '{
            "url": "http://192.168.0.10:8000/2.5.0.9.4",
            "mcu": true,
            "opt": true,
            "media": true,
            "rootfs": true
        }'

        /v4/system/upgrade

        Методы для работы с обновлением устройства с помощью FTP сервера.

        Метод не доступен для устройств на прошивке ниже 2.5.0.11.x

        Данный способ обновления проверяет файл обновления на электронную подпись.

        Описание параметров
        GET
        Название
        Тип

        Описание

        state String

        Описание состояния обновления.
         - По умолчанию: Обновление не запущено

        stateId Integer

        Идентификатор состояния обновления.

         - По умолчанию: 0

        message String

        Описание под состояния обновления.
         - По умолчанию: Приложение Upgrade запущено

        messageId Integer

        Идентификатор под состояния обновления
         - По умолчанию: 0

        PUT
        Название
        Тип

        Описание

        code Integer

        Код ответа на запрос.

        data Object

        Параметры используемые при обновлении.

            server
        String

        Сервер и порт для скачивания файла резервной копии

            auth
        Object

        Данные для авторизации на сервере

               username
           String

           Логин

               password
           String

           Пароль

            path
        String

        Путь к папке на сервере

            name
        String

        Название файла в папке

            mcu    Boolean

           Флаг включения обновления микроконтроллера устройства.

            - По умолчанию: false

            opt    Boolean

           Флаг включения обновления раздела с приложениями на камере.

            - По умолчанию: false

            media    Boolean

           Флаг включения обновления раздела с аудио записями (оффлайн ассистент, оповещение) на камере.

            - По умолчанию: false

            rootfs     Boolean

           Флаг включения обновления раздела Linux на камере.

            - По умолчанию: false

           skipVersion    Boolean

           Флаг пропуска проверки версий прошивок.

            - По умолчанию: false

         

        Доступен начиная с версии 2.5.0.12.x

        GET - Получение состояния обновления
        Ответы
        200 OK

         Успешное получение состояния обновления

        Тело:

        {
            "state": "Обновление не запущено",
            "stateId": 0,
            "message": "Приложение Upgrade запущено",
            "messageId": 0
        }
        Примеры

         CURL:

        curl \
        --header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
        --request GET 'http://192.168.0.100:80/v4/system/upgrade'
        PUT - Запуск обновления
        Запрос

        Тело:

        {
            "server": "192.168.0.100:21",
            "auth": {
                "username": "username",
                "password": "password"
            },
            "path": "",
            "name": "goke_7205_v300_imx335.iscom",
            "mcu": true,
            "opt": true,
            "media": true,
            "rootfs": true
        }
        Ответы
        200 OK

         Успешное получение задания  на обновление

        Тело:

        {
            "code":200,
            "data":{
                "server":"192.168.0.100:21",
                "auth":{
                    "username":"username",
                    "password":"password"
                },
                "path":"",
                "name":"goke_7205_v300_imx335.iscom",
                "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/v4/system/upgrade' \
        --data-raw '{
            "server":"192.168.0.100:21",
            "auth":{
                "username":"username",
                "password":"password"
            },
            "path":"",
            "name":"goke_7205_v300_imx335.iscom",
            "mcu":true,
            "opt":true,
            "media":true,
            "rootfs":true
        }'


        Производитель

        /v1/manufacturer

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

        Метод не доступен для устройств на прошивке ниже 2.5.0.4.x

        Описание параметров
        Название
        Тип

        Описание

        mac String

        MAC адрес устройства.

        serialNumber String

        Серийный номе устройства.

        revision String

        Ревизия устройства.

        timestamp String

        Дата и время создания QR кода.

        testTimestamp String

        Дата и время завершения тестирования.

        manufacturer String

        Наименование производитель.

        batchNumber Integer

        Номер партии.

        GET - Получение информации
        Ответы
        200 OK

         Успешное получение информации

        Тело:

        {
            "mac": "08:13:00:00:00:00",
            "serialNumber": "0000000000",
            "revision": "5.3",
            "timestamp": "2024-05-28 09:39:23",
            "testTimestamp": "2024-05-28 09:39:24",
            "manufacturer": "VD",
            "batchNumber": 10
        }
        Примеры

         CURL:

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