Breadcrumbs

Создание камеры (v2)

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

POST  /api/v2/billing/cameras

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

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

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

Если в запросе присутствует поле streams, настройки будут сохранены для переданного типа(ов) и применятся позже при создании видео потоков.

JSON
{
    "name": "Camera 1",
    "mac": "11:11:11:11:11:11",
    "serial_number": "12345678",
    "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,
    "service": "8MP",
    "external_id": "unique_id",
    "onvif_credentials": {
        "login": "login",
        "password": "password",
        "port": 80
    },
    "is_can_manage_archive_storage_days": true,
    "log_extra": {
        "some": "information"
    },
    "streams": [
        {
            "type": "high",
            "is_archive_enabled": true,
            "archive_storage_days": 30
        },
        {
            "type": "low",
            "is_archive_enabled": false
        }
    ]
}

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

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


string mac – МАС-адрес камеры.


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


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 – долгота, на которой расположена камера.


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


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


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


array streams – массив настроек архива

object array

int streams.archive_storage_days – количество дней хранения архива (1‑90 дней)


bool streams.is_archive_enabled – флаг включения/выключения архива (true | false)


string streams.type – тип потока (high | low)



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/v2/billing/cameras' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--data '{
    "name": "string",
    "mac": "string",
    "serial_number": "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,
    "service": "string",
    "external_id": "string",
    "onvif_credentials": [],
    "log_extra": "string|array",
    "streams": 0
}'
PHP
PHP
$data = array (
  'name' => 'string',
  'mac' => 'string',
  'serial_number' => '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,
  'service' => 'string',
  'external_id' => 'string',
  'onvif_credentials' => 
  array (
  ),
  'log_extra' => 'string|array',
  'streams' => 0,
);
$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/v2/billing/cameras', false, $context);