MTSGO Supervision API API documentation version 1.0 alpha 1
/auth/
Système d'authentification.
post /auth/
Query Parameters
- username: required (string)
Nom de d'utilisateur de l'administrateur.
- password: required (string)
Mot de passe de l'administrateur en clair.
/spots
Gestion des spots dans le jeu.
Obtenir tout les spots du jeu.
Insérer un spot.
get /spots/
Obtenir tout les spots du jeu.
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur.
HTTP status code 200
Si l'authentification est correcte, la liste des spots dans le jeu.
Body
Media type: application/json
Type: object
Properties- spots: required (array of SpotWithQuestions)
Items: SpotWithQuestions
- centrex: required (number)
Latitude du spot.
- centrey: required (number)
Longitude du spot.
- centrez: required (integer)
Etage du spot.
- rayon: required (integer)
Rayon de validité du spot.
- currentQuestion: required (object)
Question dans le spot.
- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
- id: required (integer)
- questionList: required (array of Question)
Liste des questions que le spot peut instancier.
Items: Question
- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
- id: required (integer)
- startTime: required (integer)
Temps à partir duquel le spot est actif.
- delay: required (integer)
Temps de recoil du spot.
- centrex: required (number)
HTTP status code 403
Authentification impossible.
post /spots/
Insérer un spot.
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur
- spot: required (object)
Spot à insérer.
- centrex: required (number)
Latitude du spot.
- centrey: required (number)
Longitude du spot.
- centrez: required (integer)
Etage du spot.
- rayon: required (integer)
Rayon de validité du spot.
- currentQuestion: (integer)
Question dans le spot.
- questionList: required (array of integer )
Liste des IDs des questions que le spot peut instancier.
- startTime: required (integer)
Temps à partir duquel le spot est actif.
- delay: required (integer)
Temps de recoil du spot.
- centrex: required (number)
Supprime le spot concerné.
get /spots/{spot_id}/
URI Parameters
- spot_id: required (string)
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur.
HTTP status code 200
Si l'authentification est correcte, et que le spot exists, le spot demandé.
Body
Media type: application/json
Type: object
Properties- centrex: required (number)
Latitude du spot.
- centrey: required (number)
Longitude du spot.
- centrez: required (integer)
Etage du spot.
- rayon: required (integer)
Rayon de validité du spot.
- currentQuestion: required (object)
Question dans le spot.
- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
- id: required (integer)
- questionList: required (array of Question)
Liste des questions que le spot peut instancier.
Items: Question
- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
- id: required (integer)
- startTime: required (integer)
Temps à partir duquel le spot est actif.
- delay: required (integer)
Temps de recoil du spot.
HTTP status code 403
Authentification impossible.
HTTP status code 404
Spot non retrouvé.
delete /spots/{spot_id}/
Supprime le spot concerné.
URI Parameters
- spot_id: required (string)
Query Parameters
- token: required (string)
Jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur.
/questions
Obtention, insértion et modification des questions dans le jeu.
Retourne toutes les questions dans la base de données.
Positionne une question sur le jeu. L'ID doit être vide pour cette requête
get /questions
Retourne toutes les questions dans la base de données.
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur.
HTTP status code 200
Body
Media type: application/json
Type: array of Question
Items: Question
- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
post /questions
Positionne une question sur le jeu. L'ID doit être vide pour cette requête
Query Parameters
- token: required (string)
Le jeton d'authentification.
- question: required (object)
La question à insérer.
- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
- id: required (integer)
Retourne les détails d'une question si son ID existe
Met à jour une question spécifique.
get /questions/{question_id}/
Retourne les détails d'une question si son ID existe
URI Parameters
- question_id: required (string)
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur.
HTTP status code 200
Dans le cas où l'ID existe, les données de la question.
Body
Media type: application/json
Type: object
Properties- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
HTTP status code 403
Authentification impossible.
HTTP status code 404
Dans le cas ou l'ID n'est associé à aucune question, un code 404 est retourné.
post /questions/{question_id}/
Met à jour une question spécifique.
URI Parameters
- question_id: required (string)
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur.
- question: required (object)
La question avec ses données mises à jour.
- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
- id: required (integer)
HTTP status code 200
Dans le cas où la mise à jour a été faite avec succès.
Body
Media type: application/json
Type: object
Properties- id: required (integer)
Identifiant unique de la question
- question: required (string)
Texte de la question
- rep1: required (string)
Réponse 1
- rep2: required (string)
Réponse 2
- rep3: required (string)
Réponse 3
- rep4: required (string)
Réponse 4
- score: required (integer)
Score attribué si le joueur répond correctement.
- difficulty: required (integer)
Difficulté de la question.
HTTP status code 401
La question soumise contient des erreurs.
Body
Media type: application/json
Type: string
HTTP status code 403
Authentification impossible
/carte
Obtention de la dernière version de la carte.
Lien vers le fichier de la carte.
/stats
Obtention des statistiques sur le serveur (Joueurs, Questions, etc.)
Retourne les statistiques actuels.
get /stats
Retourne les statistiques actuels.
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur.
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- nbrQ: required (integer)
Nombre de questions.
- nbrJ: required (integer)
Nombre de joueurs inscrits.
- nbrJConnected: required (integer)
Nombre de joueurs actifs.
/state/
Information à propos des ressources du serveur.
Obtenir les informations à propos des ressources du serveur.
get /state/
Obtenir les informations à propos des ressources du serveur.
Query Parameters
- token: required (string)
Jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur.
/position
Uniquement disponible dans la version de développement pour faciliter les test
Liste la position de tout les joueurs
get /position
Liste la position de tout les joueurs
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur
Obtention de la position d'un joueur spécifique
get /position/{id_joueur}
Obtention de la position d'un joueur spécifique
URI Parameters
- id_joueur: required (string)
Query Parameters
- token: required (string)
Le jeton d'authentification.
- user_id: required (integer)
ID de l'administrateur
HTTP status code 200
Si le joueur avec l'id id_joueur a été trouvé.
Body
Media type: application/json
Type: object
Properties- id: required (integer)
- x: required (integer)
- y: required (integer)
- z: required (integer)
HTTP status code 403
Authentification impossible
HTTP status code 404
Si le joueur avec l'id id_joueur n'a pas été trouvé.