<< Back

Les API dans Alteryx

Qu’est-ce que les API dans Alteryx ? C’est un terme qui est très souvent entendu, mais nous ne savons pas toujours ce qui se cache derrière.

Nous allons tout d’abord définir ce qu’est une API, puis nous regarderons comment cela peut s’intégrer dans un processus d’analyse de données et pour finir cet article je vous donnerai quelques exemples d’utilisations d’API (dans Alteryx et hors de Alteryx).

Qu’est-ce qu’une API ?

API correspondent aux initiales de « Application Programming Interface »,  c’est un ensemble normalisé de classes, de méthodes, de fonctions et de constantes qui sert de façade par laquelle un logiciel offre des services à d’autres logiciels.

Ok, et donc concrètement, qu’est ce que ça veut dire ? C’est en fait un « point d’accès », une porte d’entrée vers un logiciel ou un service disponible. Pour tenter de les définir autrement, on peut dire que ce sont sont des moyens de communiquer entre différents logiciels ou services.

Il y a donc deux éléments distincts, le premier qui serait d’obtenir des informations ou des données, le second d’obtenir un service spécifique réalisé par une application. En bref, cela peut permettre par exemple d’obtenir des données.

Schémas fonctionnement API

On peut les représenter comme sur le schéma ci-dessus, c’est en fait une interface entre la base de donnée et les utilisateurs qui va permettre d’interroger de manière unifiée une base de données.

Concrètement, on va construire une URL qui sera donc notre appel à l’API.

Voilà pour la théorie, on va maintenant voir comment cela fonctionne dans Alteryx et comment cela s’intègre.

L’intégration des API dans Alteryx

Quand on parle des API dans le cadre d’Alteryx, on va souvent les intégrer soit dans des macros, soit utiliser l’outil téléchargement (download). D’une manière générale on va utiliser une entrée de donnée simple qui va contenir une URL puis un outil download, c’est cette URL qui va permettre d’interroger l’API.

Afin de mieux comprendre comment tout cela fonctionne, regardons une API précise puis illustrons la façon dont nous pouvons l’utiliser.

Exemple d’intégration d’une API

Nous allons donc regarder comment utiliser l’ Application Programming Interface de la Base des Adresses Nationales. Elle permet de géocoder une adresse et obtenir les coordonnées associées à cette adresse afin de pouvoir faire des calculs spatiaux dessus. Ainsi, je peux l’utiliser pour obtenir les coordonnées spatiales de mes clients et de mes points de vente afin de calculer quel est le point de vente le plus proche de chaque client.

La première étape est de voir et de comprendre comment fonctionne celle-ci. Pour ceci, il y a une première phase d’exploration. Je suis donc allé sur le site web associé à l’API : https://geo.api.gouv.fr/adresse

Et je commence à lire la documentation, ici je vois que le premier paramètre est l’adresse que je souhaite géocoder. Je peux ensuite limiter le nombre de retours, c’est-à-dire ici que pour une adresse je n’aurai qu’un retour qui me sera proposé. Il existe encore d’autres paramètres, mais je peux me contenter de ceux-ci pour notre exemple.

J’aurais donc une URL qui ressemblera à celle-ci : http://api-adresse.data.gouv.fr/search/?q=57+rue+Turbigo+75003+Paris&limit=1

pour la décrypter il y a plusieurs éléments très typiques des API :

  • q= c’est ce qui indique l’adresse, ici j’ai ensuite renseigné l’adresse en remplaçant les espaces par des +
  • limit=1 c’est le paramètre qui me permet de limiter à une réponse par appel
  • & qui me permet de séparer les différents paramètres

Si je réfléchis donc à la façon dont fonctionne cette API, voici comment va se structurer ma requête : http://api-adresse.data.gouv.fr/search/?q=adresse+a+geocoder&limit=1

Avec ces éléments je peux construire un workflow qui va me permettre d’interroger cette API via Alteryx de manière assez simple.

Intégrer une API dans un workflow Alteryx

Je vais donc utiliser un outil formula pour créer cette URL, puis je vais utiliser un outil télécharger (download). Cette api renvoie des données structurées en format JSON, je vais donc utiliser ensuite un outil interpréteur json (json Parse) et pour finir un outil tableau croisé dynamique pour avoir le format souhaité sur mes données.

 workflow Alteryx

Si on résume l’utilisation de l’API dans Alteryx, ici dans un cas assez simple, j’ai des adresses que je souhaite géocoder. Je vais interroger l’API de la BAN, j’ai construit mon appel API puis je récupère les données souhaitées et je les transforme légèrement afin de pouvoir ensuite les exploiter par la suite. A savoir que d’une manière générale il est assez courant d’avoir des appels à des API plus complexes et d’avoir un système avec un identifiant et un mot de passe.

Pour aller plus loin, on peut très facilement aller interroger une API en fonction de ses besoins que ce soit pour aller ici géocoder, mais aussi pour aller récupérer des données issues d’un applicatif externe qui ne se déverse pas dans votre système d’information, ou encore pour calculer des temps de trajet. Sachez en tout cas qu’il existe une multitude d’APIs qui remplissent chacune des objectifs spécifiques !

Les API hors d’Alteryx :

On a vu plusieurs éléments qui concernent les API. Mais à quoi sont -elles utilisées de manière générale ? Voici quelques exemples que l’on utilise, peut être même sans s’en rendre compte !

Quand par exemple vous effectuez un paiement avec Paypal sur un site web, c’est une Application Programming Interface  qui est utilisée, ou encore par exemple quand vous allez sur un comparateur de prix, il va interroger les Application Programming Interface  de différents sites, ou encore un exemple plus simple, google maps que l’on utilise très régulièrement, mais aussi alexa pour s’interconnecter à d’autres services. On peut dire que d’une manière générale on utilise des API de façon inconsciente, sans forcément s’en rendre compte !

En espérant que cet article vous plaise, la suite bientôt pour cette fois exploiter une API spécifique de manière plus approfondie !

Arthur Ladwein

Paris - Lille

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.