Comment exporter les données QONTO avec Power BI ?

En tant qu’indépendant ou entrepreneur, il est important d’avoir une vision claire de la situation financière de sa société. Il existe de multiples solutions pouvant répondre à ce besoin. Dans mon cas, j’ai souhaité centraliser mes différents flux de données (QONTO, activité etc.) au sein d’un même et unique tableau de bord. Pour mener à bien cette tâche, je vais vous faire découvrir au travers de cette nouvelle série en trois articles comment récupérer vos flux de données QONTO via leur API directement dans Power Bi et comment les intégrer dans un tableau de bord.

API QONTO

Étape 1 : Fonctionnement de l'API QONTO

Avant de commencer il est important de bien comprendre le fonctionnement de l’API QONTO (notamment comment s’authentifier et quelles informations il sera possible d’obtenir).
L’API QONTO propose plusieurs méthodes d’authentification. Dans mon exemple, je vais utiliser la méthode « API Key ». Il est possible que certains appels ne fonctionnent pas encore avec cette méthode. Si tel est le cas, il faudra trouver une autre solution ou solliciter le support pour qu’il fasse évoluer l’API. Cela a été mon cas pour l’appel « /client_invoices/ » qui auparavant ne fonctionnait qu’avec la méthode d’identification OAUTH.

Pour commencer, voici l’exemple d’un appel API qui permettra de récupérer les informations liées à son compte QONTO :

API : https://thirdparty.qonto.com/v2/organizations/
Méthode d’authentification : Authorization: {organization-slug}:{secret-key}

{organization-slug} : identifiant de votre compte QONTO.
{secret-key} : Clé secrète générée par QONTO.
Pour obtenir ces informations, vous pouvez vous rendre directement dans votre interface QONTO > Options > Intégrations et partenariats > Clé API (tout en bas de la colonne).

Si vous êtes familier avec Postman, vous pouvez tester directement l’appel API. L’exemple ci-dessous vous montrera les informations retournées par l’appel API « /organizations/ » en passant par la méthode « API Key ». 

Étape 2 : Informations au sujet de l'API QONTO

Pour bien comprendre les prochaines étapes, il est important de souligner que l’API QONTO ne retourne que 100 résultats par appel. Si votre jeu de données contient donc plus de 100 lignes, il sera nécessaire d’appeler plusieurs fois l’API pour obtenir l’intégralité de vos données. 

Vérifiez également si l’appel API que vous souhaitez utiliser requiert d’autres paramètres obligatoires (ou optionnels) pour fonctionner en plus des valeurs à passer dans le header (Authorization). Si je prends comme base d’exemple l’appel API permettant de restituer les transactions, la documentation technique nous indique qu’il sera obligatoire de renseigner l’IBAN du compte. En paramètre optionnel, on remarque qu’il est possible d’envoyer d’autres informations à notre appel API (ajouter des filtres, effectuer un tri, modifier la pagination etc.). Le paramètre lié à la pagination (current_page) va particulièrement être intéressant car il permet de palier au problème de limitation des 100 lignes par appel. 

Étape 3 : Identifier les appels API

QONTO propose au travers de leur API, l’accès aux données de votre compte. Après avoir identifier les KPIs et les dimensions qui doivent êtres présents dans mon tableau de bord, j’ai isolé les 5 appels suivants : 

  • https://thirdparty.qonto.com/v2/transactions : Permet d’obtenir toutes les transactions (débits et crédits).
  • https://thirdparty.qonto.com/v2/supplier_invoices/ : Permet d’obtenir toutes les factures fournisseurs.
  • https://thirdparty.qonto.com/v2/client_invoices : Permet d’obtenir toutes vos factures générées.
  • https://thirdparty.qonto.com/v2/organizations/ : Permet d’obtenir les informations liées à votre compte (informations entreprise, solde du compte etc.).
  • https://thirdparty.qonto.com/v2/labels/ : Permet d’obtenir les labels analytics.
Grâce à ces appels, je serai en mesure d’obtenir tout ce dont j’ai besoin. Il sera ainsi possible de suivre l’évolution de ma trésorerie, calculer le chiffre d’affaires, connaitre les principaux postes de dépenses, suivre l’état d’avancement des paiements des factures etc.
Vous pouvez retrouver des informations complémentaires directement au sein de la documentation QONTO. Je reviendrai plus précisément sur cette partie lorsque je vous présenterai la partie tableau de bord PBI QONTO.

Étape 4 : Comment créer une requête API QONTO dans Power Bi ?

Dans cette partie, je vais vous guider étape par étape pour que vous puissiez récupérer les données de votre appel API.

1. Accédez à l’interface « Power Query »
2. Créez une nouvelle requête (vide) nommée « organization ».

3. Clic droit sur la requête « organization » puis cliquez sur « éditeur avancé ».
Une fenêtre s’ouvre et affiche le code de la requête.

A présent, nous allons modifier le code pour indiquer à Power Bi comment récupérer les données de notre appel API « https://thirdparty.qonto.com/v2/organization ». Après avoir vérifié dans la documentation, on remarque que cet appel est relativement simple et ne demande pas d’autres paramètres pour fonctionner. 

Remplacer le code actuel par le code suivant :

let
     slug = "renseigner ici l'identifiant de votre compte Qonto",
     secret_key = "renseigner ici la clé secrète de votre compte Qonto",
     authentification = slug & ":" & secret_key,
     Source = Json.Document(Web.Contents('https://thirdparty.qonto.com/v2/organization', [Headers=[Authorization=authentification]]))
in
     Source

Comment interpréter ce code :

La première partie de ce code permet d’instancier les valeurs de nos variables (slug, secret_key et authentification).
On retrouve ensuite l’appel à notre API (organization) qui est au format json. Comme indiqué précédemment, il est nécessaire de fournir une authentification (slug:secret_key) à notre appel afin qu’il puisse fonctionner. Cela pourra se faire grâce à l’ajout d’un élément complémentaire à notre requête HTTP qui est le paramètre Headers (en-tête du call http).

Après avoir modifié le code de la requête, vous devriez obtenir le résultat ci-dessous.

4. Effectuez un clic droit sur sur « Record » et cliquer sur « En table ». Vous remarquerez que l’icone dans la colonne de gauche a changé.
5. Développez la colonne « Value » et sélectionnez les colonnes présentes dans cette table. 

A ce stade, on obtient une table « organization » ne contenant qu’une seule ligne avec des données provenant de QONTO. Vous venez de voir la première méthode permettant de récupérer les données de l’API QONTO.

Les prochaines étapes

Cet article vous a été utile ? Faites le savoir à votre entourage professionnel.

Au fil de cet article, vous avez découvert le fonctionnement de l’API QONTO et comment intégrer un appel API directement dans Power Bi. 
C’est un bon début mais vous allez vous rendre compte par la suite que cette méthode a des limites notamment si le jeux de données comporte plus de 100 lignes ! Dans l’article suivant, je vais vous montrer comment perfectionner cet appel afin qu’il puisse gérer la pagination ou le passage de variables complémentaires.

Il vous reste des questions ou vous souhaitez que l’on développe un point en particulier ? N’hésitez pas à nous en faire part dans les commentaires ou via notre formulaire de contact.

Cet article vous a été utile ? Faites le savoir à votre entourage professionnel.

Quentin Moncharmont

Consultant web analyst

En tant que consultant, je mets toute mon expérience acquise depuis 2012 au service des clients que j’accompagne. Curieux et passionné par les sujets data,  j’aime découvrir de nouveaux univers métier et partager mes connaissances. En savoir plus !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ne rater aucune publication

Pas de spam, un email par mois pour rester en veille des derniers sujets que nous publions

Merci pour votre inscription. Vous recevrez notre prochaine newsletter très bientôt ! Aie ! Une erreur est survenue lors de votre demande - Vérifier votre saisie et recommencer. Merci

Découvrez nos autres articles Data visualisation

  • DataViz
  • Formations
  • Google Analytics
  • Google Tag Manager
  • Missions
  • Piano Analytics (AT)
  • Plan de marquage
  • PowerBi
  • Réalisations
12
Discutons ensemble de votre projet analytics et obtenez des solutions pertinentes à vos besoins !