NAV Navbar
shell
  • Introduction
  • Authentification
  • Format de réponse
  • Users API
  • Clubs API
  • Permissions
  • Introduction

    Bienvenue dans la documentation de l'API du BDE de l'ESEO.

    La dernière version en date est la version 1.0.0.

    L'URL de l'API est https://api.bdeeseo.fr. Le protocole HTTPS est obligatoire.

    Authentification

    curl "api_endpoint_here"
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    Pour pouvoir utiliser l'API, vous devez spécifier un header API-key contenant votre clé API personnelle.

    Pour authentifier un utilisateur, vous devez spécifier un header API-token contenant le token temporaire (durée de vie : 24h).

    Format de réponse

    Réponse JSON type :

    {
        "success": true,
        "page": 1,
        "users": [
            {
                "ID": "bob.lebricoleur",
                "fullname": "Bob LE BRICOLEUR",
                "promo": 1,
                "mail": "bob.lebricoleur@reseau.eseo.fr",
                "lastconnect": "2017-08-30 22:10:05",
                "clubs": [
                    {
                      ...
                    }
                ]
            }
        ]
    }
    

    Toutes les réponses de l'API ont le même format. Le Type MIME est nécessairement application/json.

    La réponse est un objet composé d'un paramètre success indiquant si la requête s'est bien déroulée ou non, puis d'un objet représentant les données demandées.

    Si tout s'est bien passé, le code HTTP renvoyé est 200 (ou 201 pour les requêtes de type POST). Sinon, reportez-vous à la catégorie Erreurs.

    Users API

    Ajout d'un utilisateur

    curl "https://api.bdeeseo.fr/users/"
      --request POST
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true
    }
    

    Créé un utilisateur non-étudiant (permanent de l'ESEO, par exemple).

    Requête HTTP

    POST https://api.bdeeseo.fr/users

    Paramètres de la requête

    Paramètre Description
    token Le token d'inscription

     Permissions

    Accès aux clés API >= USER_BDE

    Générer un token d'inscription

    curl "https://api.bdeeseo.fr/users/token"
      --request GET
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "username": "PERM_IDUser",
        "email": "email@mail.com",
        "token": "TokenInscription"
    }
    

    Génère un token d'inscrption pour un utilisateur non-étudiant (permanent de l'ESEO, par exemple).

    Requête HTTP

    GET https://api.bdeeseo.fr/users/token

    Paramètres de la requête

    Paramètre Description
    email Adresse mail
    password Mot de passe

     Permissions

    Accès aux clés API >= USER_BDE

    Connexion d'un utilisateur

    curl "https://api.bdeeseo.fr/users/login"
      --request POST
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "token": "TokenUtilisateur",
        "ID": "bob.lebricoleur",
        "fullname": "Bob LE BRICOLEUR"
    }
    

    Génère un token temporaire permettant d'authentifier un utilisateur.

    Requête HTTP

    POST https://api.bdeeseo.fr/users/login

    Paramètres de la requête

    Paramètre Description
    email L'adresse email de l'utilisateur
    password Le mot de passe de l'utilisateur

     Permissions

    Accès aux clés API >= USER_EXT

    Liste ou recherche d'utilisateurs

    curl "https://api.bdeeseo.fr/users"
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "page": 1,
        "users": [
            {
                "ID": "bob.lebricoleur",
                "fullname": "Bob LE BRICOLEUR",
                "promo": null,
                "mail": "bob.lebricoleur@reseau.eseo.fr",
                "lastconnect": "2017-08-29 12:52:01",
                "clubs": [...],
                "ban": 0,
                "admin": 0,
                "address": "",
                "licence": "",
                "card": "",
                "phone": "",
                "pushAndroid": "",
                "pushIOS": "",
                "tresorOrder": "",
                "isStudent":0
            },
            {
                ...
            },
            ...
        ]
    }
    

    Recherche et/ou liste des utilisateurs.

    Requête HTTP

    GET https://api.bdeeseo.fr/users

    Paramètres de la requête

    Paramètre Description
    ID User ID (optionnel)
    fullname Nom de l'utilisateur, complet ou partiel (optionnel)
    promo Promotion de l'utilisateur (0 = Josephson ; 1 = Kirchhoff ; ...) (optionnel)
    page Page (30 users par page) (optionnel)

     Permissions

    Accès aux clés API >= USER_EXT

    Détail d'un utilisateur

    curl "https://api.bdeeseo.fr/users/bob.lebricoleur"
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "user": [
            {
                "ID": "bob.lebricoleur",
                "fullname": "Bob LE BRICOLEUR",
                "promo": null,
                "mail": "bob.lebricoleur@reseau.eseo.fr",
                "lastconnect": "2017-08-29 12:52:01",
                "clubs": [
                  {
                    "idclub": "IDDuClub",
                    "name": "Nom du club",
                    "role": "Rôle dans le club",
                    "clubCafet": 0,
                    "sellevent": null,
                    "hasCamion": 0,
                    "hasTresor": 0,
                    "hasAdmin": 0,
                    "hasNews": 0,
                    "userCafet": 0
                  }
                ],
                "ban": 0,
                "admin": 0,
                "address": "",
                "licence": "",
                "card": "",
                "phone": "",
                "pushAndroid": "",
                "pushIOS": "",
                "tresorOrder": "",
                "isStudent":0
            }
        ]
    }
    

    Affiche les informations d'un utilisateur.

    Requête HTTP

    GET https://api.bdeeseo.fr/users/bob.lebricoleur

     Permissions

    Accès aux clés API >= USER_EXT

    Modification d'un utilisateur

    curl "https://api.bdeeseo.fr/users/bob.lebricoleur"
      --request PATCH
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "user": [
            {
                "ID": "bob.lebricoleur",
                "fullname": "Bob LE BRICOLEUR",
                "promo": null,
                "mail": "bob.lebricoleur@reseau.eseo.fr",
                "lastconnect": "2017-08-29 12:52:01",
                "clubs": [
                  {
                    "idclub": "IDDuClub",
                    "name": "Nom du club",
                    "role": "Rôle dans le club",
                    "clubCafet": 0,
                    "sellevent": null,
                    "hasCamion": 0,
                    "hasTresor": 0,
                    "hasAdmin": 0,
                    "hasNews": 0,
                    "userCafet": 0
                  }
                ],
                "ban": 0,
                "admin": 0,
                "address": "",
                "licence": "",
                "card": "",
                "phone": "",
                "pushAndroid": "",
                "pushIOS": "",
                "tresorOrder": "",
                "isStudent":0
            }
        ]
    }
    

    Modifie les données personnelles et les options de l'utilisateur connecté.

    Requête HTTP

    PATCH https://api.bdeseo.fr/users/bob.lebricoleur

    Paramètres de la requête

    Paramètre Description
    phone Numéro de téléphone (optionnel)
    address Adresse postale (optionnel)
    licence Numéro de permis de conduire (optionnel)
    tresorOrder Ordre de classsement de la trésorerie : date ou reelles (optionnel)

     Permissions

    Accès aux clés API >= USER_BDE

    Clubs API

    Ajout d'un club

    curl "https://api.bdeeseo.fr/clubs/"
      --request POST
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "club": [
            {
                "ID": "club-med",
                "display": 1,
                "hasCafet": 0,
                "sellEvent": 0,
                "name": "",
                "subtitle": "",
                "description": "",
                "img": "",
                "contacts": "{\"fb\":\"\",\"twitter\":\"\",\"youtube\":\"\",\"web\":\"\",\"mail\":\"\"}",
                "users": [],
                "prez": null,
                "balance": 0,
                "drive": ""
            },
            {
                ...
            }
        ]
    }
    

    Ajoute un club.

    Requête HTTP

    POST https://api.bdeeseo.fr/clubs

    Paramètres de la requête

    Paramètre Description
    ID ID du club (seulement des minuscules et des tirets)

     Permissions

    Accès aux clés API >= USER_BDE

    Liste ou recherche de clubs

    curl "https://api.bdeeseo.fr/clubs"
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "page": 1,
        "clubs": [
            {
                "ID": "club-med",
                "display": 1,
                "hasCafet": 0,
                "sellEvent": 0,
                "name": "Club Med",
                "subtitle": "-",
                "description": "-",
                "img": "",
                "contacts": "{\"fb\":\"\",\"twitter\":\"\",\"youtube\":\"\",\"web\":\"\",\"mail\":\"\"}",
                "users": [
                    {
                        "user": "bob.lebricoleur",
                        "role": "PDG",
                        "hasTresor": 0,
                        "hasAdmin": 0,
                        "hasCafet": 0,
                        "hasNews": 0,
                        "hasCamion": 0
                    }, ...
                ],
                "prez": "IDPrésident",
                "balance": 0,
                "drive": ""
            },
            {
                ...
            }
        ]
    }
    

    Recherche et/ou liste des clubs.

    Requête HTTP

    GET https://api.bdeeseo.fr/clubs

    Paramètres de la requête

    Paramètre Description
    ID ID (complet ou partiel) du club (optionnel)
    name Nom (complet ou partiel) du club (optionnel)
    display Type du club (0 = caché, 1 = affiché) (optionnel)
    page Page (40 clubs par page) (optionnel)

     Permissions

    Accès aux clés API >= USER_EXT

    Détail d'un club

    curl "https://api.bdeeseo.fr/clubs/club-med"
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "club": [
            {
                "ID": "club-med",
                "display": 1,
                "hasCafet": 0,
                "sellEvent": 0,
                "name": "Club Med",
                "subtitle": "-",
                "description": "-",
                "img": "",
                "contacts": "{\"fb\":\"\",\"twitter\":\"\",\"youtube\":\"\",\"web\":\"\",\"mail\":\"\"}",
                "users": [
                    {
                        "user": "bob.lebricoleur",
                        "role": "PDG",
                        "hasTresor": 0,
                        "hasAdmin": 0,
                        "hasCafet": 0,
                        "hasNews": 0,
                        "hasCamion": 0
                    }, ...
                ],
                "prez": "IDPrésident",
                "balance": 0,
                "drive": ""
            },
            {
                ...
            }
        ]
    }
    

    Affiche les informations d'un club.

    Requête HTTP

    GET https://api.bdeeseo.fr/clubs/club-med

     Permissions

    Accès aux clés API >= USER_EXT

    Ajout d'un membre à un club

    curl "https://api.bdeeseo.fr/clubs/club-med/users"
      --request POST
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "club": [
            {
                "ID": "club-med",
                "display": 1,
                "hasCafet": 0,
                "sellEvent": 0,
                "name": "",
                "subtitle": "",
                "description": "",
                "img": "",
                "contacts": "{\"fb\":\"\",\"twitter\":\"\",\"youtube\":\"\",\"web\":\"\",\"mail\":\"\"}",
                "users": [
                  {
                    ...
                  }
                ],
                "prez": null,
                "balance": 0,
                "drive": ""
            },
            {
                ...
            }
        ]
    }
    

    Ajoute un membre à un club.

    Requête HTTP

    POST https://api.bdeeseo.fr/clubs/club-med/users

    Paramètres de la requête

    Paramètre Description
    ID ID de l'utilisateur
    role Rôle de l'utilisateur au sein du club

     Permissions

    Accès aux clés API >= USER_BDE

    Retirage d'un membre d'un club

    curl "https://api.bdeeseo.fr/clubs/club-med/users/bob.lebricoleur"
      --request DELETE
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true
    }
    

    Retire un membre d'un club.

    Requête HTTP

    DELETE https://api.bdeeseo.fr/clubs/club-med/users/bob.lebricoleur

     Permissions

    Accès aux clés API >= USER_BDE

    Modification des accès / du rôle d'un utilisateur

    curl "https://api.bdeeseo.fr/clubs/club-med/users/bob.lebricoleur"
      --request PATCH
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "user": [
            {
                "ID": "bob.lebricoleur",
                "fullname": "Bob LE BRICOLEUR",
                "promo": null,
                "mail": "bob.lebricoleur@reseau.eseo.fr",
                "lastconnect": "2017-08-29 12:52:01",
                "clubs": [
                  {
                    "idclub": "IDDuClub",
                    "name": "Nom du club",
                    "role": "Rôle dans le club",
                    "clubCafet": 0,
                    "sellevent": null,
                    "hasCamion": 0,
                    "hasTresor": 0,
                    "hasAdmin": 0,
                    "hasNews": 0,
                    "userCafet": 0
                  }
                ],
                "ban": 0,
                "admin": 0,
                "address": "",
                "licence": "",
                "card": "",
                "phone": "",
                "pushAndroid": "",
                "pushIOS": "",
                "tresorOrder": "",
                "isStudent":0
            }
        ]
    }
    

    Modifie les accès et/ou le rôle d'un utilisateur au sein d'un club (et uniquement au sein de ce club).

    Requête HTTP

    PATCH https://api.bdeseo.fr/clubs/club-med/users/bob.lebricoleur

    Paramètres de la requête

    Paramètre Description
    hasCamion Accès à la réservation du camion (optionnel)
    hasTresor Accès à la trésorerie (lecture et écriture) (optionnel)
    hasAdmin Accès aux informations du club (lecture et écriture) (optionnel)
    hasNews Accès aux news (lecture et écriture) (optionnel)
    hasCafet Accès à la cafet' (optionnel)
    role Rôle au sein du club (optionnel)

     Permissions

    Accès aux clés API >= USER_BDE

    Liste les membres d'un club

    curl "https://api.bdeeseo.fr/clubs/club-med/users"
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "page": 1,
        "users": [
            {
                "ID": "bob.lebricoleur",
                "fullname": "Bob LE BRICOLEUR",
                "promo": null,
                "mail": "bob.lebricoleur@reseau.eseo.fr",
                "lastconnect": "2017-08-29 12:52:01",
                "clubs": [...],
                "ban": 0,
                "admin": 0,
                "address": "",
                "licence": "",
                "card": "",
                "phone": "",
                "pushAndroid": "",
                "pushIOS": "",
                "tresorOrder": "",
                "isStudent":0
            },
            {
                ...
            },
            ...
        ]
    }
    

    Liste les membres d'un club et les renvoie au format User (voir Users API).

    Requête HTTP

    GET https://api.bdeeseo.fr/clubs/club-med/users

     Permissions

    Accès aux clés API >= USER_EXT

    Modification d'un club

    curl "https://api.bdeeseo.fr/clubs/club-med"
      --request PATCH
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true,
        "club": [
            {
                "ID": "club-med",
                "display": 1,
                "hasCafet": 0,
                "sellEvent": 0,
                "name": "Club Med",
                "subtitle": "-",
                "description": "-",
                "img": "",
                "contacts": "{\"fb\":\"\",\"twitter\":\"\",\"youtube\":\"\",\"web\":\"\",\"mail\":\"\"}",
                "users": [
                    {
                        "user": "bob.lebricoleur",
                        "role": "PDG",
                        "hasTresor": 0,
                        "hasAdmin": 0,
                        "hasCafet": 0,
                        "hasNews": 0,
                        "hasCamion": 0
                    }, ...
                ],
                "prez": "IDPrésident",
                "balance": 0,
                "drive": ""
            },
            {
                ...
            }
        ]
    }
    

    Modifie les données du club.

    Requête HTTP

    PATCH https://api.bdeseo.fr/clubs/club-med

    Paramètres de la requête

    Paramètre Description
    hasCafet Semaine de cafet (0 ou 1 - string) (optionnel)
    display Type du club (0 = caché, 1 = affiché - optionnel)
    name Nom du club (optionnel)
    subtitle Courte description (optionnel)
    description Description (optionnel)
    contacts Contacts (optionnel)
    prez Président (optionnel)

     Permissions

    Accès aux clés API >= USER_BDE

    Suppression d'un club

    curl "https://api.bdeeseo.fr/clubs/club-med"
      --request DELETE
      -H "API-token: TokenUtilisateur"
      -H "API-key: CleAPI"
      -H "API-version: 1"
    

    La commande ci-dessus renvoie un JSON tel que celui-ci :

    {
        "success": true
    }
    

    Supprime un club.

    Requête HTTP

    DELETE https://api.bdeeseo.fr/clubs/club-med

     Permissions

    Accès aux clés API >= USER_BDE

    Permissions