REST API:
запросы к камерам
Получить список камер
Описание:
Получение списка камер
Запрос:
GET /api/v1/cameras Параметры:
Отсутствуют
Пример запроса:
http://127.0.0.1:5000/api/v1/cameras Ответ:
{
"cameras": [
{
"camera_id": "101",
"camera_name": "Camera 101"
},
{
"camera_id": "102",
"camera_name": "Camera 102"
},
{
"camera_id": "103",
"camera_name": "Camera 103"
},
{
"camera_id": "104",
"camera_name": "Camera 104"
},
{
"camera_id": "105",
"camera_name": "Camera 105"
}
]
} Получить данные по камере за период
Описание:
Получение данных за период
Запрос:
GET /api/v1/cameras/stats Параметры:
- camera_id — ID камеры (обязательный)
- date_from — начало периода (ISO 8601)
- date_to — конец периода (ISO 8601)
- interval — шаг группировки (month, day, hour, minute)
Пример запроса:
http://127.0.0.1:5000/api/v1/cameras/stats?camera_id=105&date_from=2025-03-01T00:00&date_to=2025-03-03T23:59&interval=day Ответ:
{ "data": { "rows": [ [ "2025-03-01T00:00:00", 259473 ], [ "2025-03-02T00:00:00", 257096 ], [ "2025-03-03T00:00:00", 259665 ] ], "schema": [ "timestamp", "count" ], "total": 776234 }, "meta": { "camera_name": "Camera 105", "generated_at": "2026-01-31T13:19:28.054289", "labels": { "count": "Total Count", "timestamp": "Timestamp" }, "row_count": 3, "source_file": "105.csv" }, "request": { "camera_id": "105", "date_from": "2025-03-01T00:00:00", "date_to": "2025-03-03T23:59:59", "interval": "day" } }
Пример запроса:
http://127.0.0.1:5000/api/v1/cameras/stats?camera_id=181&date_from=2024-06-01T00:00&date_to=2024-06-03T23:59&interval=month Ответ:
{
"data": {
"rows": [
[
"2024-06-01T00:00:00",
21578,
795,
351,
5069,
3914,
343,
5978,
0,
2405,
2502,
0,
0,
0,
74,
61,
86
]
],
"schema": [
"timestamp",
"count",
"type1",
"type2",
"type3",
"type4",
"type5",
"type6",
"type7",
"type8",
"type9",
"type10",
"type11",
"type12",
"type13",
"type14",
"type15"
],
"total": 21578
},
"meta": {
"camera_name": "Camera 181",
"generated_at": "2026-01-31T13:27:34.641367",
"row_count": 1,
"source_file": "181.csv",
"labels": {
"count": "Total Count",
"timestamp": "Timestamp",
"type1": "Product 1",
"type2": "Product 2",
"type3": "Product 3",
"type4": "Product 4",
"type5": "Product 5",
"type6": "Product 6",
"type7": "Product 7",
"type8": "Product 8",
"type9": "Product 9",
"type10": "Product 10",
"type11": "Product 11",
"type12": "Product 12",
"type13": "Product 13",
"type14": "Product 14",
"type15": "Product 15"
}
},
"request": {
"camera_id": "181",
"date_from": "2024-06-01T00:00:00",
"date_to": "2024-06-03T23:59:59",
"interval": "month"
}
} Обращение к одной камере
GET /api/v1.0/qty/{cam}/{start}/{end}
Параметры:
— cam – код камеры
— start – начало периода
— end – конец периода
Пример
Запрос:
http://127.0.0.1:5000/api/v1.0/qty?cam=101&start=2024-10-15T00:00&end=2024-10-15T23:59
Ответ:
{
"query_data": {
"end": "Tue, 15 Oct 2024 23:59:00 GMT",
"file_name": "101.csv",
"qty": 50054,
"start": "Tue, 15 Oct 2024 00:00:00 GMT"
}
}
Запрос ко всем камерам одновременно
GET /api/v1.0/reports/summary/{start}/{end}
Параметры:
— start – начало периода
— end – конец периода
Пример
Запрос:
http://127.0.0.1:5000/api/v1.0/reports/summary?start=2024-10-15T00:00&end=2024-10-15T23:59
Ответ:
{
"0": {
"code": "101",
"name": "корпус 1",
"qty": 50054
},
"1": {
"code": "102",
"name": "корпус 2",
"qty": 120788
},
"2": {
"code": "103",
"name": "корпус 3",
"qty": 215394
},
"3": {
"code": "104",
"name": "корпус 4",
"qty": 273135
},
"4": {
"code": "105",
"name": "корпус 5",
"qty": 163408
},
"5": {
"code": "106",
"name": "корпус 6",
"qty": 61035
},
"6": {
"code": "107",
"name": "Основной зал",
"qty": 488514
},
"7": {
"code": "209",
"name": "Сортировка",
"qty": 0
}
}