Passer au contenu principal

Applications pour développeurs, clés API et webhooks

Créez des applications et des clés API, faites vos essais 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 que d'autres entreprises conçoivent. Ouvrez Paramètres, puis Développeur. Seuls les administrateurs de l'entreprise voient cette option dans le menu Paramètres. Un membre qui ouvre la page peut la consulter, mais ne peut rien modifier.

Les applications, les clés API, les webhooks et les journaux sont inclus dans tous les forfaits, y compris le forfait gratuit. Seul le travail d'IA est facturé.

Applications

Une application est l'une de vos intégrations, par exemple « Estimateur Acme » ou « Synchronisation de nuit ». 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 remplissez les champs Nom, Description, Page d’accueil, Courriel de soutien et Portées. Les portées sont réparties entre lecture et é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 requêtes, par exemple « Jusqu'à 60 requêtes par minute par entreprise et 600 au total ». Le menu Autres actions de l'application regroupe :

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

  • Webhook définit l'adresse unique qui reçoit les événements de toutes les entreprises qui ont 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 l'accès.

Clés API

Une clé API permet à votre propre code d'appeler l'API d'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 accorder toutes les portées de l'application, ou Spécifiques pour en choisir moins. Fixez au besoin une date d'Expiration si la clé sert à un travail de courte durée. La clé fonctionne jusqu'à la fin de cette journée. 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 brouillé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_. Une fois créée, la clé affiche son nom, un aperçu comme exa_live_...AbCd et Dernière utilisation ou Jamais utilisée. Une clé dotée d'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 compte toujours tant que vous ne l'avez pas révoquée. Pour changer de clé sans interruption, créez une deuxième clé, faites-y passer 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 en moins de 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 courriel à 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 le choix 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 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 au bas de la page, seulement s'il en reste.

Chaque administrateur y voit toutes les clés de l'entreprise, peu importe qui les a créées. Une clé créée par quelqu'un d'autre affiche Créée par et le nom de cette personne. Chaque personne voit aussi ses propres clés personnelles. Cliquez sur l'icône de corbeille pour Révoquer une clé. Elle cesse de fonctionner immédiatement.

Bacs à sable

Un bac à sable est une entreprise de test liée à la vôtre. Servez-vous-en pour bâtir 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 passer dans le bac à sable, que le sélecteur d'entreprise marque 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, puis remplacez la clé dans votre code.

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

Un bac à sable n'envoie pas de courriels de partage de soumission ni de copies signées aux personnes de l'extérieur, et il n'envoie aucun texto. Ces envois affichent « Non envoyé, car cette entreprise est un bac à sable ». Les invitations à rejoindre le bac à sable sont envoyées comme d'habitude.

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

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 d'avertir 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, entrez l'URL qui doit recevoir les envois et, au besoin, ajoutez une Description. Choisissez les Événements à envoyer. Sélectionnez Tous pour recevoir chaque événement, y compris les nouveaux, ou Spécifiques pour faire votre choix dans la liste. Chaque événement et son contenu figurent 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 Autres actions d'un webhook pour le reste :

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

  • Envoyer un événement test envoie un événement du Type d’événement que vous choisissez. 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 test contient "test": true.

  • Livraisons présente les 25 dernières livraisons avec leur événement, leur statut, leur code de réponse et leur nombre de tentatives. Une livraison est En attente, Nouvelle tentative, Livré ou Échoué. Les administrateurs peuvent cliquer sur Renvoyer pour renvoyer une livraison.

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

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

Sécuriser les envois de webhook

Chaque envoi comporte un en-tête Exayard-Signature au format t=<unix>,v1=<digest>. Exayard construit la signature en joignant 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 aussi 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'ensemble du corps, y compris organizationId.

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

Pour vérifier un envoi, recalculez la signature avec votre secret, confirmez que l'horodatage se situe à moins de cinq minutes de l'heure actuelle et comparez les condensés.

Un envoi qui échoue 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 que vous la créez. 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 ce qui suit :

  • Modifier les adresses de connexion définit les adresses vers lesquelles Exayard renvoie les utilisateurs lorsque votre application les connecte avec leur compte Exayard. Entrez une adresse par ligne, jusqu'à 10. Chacune doit commencer par https://, ou par http://localhost pendant vos essais. 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 au soutien d'Exayard pour examen.

Une nouvelle application peut être installée dans un maximum de 25 entreprises en plus de la vôtre, et elle n'apparaît pas dans Trouver des applications. Les entreprises 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 l'inscrire au répertoire de chaque entreprise, ou Masquer de Trouver des applications pour l'en retirer. Une application Suspendue ne peut pas appeler Exayard tant que le soutien n'a pas levé la suspension, et ses installations sont conservées.

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

Webhook de l'application

Ouvrez le menu Autres actions de l'application et cliquez sur Webhook. Entrez l'URL et cliquez sur Créer, puis copiez le Secret de signature, qu'Exayard n'affiche qu'une seule fois. Chaque entreprise qui a 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 étendu ou la retire. 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 présente les applications installées dans votre entreprise. Tous les membres peuvent la voir. Seuls les administrateurs peuvent installer, retirer ou approuver.

Chaque ligne indique le nom de l'application, si elle est Examinée, l'entreprise qui l'a conçue, qui l'a installée et à quel moment, 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 conçu l'application, si elle a été examinée et quelles portées elle demande. Choisissez ensuite :

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

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

  • Limite mensuelle d’IA : le montant maximal que le travail d'IA de l'application peut coûter à votre entreprise chaque mois de facturation, dans votre devise de facturation. Laissez le champ vide pour Aucune limite.

Cliquez sur Installer. Si l'application vous connecte, Exayard vous dirige ensuite vers l'application pour terminer la connexion. 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 de nouveau le lien d'installation et installez l'application avec le nouveau choix.

Approuver un accès plus étendu

Lorsqu'une application demande des portées supplémentaires, sa ligne affiche Demande un accès plus étendu avec les nouvelles portées. Un administrateur clique sur Approuver pour les accorder. D'ici là, l'application conserve l'accès qu'elle avait.

Retirer une application

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

Trouver des applications

Trouver des applications apparaît dans Applications connectées. On y trouve les applications examinées que leurs concepteurs ont choisi d'inscrire. Une application que votre entreprise possède déjà affiche Installée. Cliquez sur Installer pour toute autre application afin d'ouvrir la boîte de dialogue d'installation.

Vos connexions personnelles

Vos connexions personnelles présente les outils d'IA et autres applications que vous avez connectés à votre propre compte Exayard, comme ChatGPT ou Claude. Cette liste apparaît en haut de Applications connectées, et vous êtes seul à voir 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 où elle a été utilisée. Pour en arrêter une, ouvrez son menu Autres actions, cliquez sur Retirer et confirmez. Son prochain appel est refusé. La connexion reste dans la liste avec la mention Retirée, et Autoriser de nouveau lui redonne l'accès. Pour connecter un nouvel outil, consultez Connecter Exa à votre assistant IA.

Comptes pour vos clients

Votre application peut créer des entreprises Exayard au moyen de l'API pour les clients qui utilisent Exayard uniquement par l'intermédiaire de votre produit. Votre entreprise est propriétaire de ces entreprises et paie le travail d'IA qui s'y fait. Elles n'ont aucun membre propre, et vos applications y sont installées automatiquement.

Comptes pour vos clients les présente aux administrateurs, avec pour chaque entreprise son Nom et sa date de création (Créée). Cliquez sur Libérer et confirmez pour en fermer une. Toutes les applications qui s'y trouvent perdent l'accès.

Pour commencer

La carte Démarrage rapide contient une invite toute prête pour un éditeur d'IA comme Claude ou Cursor. Cliquez sur Copier l'invite et collez-la dans votre éditeur. L'invite comprend l'URL de base de l'API, le format d'authentification, les portées et le mécanisme de signature des webhooks, afin que l'IA puisse bâtir une intégration fonctionnelle et vous demander les détails dont elle a besoin. Seuls les administrateurs voient cette carte, car elle nécessite une clé API.

La carte Documentation renvoie à la documentation complète pour les développeurs avec Ouvrir la documentation, ainsi qu'à la Spécification OpenAPI, qui décrit chaque route et chaque schéma. Les administrateurs voient aussi Se 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, des plus récentes aux plus anciennes. Chaque ligne indique la Méthode, le Chemin, le Statut, l'Heure et la Latence. Cliquez sur Charger plus au bas de la liste pour voir 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 ne voir 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 courriel comme identifiant.

Sélectionnez une ligne pour en voir tous les détails, y compris l'ID de la requête, l'application et l'utilisateur final, ainsi que le Corps de la requête et le Corps de la réponse. Servez-vous des journaux pour confirmer qu'un appel a fonctionné 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 des clés de l'application s'affichent sous Autre.

Limite mensuelle d’IA

La limite mensuelle d'IA d'une application est le montant maximal que son travail d'IA peut coûter à votre entreprise chaque mois de facturation. Pour la définir, ouvrez le menu Autres actions de l'application sous Dépenses par application et cliquez sur Définir la limite mensuelle d’IA. Entrez un montant dans votre devise de facturation et cliquez sur Enregistrer. Enregistrez un champ vide pour retirer la limite.

Lorsque l'application atteint sa limite, son travail d'IA est refusé pour le reste du mois de facturation, même s'il reste de l'utilisation d'IA à votre entreprise. Les limites propres à votre entreprise s'appliquent toujours. Le travail d'IA que des personnes lancent elles-mêmes n'est jamais compté dans la limite d'une application.

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