Communiquer avec l'API

Envoyer une requête

Pour les détails concernant la racine, l'authentification, etc... rendez-vous sur la page Réference.

L'api utilise le protocole HTTPS, pour envoyer une requête il vous suffit de faire une requête HTTP avec le client de votre choix.

GET /stock/gateau HTTP/1.1
Host: api.edu-focus.org
Authorization: Basic Q2VjaSBlc3QgZXZpZGVtZW50IHVuIGZhdXggdG9rZW4=

Corps de la requête

Parfois, il y à besoin d'envoyer des données au serveur, notamment pour les endpoints utilisant la méthode PUT et POST. Dans ces cas la, le contenu doit être envoyé au serveur sous la forme d'un objet JSON [EN] valide.

N'envoyez jamais de formulaire à l'api, il ne seront pas traités.

Réponses

Lorsque vous faites une requête à l'api, vous devez vous attendre à une réponse, la réponse de l'api est toujours en JSON [EN]. L'api répondra toujours soit par un succès, soit par une erreur. La réponse contiendra toujours au moins deux clé:

  • code: Le code http de la réponse,

  • status: Le status de la requête. Voir détails ci dessous

Succès

Les requêtes aboutissant correctement auront la clé status à success ainsi qu'un code commençant par 2 (200-299) voici un exemple de réponse réussie :

{
"code": 200,
"status": "success"
}

La réponse peut également contenir une clé message apportant des informations supplémentaires.

Données de la requête

Si la requête consiste à récupérer des données auprès d'Edu-Focus, ces données seront sous la clé payload. Le payload peut être de n'importe quelle forme (entier, nombre a virgule flottante, chaine de caractère, booléen, tableau ou objet ou null).

La clé payload n'est pas nécessairement présente sur toutes les requêtes.

Voici un exemple de réponse réussie avec des données :

{
"code": 200,
"status": "success",
"payload": {
"Forêt noire": 4,
"Baba au rhum": 5,
"Fraisier": 0,
"Paris-brest": 12
}
}

Erreur

Les requêtes aboutissant correctement auront la clé status à failure ainsi qu'un code commençant soit par 4 (400-499) soit par 5 (500-599), de plus les réponse échoués auront toujours une clé message détaillant l'erreur survenue. Voici un exemple de réponse échouée :

{
"code": 400,
"status": "failure",
"message": "La porte de la remise est fermée"
}

Liste des erreurs génériques de l'api

Erreur

Details

Code

access_denied

La requête n'est pas authentifiée correctement.

401

insuficient_permissions

Les identifiants fournis dans la requête n'ont pas les autorisations suffisantes pour faire cette requête.

403

not_found

Le contenu demandé n'existe pas.

404

unsupported_content_type

Le header Content-Type est autre que application/json.

400

malformed_json

Le corps de la requête n'est pas un JSON [EN] valide.

400

missing_parameters

Un ou plusieurs paramètre(s) (tous types confondus) est/sont manquant(s).

400

invalid_parameters

Un ou plusieurs paramètre(s) (tous types confondus) est/sont malformé(s) ou ne respecte pas les restrictions de formatage qui lui/leurs sont liés.

400