Actions du Bot
Présentation
Un item d'une étape Choice de votre bot peut porter une ou plusieurs actions. Lorsqu'un visiteur clique sur un tel item, le Smart Bot émet un événement navigateur pour chaque action qui lui est attachée. Votre propre JavaScript sur la page écoute ces événements et exécute ce dont vous avez besoin — par exemple ouvrir un livechat tiers, fermer le bot, ou transmettre des données à un autre outil.
L'intégration reste ainsi générique : rien de spécifique à Smart Tribune ne vit de votre côté au-delà des écouteurs d'événements, et les actions (leurs noms et paramètres) sont configurées sur le bot, pas codées en dur sur votre page.
L'événement d'action
Pour chaque action, le widget appelle window.dispatchEvent avec un CustomEvent :
- Nom de l'événement :
STSmartBotAction:<nom_action>, où<nom_action>est le nom de l'action configurée sur le bot (par exemplelaunch_salesforce_livechat). Il y a un événement par action, nommé d'après elle — vous n'écoutez que les noms d'action émis par votre bot. - Détail de l'événement : un objet
{ name, parameters }.
| Champ | Type | Description |
|---|---|---|
detail.name | string | Le nom de l'action (identique au suffixe <nom_action> de l'événement). |
detail.parameters | object | Les paramètres de l'action, déjà parsés depuis le JSON. Vous recevez un objet, jamais une chaîne brute. |
Les paramètres d'action sont fournis sous forme d'objet prêt à l'emploi. Si une action a été configurée avec des paramètres JSON invalides, l'action est ignorée et aucun événement n'est émis — vos écouteurs ne reçoivent jamais de données malformées.
Les actions sont transitoires : elles ne sont pas conservées dans l'historique de conversation et ne sont jamais ré-émises au rechargement du bot. Une action se déclenche donc au plus une fois, sur le clic qui l'a déclenchée.
Écouter une action
Ajoutez l'écouteur à côté de votre snippet d'intégration Smart Bot (voir Getting started). Un écouteur minimal :
<script type="text/javascript">
window.addEventListener('STSmartBotAction:launch_salesforce_livechat', function (e) {
var name = e.detail.name;
var parameters = e.detail.parameters;
console.log('Action du bot reçue :', name, parameters);
});
</script>
Exemple complet : launch_salesforce_livechat
Cet exemple écoute une action launch_salesforce_livechat, mappe ses paramètres vers un outil de livechat tiers, puis ferme la boîte du Smart Bot.
<script type="text/javascript">
window.addEventListener('STSmartBotAction:launch_salesforce_livechat', function (e) {
var params = e.detail.parameters; // ex. { org, queue, conversation_id, history }
// 1. Mapper le payload Smart Tribune vers votre outil tiers.
startSalesforceLiveChat({
organizationId: params.org,
queue: params.queue,
conversationId: params.conversation_id,
transcript: params.history,
});
// 2. Fermer la boîte du Smart Bot maintenant que la conversation passe sur le livechat.
window._ST.SmartBot.hide();
});
</script>
Quelques points à noter :
window._ST.SmartBotest l'API du Smart Bot enregistrée globalement une fois le widget chargé. Elle expose les mêmes méthodes que celles utilisées ailleurs (show(),hide(), …). Voir Getting started pour la liste complète.- Les paramètres reçus sont ceux configurés pour cette action sur le bot ; les champs de l'exemple ci-dessus (
org,queue,conversation_id,history) sont illustratifs — lisez les valeurs que votre propre action fournit. - Vous pouvez attacher plusieurs écouteurs, un par nom d'action émis par votre bot (par exemple une action
close_botqui se contente d'appelerwindow._ST.SmartBot.hide()).