Skip to main content
Skip table of contents

Списoк всех камер

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

Данный метод позволяет получить пагинированный список всех камер, доступных пользователю.

Поле камеры is_set_on_maps возвращается только при наличии параметра filter=map

GET /api/v1/cameras

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

int search – поиск по адресу и названию камеры

int group_id – фильтрация по локации камеры.

array statuses – фильтрация по статусам.

int per_page – количество элементов на одной странице пагинации. По умолчанию 25 элементов.

int page – номер страницы пагинации.

string filter – фильтрация списка камер (analytics || map).

array exclude_ids – список камер, которые необходимо исключить из ответа.

array top_list_ids – список камер, которые должны отображаться вверху списка.

boolean has_location – фильтрация камер по признаку наличия локации.

boolean is_set_on_maps – фильтрация камер по признаку отображения на карте и /или плане.

string cluster_key – фильтрация камер по нахождению в кластере на карте.

Пример
JSON
{
    "data": [
        {
            "id": 894,
            "group_id": 190,
            "status": "inactive",
            "type": "media_server_v2",
            "start_at": "",
            "created_at": "2022-04-05 12:34:38",
            "billing_id": null,
            "pretty_name": "камера 2",
            "lat": null,
            "lng": null,
            "is_location_editable": true,
            "azimuth": null,
            "original_name": "камера 2",
            "pretty_text": "Область обл., Районный р-н, г. Город, ул. Улица 1",
            "short_address": "г. Город, ул. Улица 1",
            "full_address": "Область обл., Районный р-н, г. Город, ул. Улица 1",
            "note": "note",
            "streams": [
                {
                    "id": 923,
                    "type": "high",
                    "camera_id": 894,
                    "is_preview_from_server": true,
                    "is_archive_from_server": null,
                    "status": "inactive",
                    "has_sound": false,
                    "width": null,
                    "height": null
                }
            ],
            "has_sound": false,
            "is_archive_recording": true,
            "is_bridge": false,
            "is_favorite": true,
            "user_status": "active",
            "name": "hik 3 этаж",
            "is_restricted_live": false,
            "is_restricted_archive": true,
            "is_set_on_maps": true
        },
        {
            "id": 837,
            "group_id": 124,
            "status": "active",
            "type": "media_server_v2",
            "start_at": "2022-06-06 17:24:12",
            "created_at": "2022-02-18 15:12:41",
            "billing_id": null,
            "pretty_name": "камера 2",
            "lat": null,
            "lng": null,
            "is_location_editable": true,
            "azimuth": null,
            "original_name": "камера 2",
            "pretty_text": "Область обл., Районный р-н, г. Город, ул. Улица 1",
            "short_address": "г. Город, ул. Улица 1",
            "full_address": "Область обл., Районный р-н, г. Город, ул. Улица 1",
            "note": "note",
            "streams": [
                {
                    "id": 844,
                    "type": "high",
                    "camera_id": 837,
                    "is_preview_from_server": true,
                    "is_archive_from_server": null,
                    "status": "active",
                    "has_sound": true,
                    "width": 1280,
                    "height": 720
                },
                {
                    "id": 845,
                    "type": "low",
                    "camera_id": 837,
                    "is_preview_from_server": true,
                    "is_archive_from_server": null,
                    "status": "active",
                    "has_sound": true,
                    "width": 640,
                    "height": 360
                }
            ],
            "has_sound": true,
            "is_archive_recording": true,
            "is_bridge": false,
            "is_favorite": false,
            "user_status": "active",
            "name": "домофон 7",
            "is_restricted_live": false,
            "is_restricted_archive": true,
            "is_set_on_maps": false
        }
    ],
    "links": {
        "first": "https://vms.local/api/v1/cameras?page=1",
        "last": "https://vms.local/api/v1/cameras?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "pagination.previous",
                "active": false
            },
            {
                "url": "https://vms.local/api/v1/cameras?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "pagination.next",
                "active": false
            }
        ],
        "path": "https://vms.local/api/v1/cameras",
        "per_page": 25,
        "to": 21,
        "total": 21
    }
}
cURL
BASH
curl -k --request POST \
	--url 'https://your-domain/api/v1/cameras' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--data '{
    "search": 0,
    "group_id": 0,
    "statuses": [],
    "per_page": 0,
    "page": 0,
    "filter": "string",
    "exclude_ids": [],
    "top_list_ids": [],
    "has_location": "boolean",
    "is_set_on_maps": "boolean",
    "cluster_key": "string"
}'
PHP
PHP
$data = array (
  'search' => 0,
  'group_id' => 0,
  'statuses' => 
  array (
  ),
  'per_page' => 0,
  'page' => 0,
  'filter' => 'string',
  'exclude_ids' => 
  array (
  ),
  'top_list_ids' => 
  array (
  ),
  'has_location' => 'boolean',
  'is_set_on_maps' => 'boolean',
  'cluster_key' => 'string',
);
$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/v1/cameras', false, $context);

Ответы на запрос

Детальный перечень кодов возможных ответов смотрите в разделе «Общее описание API».

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

200 OK

Возвращает список камер на i странице пагинации

  • Ответы с ошибкой:

401 Unauthorized

Токен авторизации не передан или недействителен.

422 Unprocessable Entity

Возвращает JSON объект с ошибкой. Смотрите «Валидация клиента»

JSON
{
    "message": "Тут не будет информативного сообщения",
    "errors": {
        "any_key": [
            "Тут будет описана причина ошибки"
        ]
    }
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.