Vous vous posez une question simple (et très utile) :
“Quels sont les utilisateurs qui consomment le plus mon API, et sur quelle période ?”
Que ce soit pour identifier vos power users, repérer un pic d’activité, ou préparer une action de communication ciblée, avoir un classement des utilisateurs les plus actifs est un excellent point de départ.
Â
La solution : sans export, sans requĂŞte complexe
Bonne nouvelle : votre portail enregistre déjà tout ce qu’il vous faut.
Le dataset ods-api-monitoring trace chaque appel API effectué sur votre portail en temps réel. En quelques paramètres, vous pouvez extraire un top utilisateurs par volume d’appels sur la période de votre choix.
Â
âś… La requĂŞte (Top 50 sur 12 mois)
GET {{https://{votre-portail}}}/api/v2/monitoring/datasets/ods-api-monitoring/records
?select=user_id, count(*) as nb_api_calls
&where=timestamp >= now(years=-1)
&group_by=user_id
&order_by=nb_api_calls desc
&limit=50Cette requête retourne le top 50 des utilisateurs ayant généré le plus d’appels API au cours des 12 derniers mois, triés du plus actif au moins actif.
Prérequis : vous devez disposer des droits de monitoring sur votre portail (rôle administrateur ou permission Browse analytics).
Â
▶️ Comment l’utiliser
1) Directement dans votre navigateur (si vous êtes connecté en admin)
{{https://{votre-portail}}}/api/v2/monitoring/datasets/ods-api-monitoring/records?select=user_id%2Ccount(*)%20as%20nb_api_calls&where=timestamp%20%3E%3D%20now(years=-1)&group_by=user_id&order_by=nb_api_calls%20desc&limit=50 ​
2) Avec une clé API (script / outil externe)
curl "{{https://{votre-portail}}}/api/v2/monitoring/datasets/ods-api-monitoring/records?select=user_id%2Ccount(*)%20as%20nb_api_calls&where=timestamp%20%3E%3D%20now(years=-1)&group_by=user_id&order_by=nb_api_calls%20desc&limit=50" \
-H "Authorization: Apikey VOTRE_CLE_API"​
đź”§ Aller plus loin : 3 variantes utiles
1) Ne garder que les utilisateurs authentifiés (exclure les appels anonymes)
Ă€ ajouter dans le where :
&where=timestamp >= now(years=-1) AND user_id != "anonymous"
URL Ă copier-coller :
{{https://{votre-portail}}}/api/v2/monitoring/datasets/ods-api-monitoring/records?select=user_id%2Ccount(*)%20as%20nb_api_calls&where=timestamp%20%3E%3D%20now(years=-1)%20AND%20user_id%20%21%3D%20%22anonymous%22&group_by=user_id&order_by=nb_api_calls%20desc&limit=50​
2) Ventiler par utilisateur ET par type d’API (pour voir ce qu’ils consomment)
&select=user_id, api_type, count(*) as nb_api_calls &group_by=user_id, api_type &order_by=nb_api_calls desc
URL Ă copier-coller :Â
{{https://{votre-portail}}}/api/v2/monitoring/datasets/ods-api-monitoring/records?select=user_id%2Capi_type%2Ccount(*)%20as%20nb_api_calls&where=timestamp%20%3E%3D%20now(years=-1)&group_by=user_id%2Capi_type&order_by=nb_api_calls%20desc&limit=50Â
3) Changer la période (ex. 30 derniers jours)
Ă€ ajouter dans le where :
&where=timestamp >= now(months=-1)
URL Ă copier-coller :Â
{{https://{votre-portail}}}/api/v2/monitoring/datasets/ods-api-monitoring/records?select=user_id%2Ccount(*)%20as%20nb_api_calls&where=timestamp%20%3E%3D%20now(months=-1)&group_by=user_id&order_by=nb_api_calls%20desc&limit=50​
💬 Et vous ?
Vous avez déjà utilisé ods-api-monitoring pour analyser l’usage de vos APIs (top users, endpoints les plus utilisés, détection d’abus, etc.) ?
Partagez vos requĂŞtes ou vos astuces de monitoring en commentaire.
Â
Â