Vous connaissez sûrement déjà Airtable pour ses fonctions de tableur, mais saviez-vous que l’outil propose également une fonctionnalité d’API ? De sa signification « Interface de Programmation d’Application », cette technologie permet d’obtenir un gain de temps considérable grâce à une connexion simplifiée aux applications extérieures.
Accessible sans beaucoup de connaissances en programmation, cette technique représente un avantage certain pour les développeurs d’applications. Seul requis : savoir comment utiliser l’API sur Airtable.
#1 Attention : abandon des clés d’API le 01/02/2024 !
Le 18 janvier 2023, Airtable a commencé à se défaire de l'utilisation des clés d'API pour ses utilisateurs, affectant ainsi les points d’ancrage web dans les bases Enterprise, qui expireront à la fin de ce processus.
Cette phase de transition durera 12 mois, se terminant le 1er février 2024.
Nous vous suggérerons fortement d'adopter les nouvelles méthodes d’authentification API qu'ils proposent pour faciliter cette transition.
La méthode alternative la simple c'est la création d'un jeton d'accès personnel. Voici le lien pour le créer sur votre compte.
#2 La structure de l'API d'Airtable
Airtable dispose de deux API différentes qui ont chacune leurs propres spécificités :
- REST API : il s'agit de l'API publique d'Airtable qui vous permet de récupérer vos données d'une base
- METADATA API : c'est une API utilisé par les développeurs pour récupérer les informations d'une base en elle-même (Champs, vues...)
Concrètement par exemple si vous souhaitez récupérer une information qui se trouve dans une colonne comme du texte ou une photo vous allez utiliser l'API REST. Par contre si vous souhaitez récupérer des informations sur la colonnes en elle-même (type de champs...) vous devez utiliser l'API métadonnées.
#3 L'API REST d'Airtable ?
Grâce à l'API Rest d'Airtable vous allez être en mesure de faire quatre actions principales :
- Récupérer les enregistrements de votre base Airtable
- Créer de nouveaux enregistrements
- Mettre à jour les enregistrements existants
- Supprimer des enregistrements
En revanche si vous souhaitez récupérer des informations sur vos bases en elle-même : champs, vues, permissions...vous devrez utiliser l'API de métadonnées. On y reviendra plus tard.
Vous pouvez accéder à la documentation de l'API Rest d'Airtable à partir de chacune de vos bases. Pour vous y rendre, cliquez sur le bouton "Aide" en haut à droite de la base puis faite défilé la liste pour accéder à la documentation de l'API en bas à gauche :
La documentation est plutôt bien faite car elle est dynamique. C’est-à-dire qu'en fonction de la base que vous choisissez la documentation sera personnalisée avec les bons éléments de votre base. Ainsi vous allez être en mesure de voir des exemples de requêtes vraiment liées à votre base, que vous allez pouvoir réutiliser facilement. Idem pour les réponses. Bref c'est vraiment bien fait et cela rend la compréhension de l'API plus facile surtout pour les utilisateurs d'Airtable qui ne sont normalement pas de développeurs.
Pour commencer à utiliser l'API REST vous devez utiliser les jetons d’accès personnels :
Par ailleurs il est important de savoir qu'il y a un nombre limite de requêtes. En effet vous n'allez pas pouvoir faire plus de 5 requêtes par seconde et par base. Cette limite existe sur l'ensemble des plans d'Airtable et ne peut pas actuellement être outrepassée. Lorsque cette limite est atteinte vous aurez une erreur 429 et allez devoir attendre 30 secondes avant que la requête en attente puisse aboutir.
Par ailleurs comme évoqué précédemment l'API Rest prend en charge uniquement la récupération des données d'enregistrement et non les informations sur la base elle-même. Pour récupérer le schéma d'une base vous allez pouvoir utiliser l'API de métadonnées.
#4 L'API Métadonnées de Airtable ?
Cette API vous donne la possibilité de répertorier toutes vos bases, tables, champs et vues. Si vous souhaitez développer une intégration à l'aide de l'API de métadonnées, vous devez vous inscrire ici pour y accéder et recevoir une clé spécifique. Attention face à une trop forte demande Airtable fait actuellement une pause dans la distribution des clés et allez devoir patienter. Mais il est conseillé dans tous les cas de remplir le formulaire pour être prévenu de la réouverture. Par ailleurs bon à savoir : les comptes "Enterprise" Airtable ne nécessitent pas de clé secrète client API de métadonnées distincte de celle de leur compte.
Au même titre que l'API Rest, cette API utilise le même type d'authentification (token-based). Vous allez donc avoir besoin de votre clé API et de l'envoyer dans le header de toutes vos requêtes :
Par ailleurs une fois que vous recevez l'autre clé secrète vous devez également l'envoyer dans le Header HTTP "X-Airtable-Client-Secret" avec toutes vos demandes pour aider Airtable à identifier et authentifier votre intégration. Si vous ne le faites pas, votre demande sera bloquée :
Enfin, notez que vous devez effectuer toutes ces requêtes côté serveur. En effet les requêtes côté client ne sont pas autorisées car elles exposeraient le jeton d'API de l'utilisateur.
Voici une liste de toutes les informations que vous pouvez récupérer avec l'API METADATA :
List bases : GET https://api.airtable.com/v0/meta/bases
Renvoie la liste des bases auxquelles la clé API peut accéder dans l'ordre dans lequel elles apparaissent sur l'écran d'accueil de l'utilisateur. Le résultat sera tronqué pour n'inclure que les 1000 premières bases.
Base schema : GEThttps://api.airtable.com/v0/meta/bases/BaseId/tables
Renvoie le schéma des tables de la base spécifiée.
Field types : il s'agit de tous les types de champs existant dans Airtable. Attention Airtbable se réserve le droit d’ajouter d'autres types de champs à l'avenir.
View types : il s'agit de tous les types de vues existantes dans Airatble. Ils se réservent également le droit d'ajouter d'autres types de vue à l'avenir.
Permission levels : Il s'agit de tous les types de permission existant dans Airtable. Pareil que les deux précédents : Airtbable se réserve le droit d’ajouter d'autres types de permission à l'avenir.