Ответ на запрос может быть либо пустым, либо типа application/json
, либо в случае ошибки — строкой с описанием ошибки.
HTTP-метод |
URI |
Тело запроса |
GET |
/api/v1/configuration |
пустое |
HTTP-статус |
Тело ответа |
Описание |
200 |
application/json |
см. пример |
Пример ответа (конфигурация домофона по умолчанию):
{
"system": {
"loglevel": -1
},
"sip": {
"domain": "127.0.0.1:5060",
"user": "user",
"password": "password"
},
"commutator": {
"type": "VIZIT",
"mode": 1,
"ap_min": 1,
"ap_max": 36,
"ap_shift": 0,
"ap_cnt": [
0,
0,
0,
0,
0,
0,
0,
0
]
},
"volume": {
"speaker": 8.0,
"mic": 8.0
},
"display": {
"rotate": false,
"labels": [
"",
"",
""
],
"localization": {
"ENTER_APARTMENT": "ENTER APARTMENT",
"ENTER_PREFIX": "ENTER PREFIX",
"CALL": "CALL",
"CALL_GATE": "CALL GATE",
"CONNECT": "CONNECT",
"OPEN": "OPEN",
"FAIL_NO_CLIENT": "FAIL NO CLIENT",
"FAIL_NO_APP_AND_FLAT": "FAIL NO APP AND FLAT",
"FAIL_LONG_SPEAK": "FAIL LONG SPEAK",
"FAIL_NO_ANSWER": "FAIL NO ANSWER",
"FAIL_UNKNOWN": "FAIL UNKNOWN",
"FAIL_BLACK_LIST": "FAIL BLACK LIST",
"FAIL_LINE_BUSY": "FAIL LINE BUSY",
"ALWAYS_OPEN": "The door is open"
}
},
"door": {
"open_time": 3.0,
"lock_invert": false,
"autocollect": "",
"unlock": "",
"ble_open": false,
"ble_password": "",
"ble_rssi": -80,
"rfid_pass_en": true,
"rfid_password": "",
"dtmf_open_local": ["#", "2"],
"dtmf_open_remote": "#"
},
"backlight": {
"level": 50
}
}
door.autocollect
- время отключения автосбора ключей; пустая строка, если автосбор отключен. Пример: "2024-12-31 23:59:59"
door.unlock
- время отключения разблокировки замка; пустая строка, если разблокировка отключена. Пример: "2024-12-31 23:59:59"
system.loglevel
- уровень логирования 0..7, либо -1 - уровень по умолчанию
HTTP-метод |
URI |
Тело запроса |
PUT |
/api/v1/configuration |
application/json |
Конфигурация домофона обновляется в соответствии с запросом. Поля, отсутствующие в запросе, принимают значения по умолчанию.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
400 |
Not a valid JSON object |
запрос не является JSON-объектом |
422 |
Wrong JSON structure |
структура JSON не валидна |
HTTP-метод |
URI |
Тело запроса |
PATCH |
/api/v1/configuration |
application/json |
Конфигурация домофона обновляется в соответствии с запросом. Значение полей, отсутствующих в запросе, остаётся без изменений.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
400 |
Not a valid JSON object |
запрос не является JSON-объектом |
422 |
Wrong JSON structure |
структура JSON не валидна |
HTTP-метод |
URI |
Тело запроса |
GET |
/api/v1/apartments/ |
пустое |
{id} — номер квартиры либо одно из значений: SOS, CONS, KALITKA, FRSI.
HTTP-статус |
Тело ответа |
Описание |
200 |
application/json |
см. пример |
404 |
ID not found |
квартира не найдена |
Пример ответа (натройки квартиры по умолчанию):
{
"sip_number": "",
"analog": true,
"sip": true,
"map": 0
}
HTTP-метод |
URI |
Тело запроса |
PUT |
/api/v1/apartments/ |
application/json |
{id} — номер квартиры либо одно из значений: SOS, CONS, KALITKA, FRSI. Квартира должна быть создана перед запросом. Поля, отсутствующие в запросе, принимают значения по умолчанию.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
404 |
ID not found |
квартира не найдена |
400 |
Not a valid JSON object |
запрос не является JSON-объектом |
422 |
Wrong JSON structure |
структура JSON не валидна |
HTTP-метод |
URI |
Тело запроса |
PATCH |
/api/v1/apartments/ |
application/json |
{id} — номер квартиры либо одно из значений: SOS, CONS, KALITKA, FRSI. Квартира должна быть создана перед запросом. Значение полей, отсутствующих в запросе, остаётся без изменений.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
404 |
ID not found |
квартира не найдена |
400 |
Not a valid JSON object |
запрос не является JSON-объектом |
422 |
Wrong JSON structure |
структура JSON не валидна |
HTTP-метод |
URI |
Тело запроса |
POST |
/api/v1/apartments/ |
application/json |
{id} — номер квартиры либо одно из значений: SOS, CONS, KALITKA, FRSI.
HTTP-статус |
Тело ответа |
Описание |
201 |
|
успех |
409 |
ID already exists |
квартира уже существует |
400 |
Not a valid JSON object |
запрос не является JSON-объектом |
422 |
Wrong JSON structure |
структура JSON не валидна |
HTTP-метод |
URI |
Тело запроса |
DELETE |
/api/v1/apartments/ |
пустое |
{id} — номер квартиры либо одно из значений: SOS, CONS, KALITKA, FRSI.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
404 |
ID not found |
квартира не найдена |
HTTP-метод |
URI |
Тело запроса |
GET |
/api/v1/apartments |
пустое |
HTTP-статус |
Тело ответа |
Описание |
200 |
application/json |
см. пример |
Пример ответа:
{
"5": {
"sip_number": "xz2c@192.168.0.184",
"analog": true,
"sip": true,
"map": 0
},
"FRSI": {
"sip_number": "53669@lenny.from-nv.com",
"analog": true,
"sip": true,
"map": 0
},
"6": {
"sip_number": "z3c@Xperia-Z3-Compact.ufanet.ru",
"analog": true,
"sip": true,
"map": 0
},
"4": {
"sip_number": "t@engineer13.ufanet.ru",
"analog": true,
"sip": true,
"map": 0
}
}
HTTP-метод |
URI |
Тело запроса |
PUT |
/api/v1/apartments |
application/json |
Список квартир с их настройками обновляется в соответствии с запрососм. Поля, отсутствующие в запросе, принимают значения по умолчанию.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
400 |
Not a valid JSON object |
запрос не является JSON-объектом |
422 |
Wrong JSON structure |
структура JSON не валидна |
HTTP-метод |
URI |
Тело запроса |
POST |
/api/v1/rfids/ |
application/json |
{id} — ключ в десятичном формате. В теле запроса JSON-строка с описанием ключа.
HTTP-статус |
Тело ответа |
Описание |
201 |
|
успех |
409 |
ID already exists |
ключ уже существует |
400 |
Not a JSON string |
запрос не является JSON-строкой |
500 |
UnQLite error |
ошибка базы данных |
HTTP-метод |
URI |
Тело запроса |
PUT |
/api/v1/rfids/ |
application/json |
{id} — ключ в десятичном формате. В теле запроса JSON-строка с описанием ключа.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
404 |
ID not found |
ключ не найден |
400 |
Not a JSON string |
запрос не является JSON-строкой |
500 |
UnQLite error |
ошибка базы данных |
HTTP-метод |
URI |
Тело запроса |
DELETE |
/api/v1/rfids/ |
пустое |
{id} — ключ в десятичном формате.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
404 |
ID not found |
ключ не найден |
500 |
UnQLite error |
ошибка базы данных |
HTTP-метод |
URI |
Тело запроса |
GET |
/api/v1/rfids |
пустое |
HTTP-статус |
Тело ответа |
Описание |
200 |
application/json |
см. пример |
500 |
UnQLite error |
ошибка базы данных |
Пример ответа:
{
"10931015": "",
"5031159": ""
}
HTTP-метод |
URI |
Тело запроса |
PUT |
/api/v1/rfids |
application/json |
Список ключей с их описаниями обновляется в соответствии с запрососм.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
400 |
Not a valid JSON object |
запрос не является JSON-объектом |
500 |
UnQLite error |
ошибка базы данных |
HTTP-метод |
URI |
Тело запроса |
POST |
/api/v1/doors/{id}/open |
пустое либо application/json |
{id} — номер двери: 1 или 2.
Пример запроса:
{
"hangup": true
}
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
404 |
Door not found |
нет такой двери |
HTTP-метод |
URI |
Тело запроса |
POST |
/api/v1/file |
multipart/form-data |
Параметр name
в запросе может принимать одно из значений: IMAGE, BELL, OPEN, ERROR. Для IMAGE загружаемый файл должен иметь формат JPEG 480x320, без EXIF и комментариев в метаданных. Для BELL, OPEN, ERROR - формат WAV mono 8 bit. Размер файла - не более 128000 байт.
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
404 |
File not found |
нет такого файла |
413 |
File too large |
файл слишком большой |
HTTP-метод |
URI |
Тело запроса |
POST |
/api/v1/display/message |
application/json |
Пример запроса:
{
"text": "Привет",
"duration": 5
}
HTTP-статус |
Тело ответа |
Описание |
204 |
|
успех |
400 |
Not a valid JSON object |
запрос не является JSON-объектом |
422 |
Wrong JSON structure |
структура JSON не валидна |
HTTP-метод |
URI |
Тело запроса |
GET |
/api/v1/status |
пустое |
HTTP-статус |
Тело ответа |
Описание |
200 |
application/json |
см. пример |
Пример ответа:
{
"sipreg": true
}
sipreg
- состояние SIP регистрации