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

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

Описание

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

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

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

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

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


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

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

Запрос

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

Значение Описание
GET, PUT, POST, DELETE

Authorization

Basic cm9vdDoxMjM0NTY=
Заголовок "Базовой авторизации"
PUT, POST, DELETE

Content-Type

application/json
Тип передаваемых данных

Content-Length

0
Размер передаваемых данных

Ответ

Заголовки

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

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

Authorization

Basic cm9vdDoxMjM0NTY=
Заголовок "Базовой авторизации"

Content-Type

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

Content-Length

0
Размер возвращаемых данных

X-Device-Mac

08:13:00:00:00:00
Мак адрес устройства
Коды

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

Значение

Успешные

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

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

  • 400 Bad Request;
  • 404 Not Found;
  • 405 Method Not Allowed;
  • 422 Unprocessable Entity.

Серверные

  • 500 Internal Server Error;
  • 501 Not Implemented.


Авторизация

/auth/check

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

GET - Проверка авторизации
Ответы
200 OK

Авторизация пройдена

Заголовки:

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

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

Content-Type

text/html; charset=ISO-8859-1
Тип возвращаемых данных
401 Unauthorized

- Не корректно передан заголовок Authorization
- Используются не корректные данные логин или пароль

Заголовки:

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

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

WWW-Authenticate

Basic realm="Access to camofon", charset="UTF-8"
Заголовок обязательной авторизации

Content-Type

text/html; charset=ISO-8859-1
Тип возвращаемых данных
Примеры

CURL:

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

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

/user/change_password

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

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

Название

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

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

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

PUT - Обновление пароля
Запрос

Тело: 

{
  "newPassword": "123456"
}
Ответы
200 OK

 Успешная смена пароля

Заголовки:

Название

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

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
400 Bad Request

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

Тело:

Название

Тип Описание

errors

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

   field

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

   message

   String    Сообщение об ошибки для переменной из поля "field".
{
    "errors": [
        {
            "field": "newPassword",
            "message": "Ошибка получения поля newPassword из запроса"
        }
    ]
}
Примеры

CURL:

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

Параметры API

/v1/api

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

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

Название

Тип
Описание

port

Integer

Порт для работы HTTP-сервера.

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

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

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

Тело:

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

Curl:

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

Тело:

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

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

Тело:

{
    "port": 80
}
400 Bad Request

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

Тело:

Название

Тип
Описание

errors

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

   message

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

 CURL:

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

Параметры DDNS

/v1/ddns

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

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

Название

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

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

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

interval Integer

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

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

server

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

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

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

   address    String

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

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

   username    String

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

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

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

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

data

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

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

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

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

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

Тело:

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

 CURL:

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

Тело:

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

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

Тело:

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

 CURL:

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

 

DELETE - Сброс параметров
Ответы
200 OK

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

Тело:

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

 CURL:

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

Видеопоток

RTSP

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

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

VLC:

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

FFPLAY:

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

VLC:

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

FFPLAY:

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

/camera/md

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

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

Название

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

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

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

md_area_thr Integer

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

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

md_send_snapshot_enable Boolean

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

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

md_send_snapshot_interval Integer

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

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

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

 

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

md_rects_enable Boolean

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

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

md_logs_enable Boolean

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

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

md_rect_color String

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

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

md_frame_int Integer

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

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

md_frame_shift Integer

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

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

md_max_rect_ratio Double

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

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

snap_send_url String

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

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

 

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

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

Название

Тип
Описание

time

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

df_id

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

img_bytes

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

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

Тело:

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

CURL:

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

Тело:

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

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

Тело:

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

CURL:

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

/camera/audio

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

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

Название

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

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

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

format String

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

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

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

    - AAC;

    - PCM;

    - PCMA (G.711A);

    - PCMU (G.711U);

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

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

Тело:

{
    "aac_enable": true,
    "format": "AAC"
}
Примеры

 CURL:

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

Тело:

{
    "aac_enable": true
}
Ответы
200 OK

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

Тело:

{
    "aac_enable": true,
    "format": "AAC"
}
Примеры

 CURL:

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


/camera/codec

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

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

Название

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

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

   Channel    Integer

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

   Type    String

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

   Profile    Integer

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

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

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

       - 1 - Main;

       - 2 - Baseline;

       - 3 - High;

   ByFrame    Boolean


   Width / Height    Integer

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

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

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

       - 1280х720;

       - 720х576;

       - 704х576;

       - 640х480;

       - 640х360.

   GopMode    String

   

   IPQpDelta    Integer

   

   RcMode    String

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

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

   IFrameInterval    Integer

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

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

   MaxBitrate    Integer

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

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

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

Тело:

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

 CURL:

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

Тело:

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

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

Тело:

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

 CURL:

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

/camera/picture

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

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

Название

Тип
Описание

Image

Object

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

   Flip

   Boolean

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

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

   Mirror

   Boolean

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

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

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

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

Тело:

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

CURL:

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

Тело:

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

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

Тело:

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

CURL:

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

/camera/snapshot

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

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

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

 Заголовки:

Название

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

Content-Type

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

Тело:

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

 CURL:

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

/camera/whiteBlack

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

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

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

Название

Тип
Описание

state

Boolean

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

threshold

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

   exposureCurrent

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

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

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

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

   exposureNight    Integer

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

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

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

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

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

Тело:

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

CURL:

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

Тело:

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

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

Тело:

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

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

Тело:

Название
Тип
Описание
errors Array

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

   message    String    Сообщение об ошибке.
{
    "errors": [
        {
            "message": "Не удалось распарсить JSON 3: unexpected token near '}'"
        }
    ]
}
Примеры

CURL:

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

/v2/camera/osd

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

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

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

Название

Тип
Описание

size

Integer

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

text String

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

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

color

String Цвет osd в hex.

date

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

   enable

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

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

time

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

   enable

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

position

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

   x

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

   y

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

background

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

   enable

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

   Цвет фона в hex.

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

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

Тело:

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

CURL:

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

Тело:

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

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

Тело:

 

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

 

400 Bad Request

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

Тело:

Название

Тип
Описание

errors

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

   message

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

CURL:

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

/v2/camera/picture

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

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

Название

Тип
Описание

u8Contr

Integer

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

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

 

ВАЖНО!

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

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

u8Luma

Integer

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

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

 

ВАЖНО!

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

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

u8Satu

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

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

 

ВАЖНО!

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

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

u8Hue

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

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

 

ВАЖНО!

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

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

wb

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

   u8RGStrength

   Integer    

   u8BGStrength

   Integer    

dehaze

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

   u8strength

   Integer

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

 

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

drc

Object

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

 

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

   u16Strength

   Integer

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

 

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

   u16StrengthMax

   Integer

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

 

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

   u16StrengthMin

   Integer

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

 

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

iso

Object

   index

   Integer

   params

   Object

      0-15

      Object

         sharpness

         Object

            au16TextureFreq

            Integer

            au16EdgeFreq

            Integer

            au8OverShoot

            Integer

            au8UnderShoot

            Integer

            au8DetailCtrl

            Integer

            au8RGain

            Integer

            au8GGain

            Integer

            au8BGain

            Integer

            au8SkinGain

            Integer

            au16MaxSharpGain

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

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

Тело:

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

CURL:

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

Тело:

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

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

Тело:

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

CURL:

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

/v3/camera/osd

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

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

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

Название

Тип
Описание

size

Integer

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

text String

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

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

color

String Цвет osd в hex.

date

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

   enable

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

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

time

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

   enable

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

position

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

   x

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

   y

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

background

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

   enable

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

   Цвет фона в hex.

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

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

Тело:

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

CURL:

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

Тело:

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

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

Тело:

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

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

Тело:

Название

Тип
Описание

errors

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

   message

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

CURL:

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


Коды

/openCode

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

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

Описание

code Integer

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

panelCode Integer

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

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

Тело:

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

CURL:

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

Тело:

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

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

Тело:

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

Тело:

Название
Тип

Описание

errors Array

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

   field    String

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

   message    String

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

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

 CURL:

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

/openCode/clear

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

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

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

404 Not Found

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

Тело:

Название

Тип

Описание

errors

Array

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

   messgae

   String

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

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

 CURL:

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

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

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

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

Описание

code Integer

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

panelCode Integer

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

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

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

Тело:

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

Ошибка при указании не верного номера квартиры

Тело:

Название
Тип

Описание

errors Integer

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

   message    String

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

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

 CURL:

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

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

404 Not Found

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

Тело:

Название
Тип

Описание

errors Array

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

   message

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

CURL:

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

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

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

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

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

404 Not Found

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

Тело:

Название

Тип
Описание

errors

Object

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

   message

   String

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

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

CURL: 

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

Ключи

/key/settings

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

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

Описание

mode Integer

Режим работы базы данных с ключами 4 или 7 байт.

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

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

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

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

 

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

autocollect Object

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

   enabled    Boolean

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

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

   room    Integer

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

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

encryption Object

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

    enabled    Boolean

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

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

   key_type    String

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

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

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

   key_auth    String

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

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

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

   sector   Integer

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

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

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

   increment    Object

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

      enabled       Boolean

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

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

      block       Integer

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

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

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

      openByError       Boolean

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

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

kb_codes Boolean

Флаг включения / выключения сервисных кодов.

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

 

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

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

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

Тело:

{
    "mode": 1,
    "autocollect": {
        "enabled": false,
        "room": 0
    },
    "encryption": {
        "enabled": false,
        "key_type": "A",
        "key_auth": "FFFFFFFFFFFF",
        "sector": 0,
        "increment": {
            "enabled": true,
            "block": 0,
            "openByError": true
        }
    },
    "kb_codes": false
}
Примеры

 CURL:

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

Тело:

{
    "mode": 1,
    "autocollect": {
        "enabled": false,
        "room": 0
    },
    "encryption": {
        "enabled": false,
        "key_type": "A",
        "key_auth": "FFFFFFFFFFFF",
        "sector": 0,
        "increment": {
            "enabled": true,
            "block": 0,
            "openByError": true
        }
    },
    "kb_codes": false
}
Ответы
200 OK

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

Тело:

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

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

Тело:

Название
Тип

Описание

errors Array

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

   message    String

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

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

 CURL:

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

/key/store

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

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

Описание

uuid String

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

panelCode Integer

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

encryption Boolean

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

 

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

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

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

Тело:

[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 1,
        "encryption": true
    },
    {
        "uuid": "000000CCDDEEFF",
        "panelCode": 2,
        "encryption": true
    }
]
Примеры

 CURL:

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

Тело:

{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}
Ответы
200 OK

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

Тело:

{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}
Примеры

CURL:

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

/key/store/clear

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

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

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

Примеры

 CURL:

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

/key/store/merge

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

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

Описание

uuid String

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

panelCode Integer

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

encryption Boolean

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

 

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

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

Тело:

[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 0,
        "encryption": true
    }
]
Ответы
200 OK

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

Тело:

[
    {
        "uuid": "000000AABBCCDD",
        "panelCode": 0,
        "encryption": true
    },
    {
        "uuid": "000000BBCCDDEE",
        "panelCode": 0,
        "encryption": true
    }
]
Примеры

 CURL:

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

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

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

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

Описание

uuid String

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

panelCode Integer

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

encryption Boolean

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

 

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

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

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

Тело:

{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}
Примеры

CURL:

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

Тело:

{
    "panelCode": 0,
    "encryption": true
}
Ответы
200 OK

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

Тело:

{
    "uuid": "000000AABBCCDD",
    "panelCode": 0,
    "encryption": true
}
Примеры

CURL: 

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

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

Примеры

 CURL:

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

/v1/key/markup/mifare

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

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

Описание

enabled Boolean

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

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

numSectors Integer

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

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

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

markup Object

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

   0 - 15    String

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

      skip       Object

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

          err          Boolean

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

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

          always          Boolean

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

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

      key       Object

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

         type          String

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

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

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

         value          String

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

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

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

      0 - 3       String

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

 

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

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

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

Тело:

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

CURL:

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

Тело:

{
    "enable": false,
    "numSectors": 16,
    "markup": {
        "0": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        },
        ...,
        "15": {
            "skip": {
                "err": true,
                "always": true
            },
            "key": {
                "type": "A",
                "value": "FFFFFFFFFFFF"
            },
            "3": null,
            "2": null,
            "1": null,
            "0": null
        }
    }
}
Ответы
200 OK

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

Тело:

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

 CURL:

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

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

Пример

CURL:

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

Квартиры

/panelCode

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

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

Описание

panelCode Integer

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

callsEnabled Object

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

   sip     Boolean

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

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

   handset    Boolean

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

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

soundOpenTh Boolean

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

typeSound Integer

Режимы эхоподавления при вызове в АТ.

 - Ограничения: 0, 1, 2, 3
   - 0, 1, 2 - варианты эхоподавления;
   - 3 - общие настройки.

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

volumes Object

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

 

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

   thCall    Integer

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

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

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

   thTalk    Integer

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

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

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

   uartFrom    Integer

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

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

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

   uartTo    Integer

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

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

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

   panelCall    Integer

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

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

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

   panelTalk    Integer

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

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

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

resistances Object

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

 

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

   quiescent

   Integer

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

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

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

   answer    Integer

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

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

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

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

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

Тело:

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

CURL:

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

Тело:

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

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

Тело:

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

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

Тело:

Название
Тип

Описание

errors Array

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

   field    String

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

   message    String

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

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

 CURL:

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

/panelCode/clear

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

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

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

Примеры

 CURL:

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

/panelCode/settings

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

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

Название

Тип Описание

consiergeRoom

String

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

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

sosRoom

String

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

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

sosDelay

Boolean

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

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

sosDelayTime

Integer

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

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

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

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

sosType

Boolean

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

 - true - "112";

 - false - "SOS".

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

soundOpenPanel

Boolean

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

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

soundOpenTh

Boolean

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

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

typeSound Integer

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

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

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

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

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

Тело: 

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

CURL:

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

Тело:

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

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

Тело:

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

 CURL:

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

/panelCode/diag

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

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

Название

Тип Описание

1 - 5

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

   resist

   Integer

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

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

   status

   String

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

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

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

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

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

   error

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

Тело:

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

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

Тело:

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

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request POST 'http://192.168.0.100:80/panelCode/diag' \
--data-raw '[1, 2, 3, 4, 5]'

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

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

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

Описание

panelCode Integer

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

callsEnabled Object

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

   sip     Boolean

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

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

   handset    Boolean

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

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

soundOpenTh Boolean

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

typeSound Integer

Режимы эхоподавления при вызове в АТ.

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

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

volumes Object

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

 

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

   thCall    Integer

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

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

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

   thTalk    Integer

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

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

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

   uartFrom    Integer

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

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

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

   uartTo    Integer

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

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

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

   panelCall    Integer

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

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

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

   panelTalk    Integer

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

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

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

resistances Object

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

 

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

   quiescent

   Integer

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

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

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

   answer    Integer

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

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

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

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

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

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL: 

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

Тело:

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

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

Тело:

{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/1' \
--data-raw '{
    "panelCode": 1,
    "callsEnabled": {
        "sip": true,
        "handset": true
    },
    "soundOpenTh": null,
    "typeSound": 3,
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'
DELETE - Удаление квартиры
Ответы
204 OK

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

Примеры

CURL:

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

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

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

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

Описание

volumes Object

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

 

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

   thCall    Integer

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

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

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

   thTalk    Integer

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

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

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

   uartFrom    Integer

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

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

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

   uartTo    Integer

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

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

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

   panelCall    Integer

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

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

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

   panelTalk    Integer

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

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

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

resistances Object

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

 

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

   quiescent

   Integer

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

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

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

   answer    Integer

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

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

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

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

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

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

 CURL:

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

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Ответы
200 OK

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

Тело:

{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelCode/1/levels' \
--data-raw '{
    "volumes": {
        "thCall": null,
        "thTalk": null,
        "uartFrom": null,
        "uartTo": null,
        "panelCall": null,
        "panelTalk": null
    },
    "resistances": {
        "quiescent": null,
        "answer": null
    }
}'

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

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

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

Название

Тип Описание

resist

Integer

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

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

status

String

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

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

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

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

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

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

Тело:

{
    "resist": 75,
    "status": "down"
}

или

{
    "resist": 190,
    "status": "up"
}
500 Internal Server Error

Внутренняя ошибка при обработке метода

Тело:

Название

Тип
Описание

errors

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

   message

   String    Сообщение с ошибкой.
{
    "errors": [
        {
            "message": "Обрыв трубки, кв. 1"
        }
    ]
}
Примеры

 CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelCode/1/resist'

/panelCode/rooms_update

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

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

Описание

panelCode Integer

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

callsEnabled Object

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

   sip     Boolean

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

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

   handset    Boolean

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

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

soundOpenTh Boolean

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

typeSound Integer

Режимы эхоподавления при вызове в АТ.

 - Ограничения: 0, 1, 2, 3
   - 0, 1, 2 - варианты эхоподавления;
   - 3 - общие настройки.

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

volumes Object

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

 

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

   thCall    Integer

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

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

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

   thTalk    Integer

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

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

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

   uartFrom    Integer

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

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

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

   uartTo    Integer

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

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

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

   panelCall    Integer

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

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

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

   panelTalk    Integer

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

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

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

resistances Object

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

 

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

   quiescent

   Integer

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

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

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

   answer    Integer

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

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

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

PUT - Обновление параметров
Запрос

Тело:

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

 Заголовки:

Название

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

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
400 Bad Request

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

Тело:

Название
Тип

Описание

errors Array

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

   message    String

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

{
    "errors": [
        {
            "message": "Не удалось распарсить JSON 15: ']' expected near end of file"
        }
    ]
}
Примеры

CURL:

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

Калитка

/gate/settings

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

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

Название

Тип Описание

gateMode

Boolean

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

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

prefixHouse

Boolean

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

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

direct

Object

Параметры прямых вызовов с устройства на устройство.

   mode

   Boolean

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

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

   rules

   Object

   Правила для прямых вызовов.

      0

      String

      Префикс дома при вызове.

       - Ограничения: цифры

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

 

      ВАЖНО! Если требуются прямые вызовы, но не включен префикс, то всегда указываем 0. В остальных случаях указываем необходимый префикс дома.

         1 - 10

         String

         Диапазон квартир при наборе которого будет уходить вызов на указанное устройство.

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

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

Тело:

{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
Примеры

CURL:

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

Тело:

{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
Ответы
200 OK

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

Тело:

{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {
           "0": {
              "1-10": "192.168.0.101"
           }
        }
    }
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/gate/settings' \
--data-raw '{
    "gateMode": false,
    "prefixHouse": false,
    "direct": {
        "mode": false,
        "rules": {}
    }
}'

Уровни звука

/levels

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

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

Описание

resistances Object

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

 

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

   break

   Integer

   Уровень при неисправности трубки.

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

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

   error

   Integer

   Уровень при обрыве.

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

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

   quiescent

   Integer

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

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

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

   answer    Integer

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

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

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

   thTalk    Integer

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

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

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

   uartFrom    Integer

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

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

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

   uartTo    Integer

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

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

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

   panelCall    Integer

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

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

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

   panelTalk    Integer

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

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

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

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

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

Тело:

{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
Примеры

CURL:

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

Тело:

{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
Ответы
200 OK

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

Тело:

{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    }
}
Примеры

 CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/levels' \
--data-raw '{
    "resistances": {
        "break": 240,
        "error": 105,
        "quiescent": 255,
        "answer": 255
    },
    "volumes": {
        "panelCall": 110,
        "panelTalk": 125,
        "thTalk": 250,
        "thCall": 130,
        "uartFrom": 135,
        "uartTo": 255
    },
    "noise": {
        "line": null
    }
}'

/levels/realtime

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

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

Описание

thCall Integer

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

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

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

thTalk Integer

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

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

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

uartFrom Integer

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

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

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

uartTo Integer

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

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

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

panelCall Integer

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

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

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

panelTalk Integer

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

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

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

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

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

Тело:

{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}
Примеры

CURL:

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

Тело:

{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}
Ответы
200 OK

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

Тело:

{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/levels/realtime' \
--data-raw '{
    "thCall": 0,
    "panelCall": 0,
    "thTalk": 0,
    "panelTalk": 0,
    "uartFrom": 0,
    "uartTo": 0
}'

Логи

/log/last

Метод получения последних 100 строк логов.

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

 Успешное получение логов

Заголовки:

Название

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

Content-Type

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

Тело:

2023-08-14T13:48:07.458354+05:00 081300000000 UART[1001]: STM32.DEBUG: 07F765003901000003401084846270882020
2023-08-14T13:48:08.976034+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:08.978101+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:09.008538+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 339469 bytes
2023-08-14T13:48:28.977651+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:28.986152+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:29.032053+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 340180 bytes
2023-08-14T13:48:30.961621+05:00 081300000000 API[1037]: Вызов метода: 1 /system/fw_env [192.168.0.10]
2023-08-14T13:48:31.083043+05:00 081300000000 UART[1001]: STM32.DEBUG: 06
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/log/last'

/v2/logs/{сервис}

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

Список поддерживаемых параметров "{сервис}":
   - all - все логи устройства;
   - api - логи API сервера;
   - uart - логи UART клиента;
   - ddns - логи DDNS клиента;
   - camofon - логи SIP клиента;
   - streamer - логи RTSP сервера;
   - ircut - логи переключения ИК шторки;
   - upgrade - логи обновления устройства.

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

Успешное получение логов

Заголовки:

Название

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

Content-Type

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

Тело: 

2023-08-14T13:48:07.458354+05:00 081300000000 UART[1001]: STM32.DEBUG: 07F765003901000003401084846270882020
2023-08-14T13:48:08.976034+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:08.978101+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:09.008538+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 339469 bytes
2023-08-14T13:48:28.977651+05:00 081300000000 API[1037]: Вызов метода: 1 /camera/snapshot [192.168.0.10]
2023-08-14T13:48:28.986152+05:00 081300000000 STREAMER[986]: ProcessRequest with command: make_snapshot
2023-08-14T13:48:29.032053+05:00 081300000000 STREAMER[986]: Make snapshot: save to file 340180 bytes
2023-08-14T13:48:30.961621+05:00 081300000000 API[1037]: Вызов метода: 1 /system/fw_env [192.168.0.10]
2023-08-14T13:48:31.083043+05:00 081300000000 UART[1001]: STM32.DEBUG: 06
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/log/all'

Настройки сети

/v1/network

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

Устройство поддерживает до 3-х виртуальных сетевых интерфейсов.

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

Название

Тип Описание

inet

String

Тип виртуального сетевого интерфейса.

Ограничения: dhcp, static

inetStatic

Object

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

   netmask

   String

   Сетевая маска при подключении к сети.

    - Ограничения: IPv4 адрес

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

   gateway

   String

   Сетевой шлюз при подключении к сети.

    - Ограничения: IPv4 адрес

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

   ipAddress

   String

   IP адрес устройства при подключении к сети.

    - Ограничения: IPv4 адрес

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

   dnsServer

   String

   IP адрес DNS сервера.

    - Ограничения: IPv4 адрес

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

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

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

Тело:

[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]
Примеры

CURL:

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

Тело: 

[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "192.168.0.1",
            "ipAddress": "192.168.0.100",
            "dnsServer": "192.168.0.1"
        }
    }
]
Ответы
200 OK

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

Тело: 

[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "192.168.0.1",
            "ipAddress": "192.168.0.100",
            "dnsServer": "192.168.0.1"
        }
    }
]
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/network' \
--data-raw '[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "192.168.0.1",
            "ipAddress": "192.168.0.100",
            "dnsServer": "192.168.0.1"
        }
    }
]'
DELETE - Сброс к стандартным
Ответы
200 OK

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

Тело:

[
    {
        "inet": "dhcp"
    },
    {
        "inet": "static",
        "inetStatic": {
            "netmask": "255.255.255.0",
            "gateway": "",
            "ipAddress": "192.168.0.100",
            "dnsServer": ""
        }
    }
]
Примеры

 CURL:

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

Уведомления

/v1/notification/forced/list

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

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

Описание

name String

Наименование файла.

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

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

Тело:

[
    {
        "name": "test.wav"
    }
]
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/notification/forced/list'

/v1/notification/forced/play

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

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

Описание

name String

Наименование файла для запуска воспроизведения.

repeat Integer

Количество повторений воспроизведений указанного файла.

PUT - Воспроизведения аудио файла
Запрос

Тело:

{
    "name": "test.wav",
    "repeat": 3
}
Ответы
200 OK

Успешное воспроизведение аудио файла

Тело:

{
    "name": "test.wav",
    "repeat": 3
}
Примеры

 CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/notification/forced/play' \
--data-raw '{
    "name": "test.wav",
    "repeat": 3
}'

/v1/notification/forced/stop

Метод остановки воспроизводимого аудиофайла.

PUT - Остановка аудио файла
Ответы
200 OK

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

Заголовки: 

Название

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

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/notification/forced/stop'

Бегущая строка

/panelDisplay/settings

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

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

Описание

strDisplayOff Boolean

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

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

imgStr String

Текст отображения на дисплее.

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

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

 

ВАЖНО! Поддерживается латинский алфавит и цифры ASCII.

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

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

Тело:

{
    "strDisplayOff": true,
    "imgStr": ""
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/panelDisplay/settings'
PUT - Изменить параметры
Запрос

Тело:

{
    "strDisplayOff": true,
    "imgStr": ""
}
Ответы
200 OK

Успешное изменение параметров 

Тело:

{
    "strDisplayOff": true,
    "imgStr": ""
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/panelDisplay/settings' \
--data-raw '{
    "strDisplayOff": true,
    "imgStr": ""
}'

Реле

/relay/info

Метод получения поддерживаемых номеров реле.

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Заголовки:

Название

Значение
Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных

Тело:

[1, 2]
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/info'

/relay/settings

Методы получения и изменения общих параметров реле. 

Описание параметров
Название
Тип

Описание

inverseDoor Boolean

Флаг включения / выключения программного инвертирования "Основного" и "Дополнительного" выходов.

 - По умолчанию: false

alwaysOpenNetMode Boolean

Флаг включения / выключения режима открытых дверей при недоступности сети.

 - По умолчанию: false

alwaysOpen Boolean

Флаг включения / выключения режима открытых дверей.

 - По умолчанию: false

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/settings'
PUT - Изменение параметров
Запрос

Тело:

{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}
Ответы
200 OK

Успешное изменение параметров

Тело:

{
    "inverseDoor": false,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}
Примеры

 CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/settings' \
--data-raw '{
    "inverseDoor": true,
    "alwaysOpenNetMode": false,
    "alwaysOpen": false
}'

/relay/{номер реле}/open

Метод открытия указанного номера реле. 

PUT - Открытие реле
Запрос

 Заголовки:

Название

Значение
Описание

Authorization

Basic cm9vdDoxMjM0NTY= Заголовок "Базовой авторизации"
Ответы
204 OK

Успешное открытие реле

Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/1/open'

/relay/{номер реле}/settings

Методы получения и изменения параметров указанного номера реле.

Описание параметров
Название
Тип

Описание

switchTime Integer

Время удержания двери в открытом состоянии.

 - Ограничения: 1 - 10 секунд

 - По умолчанию: 1

alwaysOpen Boolean

Флаг включения / выключения режима открытых дверей.

 - По умолчанию: false

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
    "switchTime": 1,
    "alwaysOpen": false
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/relay/1/settings'
PUT - Изменение параметров
Запрос

Тело:

{
    "switchTime": 1,
    "alwaysOpen": false
}
Ответы
200 OK

Успешное изменение параметров

Тело:

{
    "switchTime": 1,
    "alwaysOpen": false
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/relay/1/settings' \
--data-raw '{
    "switchTime": 1,
    "alwaysOpen": false
}'

SIP

/sip/options

Методы получения и изменения sip-параметров для управления вызовом;

Описание параметров
Название
Тип

Описание

dtmf Object

Параметры DTMF для выходов;

   1, 2    String

   Символ необходимый для открытия выхода 1, 2.

    - Длина: 1 символ

    - По умолчанию: 1, 2

callDelay Integer

Задержка вызова в АТ.

 - Ограничения: 0 - 255 секунд

 - По умолчанию: 0 секунд

talkDuration Integer

Время разговора с момента поднятия трубки в АТ или в SIP.

 - Ограничения: 1 - 255 секунд

 - По умолчанию: 180 секунд

ringDuration Integer

Время совершения вызова до поднятия трубки в АТ или в SIP.

 - Ограничения: 1 - 255 секунд

 - По умолчанию: 60 секунд

echoD Boolean

Флаг включения / выключения алгоритма эхоподавления в SIP.

 - По умолчанию: true

GET - Получение параметров
Запрос

 Заголовки:

Название

Значение
Описание

Authorization

Basic cm9vdDoxMjM0NTY= Заголовок "Базовой авторизации"
Ответы
200 OK

Заголовки:

Название

Значение
Описание

Content-Type

application/json Тип возвращаемых данных

Content-Length

90 Размер возвращаемых данных

X-Device-Mac

08:13:00:00:00:00 Мак адрес устройства

Тело:

Название
Тип

Описание

dtmf Object

Параметры DTMF для выходов;

   1    String

   Символ необходимый для открытия выхода 1.

    - Длина: 1 символ

    - По умолчанию: 1

   2    String

   Символ необходимый для открытия выхода 2.

    - Длина: 1 символ

    - По умолчанию: 2

callDelay Integer

Задержка вызова в АТ.

 - Ограничения: 0 - 255 секунд

 - По умолчанию: 0 секунд

talkDuration Integer

Время разговора с момента поднятия трубки в АТ или в SIP.

 - Ограничения: 1 - 255 секунд

 - По умолчанию: 180 секунд

ringDuration Integer

Время совершения вызова до поднятия трубки в АТ или в SIP.

 - Ограничения: 1 - 255 секунд

 - По умолчанию: 60 секунд

echoD Boolean

Флаг включения / выключения алгоритма эхоподавления в SIP.

 - По умолчанию: true

{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}
500 Internal Server Error

Внутренняя ошибка при обработке метода

Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/options'
PUT - Изменение параметров
Запрос

Тело:

{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}
Ответы
200 OK

Успешное изменение параметров

Тело:

{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}
Примеры

 CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/options' \
--data-raw '{
    "dtmf": {
        "1": "1",
        "2": "2"
    },
    "callDelay": 0,
    "talkDuration": 180,
    "ringDuration": 60,
    "echoD": true
}'

/sip/settings

Методы получения и изменения sip-параметров для авторизации на сервере.

Описание параметров
Название
Тип

Описание

videoEnable Boolean

Флаг включения / выключения видео-потока в видео вызове;

 - По умолчанию: true

remote Object

Параметры авторизации на SIP сервере.

   port    Integer

   Порт сервера на который отправляются запросы.

    - По умолчанию: 5060

   domain    String

   Адрес сервера на который отправляются запросы.

    - По умолчанию: domain.com

   username    String

   Логин для авторизации на сервере.

     - По умолчанию: "" 

   password    String

   Пароль для авторизации на сервере.

     - По умолчанию: ""

   registerStatus    Boolean

   Флаг текущего состояния авторизации на сервере.

GET - Получение параметров
Запрос

Заголовки:

Название

Значение
Описание

Authorization

Basic cm9vdDoxMjM0NTY= Заголовок "Базовой авторизации"
Ответы
200 OK

 Успешное получение параметров

Заголовки:

Название

Значение
Описание

Content-Type

application/json Тип возвращаемых данных

Content-Length

116 Размер возвращаемых данных

X-Device-Mac

08:13:00:00:00:00 Мак адрес устройства

Тело:

Название
Тип

Описание

videoEnable Boolean

Флаг включения / выключения видео-потока в видео вызове;

 - По умолчанию: true

remote Object

Параметры авторизации на SIP сервере.

   port    Integer

   Порт сервера на который отправляются запросы.

    - По умолчанию: 5060

   domain    String

   Адрес сервера на который отправляются запросы.

    - По умолчанию: domain.com

   username    String

   Логин для авторизации на сервере.

     - По умолчанию: "" 

   password    String

   Пароль для авторизации на сервере.

     - По умолчанию: ""

   registerStatus    Boolean

   Флаг текущего состояния авторизации на сервере.

{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": "",
        "registerStatus": false
    }
}
Примеры

 CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/settings'
PUT - Изменение параметров
Запрос

Тело:

{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": ""
    }
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": "",
        "registerStatus": false
    }
}
500 Internal Server Error

Внутренняя ошибка при обработке метода

Тело:

{
    "errors": [
        {
            "field": "SetServer",
            "message": "Ошибка установки параметра"
        }
    ]
}
Примеры

CURL:

curl 
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/sip/settings' \
--data-raw '{
    "videoEnable": true,
    "remote": {
        "port": 5060,
        "domain": "domain.com",
        "username": "",
        "password": ""
    }
}'

/sip/test/{номер квартиры}

Метод создания тестового вызова в абонентскую трубку и SIP для указанного номера квартиры.

GET - Отправка тестового вызова
Ответы
200 OK

 Успешная отправка тестового вызова

Заголовки:

Название

Значение
Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/1'

/sip/test/sip/{номер квартиры}

Метод создания тестового вызова в SIP для указанного номера квартиры.

GET - Отправка тестового вызова
Ответы
200 OK

Успешная отправка тестового вызова 

Заголовки:

Название

Значение
Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/sip/1'

/sip/test/analog/{номер квартиры}

Метод создания тестового вызова в абонентскую трубку для указанного номера квартиры.

GET - Отправка тестового вызова
Ответы
200 OK

 Успешная отправка тестового вызова

Заголовки:

Название

Значение
Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/sip/test/analog/1'

Вызовы

/v1/call/stop

Метод завершения текущего вызова.

PUT - Завершение вызова
Ответы
200 OK

 Успешное завершение вызова

Заголовки:

Название

Значение
Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

CURL:

curl 
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v1/call/stop'

Матрицы

/switch/info/models

Метод получения списка поддерживаемых коммутаторов устройством.

Описание параметров
Название
Тип

Описание

id String

Модель поддерживаемового коммутатора.

name String

Наименование поддерживаемового коммутатора.

eCount Integer

Количество единиц используемых для коммутации.

GET - Получение списка
Ответы
200 OK

Успешное получение списка

Тело:

[
    {
        "id": "FACTORIAL",
        "name": "Факториал",
        "eCount": 8
    },
    {
        "id": "CYFRAL",
        "name": "Цифрал",
        "eCount": 10
    },
    {
        "id": "VIZIT",
        "name": "Визит",
        "eCount": 10
    },
    {
        "id": "METAKOM",
        "name": "Метаком",
        "eCount": 10
    },
    {
        "id": "ELTIS",
        "name": "Элтис",
        "eCount": 10
    }
]
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/info/models'

/switch/settings

Методы получения и изменения общих параметров для коммутаторов.

Описание параметров
Название
Тип

Описание

modelId String

Модель используемого коммутатора.

   Метод для получения поддерживаемых коммутаторов: /switch/info/models

usingCom3 Boolean

Флаг включения / выключения использования "Платы управления замком" или "Третьего коммутатора".

 - По умолчанию: true

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "modelId": "CYFRAL",
    "usingCom3": true
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/settings'
PUT - Изменение параметров
Запрос

Тело:

{
    "modelId": "CYFRAL",
    "usingCom3": true
}
Ответы
200 OK

Успешное изменение параметров

Тело:

{
    "modelId": "CYFRAL",
    "usingCom3": true
}
Примеры

CURL: 

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/switch/settings' \
--data-raw '{
    "modelId": "CYFRAL",
    "usingCom3": true
}'

/switch/matrix/{номер матрицы коммутации}

Методы получения и изменения указанной матрицы коммутации.

Панель поддерживает подключение до 2-х коммутаторов:
   - Визит.

Панель поддерживает подключение до 3-х коммутаторов:
   - Элтис;
   - Бевард;
   - Цифрал;
   - Метаком;
   - Факториал.

Описание параметров
Название
Тип

Описание

capacity Integer

Размер указанного коммутатора.
 - Ограничения: 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
        ],
        [
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19
        ],
        [
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29
        ],
        [
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39
        ],
        [
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49
        ],
        [
            50,
            51,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            59
        ],
        [
            60,
            61,
            62,
            63,
            64,
            65,
            66,
            67,
            68,
            69
        ],
        [
            70,
            71,
            72,
            73,
            74,
            75,
            76,
            77,
            78,
            79
        ],
        [
            80,
            81,
            82,
            83,
            84,
            85,
            86,
            87,
            88,
            89
        ],
        [
            90,
            91,
            92,
            93,
            94,
            95,
            96,
            97,
            98,
            99
        ]
    ]
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/matrix/1'
PUT - Изменение параметров
Запрос

Тело:

{
    "capacity": 100,
    "matrix": [
        [
            100,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
        ],
        [
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19
        ],
        [
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29
        ],
        [
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39
        ],
        [
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49
        ],
        [
            50,
            51,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            59
        ],
        [
            60,
            61,
            62,
            63,
            64,
            65,
            66,
            67,
            68,
            69
        ],
        [
            70,
            71,
            72,
            73,
            74,
            75,
            76,
            77,
            78,
            79
        ],
        [
            80,
            81,
            82,
            83,
            84,
            85,
            86,
            87,
            88,
            89
        ],
        [
            90,
            91,
            92,
            93,
            94,
            95,
            96,
            97,
            98,
            99
        ]
    ]
}
Ответы
200 OK

 Успешное изменение параметров

Тело:

{
    "capacity": 100,
    "matrix": [
        [
            100,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
        ],
        [
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19
        ],
        [
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29
        ],
        [
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39
        ],
        [
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49
        ],
        [
            50,
            51,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            59
        ],
        [
            60,
            61,
            62,
            63,
            64,
            65,
            66,
            67,
            68,
            69
        ],
        [
            70,
            71,
            72,
            73,
            74,
            75,
            76,
            77,
            78,
            79
        ],
        [
            80,
            81,
            82,
            83,
            84,
            85,
            86,
            87,
            88,
            89
        ],
        [
            90,
            91,
            92,
            93,
            94,
            95,
            96,
            97,
            98,
            99
        ]
    ]
}
Примеры

 CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/switch/matrix/1' \
--data-raw '{
    "capacity": 100,
    "matrix": [
        [
            100,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
        ],
        [
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19
        ],
        [
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29
        ],
        [
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39
        ],
        [
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49
        ],
        [
            50,
            51,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            59
        ],
        [
            60,
            61,
            62,
            63,
            64,
            65,
            66,
            67,
            68,
            69
        ],
        [
            70,
            71,
            72,
            73,
            74,
            75,
            76,
            77,
            78,
            79
        ],
        [
            80,
            81,
            82,
            83,
            84,
            85,
            86,
            87,
            88,
            89
        ],
        [
            90,
            91,
            92,
            93,
            94,
            95,
            96,
            97,
            98,
            99
        ]
    ]
}'

 


Микроконтроллер

/v1/mcu/info

Метод получения информации о микроконтроллере.

Описание параметров
Название
Тип

Описание

power Object

Параметры питания панели;

   dc    Float

   Входное напряжение;

chipId Integer

Идентификатор микроконтроллера;

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров

Тело:

{
    "power": {
        "dc": 12.412
    },
    "chipId": 2321944743649890300
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v1/mcu/info'

Системное

/system/tz

Метод получения поддерживаемых временных зон.

GET - Получение списка
Ответы
200 OK

Успешное получение списка

Тело:

[
    "Africa/Abidjan",
    "Africa/Accra",
    "Africa/Addis_Ababa",
    "Africa/Algiers",
    "Africa/Asmara",
    "Africa/Asmera",
    "Africa/Bamako",
    "Africa/Bangui",
    "Africa/Banjul",
    "Africa/Bissau",
    "Africa/Blantyre",
    "Africa/Brazzaville",
    "Africa/Bujumbura",
    "Africa/Cairo",
    "Africa/Casablanca",
    "Africa/Ceuta",
    "Africa/Conakry",
    "Africa/Dakar",
    "Africa/Dar_es_Salaam",
    "Africa/Djibouti",
    "Africa/Douala",
    "Africa/El_Aaiun",
    "Africa/Freetown",
    "Africa/Gaborone",
    "Africa/Harare",
    "Africa/Johannesburg",
    "Africa/Juba",
    "Africa/Kampala",
    "Africa/Khartoum",
    "Africa/Kigali",
    "Africa/Kinshasa",
    "Africa/Lagos",
    "Africa/Libreville",
    "Africa/Lome",
    "Africa/Luanda",
    "Africa/Lubumbashi",
    "Africa/Lusaka",
    "Africa/Malabo",
    "Africa/Maputo",
    "Africa/Maseru",
    "Africa/Mbabane",
    "Africa/Mogadishu",
    "Africa/Monrovia",
    "Africa/Nairobi",
    "Africa/Ndjamena",
    "Africa/Niamey",
    "Africa/Nouakchott",
    "Africa/Ouagadougou",
    "Africa/Porto-Novo",
    "Africa/Sao_Tome",
    "Africa/Timbuktu",
    "Africa/Tripoli",
    "Africa/Tunis",
    "Africa/Windhoek",
    "America/Adak",
    "America/Anchorage",
    "America/Anguilla",
    "America/Antigua",
    "America/Araguaina",
    "America/Argentina/Buenos_Aires",
    "America/Argentina/Catamarca",
    "America/Argentina/ComodRivadavia",
    "America/Argentina/Cordoba",
    "America/Argentina/Jujuy",
    "America/Argentina/La_Rioja",
    "America/Argentina/Mendoza",
    "America/Argentina/Rio_Gallegos",
    "America/Argentina/Salta",
    "America/Argentina/San_Juan",
    "America/Argentina/San_Luis",
    "America/Argentina/Tucuman",
    "America/Argentina/Ushuaia",
    "America/Aruba",
    "America/Asuncion",
    "America/Atikokan",
    "America/Atka",
    "America/Bahia",
    "America/Bahia_Banderas",
    "America/Barbados",
    "America/Belem",
    "America/Belize",
    "America/Blanc-Sablon",
    "America/Boa_Vista",
    "America/Bogota",
    "America/Boise",
    "America/Buenos_Aires",
    "America/Cambridge_Bay",
    "America/Campo_Grande",
    "America/Cancun",
    "America/Caracas",
    "America/Catamarca",
    "America/Cayenne",
    "America/Cayman",
    "America/Chicago",
    "America/Chihuahua",
    "America/Coral_Harbour",
    "America/Cordoba",
    "America/Costa_Rica",
    "America/Creston",
    "America/Cuiaba",
    "America/Curacao",
    "America/Danmarkshavn",
    "America/Dawson",
    "America/Dawson_Creek",
    "America/Denver",
    "America/Detroit",
    "America/Dominica",
    "America/Edmonton",
    "America/Eirunepe",
    "America/El_Salvador",
    "America/Ensenada",
    "America/Fort_Nelson",
    "America/Fort_Wayne",
    "America/Fortaleza",
    "America/Glace_Bay",
    "America/Godthab",
    "America/Goose_Bay",
    "America/Grand_Turk",
    "America/Grenada",
    "America/Guadeloupe",
    "America/Guatemala",
    "America/Guayaquil",
    "America/Guyana",
    "America/Halifax",
    "America/Havana",
    "America/Hermosillo",
    "America/Indiana/Indianapolis",
    "America/Indiana/Knox",
    "America/Indiana/Marengo",
    "America/Indiana/Petersburg",
    "America/Indiana/Tell_City",
    "America/Indiana/Vevay",
    "America/Indiana/Vincennes",
    "America/Indiana/Winamac",
    "America/Indianapolis",
    "America/Inuvik",
    "America/Iqaluit",
    "America/Jamaica",
    "America/Jujuy",
    "America/Juneau",
    "America/Kentucky/Louisville",
    "America/Kentucky/Monticello",
    "America/Knox_IN",
    "America/Kralendijk",
    "America/La_Paz",
    "America/Lima",
    "America/Los_Angeles",
    "America/Louisville",
    "America/Lower_Princes",
    "America/Maceio",
    "America/Managua",
    "America/Manaus",
    "America/Marigot",
    "America/Martinique",
    "America/Matamoros",
    "America/Mazatlan",
    "America/Mendoza",
    "America/Menominee",
    "America/Merida",
    "America/Metlakatla",
    "America/Mexico_City",
    "America/Miquelon",
    "America/Moncton",
    "America/Monterrey",
    "America/Montevideo",
    "America/Montreal",
    "America/Montserrat",
    "America/Nassau",
    "America/New_York",
    "America/Nipigon",
    "America/Nome",
    "America/Noronha",
    "America/North_Dakota/Beulah",
    "America/North_Dakota/Center",
    "America/North_Dakota/New_Salem",
    "America/Ojinaga",
    "America/Panama",
    "America/Pangnirtung",
    "America/Paramaribo",
    "America/Phoenix",
    "America/Port-au-Prince",
    "America/Port_of_Spain",
    "America/Porto_Acre",
    "America/Porto_Velho",
    "America/Puerto_Rico",
    "America/Punta_Arenas",
    "America/Rainy_River",
    "America/Rankin_Inlet",
    "America/Recife",
    "America/Regina",
    "America/Resolute",
    "America/Rio_Branco",
    "America/Rosario",
    "America/Santa_Isabel",
    "America/Santarem",
    "America/Santiago",
    "America/Santo_Domingo",
    "America/Sao_Paulo",
    "America/Scoresbysund",
    "America/Shiprock",
    "America/Sitka",
    "America/St_Barthelemy",
    "America/St_Johns",
    "America/St_Kitts",
    "America/St_Lucia",
    "America/St_Thomas",
    "America/St_Vincent",
    "America/Swift_Current",
    "America/Tegucigalpa",
    "America/Thule",
    "America/Thunder_Bay",
    "America/Tijuana",
    "America/Toronto",
    "America/Tortola",
    "America/Vancouver",
    "America/Virgin",
    "America/Whitehorse",
    "America/Winnipeg",
    "America/Yakutat",
    "America/Yellowknife",
    "Antarctica/Casey",
    "Antarctica/Davis",
    "Antarctica/DumontDUrville",
    "Antarctica/Macquarie",
    "Antarctica/Mawson",
    "Antarctica/McMurdo",
    "Antarctica/Palmer",
    "Antarctica/Rothera",
    "Antarctica/South_Pole",
    "Antarctica/Syowa",
    "Antarctica/Troll",
    "Antarctica/Vostok",
    "Arctic/Longyearbyen",
    "Asia/Aden",
    "Asia/Almaty",
    "Asia/Amman",
    "Asia/Anadyr",
    "Asia/Aqtau",
    "Asia/Aqtobe",
    "Asia/Ashgabat",
    "Asia/Ashkhabad",
    "Asia/Atyrau",
    "Asia/Baghdad",
    "Asia/Bahrain",
    "Asia/Baku",
    "Asia/Bangkok",
    "Asia/Barnaul",
    "Asia/Beirut",
    "Asia/Bishkek",
    "Asia/Brunei",
    "Asia/Calcutta",
    "Asia/Chita",
    "Asia/Choibalsan",
    "Asia/Chongqing",
    "Asia/Chungking",
    "Asia/Colombo",
    "Asia/Dacca",
    "Asia/Damascus",
    "Asia/Dhaka",
    "Asia/Dili",
    "Asia/Dubai",
    "Asia/Dushanbe",
    "Asia/Famagusta",
    "Asia/Gaza",
    "Asia/Harbin",
    "Asia/Hebron",
    "Asia/Ho_Chi_Minh",
    "Asia/Hong_Kong",
    "Asia/Hovd",
    "Asia/Irkutsk",
    "Asia/Istanbul",
    "Asia/Jakarta",
    "Asia/Jayapura",
    "Asia/Jerusalem",
    "Asia/Kabul",
    "Asia/Kamchatka",
    "Asia/Karachi",
    "Asia/Kashgar",
    "Asia/Kathmandu",
    "Asia/Katmandu",
    "Asia/Khandyga",
    "Asia/Kolkata",
    "Asia/Krasnoyarsk",
    "Asia/Kuala_Lumpur",
    "Asia/Kuching",
    "Asia/Kuwait",
    "Asia/Macao",
    "Asia/Macau",
    "Asia/Magadan",
    "Asia/Makassar",
    "Asia/Manila",
    "Asia/Muscat",
    "Asia/Nicosia",
    "Asia/Novokuznetsk",
    "Asia/Novosibirsk",
    "Asia/Omsk",
    "Asia/Oral",
    "Asia/Phnom_Penh",
    "Asia/Pontianak",
    "Asia/Pyongyang",
    "Asia/Qatar",
    "Asia/Qostanay",
    "Asia/Qyzylorda",
    "Asia/Rangoon",
    "Asia/Riyadh",
    "Asia/Saigon",
    "Asia/Sakhalin",
    "Asia/Samarkand",
    "Asia/Seoul",
    "Asia/Shanghai",
    "Asia/Singapore",
    "Asia/Srednekolymsk",
    "Asia/Taipei",
    "Asia/Tashkent",
    "Asia/Tbilisi",
    "Asia/Tehran",
    "Asia/Tel_Aviv",
    "Asia/Thimbu",
    "Asia/Thimphu",
    "Asia/Tokyo",
    "Asia/Tomsk",
    "Asia/Ujung_Pandang",
    "Asia/Ulaanbaatar",
    "Asia/Ulan_Bator",
    "Asia/Urumqi",
    "Asia/Ust-Nera",
    "Asia/Vientiane",
    "Asia/Vladivostok",
    "Asia/Yakutsk",
    "Asia/Yangon",
    "Asia/Yekaterinburg",
    "Asia/Yerevan",
    "Atlantic/Azores",
    "Atlantic/Bermuda",
    "Atlantic/Canary",
    "Atlantic/Cape_Verde",
    "Atlantic/Faeroe",
    "Atlantic/Faroe",
    "Atlantic/Jan_Mayen",
    "Atlantic/Madeira",
    "Atlantic/Reykjavik",
    "Atlantic/South_Georgia",
    "Atlantic/St_Helena",
    "Atlantic/Stanley",
    "Australia/ACT",
    "Australia/Adelaide",
    "Australia/Brisbane",
    "Australia/Broken_Hill",
    "Australia/Canberra",
    "Australia/Currie",
    "Australia/Darwin",
    "Australia/Eucla",
    "Australia/Hobart",
    "Australia/LHI",
    "Australia/Lindeman",
    "Australia/Lord_Howe",
    "Australia/Melbourne",
    "Australia/NSW",
    "Australia/North",
    "Australia/Perth",
    "Australia/Queensland",
    "Australia/South",
    "Australia/Sydney",
    "Australia/Tasmania",
    "Australia/Victoria",
    "Australia/West",
    "Australia/Yancowinna",
    "Brazil/Acre",
    "Brazil/DeNoronha",
    "Brazil/East",
    "Brazil/West",
    "CET",
    "CST6CDT",
    "Canada/Atlantic",
    "Canada/Central",
    "Canada/Eastern",
    "Canada/Mountain",
    "Canada/Newfoundland",
    "Canada/Pacific",
    "Canada/Saskatchewan",
    "Canada/Yukon",
    "Chile/Continental",
    "Chile/EasterIsland",
    "Cuba",
    "EET",
    "EST",
    "EST5EDT",
    "Egypt",
    "Eire",
    "Etc/GMT",
    "Etc/GMT+0",
    "Etc/GMT+1",
    "Etc/GMT+10",
    "Etc/GMT+11",
    "Etc/GMT+12",
    "Etc/GMT+2",
    "Etc/GMT+3",
    "Etc/GMT+4",
    "Etc/GMT+5",
    "Etc/GMT+6",
    "Etc/GMT+7",
    "Etc/GMT+8",
    "Etc/GMT+9",
    "Etc/GMT-0",
    "Etc/GMT-1",
    "Etc/GMT-10",
    "Etc/GMT-11",
    "Etc/GMT-12",
    "Etc/GMT-13",
    "Etc/GMT-14",
    "Etc/GMT-2",
    "Etc/GMT-3",
    "Etc/GMT-4",
    "Etc/GMT-5",
    "Etc/GMT-6",
    "Etc/GMT-7",
    "Etc/GMT-8",
    "Etc/GMT-9",
    "Etc/GMT0",
    "Etc/Greenwich",
    "Etc/UCT",
    "Etc/UTC",
    "Etc/Universal",
    "Etc/Zulu",
    "Europe/Amsterdam",
    "Europe/Andorra",
    "Europe/Astrakhan",
    "Europe/Athens",
    "Europe/Belfast",
    "Europe/Belgrade",
    "Europe/Berlin",
    "Europe/Bratislava",
    "Europe/Brussels",
    "Europe/Bucharest",
    "Europe/Budapest",
    "Europe/Busingen",
    "Europe/Chisinau",
    "Europe/Copenhagen",
    "Europe/Dublin",
    "Europe/Gibraltar",
    "Europe/Guernsey",
    "Europe/Helsinki",
    "Europe/Isle_of_Man",
    "Europe/Istanbul",
    "Europe/Jersey",
    "Europe/Kaliningrad",
    "Europe/Kiev",
    "Europe/Kirov",
    "Europe/Lisbon",
    "Europe/Ljubljana",
    "Europe/London",
    "Europe/Luxembourg",
    "Europe/Madrid",
    "Europe/Malta",
    "Europe/Mariehamn",
    "Europe/Minsk",
    "Europe/Monaco",
    "Europe/Moscow",
    "Europe/Nicosia",
    "Europe/Oslo",
    "Europe/Paris",
    "Europe/Podgorica",
    "Europe/Prague",
    "Europe/Riga",
    "Europe/Rome",
    "Europe/Samara",
    "Europe/San_Marino",
    "Europe/Sarajevo",
    "Europe/Saratov",
    "Europe/Simferopol",
    "Europe/Skopje",
    "Europe/Sofia",
    "Europe/Stockholm",
    "Europe/Tallinn",
    "Europe/Tirane",
    "Europe/Tiraspol",
    "Europe/Ulyanovsk",
    "Europe/Uzhgorod",
    "Europe/Vaduz",
    "Europe/Vatican",
    "Europe/Vienna",
    "Europe/Vilnius",
    "Europe/Volgograd",
    "Europe/Warsaw",
    "Europe/Zagreb",
    "Europe/Zaporozhye",
    "Europe/Zurich",
    "Factory",
    "GB",
    "GB-Eire",
    "GMT",
    "GMT+0",
    "GMT-0",
    "GMT0",
    "Greenwich",
    "HST",
    "Hongkong",
    "Iceland",
    "Indian/Antananarivo",
    "Indian/Chagos",
    "Indian/Christmas",
    "Indian/Cocos",
    "Indian/Comoro",
    "Indian/Kerguelen",
    "Indian/Mahe",
    "Indian/Maldives",
    "Indian/Mauritius",
    "Indian/Mayotte",
    "Indian/Reunion",
    "Iran",
    "Israel",
    "Jamaica",
    "Japan",
    "Kwajalein",
    "Libya",
    "MET",
    "MST",
    "MST7MDT",
    "Mexico/BajaNorte",
    "Mexico/BajaSur",
    "Mexico/General",
    "NZ",
    "NZ-CHAT",
    "Navajo",
    "PRC",
    "PST8PDT",
    "Pacific/Apia",
    "Pacific/Auckland",
    "Pacific/Bougainville",
    "Pacific/Chatham",
    "Pacific/Chuuk",
    "Pacific/Easter",
    "Pacific/Efate",
    "Pacific/Enderbury",
    "Pacific/Fakaofo",
    "Pacific/Fiji",
    "Pacific/Funafuti",
    "Pacific/Galapagos",
    "Pacific/Gambier",
    "Pacific/Guadalcanal",
    "Pacific/Guam",
    "Pacific/Honolulu",
    "Pacific/Johnston",
    "Pacific/Kiritimati",
    "Pacific/Kosrae",
    "Pacific/Kwajalein",
    "Pacific/Majuro",
    "Pacific/Marquesas",
    "Pacific/Midway",
    "Pacific/Nauru",
    "Pacific/Niue",
    "Pacific/Norfolk",
    "Pacific/Noumea",
    "Pacific/Pago_Pago",
    "Pacific/Palau",
    "Pacific/Pitcairn",
    "Pacific/Pohnpei",
    "Pacific/Ponape",
    "Pacific/Port_Moresby",
    "Pacific/Rarotonga",
    "Pacific/Saipan",
    "Pacific/Samoa",
    "Pacific/Tahiti",
    "Pacific/Tarawa",
    "Pacific/Tongatapu",
    "Pacific/Truk",
    "Pacific/Wake",
    "Pacific/Wallis",
    "Pacific/Yap",
    "Poland",
    "Portugal",
    "ROC",
    "ROK",
    "Singapore",
    "Turkey",
    "UCT",
    "US/Alaska",
    "US/Aleutian",
    "US/Arizona",
    "US/Central",
    "US/East-Indiana",
    "US/Eastern",
    "US/Hawaii",
    "US/Indiana-Starke",
    "US/Michigan",
    "US/Mountain",
    "US/Pacific",
    "US/Pacific-New",
    "US/Samoa",
    "UTC",
    "Universal",
    "W-SU",
    "WET",
    "Zulu"
]
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/tz'

/system/info

Метод получения системной информации устройства.

Описание параметров
Название
Тип

Описание

model String

Название модели используемой камеры.

temperature Double

Значение температуры процессора камеры.

 - Нормальная температура до 95°C.

chipId String

Идентификатор чипа камеры.

mac String

Мак адрес устройства.

deviceID String

Серийный номер устройства.

deviceModel String

Наименование устройства.

uptime Integer

Время работы устройства.

registerStatus Boolean

Флаг состояния SIP регистрации.

GET - Получение параметров
Ответы
200 OK

 Успешное получение параметров

Тело:

{
    "model": "HI3516EV200",
    "temperature": 72.69,
    "chipId": "020c39870e0038c96370030ac215b9932729d124509c25eb",
    "mac": "08:13:00:00:00:00",
    "deviceID": "0000000",
    "deviceModel": "ISCom X1 (rev.2)",
    "uptime": 310,
    "registerStatus": false
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/info'

/system/versions

Метод получения текущих версий прошивки устройства.

Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
Советуем использовать новый метод:
   /v2/system/versions

Описание параметров
Название
Тип

Описание

rootfs String

Версия раздела камеры с Linux.

web String

Версия web интерфейса.

camofon String

Версия SIP клиента.

streamer String

Версия RTSP сервера.

hw String

Версия платы устройства.

sw String

Версия прошивки микроконтроллера.

GET - Получение версий прошивки
Ответы
200 OK

Успешное получение версий прошивки

Тело:

{
    "rootfs": "1.1.1",
    "web": "2.2.2",
    "camofon": "3.3.3",
    "streamer": "4.4.4",
    "hw": "2.2",
    "sw": "3.3"
}
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/versions'

/system/settings

Методы получения и изменения системных настроек.

Описание параметров
Название
Тип

Описание

log_level Object

Уровни логирования приложений.

   api

   uart
   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": "UTC",
    "dns": {
        "auto": true,
        "nameservers": [
            "78.29.2.21",
            "78.29.2.22"
        ]
    },
    "ntp": [
        "0.pool.ntp.org",
        "1.pool.ntp.org",
        "10.100.12.14"
    ],
    "assist": {
        "enable": true,
        "online": true
    }
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/settings'
PUT - Изменение параметров
Запрос

Тело:

{
    "log_level": {
        "api": 3,
        "uart": 3,
        "camofon": 3,
        "streamer": 3,
        "proguard": 3,
        "store": 3,
        "baresip": 3,
        "libre": 3
    },
    "tz": "UTC",
    "dns": {
        "auto": true,
        "nameservers": [
            "78.29.2.21",
            "78.29.2.22"
        ]
    },
    "ntp": [
        "0.pool.ntp.org",
        "1.pool.ntp.org",
        "10.100.12.14"
    ],
    "assist": {
        "enable": true,
        "online": true
    }
}
Ответы
200 OK

 Успешное получение параметров

Тело: 

{
  "log_level": {
    "api": 3,
    "uart": 3,
    "camofon": 3,
    "streamer": 3,
    "proguard": 3,
    "store": 3,
    "baresip": 3,
    "libre": 3
  },
  "tz": "Asia/Yekaterinburg",
  "dateTime": "2024-06-13T11:02:22+0500",
  "dns": {
    "auto": true,
    "nameservers": [
      "78.29.2.21",
      "78.29.2.22"
    ]
  },
  "ntp": [
    "0.pool.ntp.org",
    "1.pool.ntp.org",
    "time.is74.ru"
  ],
  "assist": {
    "enable": true,
    "online": true
  }
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/settings' \
--data-raw '{
    "log_level": {
        "api": 3,
        "uart": 3,
        "camofon": 3,
        "streamer": 3,
        "proguard": 3,
        "store": 3,
        "baresip": 3,
        "libre": 3
    },
    "tz": "UTC",
    "dns": {
        "auto": true,
        "nameservers": [
            "78.29.2.21",
            "78.29.2.22"
        ]
    },
    "ntp": [
        "0.pool.ntp.org",
        "1.pool.ntp.org",
        "10.100.12.14"
    ],
    "assist": {
        "enable": true,
        "online": true
    }
}'

/system/fw_env

Метод получения текущего mac-адреса.

Описание параметров
Название
Тип

Описание

ethaddr String

MAC адрес устройства

GET - Получение параметров
Ответы
200 OK

Успешное получение параметров 

Тело:

{
    "ethaddr": "08:13:00:00:00:00"
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100/system/fw_env'

/system/backup

Метод создания резервной копии устройства.

Для восстановление резервной копии используется метод:
   /system/restore

GET - Создание резервной копии
Ответы
200 OK

Успешное создание резервной копии 

Заголовки:

Название Значение Описание

Content-Type

application/octet-stream Тип возвращаемых данных

Content-Disposition

attachment; filename="backup-08:13:00:00:00:00.bin" Формат возвращаемых данных

 Тело:

*** Бинарное представление файла ***
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/system/backup'

/system/restore

Метод восстановления резервной копии устройства.

Для создания резервной копии используется метод:
   /system/backup 

PUT - Восстановление резервной копии
Запрос

 Заголовки:

Название

Значение Описание

Content-Type

application/octet-stream Тип передаваемых данных

Тело:

*** Бинарный файл ***
Ответы
200 OK

 Успешное восстановление резервной копии

Заголовки:

Название

Значение Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

CURL:

curl \
--header 'Content-Type: application/octet-stream' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/restore' \
--data-binary './backup-08_13_00_00_00_00.bin'

/system/reboot

Метод перезагрузки устройства.

PUT - Перезагрузка устройства
Ответы
200 OK

Успешная перезагрузка устройства

Заголовки:

Название

Значение Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/reboot'

/system/restart/{сервис}

Метод перезапуска указанного сервиса.

Список поддерживаемых параметров "{сервис}":
   - api;
   - uart;
   - upgrade;
   - camofon;
   - streamer.

PUT - Перезапуск сервиса
Ответы
204 OK

Успешный перезапуск сервиса

Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/restart/api'

/system/factory-reset

Метод сброса устройства к заводским настройкам.

PUT - Сброс устройства к заводским настройкам
Ответы
204 OK

Успешный сброс устройства к заводским настройкам

Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/factory-reset'

/system/upgrade

Метод обновления микроконтроллера устройства.

Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
   /v2/system/upgrade

Для данного способа обновления необходим TFTP сервер

PUT - Запуск обновления
Ответы
200 OK

 Успешный запуск обновления

Заголовки:

Название

Значение Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/upgrade'

/system/upload_fw

Метод загрузки прошивки в микроконтроллер.

Метод действителен для устройств на прошивках до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
   /v2/system/upgrade

Для данного способа обновления необходим TFTP сервер

PUT - Загрузка прошивки
Ответы
200 OK

Заголовки:

Название

Значение Описание

Content-Type

text/html; charset=ISO-8859-1 Тип возвращаемых данных
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/upload_fw'

/system/cam/upgrade

Метод обновления разделов камеры устройства.

Метод действителен для устройств на прошивкой до 2.5.6.1 (включительно)
На поздних прошивках использовать новый метод:
   /v2/system/upgrade

Для данного способа обновления необходим TFTP сервер

Описание параметров
Название
Тип

Описание

server String

IP адрес или DNS имя TFTP сервера с папкой для обновления.

folder String

Путь до папки с файлами обновления на TFTP сервере.

stm Boolean

Флаг обновления прошивки микроконтроллера.

 - По умолчанию: false

opt Boolean

Флаг обновления раздела камеры с приложениями.

 - По умолчанию: false

media Boolean

Флаг обновления раздела камеры с аудио записями (оффлайн ассистента, оповещения).

 - По умолчанию: false

rootfs Boolean

Флаг обновления раздела камеры с Linux.

 - По умолчанию: false

PUT - Запуск обновления камеры
Запрос

Тело:

{
    "server": "192.168.0.10",
    "folder": "ISComX1/2.5.6.1",
    "opt": true,
    "media": true,
    "rootfs": true
} 
Ответы
200 OK

 Успешный запуск обновления

Тело:

{
    "server": "192.168.0.10",
    "folder": "ISComX1/2.5.6.1",
    "stm": true,
    "opt": true,
    "media": true,
    "rootfs": true
} 
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/system/cam/upgrade' \
--data-raw '{
    "server": "192.168.0.10",
    "folder": "ISComX1/2.5.6.1",
    "opt": true,
    "media": true,
    "rootfs": true
} '

/v2/system/versions

Метод получения текущих версий прошивки устройства. 

Описание параметров
Название
Тип

Описание

opt Object

Версии устройства для раздела с приложениями.

   date    Date

   Дата создания прошивки для раздела.

   name    String

   Версия прошивки для раздела.

   versions    Object

   Версии по конкретным приложения.

      api
      proguard
      camofon
      ddns
      streamer
      uart
      upgrade
      overlay 
      Object

      Описание версии приложения. 

         name          String

        Версия приложения.

         hash          String

        Хэш сумма коммита приложения.

      hw       Object

      Описание версии платы.

         name          String

         Версия платы.

      mcu       Object

      Описание версии микроконтроллера.

         name          String

         Версия прошивки микроконтроллера.

media Object

Версии устройства для раздела с аудио записями (оффлайн ассистента, оповещения).

   date    Date

   Дата создания прошивки для раздела.

   name    String

   Версия прошивки для раздела.

   versions    Object

   Версии по конкретным приложения.

      overlay        Object

      Описание версии приложения. 

         name          String

        Версия приложения.

         hash          String

        Хэш сумма коммита приложения.

rootfs Object

Версии устройства для раздела Linux.

   date    Date

   Дата создания прошивки для раздела.

   name    String

   Версия прошивки для раздела.

   versions    Object

   Версии по конкретным приложения.

      libre
      libiscom
      baresip
      ircut
      rootfs
      overlay 
      Object

      Описание версии приложения. 

         name          String

        Версия приложения.

         hash          String

        Хэш сумма коммита приложения.

GET - Получение версий
Ответы
200 OK

 Успешное получение версий прошивки

Тело:

{
    "opt": {
        "date": "2023-07-13",
        "name": "2.2.5.9.0",
        "versions": {
            "api": {
                "name": "0.3.3",
                "hash": "5c171d90a121cd53847397141784fd446fbf2992"
            },
            "proguard": {
                "name": "0.0.2",
                "hash": "2f52c0e931885b33cae5bb995c8e56fcc76baf80"
            },
            "camofon": {
                "name": "0.1.4",
                "hash": "9e52cf80bbe1908e6e668467e25e0cdcb4929ddc"
            },
            "ddns": {
                "name": "0.0.2",
                "hash": "adc486d21c5e3204980290b1eb413541446aff56"
            },
            "store": {
                "name": "0.0.4",
                "hash": "b4838b51190da1eea2e30b3ca0d54be47f565875"
            },
            "streamer": {
                "name": "2.8.1",
                "hash": "db96ab3070d1bc2daeb13bd0bd7786b33052c527"
            },
            "uart": {
                "name": "0.0.7",
                "hash": "f9e5460bddeef002a85fca1730927f6073e1eb9f"
            },
            "web_front": {
                "name": "2.5.4",
                "hash": "d8f8cead3fcb11cce809a4e6e67cb3f0edf77ab5"
            },
            "overlay": {
                "name": "0.1.8",
                "hash": "bd66e9a3d542dcced458decbe505ea911640958a"
            },
            "hw": {
                "name": "2.5"
            },
            "mcu": {
                "name": "3.44"
            }
        }
    },
    "media": {
        "date": "2023-05-10",
        "name": "2.5.7.19",
        "versions": {
            "overlay": {
                "name": "0.1.1",
                "hash": "45acfbd6cc600fee89e00fecbe9aaa9f0434fb13"
            }
        }
    },
    "rootfs": {
        "date": "2023-07-10",
        "name": "2.2.5.9.0",
        "versions": {
            "libre": {
                "name": "0.0.1",
                "hash": "fce5ecdd3513d37fa5d87e1515a82072761a7a06"
            },
            "librem": {
                "name": "0.0.1",
                "hash": "01ebe94c4b8671e684c2601b339efe211640a5c5"
            },
            "libiscom": {
                "name": "0.0.10",
                "hash": "1beb6432294d22c0e35014f059cc844e1eec4c39"
            },
            "baresip": {
                "name": "0.0.1",
                "hash": "b711f10af2417de49e4c718ac4a2ad181009d2f8"
            },
            "ircut": {
                "name": "0.0.9",
                "hash": "2558b1e9f7f57f1eb91e4d1979b1cbe4aa214082"
            },
            "rootfs": {
                "name": "0.0.14",
                "hash": "3a0bfa2ecf5f118fdcd22ce068fa3bd0d73fc48d"
            },
            "overlay": {
                "name": "0.1.8",
                "hash": "bd66e9a3d542dcced458decbe505ea911640958a"
            }
        }
    }
}
Примеры

 CURL:

curl \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request GET 'http://192.168.0.100:80/v2/system/versions'

/v2/system/upgrade

Метод обновления устройства.

Метод действителен для устройств на прошивках более 2.5.7.5

Для данного способа обновления необходим HTTP сервер

Описание параметров
GET
Название
Тип

Описание

state String

Описание состояния обновления.
 - По умолчанию: Обновление не запущено

stateId Integer

Идентификатор состояния обновления.

 - По умолчанию: 0

message String

Описание под состояния обновления.
 - По умолчанию: Приложение 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

PUT - Запуск обновления
Запрос

Тело:

{
    "url": "http://192.168.0.10:8000/2.5.6.1",
    "mcu": true,
    "opt": true,
    "media": true,
    "rootfs": true
}
Ответы
200 OK

 Успешное получение задания  на обновление

Тело:

{
    "code": 200,
    "data": {
        "url": "http://192.168.0.10:8000/2.5.6.1",
        "mcu": true,
        "opt": true,
        "media": true,
        "rootfs": true
    }
}
400 Bad Request

Ошибка при проверки переданных параметров

Тело:

Название
Тип

Описание

errors Array

Массив возвращаемых ошибок.

   message    String

   Сообщение об ошибке.

{
    "errors": [
        {
            "message": "Ошибка: url - Параметр пуст или не найден"
        }
    ]
}

или 

{
    "errors": [
        {
            "message": "Ошибка: stm - Должен быть логической переменной"
        }
    ]
}

или

{
    "errors": [
        {
            "message": "Ошибка: opt - Должен быть логической переменной"
        }
    ]
}

или

{
    "errors": [
        {
            "message": "Ошибка: media - Должен быть логической переменной"
        }
    ]
}

или

{
    "errors": [
        {
            "message": "Ошибка: rootfs - Должен быть логической переменной"
        }
    ]
}
Примеры

CURL:

curl \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic cm9vdDoxMjM0NTY=' \
--request PUT 'http://192.168.0.100:80/v2/system/upgrade' \
--data-raw '{
    "url": "http://192.168.0.10:8000/2.5.6.1",
    "mcu": true,
    "opt": true,
    "media": true,
    "rootfs": true
}'