diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d5dbcd..a416ce7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +## [Unreleased] + +### Ajouté + +- API privée tabulaire `/api/v1/data` (filtres dynamiques, pagination, tri). +- Endpoint `/api/v1/schema` (description du dataset). +- Endpoint `/api/v1/health` (sonde monitoring). +- Documentation interactive Swagger UI à `/api/v1/swagger`. +- CLI d'administration des tokens : `python -m src.api.tokens_cli` (create, list, revoke). +- Suivi de consommation : compteurs SQLite (`api_tokens.count_total`, `last_used_at`) + événements Matomo async. + +### Configuration + +- Nouvelles variables d'environnement : `USERS_DB_PATH`, `MATOMO_URL`, `MATOMO_SITE_ID`, `MATOMO_TRACKING_ENABLED`. +- Création de 2 Custom Dimensions côté Matomo : `dimension1=token_id`, `dimension2=http_status`. + ##### 2.7.7 (11 mai 2026) - Suppression des mentions sur les profils d'acheteur. Omnikles/Safetender publie via l'API DUME et Klekoon ne publie pas, mais c'est peut-être pas le seul, donc je préfère supprimer et refaire un tour. diff --git a/src/api/routes.py b/src/api/routes.py index afda3ce..9ffa0aa 100644 --- a/src/api/routes.py +++ b/src/api/routes.py @@ -95,7 +95,16 @@ def schema(): @bp.route("/data") @require_token def data(): - """Endpoint tabulaire : filtres dynamiques sur les colonnes DECP.""" + """Récupère des marchés publics filtrés. + + Filtres en query string sous la forme `__=`. + + Opérateurs : exact, contains, notcontains, less, greater, + strictly_less, strictly_greater, in, notin, isnull, isnotnull, sort. + + Paramètres réservés : page (défaut 1), page_size (défaut 50, max 1000), + columns (csv), count (true|false ; mettre false pour économiser le COUNT(*)). + """ import polars as pl import polars.selectors as cs