Breadcrumbs

Обнoвление камеры внешней системoй (v1)

Метод и параметры

PATCH  /api/v1/billing/cameras

В связи с выпуском новой версии (v2) данного запроса, версия v2 теперь является наиболее актуальной. Поддержка версии v1 будет осуществляться в течение шести месяцев после релиза v2. По истечении этого срока работа версии v1 будет прекращена.

Поиск камеры осуществляется по id, mac или external_id.

Если поток high ещё не создан, они будут применены при его авто‑создании. Если поток существует, параметры архивирования будут обновлены сразу.

JSON
{
    "id": 1,
    "external_id": "bd0a951f-40a2-4edf-b213-bcd90ff5273d",
    "mac": "12:12:12:12:12:11",
    "new_mac": "12:12:12:12:12:12",
    "serial_number": "111111111111",
    "service": "8MP",
    "profile": "[1,0]",
    "name": "Camera 1",
    "group_type": "private",
    "group_id": 16,
    "group_external_id": 16,
    "folder_key": 123,
    "folder_id": 3,
    "is_user_owner": false,
    "latitude": -28.776933731993793,
    "longitude": 76.65771489519997,
    "archive_storage_days": 5,
    "onvif_credentials": {
        "login": "login",
        "password": "password",
        "port": 80
    },
    "is_can_manage_archive_storage_days": false,
    "is_archive_enabled": true,
    "is_enabled": true,
    "log_extra": {
        "some": "information"
    }
}

Параметры метода

string id, Текущий ID камеры.


string external_id, Текущий external ID камеры.


string mac, Текущий MAC-адрес камеры.


string new_mac, Новый MAC-адрес камеры.


string serial_number, Новый серийный номер камеры.


string service, Профиль камеры, используется для применения шаблонов.


array profile, Дополнительные данные камеры


string name, Название камеры.


string group_type, Тип группы камеры.


int group_id, ID элемента дерева, в котором нужно создать камеру.


string|int group_external_id, Ключ элемента дерева, в котором нужно создать камеру.


int folder_id, ID приватной папки, в которую нужно поместит камеру.


string|int folder_key, Ключ приватной папки, в которую нужно поместит камеру.


bool is_user_owner, Флаг, который отвечает за принадлежность камеры пользователю.


double latitude, Обозначает широту местоположения камеры.


double longitude, Обозначает долготу местоположения камеры.


int archive_storage_days, Количество дней хранения архива на камере (применяется к потоку high, обязательно в случае если is_archive_enabled включен).


array onvif_credentials, Учетные данные для доступа к камере по ONVIF.


bool is_archive_enabled, Флаг, который включает/отключает архив для потока high.


bool is_enabled, Флаг, который отключает/включает захват видео потока камеры. При отключенном захвате архивные записи остаются доступными.


string|array log_extra, Дополнительная информация, получаемая из внешней системы.

201  Created

Успешный ответ

JSON
{
    "id": 26,
    "status": "empty",
    "name": "Camera 1",
    "is_archive_recording": true,
    "archive_storage_days": 5,
    "group_type": "private",
    "is_user_owner": false,
    "is_need_replace": false,
    "latitude": -28.776933731993793,
    "longitude": 76.65771489519997,
    "network_device": {
        "mac": "11:11:11:11:11:11",
        "serial_number": "12345678"
    },
    "folder": {
        "id": 3,
        "key": "123"
    }
}

422  Unprocessable Entity

Возвращает JSON объект с ошибкой. Детально в разделе Общая информация→Валидация.

JSON
{
    "message": "Тут не будет информативного сообщения",
    "errors": {
        "any_key": [
            "Тут будет описана причина ошибки"
        ]
    }
}
cURL
Bash
curl -k --request PATCH \
	--url 'https://your-domain/api/v1/billing/cameras' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--data '{
    "id": "string",
    "external_id": "string",
    "mac": "string",
    "new_mac": "string",
    "serial_number": "string",
    "service": "string",
    "profile": [],
    "name": "string",
    "group_type": "string",
    "group_id": 0,
    "group_external_id": "string|int",
    "folder_id": 0,
    "folder_key": "string|int",
    "is_user_owner": true,
    "latitude": 0,
    "longitude": 0,
    "archive_storage_days": 0,
    "onvif_credentials": [],
    "is_archive_enabled": true,
    "is_enabled": true,
    "log_extra": "string|array"
}'
PHP
PHP
$data = array (
  'id' => 'string',
  'external_id' => 'string',
  'mac' => 'string',
  'new_mac' => 'string',
  'serial_number' => 'string',
  'service' => 'string',
  'profile' => 
  array (
  ),
  'name' => 'string',
  'group_type' => 'string',
  'group_id' => 0,
  'group_external_id' => 'string|int',
  'folder_id' => 0,
  'folder_key' => 'string|int',
  'is_user_owner' => true,
  'latitude' => 0.0,
  'longitude' => 0.0,
  'archive_storage_days' => 0,
  'onvif_credentials' => 
  array (
  ),
  'is_archive_enabled' => true,
  'is_enabled' => true,
  'log_extra' => 'string|array',
);
$context = stream_context_create([
	'ssl'=>['verify_peer' => false],
	'http' => [
		'method' => 'PATCH',
		'header' => "Content-Type: application/json\r
Accept: application/json",
		'content'=>json_encode($data)
	]
]);
$result = file_get_contents('https://your-domain/api/v1/billing/cameras', false, $context);