Пoлучение дерева камер
Получение дерева камер
Логика построения дерева разделена на 2 возможных сценария, в зависимости от настроенной env
переменной TREE_CAMERA_SINGLE_REQUEST_MAX_CAMERAS_COUNT
.
Если количество камер пользователя больше чем указано в env
переменной TREE_CAMERA_SINGLE_REQUEST_MAX_CAMERAS_COUNT
, то дерево будет строиться по следующему принципу:
Данный запрос возвращает список групп <i>N</i>-ого уровня вложенности. Для получения группы следующего уровня вложенности нужно повторить этот же запрос, указав дополнительно параметр group_id
родительской группы.
В данном сценарии параметр children
не учитывается, он всегда null
.
С помощью параметра has_items
можно понять, содержит ли группа камеры. Параметр has_items = true
означает, что данная группа содержит камеры и больше не нужно запрашивать дочерние группы.
Если количество камер меньше чем в env
переменной TREE_CAMERA_SINGLE_REQUEST_MAX_CAMERAS_COUNT
, то все дерево будет возвращаться за 1 запрос.
Если параметр children
пуст и там нет элементов, это значит, что группа конечная.
Если у пользователя есть бриджи с камерами, то у него добавится папка Устройства и в ней папки для каждого бриджа, которые будут называться так же как и бридж. Эти группы являются конечными, и для получения камер внутри необходимо делать отдельный запрос описанный ниже.
Если у пользователя есть камеры с установленным агентом, то у него добавится папка Камеры внутри папки Устройства. Эта группа является конечной, и для получения камер внутри необходимо делать отдельный запрос описанный ниже.
В обоих случаях для получения списка камер из конечной группы необходимо использовать запрос на список камер в группе, с указанием параметра group_id
и параметра search
, в случае, если ранее по дереву камер осуществлялся поиск VMS Client/Камеры клиента/Общие запросы/Список камер в группе клиента.
GET /api/v2/cameras/tree |
Параметры метода
string search
– поиск по адресу и названию камеры.
int group_id
– ID родительской группы.
200 |
Возвращает JSON объект дерева одного уровня вложенности
JSON
|
200 |
Возвращает JSON объект дерева полностью
JSON
|
401 |
Токен авторизации не передан или не валидный |
422 |
Возвращает JSON объект с ошибкой.
JSON
|
curl -k --request POST \
--url 'https://your-domain/api/v2/cameras/tree' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
"search": "string",
"group_id": 0
}'
$data = array (
'search' => 'string',
'group_id' => 0,
);
$context = stream_context_create([
'ssl'=>['verify_peer' => false],
'http' => [
'method' => 'GET',
'header' => "Content-Type: application/json\r
Accept: application/json",
'content'=>json_encode($data)
]
]);
$result = file_get_contents('https://your-domain/api/v2/cameras/tree', false, $context);