Conversion GraphQL vers CSV
L'utilisateur peut effectuer une requête GraphQL vers la base de données de Chouette et convertir le résultat en un fichier CSV par ligne de commande en utilisant l’outil https://bitbucket.org/enroute-mobi/graphql-to-csv/src/master/.
Ainsi, tous les attributs accessibles avec une requête GraphQL peuvent être récupérés et convertis dans un fichier type CSV. Pour connaître tous les attributs accessibles, consultez notre documentation Postman https://documenter.getpostman.com/view/9950294/Szf3aqMh#b8713f1e-630c-45bd-a2ad-2c443ae4b8da.
Pré-requis
Télécharger l’exécutable sur https://bitbucket.org/enroute-mobi/graphql-to-csv/downloads/ selon votre système d’exploitation;
Créer ou utiliser une API de publication existante (vous pouvez créez une API de Publication privée avec une clé d’API Publication de l’offre | Gestion des APIs de Publication ).
Créer un fichier YAML contenant la requête GraphQL avec les attributs souhaités (il doit être créé au même endroit que l’exécutable téléchargé)
Plusieurs fichiers d’exemples sont disponibles ci-dessous.
L’URL d’API est à modifier avec votre URL d’API.
Le nom de fichier CSV est à modifier selon votre requête également.
Exemple 1 - Récupérer les lignes avec les attributs identifiants, noms et transporteurs :
api: https://chouette-core-test.enroute.mobi/api/
request: |
{
lines {
nodes {
registrationNumber
name
company {
name
}
}
}
}
root: $.data.lines
columns:
id: registrationNumber
name: name
company: $.company.name
output: lines.csv
Exemple 2 - Récupérer les arrêts avec les attributs identifiants, noms, nom du parent, identifiant du parent, nom de la ligne
api: https://chouette-core-test.enroute.mobi/api/
request: |
{
stopAreas {
nodes {
registrationNumber
name
parent {
registrationNumber
name
}
lines {
nodes {
name
}
}
}
}
}
root: $.data.stopAreas
columns:
id: registrationNumber
name: name
parent_id: $.parent.registrationNumber
parent_name: $.parent.name
line: $.lines.nodes[0].name
output: stop_areas.csv
Exécuter la ligne de commande sur Windows
Pour lancer la conversion de votre requête GraphQL vers CSV il faut exécuter sur l’invite de commandes deux commandes qui font appel à l’API, au niveau de l’emplacement du fichier où se trouve la requête.
set API_TOKEN= <token>
graphql-to-csv.exe lines.yaml
Une fois les commande exécutées, un fichier CSV apparaît dans le même emplacement.
API_TOKEN est à modifier avec votre token d’API créé.
Le nom de fichier YAML est à modifier également.
Exécuter la ligne de commande sur Mac
Pour lancer la conversion de votre requête GraphQL vers CSV il faut exécuter sur la console deux commandes qui font appel à l’API, au niveau de l’emplacement du fichier où se trouve la requête.
Voici un exemple :
API_TOKEN est à modifier avec votre token d’API créé.
Le nom de fichier YAML est à modifier également.
Une fois les commande exécutées, un fichier CSV apparaît dans le même emplacement.
Exécuter la ligne de commande sur Linux
Pour lancer la conversion de votre requête GraphQL vers CSV il faut exécuter sur la console une ligne de commande qui accède à l’emplacement du fichier où se trouve la requête et une commande qui fait appel à l’API avec le token correspondant.
Voici un exemple :
Une fois les commande exécutées, un fichier CSV apparaît dans le même emplacement.