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.
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).

É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
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.