Breadcrumbs

Cаmerа management

The method and parameters

POST  /api/v1/billing/user/manage/cameras

This synchronizes a user's cameras based on their login.

You can set camera access in a few ways:

  • Without specifying any additional parameters (the current settings will remain unchanged during this synchronization):

JSON
{
    "login": "test@mail.com",
    "camera_ids": [
        3,
        4
    ],
    "camera_external_ids": [
        "00000000-0000-0000-0000-000000000050",
        "00000000-0000-0000-0000-000000000051"
    ],
    "public_group_external_ids": [
        "df2f2f7a-ecd6-4ffd-8a23-6880b803d23a"
    ],
    "private_group_external_ids": [
        {
            "key": "test",
            "group_external_id": "df2f2f7a-ecd6-4ffd-8a23-6880b803d23a"
        }
    ]
}


  • Include additional parameters for the camera:

JSON
{
    "login": "test@mail.com",
    "camera_ids": [
        {
            "camera_id": 3,
            "status": "active"
        },
        {
            "camera_id": 4,
            "status": "blocked"
        },
        {
            "camera_id": 5,
            "status": "blocked"
        }
    ],
    "camera_external_ids": [
        {
            "external_id": "00000000-0000-0000-0000-000000000050",
            "status": "active"
        },
        {
            "external_id": "00000000-0000-0000-0000-000000000051",
            "status": "blocked"
        }
    ],
    "public_group_external_ids": [
        {
            "external_id": "df2f2f7a-ecd6-4ffd-8a23-6880b803d23a",
            "status": "blocked"
        }
    ],
    "private_group_external_ids": [
        {
            "key": "folder 1",
            "group_external_id": "df2f2f7a-ecd6-4ffd-8a23-6880b803d23a",
            "status": "active"
        },
        {
            "key": "folder 2",
            "group_external_id": "df2f2f7a-ecd6-4ffd-8a23-6880b803d23a",
            "status": "blocked"
        }
    ]
}

The parameters

string login – a user login.


array camera_ids – a list of camera IDs from the VMS database.


array camera_external_ids – a list of camera identifiers that were specified when creating the camera.


array public_group_external_ids – a list of IDs of public camera groups.


array private_group_external_ids – a list of identifiers of private camera groups

object array

string|int private_group_external_ids.  required , .group_external_id – an ID of a private camera group


string|int private_group_external_ids.  required , .group_external_id – an ID of a private camera group


string|int private_group_external_ids.  required , .group_external_id – an ID of a private camera group


204  No Content

Successful response

422  Unprocessable Entity

Returns a JSON object with an error.

JSON
{
    "message": "No error message here",
    "errors": {
        "any_key": [
            "Error details"
        ]
    }
}
cURL
Bash
curl -k --request POST \
	--url 'https://your-domain/api/v1/billing/user/manage/cameras' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--data '{
    "login": "string",
    "camera_ids": [],
    "camera_external_ids": [],
    "public_group_external_ids": [],
    "private_group_external_ids": {
        "": "string|int"
    },
    "private_group_external_ids.": "void"
}'
PHP
PHP
$data = array (
  'login' => 'string',
  'camera_ids' => 
  array (
  ),
  'camera_external_ids' => 
  array (
  ),
  'public_group_external_ids' => 
  array (
  ),
  'private_group_external_ids' => 
  array (
    '' => 'string|int',
  ),
  'private_group_external_ids.' => 'void',
);
$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/user/manage/cameras', false, $context);