Skip to main content
Skip table of contents

Обновление кейса аналитики. Детекция пересечения линии

Создание кейса аналитики с типом «Детекция пересечения линии».

PUT/api/v1/analytic-case/{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": "line-intersection",
    "cameras": [
        {
            "id": 7,
            "analytic_case_camera_user_status": null,
            "scripts": [
                {
                    "id": 25
                }
            ],
            "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": 25
                }
            ],
            "meta": {
                "lines": [
                    {
                        "name": "Line 1",
                        "coords": [
                            {
                                "x": 0.203125,
                                "y": 0.37222222222222223
                            },
                            {
                                "x": 0.8171875,
                                "y": 0.8777777777777778
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

caseoptional

int

Уникальный идентификатор кейса аналитики, который нужно обновить

titlerequired

string

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

camerasrequired

array

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

cameras.*.idrequired

array

Id камеры

cameras.*.scriptsrequired

array

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

cameras.*.scripts.*.idrequired

int

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

cameras.*.meta.linesrequired

array

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

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

cameras.*.analytic_case_camera_user_statusrequired

str

Изменение статуса кейса. pause - поставить отдельную камеру кейса на паузу, unpause - снять с паузы отдельную камеру кейса

camerasrequired

array

Массив объектов камер, которые нужно удалить, с указанием типа удаления

cameras.*.idrequired

int

Id камеры

cameras.*.forcerequired

bool

Тип удаления. true - полное удаление кейса, false - кейс пометиться как удаленный и события по нему остануться, но не будут приходить новые события

Response

201

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

JSON
{
    "id": 52,
    "title": "Детекция пересечения линии",
    "type": "line-intersection",
    "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": 25,
                    "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:50:21",
                    "updated_at": "2022-12-21 12:50:21",
                    "users": [
                        {
                            "id": 5,
                            "login": "user",
                            "name": "user",
                            "parent_id": null,
                            "created_at": "2022-12-06 20:20:58",
                            "updated_at": "2022-12-21 10:53:45",
                            "access_token_id": null,
                            "can_update_password": true
                        }
                    ],
                    "event": {
                        "id": 12,
                        "name": "line-intersection",
                        "description": "Детекция пересечения линии",
                        "color": "#813A79",
                        "analytic_type": "line-intersection"
                    },
                    "extra": null
                }
            ],
            "meta": {
                "lines": [
                    {
                        "name": "Line 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": 25,
                    "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:50:21",
                    "updated_at": "2022-12-21 12:50:21",
                    "users": [
                        {
                            "id": 5,
                            "login": "user",
                            "name": "user",
                            "parent_id": null,
                            "created_at": "2022-12-06 20:20:58",
                            "updated_at": "2022-12-21 10:53:45",
                            "access_token_id": null,
                            "can_update_password": true
                        }
                    ],
                    "event": {
                        "id": 12,
                        "name": "line-intersection",
                        "description": "Детекция пересечения линии",
                        "color": "#813A79",
                        "analytic_type": "line-intersection"
                    },
                    "extra": null
                }
            ],
            "meta": {
                "line": [
                    {
                        "name": "Line 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:50:39",
    "updated_at": "2022-12-21 12:50:39",
    "color": "#5CBCE7",
    "available_events": [],
    "is_fails_exists": true,
    "errors": [
        "Ошибка создания камеры Камера 2."
    ]
}

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

401

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

402

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

422

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

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

Пример

JSON
curl -k --location --request PUT 'https://vms.local/api/v1/analytic-case/{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": "line-intersection",
    "cameras": [
        {
            "id": 7,
            "analytic_case_camera_user_status": null,
            "scripts": [
                {
                    "id": 25
                }
            ],
            "meta": {
                "line": [
                    {
                        "x": 0.1734375,
                        "y": 0.38055555555555554
                    },
                    {
                        "x": 0.38125,
                        "y": 0.8666666666666667
                    },
                    {
                        "x": 0.89375,
                        "y": 0.5833333333333334
                    },
                    {
                        "x": 0.753125,
                        "y": 0.21666666666666667
                    }
                ]
            }
        },
        {
            "id": 10,
            "analytic_case_camera_user_status": null,
            "scripts": [
                {
                    "id": 25
                }
            ],
            "meta": {
                "line": [
                    {
                        "x": 0.203125,
                        "y": 0.37222222222222223
                    },
                    {
                        "x": 0.8171875,
                        "y": 0.8777777777777778
                    }
                ]
            }
        }
    ]
}'
JavaScript errors detected

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

If this problem persists, please contact our support.