REST API
Obtenir la liste des caméras
Description
Obtenir la liste des caméras
Requête
GET /api/v1/cameras
Paramètres
Aucun
Exemple de requête
http://127.0.0.1:5000/api/v1/cameras
Réponse
{
"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"
}
]
}
Obtenir les données de la caméra pour une période
Description
Obtenir les données par période
Requête
GET /api/v1/cameras/stats
Paramètres
- camera_id — ID de la caméra (obligatoire)
- date_from — Début de la période (ISO 8601)
- date_to — Fin de la période (ISO 8601)
- interval — Pas de regroupement (month, day, hour, minute)
Exemple de requête
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
Réponse
{
"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"
}
}
Exemple de requête
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
Réponse
{
"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"
}
}
S’adresser à une caméra
GET /api/v1.0/qty/{cam}/{start}/{end}
Parameters:
cam – Code de la caméra
start – Date de début de la période
end – Period end date
Exemple
Request
http://127.0.0.1:5000/api/v1.0/qty?cam=101&start=2024-10-15T00:00&end=2024-10-15T23:59
Response
{
"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"
}
}
Demande à toutes les caméras à la fois
GET /api/v1.0/reports/summary/{start}/{end}
Parameters:
start – Date de début de la période
end – Date de fin de période
Exemple
Request
http://127.0.0.1:5000/api/v1.0/reports/summary?start=2024-10-15T00:00&end=2024-10-15T23:59
Response
{
"0": {
"code": "101",
"name": "house 1",
"qty": 50054
},
"1": {
"code": "102",
"name": "house 2",
"qty": 120788
},
"2": {
"code": "103",
"name": "house 3",
"qty": 215394
},
"3": {
"code": "104",
"name": "house 4",
"qty": 273135
},
"4": {
"code": "105",
"name": "house 5",
"qty": 163408
},
"5": {
"code": "106",
"name": "house 6",
"qty": 61035
},
"6": {
"code": "107",
"name": "The main exit",
"qty": 488514
},
"7": {
"code": "209",
"name": "Sorting",
"qty": 0
}
}