Statistiques¶
- GET /api/stats/(user_name)/by_time¶
Obtenir des statistiques sur les séances d’entraînement pour un utilisateur par période de temps. Seul l’utilisateur authentifié peut accéder à ses statistiques.
Scope :
workouts:read
Exemple de requêtes :
sans paramètres :
GET /api/stats/admin/by_time HTTP/1.1
avec des paramètres :
GET /api/stats/admin/by_time?from=2018-01-01&to=2018-06-30&time=week HTTP/1.1
Exemple de réponses :
succès pour les totaux :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": { "2017": { "3": { "total_workouts": 2, "total_ascent": 203.0, "total_ascent": 156.0, "total_distance": 15.282, "total_duration": 12341 } }, "2019": { "1": { "total_workouts": 3, "total_ascent": 150.0, "total_ascent": 178.0, "total_distance": 47, "total_duration": 9960 }, "2": { "total_workouts": 1, "total_ascent": 46.0, "total_ascent": 78.0, "total_distance": 5.613, "total_duration": 1267 } } } }, "status": "success" }
succès pour les moyennes :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": { "2017": { "3": { "average_ascent": 101.5, "average_ascent": 78.0, "average_distance": 15.282, "average_duration": 7641, "average_speed": 4.48, "total_workouts": 2 } }, "2019": { "1": { "average_ascent": 50.0, "average_descent": 59.33, "average_distance": 15.67, "average_duration": 3320, "average_speed": 16.99, "total_workouts": 3 }, "2": { "average_ascent": 46.0, "average_descent": 78.0, "average_distance": 5.613, "average_duration": 1267, "average_speed": 15.95, "total_workouts": 1 } } } }, "status": "success" }
pas de séances :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": {} }, "status": "success" }
- Paramètres:
user_name (integer) – nom d’utilisateur
- Paramètres de requête:
from (string) – date de début (format :
%Y-%m-%d
)to (string) – date de fin (format :
%Y-%m-%d
)time (string) – période de temps : -
day
: jour -week
: semaine commençant le dimanche -weekm
: semaine commençant le lundi -month
: mois -year
: année (default)type (string) – type de statistiques : -
total
: calcul des totaux -average
: calcul des moyennes
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK –
success
invalid stats type
invalid time period
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
you do not have permissions, your account is suspended
user does not exist
- GET /api/stats/(user_name)/by_sport¶
Obtenir des statistiques sur les séances d’entraînement pour un utilisateur par sport. Seul l’utilisateur authentifié peut accéder à ses statistiques.
Scope :
workouts:read
Exemple de requêtes :
sans paramètres (obtenir les statistiques pour tous les sports ayant des séances) :
GET /api/stats/admin/by_sport HTTP/1.1
avec l’identifiant du sport :
GET /api/stats/admin/by_sport?sport_id=1 HTTP/1.1
Exemple de réponses :
succès pour tous les sports :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": { "1": { "average_ascent": 50.0, "average_descent": 59.33, "average_distance": 15.67, "average_duration": 3320, "average_speed": 16.99, "total_workouts": 3, "total_ascent": 150.0, "total_ascent": 178.0, "total_distance": 47, "total_duration": 9960 }, "2": { "average_ascent": 46.0, "average_descent": 78.0, "average_distance": 5.613, "average_duration": 1267, "average_speed": 15.95, "total_workouts": 1, "total_ascent": 46.0, "total_ascent": 78.0, "total_distance": 5.613, "total_duration": 1267 }, "3": { "average_ascent": 101.5, "average_ascent": 78.0, "average_distance": 15.282, "average_duration": 7641, "average_speed": 4.48, "total_workouts": 2, "total_ascent": 203.0, "total_ascent": 156.0, "total_distance": 15.282, "total_duration": 12341 } } }, "status": "success" }
succès pour un sport donné :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": { "2": { "average_ascent": 46.0, "average_descent": 78.0, "average_distance": 5.613, "average_duration": 1267, "average_speed": 15.95, "total_workouts": 1, "total_ascent": 46.0, "total_ascent": 78.0, "total_distance": 5.613, "total_duration": 1267 } } }, "status": "success" }
pas de séances :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "statistics": {} }, "status": "success" }
- Paramètres:
user_name (integer) – nom d’utilisateur
- Paramètres de requête:
sport_id (integer) – identifiant du sport (non obligatoire). Si non fourni, les statistiques sont retournées pour tous les sports.
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK –
success
invalid stats type
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
you do not have permissions, your account is suspended
user does not exist
sport does not exist
- GET /api/stats/all¶
Obtenir toutes les statistiques de l’application.
Scope :
workouts:read
Rôle minimum: Modérateur
Exemple de requêtes :
GET /api/stats/all HTTP/1.1
Exemple de réponses :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "sports": 3, "uploads_dir_size": 1000, "users": 2, "workouts": 3, }, "status": "success" }
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK –
success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
you do not have permissions
you do not have permissions, your account is suspended