Aller au contenu
Documentation

Actions côté client dans le navigateur du visiteur

Exécutez une action dans le navigateur du visiteur : un gestionnaire JavaScript enregistré via IntoChatActions ou un appel qui utilise sa session.

Une action côté client s'exécute sur la page où votre agent est intégré, et non sur les serveurs d'intoCHAT. Elle sert à atteindre ce que seul le navigateur du visiteur peut atteindre : un point de terminaison de votre site qui s'appuie sur la session de connexion du visiteur, ou des données et fonctions présentes sur la page.

Quel type choisir

Vous voulez appelerUtilisez
Une API publique, ou qui exige votre clé secrèteUne action API côté serveur
Un point de terminaison de votre domaine qui utilise les cookies du visiteurUne action côté client, sans code supplémentaire
Un élément de la page, comme le panier en JavaScript ou une fenêtre à ouvrirUne action côté client avec un gestionnaire enregistré
Rien : vous voulez seulement que le visiteur ouvre l'une de vos pagesUn bouton personnalisé

Configuration

  1. Dans l'onglet Actions, créez l'action comme décrit dans Actions API personnalisées : URL, entrées et When to use.
  2. À l'étape 3. When the AI should use it, sélectionnez Client-side action.
  3. Enregistrez l'action.

Déroulement d'un appel

Quand l'agent appelle une action côté client, le widget de chat transmet l'appel au script d'intégration de votre page :

  1. Si votre page a enregistré un gestionnaire sous le nom de l'action, il s'exécute et sa valeur de retour est transmise à l'agent.
  2. Sinon, votre page appelle l'URL de l'action depuis votre propre domaine, avec les cookies du visiteur.

Chaque appel dispose de 20 secondes. Au-delà, il est signalé à l'agent comme un échec. L'action a quand même besoin d'une URL publique valide, même si vous n'utilisez qu'un gestionnaire ; si un gestionnaire est enregistré, cette URL n'est pas appelée.

Enregistrer un gestionnaire

Le nom du gestionnaire est le nom de l'action dans lequel tout caractère autre que lettres, chiffres, _ et - est remplacé par _ : « Get cart » devient Get_cart. L'éditeur affiche le nom exact dans son exemple de code.

window.IntoChatActions est disponible dès que le script du snippet s'est exécuté, avant même le chargement du widget de chat. Les gestionnaires sont recherchés au moment où l'agent appelle l'action : les enregistrer avant ou après que le widget est prêt revient au même. Ajoutez un script n'importe où après le snippet :

<script src="https://www.intochat.ai/api/embed.js" data-chatbot-id="YOUR_AGENT_ID"></script>
<script>
  window.IntoChatActions.register("Get_cart", async function (args) {
    // args : les entrées remplies par l'agent.
    // Renvoyez une valeur sérialisable en JSON. L'agent la voit.
    return { items: window.myStore.cart.items };
  });
</script>

Du code susceptible de s'exécuter avant le snippet peut plutôt ajouter des paires [name, handler] à window.IntoChatActionsQueue ; le script d'intégration les enregistre à son chargement. La plupart des pages n'en ont pas besoin. Avec plusieurs agents sur une même page, tous partagent les mêmes gestionnaires.

Le gestionnaire reçoit dans args les entrées remplies par l'agent. S'il lève une erreur, le message est transmis à l'agent comme un appel échoué. IntoChatActions.unregister(name) retire un gestionnaire et IntoChatActions.registered() liste les noms enregistrés.

Tester

Send test request dans l'éditeur s'exécute depuis les serveurs d'intoCHAT. Le test vérifie que l'URL répond et montre la forme de la réponse, mais il ne voit ni les sessions de vos visiteurs ni les gestionnaires de votre page. Dans le Playground, aucune page de votre site n'entoure le chat : le widget appelle donc l'URL lui-même, sans les cookies ni les gestionnaires de votre site. Testez gestionnaires et points de terminaison liés à la session sur une page de votre site où le widget est installé.

Voir en Markdown