Skip to main content
Skip table of contents

Создание кейса аналитики. Подсчет посетителей

Создание кейса аналитики с типом «Подсчет посетителей».

Инструмент автоматической локализации и установления точного количества людей, прошедших через определенный участок/проход за некоторый промежуток времени. Аналитика может применяться в различных вариантах использования, где требуется необходимость подсчета общего трафика, анализа посещаемости объекта/локации по месяцам, дням недели, часам, минутам.

Событие: определение пересечения людьми установленной/заданной линии на объекте наблюдения, распознавание их пола и возраста для дальнейшего отображения на странице инфографики Аналитики.

POST/api/v1/analytic-case

Headers

Authorization

Bearer token

Accept

application/json

X-Client

ios-cctv|android-cctv|thick-legal|web

X-UUID

unique device id

Body

json

JSON
{
    "title": "Подсчет посетителей",
    "type": "visitors-counting",
    "cameras": [
        {
            "id": 7,
            "analytic_case_camera_user_status": null,
            "scripts": [
                {
                    "id": 22
                }
            ],
            "meta": {
                "lines": [
                    {
                        "name": "Line 1",
                        "coords": [
                            {
                                "x": 0.203125,
                                "y": 0.37222222222222223
                            },
                            {
                                "x": 0.8171875,
                                "y": 0.8777777777777778
                            }
                        ]
                    }
                ]
            }
        },
        {
            "id": 10,
            "analytic_case_camera_user_status": null,
            "scripts": [
                {
                    "id": 22
                }
            ],
            "meta": {
                "lines": [
                    {
                        "name": "Line 1",
                        "coords": [
                            {
                                "x": 0.203125,
                                "y": 0.37222222222222223
                            },
                            {
                                "x": 0.8171875,
                                "y": 0.8777777777777778
                            }
                        ]
                    }
                ],
                "figures": [
                    {
                        "name": "Figure 1",
                        "coords": [
                            {
                                "x": 0.203125,
                                "y": 0.37222222222222223
                            },
                            {
                                "x": 0.8171875,
                                "y": 0.8777777777777778
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

titlerequired

string

Название кейса аналитики

typerequired

string

Для данного типа кейса всегда нужно присылать значение visitors-counting

camerasrequired

array

Массив объектов камер с указанием события и реакции

cameras.*.idrequired

array

Id камеры

cameras.*.scriptsrequired

array

Массив id событий и реакций

cameras.*.scripts.*.idrequired

int

Id события и реакции, см. Создание события и реакции

cameras.*.meta.linerequired

array

Линия, при пересечении которой будет отрабатывать выбранный вид аналитики. Массив относительных координат (точки начала и конца линии) состоящий из 2 точек в значении от 0 до 1. Пример:

JSON
{
    "name": "Line 1", 
    "coords": [
        {
            "x": 0.203125,
            "y": 0.37222222222222223
        },
        {
            "x": 0.8171875,
            "y": 0.8777777777777778
        }
    ]
}

cameras.*.meta.figurerequired

array

Выделенная область камеры, которую будет обрабатывать аналитика. Передаётся как массив координат (точки изгиба линии) в относительных значениях от 0 до 1. Количество точек может быть от трёх до n. Передавать последнюю координату не надо, область будет замыкаться с первоначальной координатой. Пример:

JSON
{
    "name": "Figure 1", 
    "coords": [
        {
            "x": 0.203125,
            "y": 0.37222222222222223
        },
        {
            "x": 0.8171875,
            "y": 0.8777777777777778
        }
    ]
}

Response

201

Возвращает кейс аналитики

JSON
{
    "id": 45,
    "title": "Подсчет посетителей",
    "type": "visitor_counting",
    "type_pretty": "Подсчет посетителей",
    "status": "active",
    "cameras": [
        {
            "id": 7,
            "group_id": 2,
            "status": "inactive",
            "type": "media_server_v2",
            "start_at": "",
            "created_at": "2022-12-16 10:25:54",
            "billing_id": null,
            "pretty_name": "Камера 1",
            "pretty_text": "Камеры",
            "short_address": "Камеры",
            "full_address": "Камеры",
            "lat": null,
            "lng": null,
            "azimuth": null,
            "streams": [
                {
                    "id": 13,
                    "type": "high",
                    "camera_id": 7,
                    "is_preview_from_server": true,
                    "is_archive_from_server": null,
                    "status": "active",
                    "has_sound": false,
                    "width": null,
                    "height": null
                },
                {
                    "id": 14,
                    "type": "low",
                    "camera_id": 7,
                    "is_preview_from_server": true,
                    "is_archive_from_server": null,
                    "status": "active",
                    "has_sound": false,
                    "width": null,
                    "height": null
                }
            ],
            "has_sound": false,
            "archive_ranges": [],
            "archive_recording_timetable": null,
            "is_archive_recording": false,
            "archive_recording_type": "fulltime",
            "can_change_archive_timetable": false,
            "scripts": [
                {
                    "id": 22,
                    "title": "Установить метку",
                    "schedule": [],
                    "timetable": {
                        "days": [
                            {
                                "to": "23:59:00+05:00",
                                "from": "00:00:00+05:00",
                                "type": "same_every_day",
                                "breaks": []
                            }
                        ],
                        "intervals": []
                    },
                    "status": "active",
                    "created_at": "2022-12-21 12:46:00",
                    "updated_at": "2022-12-21 12:46:00",
                    "users": [],
                    "event": {
                        "id": 8,
                        "name": "visitor_counting",
                        "description": "Детекция посетителей",
                        "color": "#8B3EBA",
                        "analytic_type": "visitor_counting"
                    },
                    "extra": null
                }
            ],
            "meta": {
                "lines": [
                    {
                        "name": "Line 1",
                        "coords": [
                            {
                                "x": 0.203125,
                                "y": 0.37222222222222223
                            },
                            {
                                "x": 0.8171875,
                                "y": 0.8777777777777778
                            }
                        ]
                    }
                ],
                "figures": [
                    {
                        "name": "Figure 1",
                        "coords": [
                            {
                                "x": 0.203125,
                                "y": 0.37222222222222223
                            },
                            {
                                "x": 0.8171875,
                                "y": 0.8777777777777778
                            }
                        ]
                    }
                ]
            },
            "analytic_case_camera_status": "active",
            "analytic_case_camera_status_pretty": "Камера активна",
            "analytic_case_camera_user_status": null,
            "analytic_case_camera_user_status_pretty": null,
            "event": null,
            "is_bridge": false,
            "is_favorite": false,
            "user_status": "active",
            "name": "Камера 1"
        },
        {
            "id": 10,
            "group_id": 2,
            "status": "active",
            "type": "media_server_v2",
            "start_at": "",
            "created_at": "2022-12-16 10:25:55",
            "billing_id": null,
            "pretty_name": "Камера 2",
            "pretty_text": "Камеры",
            "short_address": "Камеры",
            "full_address": "Камеры",
            "lat": null,
            "lng": null,
            "azimuth": null,
            "streams": [
                {
                    "id": 19,
                    "type": "high",
                    "camera_id": 10,
                    "is_preview_from_server": true,
                    "is_archive_from_server": null,
                    "status": "active",
                    "has_sound": false,
                    "width": null,
                    "height": null
                },
                {
                    "id": 20,
                    "type": "low",
                    "camera_id": 10,
                    "is_preview_from_server": true,
                    "is_archive_from_server": null,
                    "status": "active",
                    "has_sound": false,
                    "width": null,
                    "height": null
                }
            ],
            "has_sound": false,
            "archive_ranges": [],
            "archive_recording_timetable": null,
            "is_archive_recording": false,
            "archive_recording_type": "fulltime",
            "can_change_archive_timetable": false,
            "scripts": [
                {
                    "id": 22,
                    "title": "Установить метку",
                    "schedule": [],
                    "timetable": {
                        "days": [
                            {
                                "to": "23:59:00+05:00",
                                "from": "00:00:00+05:00",
                                "type": "same_every_day",
                                "breaks": []
                            }
                        ],
                        "intervals": []
                    },
                    "status": "active",
                    "created_at": "2022-12-21 12:46:00",
                    "updated_at": "2022-12-21 12:46:00",
                    "users": [],
                    "event": {
                        "id": 8,
                        "name": "visitor_counting",
                        "description": "Детекция посетителей",
                        "color": "#8B3EBA",
                        "analytic_type": "visitor_counting"
                    },
                    "extra": null
                }
            ],
            "meta": {
                "lines": [
                    {
                        "name": "Line 1",
                        "coords": [
                            {
                                "x": 0.203125,
                                "y": 0.37222222222222223
                            },
                            {
                                "x": 0.8171875,
                                "y": 0.8777777777777778
                            }
                        ]
                    }
                ],
                "figures": [
                    {
                        "name": "Figure 1",
                        "coords": [
                            {
                                "x": 0.203125,
                                "y": 0.37222222222222223
                            },
                            {
                                "x": 0.8171875,
                                "y": 0.8777777777777778
                            }
                        ]
                    }
                ]
            },
            "analytic_case_camera_status": "inactive",
            "analytic_case_camera_status_pretty": "Камера неактивна",
            "analytic_case_camera_user_status": "failed_to_create",
            "analytic_case_camera_user_status_pretty": "Ошибка создания",
            "event": null,
            "is_bridge": false,
            "is_favorite": false,
            "user_status": "active",
            "name": "Камера 2"
        }
    ],
    "created_at": "2022-12-21 12:46:24",
    "updated_at": "2022-12-21 12:46:24",
    "color": "#C76DFF",
    "available_events": [],
    "is_fails_exists": true,
    "errors": [
        "Ошибка создания камеры Камера 2."
    ]
}

array errors, будет приходить в случае, если не удалось создать/обновить/удалить аналитику на камере

401

Токен авторизации не передан или не валидный, см. Получение токена

402

Превышен лимит лицензий для выбранного кейса аналитики

422

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

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

Пример

JSON
curl -k --location --request POST 'https://vms.local/api/v1/analytic-case' \
--header 'Authorization:Bearer token' \
--header 'Accept:application/json' \
--header 'X-Client:ios-cctv|android-cctv|thick-legal|web' \
--header 'X-UUID:unique device id' \
--header 'Content-Type: application/json \
--data-raw '{
    "title": "Подсчет посетителей",
    "type": "visitor_counting",
    "cameras": [
        {
            "id": 7,
            "analytic_case_camera_user_status": null,
            "scripts": [
                {
                    "id": 22
                }
            ],
            "meta": {
                "lines": [
                    {
                        "x": 0.0859375,
                        "y": 0.24722222222222223
                    },
                    {
                        "x": 0.415625,
                        "y": 0.8416666666666667
                    },
                    {
                        "x": 0.94375,
                        "y": 0.5722222222222222
                    },
                    {
                        "x": 0.7390625,
                        "y": 0.09444444444444444
                    }
                ],
                "figures": [
                    {
                        "x": 0.0859375,
                        "y": 0.24722222222222223
                    },
                    {
                        "x": 0.415625,
                        "y": 0.8416666666666667
                    },
                    {
                        "x": 0.94375,
                        "y": 0.5722222222222222
                    },
                    {
                        "x": 0.7390625,
                        "y": 0.09444444444444444
                    }
                ]
            }
        },
        {
            "id": 10,
            "analytic_case_camera_user_status": null,
            "scripts": [
                {
                    "id": 22
                }
            ],
            "meta": {
                "lines": [
                    {
                        "x": 0.14375,
                        "y": 0.4166666666666667
                    },
                    {
                        "x": 0.3875,
                        "y": 0.925
                    },
                    {
                        "x": 0.90625,
                        "y": 0.6166666666666667
                    },
                    {
                        "x": 0.778125,
                        "y": 0.29444444444444445
                    }
                ],
                "figures": [
                    {
                        "x": 0.14375,
                        "y": 0.4166666666666667
                    },
                    {
                        "x": 0.3875,
                        "y": 0.925
                    },
                    {
                        "x": 0.90625,
                        "y": 0.6166666666666667
                    },
                    {
                        "x": 0.778125,
                        "y": 0.29444444444444445
                    }
                ]
            }
        }
    ]
}'
JavaScript errors detected

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

If this problem persists, please contact our support.