Retour au tableau de bord

Documentation

Apprenez à utiliser Asyntai

Custom Tools

Let your AI call your own endpoints to fetch live, customer-specific data

Configure Custom Tools
Forfaits Standard & Pro

Aperçu

Les outils personnalisés permettent à votre agent IA d'appeler vos propres points de terminaison d'API pendant une conversation afin de récupérer des données en temps réel et propres à chaque demande — statut de commande, suivi d'expédition, stock pour une SKU précise, détails de compte, et plus encore.

Asyntai vous offre trois façons d'alimenter l'IA en données en temps réel ou propres au client. Les outils personnalisés sont le bon choix lorsque la valeur dont l'IA a besoin n'apparaît que pendant la conversation :

  • Flux de données en temps réel — charge un jeu de données fixe (par exemple l'ensemble de votre catalogue produits) dans chaque conversation. Idéal pour les données partagées qui sont les mêmes pour tous les visiteurs.
  • Contexte utilisateur — votre site transmet des données qu'il connaît déjà sur le visiteur actuel (par exemple le nom, le forfait ou les commandes récentes d'un client connecté) au début de la conversation. Idéal lorsque le visiteur est identifié dès le départ.
  • Outils personnalisés — l'IA appelle votre point de terminaison à la demande, avec des valeurs qu'elle extrait de la conversation. Idéal lorsque la valeur n'est pas connue avant que le client ne la saisisse — comme un numéro de commande provenant d'un visiteur anonyme.

Par exemple, lorsqu'un client demande « Où en est ma commande #10294 ? », l'IA extrait le numéro de commande, appelle votre point de terminaison avec celui-ci, et répond en utilisant la réponse vérifiée. Le contexte utilisateur ne peut pas couvrir ce cas à lui seul, car le numéro de commande n'est connu qu'en cours de conversation — c'est exactement là que les outils personnalisés trouvent leur place. (De nombreuses boutiques utilisent le contexte utilisateur pour les visiteurs connectés et un outil personnalisé pour les recherches ponctuelles.)

L'IA décide quand appeler un outil en fonction de la description que vous rédigez. Vous décidez ce que l'outil fait en le pointant vers votre point de terminaison. Asyntai effectue l'appel côté serveur — vous n'écrivez aucun code et n'hébergez aucun intergiciel.

Comment ça marche

  1. Vous définissez un outil — un nom, une description, l'URL de votre point de terminaison et les paramètres que l'IA doit envoyer.
  2. L'IA l'appelle lorsque c'est pertinent — lorsque la conversation correspond à votre description, l'IA appelle l'outil avec les valeurs qu'elle extrait du message du client.
  3. Asyntai appelle votre point de terminaison — notre serveur effectue la requête HTTP vers votre URL et renvoie la réponse à l'IA.
  4. L'IA répond — en utilisant les données vérifiées renvoyées par votre point de terminaison.

Aucun code requis : il vous suffit d'un point de terminaison qui renvoie déjà vos données. Vous configurez tout le reste dans un formulaire du tableau de bord — il n'y a ni rappel, ni webhook, ni script navigateur à développer.

Assistant IA
Où en est ma commande #10294 ?
Je vérifie cela pour vous…

La commande #10294 a été acceptée et est en cours de préparation pour l'expédition. Vous recevrez un lien de suivi par e-mail dès son envoi.
Merci !
Avec plaisir ! Puis-je vous aider avec autre chose ?

Cas d'utilisation

Statut de commande Rechercher une commande par son numéro et renvoyer son statut actuel
Suivi d'expédition Renvoyer le dernier état de suivi pour un numéro de suivi
Vérification de stock Renvoyer la disponibilité en temps réel pour un produit ou une SKU précis
Recherche de compte Renvoyer les détails de compte ou d'abonnement pour un identifiant

Configuration

1
Ouvrir les outils personnalisés Accédez à /custom-tools/ et cliquez sur Ajouter un outil
2
Décrire l'outil Donnez-lui un nom, une description claire et l'URL de votre point de terminaison
3
Définir les paramètres Ajoutez les entrées que l'IA doit extraire et envoyer (par exemple order_number)
4
Enregistrer & tester Enregistrez, puis posez à votre bot une question correspondante pour le voir en action

Champs

  • Nom — un identifiant pour la fonction (lettres, chiffres, tirets bas), par exemple get_order_status. L'IA voit ce nom.
  • Description — le champ le plus important. Il indique à l'IA quand appeler l'outil. Soyez explicite : « Appelle ceci chaque fois que le client mentionne un numéro de commande. Ne demande pas de vérification. »
  • URL du point de terminaison — l'URL HTTPS publique qu'Asyntai appellera.
  • Méthode HTTPGET (lecture seule, recommandé) ou POST (peut modifier des données — voir Sécurité ci-dessous).
  • Paramètres — les entrées que l'IA extrait de la conversation et envoie. Chacune possède un nom, un type, une description et un indicateur « requis ». Pour GET, ils sont envoyés comme paramètres de chaîne de requête ; pour POST, comme un corps JSON.
  • En-tête d'authentification (facultatif) — un nom + une valeur d'en-tête envoyés à chaque appel, par exemple X-API-Key. Utilisez-le si votre point de terminaison nécessite une clé.

Les paramètres sont indispensables pour que l'IA transmette une valeur. Si votre point de terminaison nécessite une entrée (comme un numéro de commande), vous devez ajouter un paramètre pour celle-ci — sans cela, l'IA n'a aucun emplacement où placer la valeur et appellera le point de terminaison à vide. Deux éléments comptent :

  • Le nom du paramètre doit correspondre exactement à ce qu'attend votre point de terminaison. Un paramètre nommé order_number est envoyé comme ?order_number=... (GET) ou {"order_number": "..."} (POST). Si votre point de terminaison lit id, nommez le paramètre id.
  • Vous ne saisissez jamais la valeur vous-même — vous déclarez seulement le paramètre. L'IA la renseigne au moment de l'appel à partir de ce que le client a écrit.

Exemple concret : recherche du statut de commande

Supposons que votre boutique expose ce point de terminaison :

GET https://yourstore.com/api/order-status?order_number=10294

…qui renvoie un JSON tel que :

{
  "found": true,
  "status": "Accepted, preparing for shipment",
  "carrier": "DHL",
  "customer_message": "Your order has been accepted and is being prepared for shipment."
}

Vous configureriez un outil comme ceci :

  • Nom : get_order_status
  • Description : « Recherche le statut d'une commande client. Appelle ceci immédiatement chaque fois que le client fournit un numéro de commande — ne demande pas de vérification supplémentaire. Utilise le customer_message renvoyé dans ta réponse. »
  • URL du point de terminaison : https://yourstore.com/api/order-status
  • Méthode : GET
  • Paramètre : order_number (string, requis) — « Le numéro de commande du client, généralement de 8 chiffres ou plus. »

Lorsqu'un client écrit « Où en est ma commande #10294 ? », l'IA appelle get_order_status(order_number=10294), Asyntai interroge votre URL avec ?order_number=10294, et l'IA répond en utilisant la réponse.

Astuce : l'IA envoie les valeurs qu'elle détermine — vous ne les préremplissez jamais. Gardez des noms et des descriptions de paramètres clairs pour que le modèle sache exactement quoi extraire.

Ce que votre point de terminaison reçoit et doit renvoyer

  • Requête : un GET avec vos paramètres dans la chaîne de requête, ou un POST avec un corps JSON. Tout en-tête d'authentification que vous avez configuré est inclus.
  • Réponse : renvoyez du JSON (préférable) ou du texte brut. Asyntai transmet le corps à l'IA. Un champ que l'IA peut citer directement — comme customer_message — fonctionne bien.
  • Introuvable / erreurs : renvoyez une charge utile claire (par exemple un objet JSON avec found: false et un customer_message) afin que l'IA puisse répondre honnêtement au lieu de deviner.

Tester votre outil

Chaque outil dispose d'un panneau intégré Tester cet outil sur la page de configuration, ce qui vous permet de vérifier son bon fonctionnement avant qu'un client ne l'utilise — et sans envoyer de message via le bot.

  1. Saisissez des valeurs d'exemple pour les paramètres de l'outil (par exemple un vrai numéro de commande).
  2. Cliquez sur Lancer le test. Asyntai appelle votre point de terminaison exactement comme le ferait l'IA — même chaîne de requête ou corps JSON, même en-tête d'authentification, même délai de 5 secondes et mêmes contrôles de sécurité.
  3. Vous verrez le résultat instantanément : un badge de succès/échec, le statut HTTP, le temps de réponse, l'URL exacte que nous avons appelée et la réponse brute de votre point de terminaison (mise en forme si c'est du JSON).

Cela fonctionne aussi sur les modifications non enregistrées, vous pouvez donc ajuster l'URL, les paramètres ou l'en-tête d'authentification et retester jusqu'à obtenir le résultat attendu.

Remarque : tester un outil POST appelle réellement votre point de terminaison et peut modifier des données — le panneau de test vous en avertit avant l'exécution. Pour les outils GET en lecture seule, il n'y a rien à craindre.

Sécurité — à lire absolument

Votre point de terminaison est la frontière de sécurité, pas l'IA. Le widget de chat est public, et l'IA peut être manipulée par un visiteur pour appeler un outil avec n'importe quelles valeurs. C'est vrai pour tout système d'appel d'outils par IA. Concevez votre point de terminaison en conséquence :

  • Privilégiez GET / lecture seule. Les recherches (statut de commande, stock, suivi) peuvent être exposées sans danger. GET est le choix par défaut pour cette raison.
  • POST exige une reconnaissance. Comme POST peut modifier des données, un outil POST ne peut être enregistré qu'après avoir coché une case confirmant que vous êtes seul responsable de la sécurisation et de l'autorisation des requêtes sur votre propre point de terminaison. Ne connectez jamais de remboursements, d'annulations, de changements de mot de passe ou de mouvements d'argent à moins que votre point de terminaison ne vérifie la requête de manière indépendante.
  • Protégez-vous contre l'énumération. Si une clé de recherche est devinable (comme des numéros de commande séquentiels), exigez un second facteur — par exemple le numéro de commande et l'e-mail associé à la commande, et vérifiez leur correspondance — afin qu'un visiteur ne puisse pas lire les données d'autres clients en essayant des numéros.
  • Ne faites jamais confiance aux arguments de l'IA. Validez et autorisez chaque requête côté serveur comme si elle provenait d'un attaquant anonyme — car c'est effectivement possible.

Vérifier les appels en direct

Une fois votre outil en service, chaque invocation réelle issue d'une conversation est journalisée. Pour chaque appel, nous enregistrons le nom de l'outil, les arguments envoyés par l'IA, l'URL exacte que nous avons interrogée, le statut HTTP, la réponse et la durée. Cela vous permet de confirmer qu'un outil s'est déclenché dans une vraie conversation et de voir ce que votre point de terminaison a renvoyé, sans fouiller dans vos propres journaux de serveur. (Le panneau Tester cet outil ci-dessus sert à vérifier vous-même la configuration ; ce journal capture ce qui se passe lors de véritables conversations clients.)

Limites & protections

  • Jusqu'à 10 outils par site web.
  • Délai d'expiration de 5 secondes par appel ; les réponses sont plafonnées à 10 Ko.
  • Les points de terminaison doivent être des URL http(s) publiques. Les adresses privées, de bouclage et de réseau interne sont bloquées.
  • Disponible sur les forfaits Standard et Pro.
  • Facturation : chaque appel d'outil compte comme un message supplémentaire de votre forfait. Une réponse normale utilise 1 message ; une réponse où l'IA appelle un outil en utilise 2 (la réponse plus l'appel d'outil), car un appel d'outil nécessite une requête IA supplémentaire.
  • Si un appel d'outil échoue (délai dépassé, erreur, blocage), l'IA en est informée et répond avec élégance — cela ne fera pas planter la conversation.