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 : -
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
404 Not Found –
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
user does not exist
sport does not exist
- GET /api/stats/all¶
Obtenir toutes les statistiques de l’application.
Scope :
workouts:read
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
403 Forbidden –
you do not have permissions