Effectuer une requête à l'API

L'API Mobilic est un service web (basé sur le protocole HTTP) qui utilise le standard GraphQL.

GraphQL

Contrairement aux architectures de type REST où le verbe HTTP et l'URI vont caractériser l'opération, toutes les requêtes à l'API GraphQL partageront le même verbe HTTP POST et le même URI.

Cet URI unique dépend de l'environnement :

Le détail de l'opération sera précisé dans le corps JSON de la requête.

Exemple simple

Toutes les actions réalisables sur l'API nécessitent d'avoir créé un compte Mobilic, et presque toutes requièrent d'être authentifié.

Pour cet exemple basique, nous allons prendre une opération qui affiche l'email, le nom, et l'identifiant Mobilic de l'utilistateur, à l'aide de l'opération me

Le corps de la requête, au format JSON, doit contenir un champ query qui précise l'opération. La valeur de ce champ query est pour l'opération me:

query {
    me {
        id
        lastName
        email
    }
}

Pour constituer le corps JSON de la requête, il suffit de mettre le texte de l'opération dans une chaîne de caractères, en échappant les guillemets à l'aide d'un anti-slash et en remplaçant les sauts de ligne par :

{
    \"query\": \"query {\n me {\n id\n lastName\n email\n }\n }\"
}

Cette requête nécessite d'être authentifié, il faut donc rajouter les header HTTP d'authentification décrit dans cette page.

Pour soumettre la requête à l'API il est possible d'utiliser :

  • la console pour une expérience interactive. Voir le guide de la console.

  • n'importe quelle librairie HTTP (curl, requests en python, ...)

Via cURL

Il suffit de constituer le corps JSON de la requête à partir du champ query.

curl \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {access_token}" \
  -H "X-CLIENT-ID: {client_id}" \
  --data "{ \"query\": \"query {\n me {\n id\n lastName\n email\n }\n }\"}" \
  https://api.sandbox.mobilic.beta.gouv.fr/graphql

Pour plus d'informations sur la manière d'écrire des opérations GraphQL vous pouvez consulter notre guide sur les opérations GraphQL.

Dernière mise à jour