Breadcrumbs

Сoздание кaмеры (v1.Legacy)

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

POST  /api/v1/billing/cameras

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

Для указания, где в дереве создать камеру, можно присылать как id из нашей базы данных, так и ключ, который указывается при создании элемента дереве. Детали в Дерево объектов→Создание элемента дерева.

Если камеру нужно поместить в приватную папку, можно присылать как id из нашей базы данных, так и ключ, который указывался при создании папки. Данная папка должна быть создана в том же элементе дереве, в котором создаётся камера. Детали в Дерево/Папки/Создание приватной папки.

JSON
{
    "name": "Camera 1",
    "mac": "11:11:11:11:11:11",
    "serial_number": "12345678",
    "intercom_id": 5,
    "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,
    "service": "8MP",
    "external_id": "unique_id",
    "onvif_credentials": {
        "login": "login",
        "password": "password",
        "port": 80
    },
    "is_can_manage_archive_storage_days": true,
    "is_archive_enabled": true,
    "log_extra": {
        "some": "information"
    }
}

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

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


string mac – МАС-адрес камеры. Необязательно указывать, если указан intercom_id.


string serial_number – серийный номер камеры.


int intercom_id – ID домофона, для которого создается камера.


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 включён.


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


string external_id – уникальный идентификатор камеры, который можно будет использовать для дальнейшего обращения к этой камере.


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


bool is_archive_enabled – флаг, который отвечает за включение и отключение архива для потока high.


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 POST \
	--url 'https://your-domain/api/v1/billing/cameras' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--data '{
    "name": "string",
    "mac": "string",
    "serial_number": "string",
    "intercom_id": 0,
    "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,
    "service": "string",
    "external_id": "string",
    "onvif_credentials": [],
    "is_archive_enabled": true,
    "log_extra": "string|array"
}'
PHP
PHP
$data = array (
  'name' => 'string',
  'mac' => 'string',
  'serial_number' => 'string',
  'intercom_id' => 0,
  '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,
  'service' => 'string',
  'external_id' => 'string',
  'onvif_credentials' => 
  array (
  ),
  'is_archive_enabled' => true,
  'log_extra' => 'string|array',
);
$context = stream_context_create([
	'ssl'=>['verify_peer' => false],
	'http' => [
		'method' => 'POST',
		'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);