Passer au contenu principal

Applications développeur, clés API et webhooks

Créez des applications et des clés API, testez dans un bac à sable, envoyez des webhooks, installez les applications d'autres entreprises, et consultez les journaux de requêtes et les dépenses par clé.

Écrit par Sarah Chen

Les paramètres Développeur vous permettent de connecter Exayard à votre propre code et aux applications développées par d'autres entreprises. Ouvrez Paramètres, puis Développeur. Seuls les administrateurs de l'entreprise voient cette entrée dans le menu Paramètres. Un membre qui ouvre la page peut la consulter, mais ne peut rien modifier.

Les applications, clés API, webhooks et journaux sont inclus dans toutes les formules, y compris la formule gratuite. Seul le travail IA est facturé.

Applications

Une application est l'une de vos intégrations, par exemple « Estimateur Acme » ou « Synchronisation nocturne ». Chaque clé API appartient à une application. Applications est la première section de la page. Tous les membres peuvent la consulter. Seuls les administrateurs créent ou modifient des applications.

Cliquez sur Nouvelle application et renseignez son Nom, sa Description, sa Page d’accueil, son E-mail d’assistance et ses Portées. Les portées distinguent la lecture et l'écriture pour chaque ressource, par exemple read:projects et write:estimates. Les applications ne peuvent pas demander la portée admin:org. Une entreprise peut avoir jusqu'à 25 applications.

Chaque application indique sa date de création et sa limite de débit, par exemple « Jusqu'à 60 requêtes par minute par entreprise et 600 au total ». Le menu Plus d'actions de l'application regroupe :

  • Modifier change les informations et les portées de l'application.

  • Webhook définit l'adresse unique qui reçoit les événements de toutes les entreprises ayant installé l'application.

  • Supprimer l’application supprime l'application et révoque toutes ses clés. Toutes les entreprises qui l'ont installée perdent leur accès.

Clés API

Une clé API permet à votre propre code d'appeler l'API Exayard. Les clés se trouvent dans une application, sous Clés. Une clé fonctionne dans l'entreprise de son application : vous n'avez donc aucun identifiant d'entreprise à transmettre.

Pour en créer une, cliquez sur Nouvelle clé dans l'application. Donnez un Nom à la clé, par exemple « Production ». Sous Portées, choisissez Tous pour toutes les portées de l'application, ou Spécifiques pour en choisir moins. Définissez si vous le souhaitez une date d'Expiration si la clé sert à un travail de courte durée. La clé fonctionne jusqu'à la fin de ce jour. Cliquez sur Créer.

Exayard affiche la clé complète une seule fois. Copiez-la à ce moment-là, car elle ne sera plus jamais affichée. Exayard ne conserve qu'une copie chiffrée : une clé perdue ne peut donc pas être récupérée. Créez-en une nouvelle et révoquez l'ancienne.

Une clé commence par exa_live_. Une clé créée dans un bac à sable commence par exa_test_. Après sa création, la clé affiche son nom, un aperçu comme exa_live_...AbCd, et Dernière utilisation ou Jamais utilisée. Une clé avec une date d'expiration affiche Expiration et sa date, et une clé expirée affiche Expirée.

Une application peut avoir jusqu'à 25 clés actives. Une clé expirée continue de compter tant que vous ne l'avez pas révoquée. Pour changer de clé sans interruption, créez une deuxième clé, faites-la utiliser par vos serveurs, puis révoquez la première.

Ouvrez le menu Actions de la clé pour la Renommer ou la Révoquer. La révocation est définitive, et la clé cesse de fonctionner dans les 30 secondes.

Si une clé se retrouve dans un endroit public, par exemple un dépôt de code public, Exayard la révoque, envoie un e-mail à vos administrateurs et la conserve dans la liste avec la mention Exposée publiquement, révoquée.

Lorsqu'une autre entreprise a installé votre application, la boîte de dialogue de nouvelle clé affiche aussi Fonctionne dans. Cette entreprise est l'option par défaut. Toutes les entreprises qui l’ont installée crée une clé que votre serveur utilise dans chacune de ces entreprises. Chaque appel indique alors son entreprise dans l'en-tête Exayard-Organization-Id.

Les mêmes clés connectent les outils sans code. Consultez Connecter Exayard à Zapier, Connecter Exayard à Make et Connecter Exayard à n8n. Pour les assistants IA, consultez Connecter Exa à votre assistant IA.

Anciennes clés

Les clés créées avant que les clés ne soient rattachées aux applications commencent par ak_. Elles continuent de fonctionner, mais il n'est plus possible d'en créer. Elles apparaissent sous Anciennes clés en bas de la page, uniquement s'il en reste.

Chaque administrateur y voit toutes les clés de l'entreprise, quel que soit leur créateur. Une clé créée par une autre personne affiche Créée par et son nom. Chaque personne voit aussi ses propres clés personnelles. Cliquez sur l'icône de corbeille pour Révoquer une clé. Elle cesse immédiatement de fonctionner.

Bacs à sable

Un bac à sable est une entreprise de test liée à la vôtre. Utilisez-le pour développer et tester une intégration sans toucher à vos vrais projets. Seuls les administrateurs voient Bacs à sable.

Cliquez sur Nouveau bac à sable, donnez-lui un Nom et cliquez sur Créer. Une entreprise peut avoir jusqu'à 5 bacs à sable. Ouvrir vous fait basculer dans le bac à sable, que le sélecteur d'entreprise signale par la mention Bac à sable. Créez-y une application et une clé comme d'habitude. Ses clés commencent par exa_test_. Pour passer en production, créez la même application et la même clé dans votre vraie entreprise et remplacez la clé dans votre code.

Un bac à sable suit la formule de votre entreprise, et votre entreprise paie son utilisation. Il n'a pas de facturation propre et ne reçoit pas d'utilisation IA mensuelle propre. Les webhooks et les intégrations fonctionnent comme dans votre vraie entreprise.

Un bac à sable n'envoie pas d'e-mails de partage d'offre ni de copies signées aux personnes extérieures, et il n'envoie aucun SMS. Ces envois apparaissent avec la mention « Non envoyé, car cette entreprise est un bac à sable ». Les invitations à rejoindre le bac à sable sont envoyées normalement.

Dans un bac à sable, les métrés et les lectures de fichiers renvoient gratuitement des résultats copiés depuis notre projet exemple. Le métré, ses pages et le webhook de fin du métré sont marqués comme exemples. Les estimations, les offres, la recherche d'éléments et le chat répondent eux aussi avec des exemples, gratuitement.

Pour retirer un bac à sable, cliquez sur Supprimer sur sa ligne, puis sur Supprimer le bac à sable. Le bac à sable est fermé, ses clés cessent de fonctionner et ses données sont effacées par la suite.

Webhooks

Un webhook demande à Exayard de prévenir votre serveur lorsqu'un événement se produit dans votre entreprise. Tous les membres peuvent consulter la liste. Seuls les administrateurs ajoutent ou modifient des webhooks.

Cliquez sur Créer un webhook, saisissez l'URL qui doit recevoir les envois et, si vous le souhaitez, une Description. Choisissez les Événements à envoyer. Sélectionnez Tous pour recevoir tous les événements, y compris les nouveaux, ou Spécifiques pour les choisir dans la liste. Chaque événement et son contenu sont répertoriés dans le catalogue des événements webhook.

Lorsque vous créez un webhook, Exayard affiche une seule fois son Secret de signature. Copiez-le à ce moment-là, car il ne sera plus affiché.

Ouvrez le menu Plus d'actions d'un webhook pour le reste :

  • Modifier change l'URL, la description et les événements, et définit son Statut sur Actif ou En pause. Un webhook en pause ne reçoit aucun envoi. La boîte de dialogue propose aussi Renouveler le secret. L'ancien secret cesse immédiatement de fonctionner : mettez donc d'abord votre serveur à jour.

  • Envoyer un événement de test envoie un événement du Type d’événement de votre choix. La boîte de dialogue attend la réponse de votre serveur et affiche le résultat et le code de réponse. Un événement de test contient "test": true.

  • Envois répertorie les 25 derniers envois avec leur événement, leur statut, leur code de réponse et leur nombre de tentatives. Un envoi est En attente, Nouvelle tentative, Remis ou Échec. Les administrateurs peuvent cliquer sur Renvoyer pour envoyer de nouveau un envoi.

  • Supprimer le webhook met fin à tous les envois vers cette URL.

Un événement de test et un renvoi sont envoyés une seule fois et ne sont jamais retentés.

Sécuriser les envois de webhooks

Chaque envoi comporte un en-tête Exayard-Signature au format t=<unix>,v1=<digest>. Exayard construit la signature en concaténant l'horodatage et le corps de la requête, puis en les signant avec HMAC-SHA256 à l'aide du secret de votre webhook.

Chaque envoi comporte également les en-têtes Exayard-Event-Id, Exayard-Event-Type et Exayard-Organization-Id. Le corps JSON contient un champ organizationId qui indique l'entreprise d'où provient l'événement. L'en-tête contient le même identifiant, ce qui vous permet d'acheminer un envoi avant même de lire le corps. La signature couvre l'intégralité du corps, organizationId compris.

Comme chaque envoi indique son entreprise, une seule adresse de réception peut servir plusieurs entreprises. Enregistrez la même URL dans chaque entreprise et acheminez chaque envoi selon organizationId. Chaque webhook possède son propre secret : choisissez donc le secret selon Exayard-Organization-Id avant la vérification.

Pour vérifier un envoi, recalculez la signature avec votre secret, vérifiez que l'horodatage date de moins de cinq minutes, puis comparez les condensats.

Un envoi en échec est tenté jusqu'à 10 fois au total, sur environ 80 heures, avec des délais de plus en plus longs entre les tentatives. Chaque tentative envoie le même corps et le même identifiant d'événement. Une redirection compte comme un échec.

Autoriser d'autres entreprises à installer votre application

Votre application fonctionne dans votre propre entreprise dès sa création. Chaque application comporte aussi une partie Autoriser d’autres entreprises à installer cette application. Elle indique si l'application est Examinée, Examen demandé ou Non examinée, ses Adresses de connexion, son ID client et le nombre d'entreprises qui peuvent l'installer.

Les administrateurs ouvrent le menu Actions d’installation pour les actions suivantes :

  • Modifier les adresses de connexion définit les adresses vers lesquelles Exayard renvoie les utilisateurs lorsque votre application les connecte avec leur compte Exayard. Saisissez une adresse par ligne, jusqu'à 10. Chacune doit commencer par https://, ou par http://localhost pendant vos tests. La première fois que vous enregistrez des adresses de connexion, Exayard affiche une seule fois le Secret client de l'application.

  • Copier le lien d’installation copie un lien que vous pouvez envoyer à n'importe quelle entreprise. Il ouvre la boîte de dialogue d'installation pour l'administrateur de cette entreprise.

  • Demander un examen envoie l'application à l'assistance Exayard pour examen.

Une nouvelle application peut être installée dans 25 entreprises au maximum en plus de la vôtre, et elle n'apparaît pas dans Trouver des applications. Les entreprises figurant sous Comptes pour vos clients ne comptent pas dans cette limite. Une fois approuvée, l'application affiche Examinée et la limite d'installations est levée. Utilisez Afficher dans Trouver des applications pour la proposer dans l'annuaire de chaque entreprise, ou Masquer dans Trouver des applications pour l'en retirer. Une application Suspendue ne peut plus appeler Exayard tant que l'assistance n'a pas levé la suspension, et ses installations sont conservées.

Lorsque vous retirez des portées à une application, toutes les installations les perdent immédiatement. Lorsque vous ajoutez des portées, chaque entreprise conserve ses accès actuels jusqu'à ce qu'un de ses administrateurs approuve les nouvelles portées.

Webhook de l'application

Ouvrez le menu Plus d'actions de l'application et cliquez sur Webhook. Saisissez l'URL et cliquez sur Créer, puis copiez le Secret de signature, qu'Exayard n'affiche qu'une seule fois. Chaque entreprise ayant installé l'application envoie les événements couverts par les portées qu'elle a accordées. Votre application reçoit aussi app.installed, app.scopes_approved et app.uninstalled lorsqu'une entreprise l'installe, approuve un accès plus large ou la supprime. Les envois indiquent leur entreprise et sont signés de la même façon que les autres webhooks.

La même boîte de dialogue vous permet de Suspendre et de Reprendre les envois, de Renouveler le secret et de Supprimer le webhook.

Applications connectées

Applications connectées répertorie les applications installées dans votre entreprise. Tous les membres peuvent la consulter. Seuls les administrateurs peuvent installer, supprimer ou approuver.

Chaque ligne indique le nom de l'application, si elle est Examinée, l'entreprise qui l'a développée, qui l'a installée et quand, ainsi que les portées qui lui ont été accordées.

Installer une application

Ouvrez le lien d'installation de l'application, ou cliquez sur Installer à côté de celle-ci dans Trouver des applications. La boîte de dialogue indique qui a développé l'application, si elle a été examinée et les portées qu'elle demande. Choisissez ensuite :

  • Entreprise : n'importe quelle entreprise dont vous êtes administrateur. Une entreprise qui dispose déjà de l'application est marquée (installée). Une nouvelle installation enregistre vos nouveaux choix.

  • Projets : Tous les projets, ou Uniquement ces projets en cochant ceux auxquels l'application peut accéder, jusqu'à 500. L'application ne peut accéder à aucun autre projet de l'entreprise.

  • Plafond IA mensuel : le montant maximal que le travail IA de l'application peut coûter à votre entreprise chaque mois de facturation, dans votre devise de facturation. Laissez le champ vide pour Aucun plafond.

Cliquez sur Installer. Si l'application vous connecte, Exayard vous redirige ensuite pour terminer la connexion à l'application. Si vous êtes membre sans être administrateur, la boîte de dialogue vous indique quel administrateur d'entreprise peut l'installer. Cliquez sur Copier le lien pour le lui envoyer.

Pour modifier les projets plus tard, ouvrez à nouveau le lien d'installation et installez l'application avec le nouveau choix.

Approuver un accès plus large

Lorsqu'une application demande des portées supplémentaires, sa ligne affiche Demande un accès plus large avec les nouvelles portées. Un administrateur clique sur Approuver pour les accorder. En attendant, l'application conserve les accès dont elle disposait.

Supprimer une application

Ouvrez le menu Plus d'actions de l'application, cliquez sur Supprimer et confirmez. L'application perd immédiatement l'accès à votre entreprise et ses webhooks s'arrêtent. Le travail IA qu'elle avait déjà lancé se termine malgré tout.

Trouver des applications

Trouver des applications apparaît dans Applications connectées. Cette section répertorie les applications examinées que leurs développeurs ont choisi de proposer. Une application dont votre entreprise dispose déjà affiche Installée. Cliquez sur Installer sur n'importe quelle autre application pour ouvrir la boîte de dialogue d'installation.

Vos connexions personnelles

Vos connexions personnelles répertorie les outils IA et autres applications que vous avez connectés à votre propre compte Exayard, comme ChatGPT ou Claude. Cette section apparaît en haut d'Applications connectées, et vous seul voyez vos propres connexions. Une connexion personnelle agit en votre nom : elle peut donc accéder à tout ce à quoi vous avez accès.

Chaque connexion indique sa première et sa dernière utilisation, ainsi que les entreprises dans lesquelles elle a été utilisée. Pour en arrêter une, ouvrez son menu Plus d'actions, cliquez sur Supprimer et confirmez. Son prochain appel est refusé. La connexion reste dans la liste avec la mention Supprimée, et Autoriser à nouveau la réactive. Pour connecter un nouvel outil, consultez Connecter Exa à votre assistant IA.

Comptes pour vos clients

Votre application peut créer des entreprises Exayard via l'API pour des clients qui utilisent Exayard uniquement à travers votre produit. Votre entreprise est propriétaire de ces entreprises et paie le travail IA qui s'y exécute. Elles n'ont pas de membres propres, et vos applications y sont installées automatiquement.

Comptes pour vos clients les répertorie pour les administrateurs, avec pour chaque entreprise son Nom et sa date de création (Créée le). Cliquez sur Libérer et confirmez pour en fermer une. Toutes les applications qu'elle contient perdent leur accès.

Premiers pas

La carte Démarrage rapide contient un prompt prêt à l'emploi pour un éditeur IA comme Claude ou Cursor. Cliquez sur Copier le prompt et collez-le dans votre éditeur. Le prompt comprend l'URL de base de l'API, le format d'authentification, les portées et le schéma de signature des webhooks, afin que l'IA puisse créer une intégration fonctionnelle et vous demander les informations dont elle a besoin. Seuls les administrateurs voient cette carte, car elle nécessite une clé API.

La carte Documentation renvoie vers la documentation développeur complète avec Ouvrir la documentation, ainsi que vers la Spécification OpenAPI, qui décrit chaque route et chaque schéma. Les administrateurs voient aussi Connecter à Claude ou Cursor, qui ouvre la configuration permettant de connecter des assistants IA à Exayard.

Journaux

Journaux affiche les requêtes envoyées à l'API, de la plus récente à la plus ancienne. Chaque ligne indique la Méthode, le Chemin, le Statut, l'Heure et la Latence. Cliquez sur Charger plus en bas pour afficher les requêtes plus anciennes.

Les administrateurs voient toutes les requêtes. Les membres ne voient que les requêtes qui ne sont pas passées par une application.

Les administrateurs peuvent filtrer par Application, puis par l'une des clés de cette application. Tout le monde peut saisir un Utilisateur final pour n'afficher que les requêtes de ce client. Un utilisateur final est votre propre identifiant pour l'un de vos clients. Votre code l'envoie avec chaque requête dans l'en-tête Exayard-End-User. N'utilisez jamais une adresse e-mail comme identifiant.

Sélectionnez une ligne pour afficher tous ses détails, y compris l'ID de requête, l'application et l'utilisateur final, ainsi que le Corps de la requête et le Corps de la réponse. Utilisez les journaux pour confirmer qu'un appel a abouti ou pour comprendre pourquoi une intégration échoue.

Dépenses par clé et par utilisateur final

Les administrateurs voient ce que chaque application a dépensé ce mois-ci sous Dépenses par application, dans Paramètres, puis Utilisation. Vos propres applications y figurent aussi. Sous chaque application, Par clé indique ce que chaque clé a dépensé, et Principaux utilisateurs finaux affiche les cinq utilisateurs finaux qui ont le plus dépensé. Les dépenses qui ne sont liées à aucune clé de l'application apparaissent sous Autre.

Plafond IA mensuel

Le plafond IA mensuel d'une application est le montant maximal que son travail IA peut coûter à votre entreprise chaque mois de facturation. Pour le définir, ouvrez le menu Plus d'actions de l'application sous Dépenses par application et cliquez sur Définir le plafond IA mensuel. Saisissez un montant dans votre devise de facturation et cliquez sur Enregistrer. Enregistrez un champ vide pour supprimer le plafond.

Lorsque l'application atteint son plafond, son travail IA est refusé pour le reste du mois de facturation, même si votre entreprise dispose encore d'utilisation IA. Les plafonds propres à votre entreprise continuent de s'appliquer. Le travail IA lancé par les utilisateurs eux-mêmes n'est jamais décompté du plafond d'une application.

Avez-vous trouvé la réponse à votre question ?