Équipements¶
- GET /api/equipments¶
Obtenir tous les équipements d’un utilisateur. Seul le propriétaire de l’équipement peut voir son équipement.
Scope :
equipments:read
Exemple de requête :
GET /api/equipments HTTP/1.1 Content-Type: application/json
avec quelques paramètres de requête (obtenir tous les équipements de type « Shoes »)
GET /api/equipment?equipment_type_id=1 HTTP/1.1
Exemple de réponse :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "equipments": [ { "creation_date": "Tue, 21 Mar 2023 06:08:06 GMT", "default_for_sport_ids": [], "description": "The first shoes added to FitTrackee", "equipment_type": { "id": 1, "is_active": true, "label": "Shoe" }, "id": "2UkrViYShoAkg8qSUKnUS4", "is_active": true, "label": "My shoes", "total_distance": 0.0, "total_duration": "0:00:00", "total_moving": "0:00:00", "user_id": 1, "workouts_count": 0 }, { "creation_date": "Tue, 21 Mar 2023 06:08:29 GMT", "default_for_sport_ids": [], "description": "The second shoes added to FitTrackee", "equipment_type": { "id": 1, "is_active": true, "label": "Shoe" }, "id": "2UkrViYShoAkg8qSUKnUS4", "is_active": true, "label": "My shoes 2", "total_distance": 0.0, "total_duration": "0:00:00", "total_moving": "0:00:00", "user_id": , "workouts_count": 0 } ] } }, "status": "success" }
- Paramètres de requête:
equipment_type_id (integer) – id du type d’équipement
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK – succès
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden –
you do not have permissions
- GET /api/equipments/(string: equipment_short_id)¶
Obtenir un équipement. Seul le propriétaire de l’équipement peut voir son équipement.
Scope :
equipments:read
Exemple de requête :
GET /api/equipments/2UkrViYShoAkg8qSUKnUS4 HTTP/1.1 Content-Type: application/json
Exemple de réponse :
succès
HTTP/1.1 200 OK Content-Type: application/json { "data": { "equipments": [ { "creation_date": "Tue, 21 Mar 2023 06:08:06 GMT", "default_for_sport_ids": [], "description": "Another piece of equipment", "equipment_type": { "id": 1, "is_active": true, "label": "Shoe" }, "id": "2UkrViYShoAkg8qSUKnUS4", "is_active": true, "label": "Other user Equipment", "total_distance": 0.0, "total_duration": "0:00:00", "total_moving": "0:00:00", "user_id": 2, "workouts_count": 0 } ] }, "status": "success" }
équipement non trouvé :
HTTP/1.1 404 NOT FOUND Content-Type: application/json { "data": { "equipments": [] }, "status": "not found" }
- Paramètres:
equipment_short_id (string) – id court de l’équipement
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK – succès
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden –
you do not have permissions
404 Not Found –
equipment not found
- POST /api/equipments¶
Créer un nouvel équipement.
Scope :
equipments:write
Exemple de requête :
POST /api/equipments HTTP/1.1 Content-Type: application/json
Exemple de réponse :
HTTP/1.1 201 CREATED Content-Type: application/json { "data": { "equipments": [ { "creation_date": "Tue, 21 Mar 2023 06:08:29 GMT", "default_for_sport_ids": [], "description": null, "equipment_type": { "id": 1, "is_active": true, "label": "Shoe" }, "id": "2UkrViYShoAkg8qSUKnUS4", "is_active": true, "label": "New equipment from API", "total_distance": 0.0, "total_duration": "0:00:00", "total_moving": "0:00:00", "user_id": 1, "workouts_count": 0 } ] }, "status": "created" }
- Objet JSON de requête:
label (string) – un label bref (moins de 50 caractères) pour l’équipement
equipment_type (integer) – l’id d’un type d’équipement (il doit être actif)
description (string) – une description (éventuellement plus longue) de l’équipement (limitée à 200 caractères, facultatif)
is_active (boolean) – si cet équipement est actuellement actif ou non (par défaut :
true
)default_for_sport_ids (array of integers) – les id des sports par défaut à utiliser pour cet équipement, non obligatoires
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
201 Created – équipement créé
the 'label' and 'equipment_type_id' parameters must be provided
equipment already exists with the same label
label exceeds 50 characters
invalid equipment type id
equipment type is inactive
sport (id <sport_id>) does not exist
invalid sport '<sport_label>' for equipment type '<equipment_type_label>'
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden –
you do not have permissions
404 Not Found –
equipment not found
500 Internal Server Error –
Error during equipment save
- PATCH /api/equipments/(string: equipment_short_id)¶
Modifier un équipement. Permet à un utilisateur de modifier le label, la description, le type ou le statut actif d’un de ses équipements.
Le changement de type d’un équipement supprimera toutes les associations existantes à des séances pour cet équipement et les sports définis par défaut.
Scope :
equipments:write
Exemple de requête :
PATCH /api/equipments/QRj7BY6H2iYjSV8sersFgV HTTP/1.1 Content-Type: application/json
Exemple de réponses :
succès
HTTP/1.1 200 OK Content-Type: application/json { "data": { "equipments": [ { "creation_date": "Tue, 21 Mar 2023 06:28:10 GMT", "default_for_sport_ids": [], "description": "Change bike to shoes", "equipment_type": { "id": 1, "is_active": true, "label": "Shoe" }, "id": "QRj7BY6H2iYjSV8sersFgV", "is_active": true, "label": "Updated bike", "total_distance": 0.0, "total_duration": "0:00:00", "total_moving": "0:00:00", "user_id": 1, "workouts_count": 0 } ] }, "status": "success" }
équipement non trouvé :
HTTP/1.1 404 NOT FOUND Content-Type: application/json { "data": { "equipments": [] }, "status": "not found" }
- Paramètres:
equipment_short_id (string) – id court de l’équipement
- Objet JSON de requête:
label (string) – un label bref (moins de 50 caractères) pour l’équipement
equipment_type_id (int) – l’id d’un type d’équipement (il doit être actif)
description (string) – une description (éventuellement plus longue) de l’équipement (limitée à 200 caractères, facultatif)
is_active (boolean) – si cet équipement est actuellement actif ou non (par défaut :
true
)default_for_sport_ids (array of integers) – les id des sports par défaut à utiliser pour cet équipement
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK – équipement mis à jour
no request data was supplied
no valid parameters supplied
equipment already exists with the same label
label exceeds 50 characters
invalid equipment type id
equipment type is inactive
sport (id <sport_id>) does not exist
invalid sport '<sport_label>' for equipment type '<equipment_type_label>'
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden –
you do not have permissions
404 Not Found –
equipment not found
500 Internal Server Error –
Error during equipment update
- POST /api/equipments/(string: equipment_short_id)/refresh¶
Recalcule les totaux de l’équipement (dans le cas où les valeurs seraient incorrectes).
Scope :
equipments:write
Exemple de requête :
POST /api/equipments/QRj7BY6H2iYjSV8sersFgV/refresh HTTP/1.1 Content-Type: application/json
Exemple de réponse :
HTTP/1.1 200 OK Content-Type: application/json { "data": { "equipments": [ { "creation_date": "Tue, 21 Mar 2023 06:28:10 GMT", "default_for_sport_ids": [], "description": "My Shoes", "equipment_type": { "id": 1, "is_active": true, "label": "Shoe" }, "id": "QRj7BY6H2iYjSV8sersFgV", "is_active": true, "label": "Updated bike", "total_distance": 6.0, "total_duration": "1:10:00", "total_moving": "1:00:00", "user_id": 1, "workouts_count": 1 } ] }, "status": "success" }
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
200 OK – équipement mis à jour
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden –
you do not have permissions
404 Not Found –
equipment not found
500 Internal Server Error –
Error during equipment save
- DELETE /api/equipments/(string: equipment_short_id)¶
Supprimer un équipement
Un utilisateur ne peut supprimer que son propre équipement, et seulement s’il n’y a pas de séances associées à cet équipement (à moins que la suppression ne soit forcée). Si l’équipement était associé à des séances et que la suppression est forcée, l’association entre cet équipement et ces séances sera supprimée. Si cet équipement était un équipement par défaut pour n’importe quel sport, la préférence sera mise à jour.
Scope :
equipments:write
Exemple de requête :
DELETE /api/equipments/QRj7BY6H2iYjSV8sersFgV HTTP/1.1 Content-Type: application/json
Exemple de réponse :
HTTP/1.1 204 NO CONTENT Content-Type: application/json
- Paramètres:
equipment_short_id (string) – id court de l’équipement
- Paramètres de requête:
force – si fourni en tant qu’argument (aucune valeur requise), cela forcera la suppression de l’équipement et l’enlèvera des séances associées
- En-têtes de requête:
Authorization – Jeton “OAuth 2.0 Bearer”
- Codes d’état:
204 No Content – équipement supprimé
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
you do not have permissions
you cannot delete equipment that has workouts associated with it without 'force' parameter
404 Not Found –
equipment not found
500 Internal Server Error –
error, please try again or contact the administrator