Agent virtuel Scripts d’action
Vous devez écrire un ensemble de scripts d’action et de flux secondaire obligatoires Studio de workflow pour transmettre les données utilisateur à VACS, appliquer des transformations et renvoyer la réponse à votre point de terminaison d’interface de messagerie instantanée.
Fournisseur et scripts entrants/sortants
Un fournisseur, tel que Twilio, fournit la fonctionnalité de messagerie instantanée. Les scripts d’action de l’utilisateur effectuent des actions du fournisseur, ainsi que la configuration de l’intégration conversationnelle de la messagerie instantanée personnalisée pour les actions de transformateur entrantes et sortantes de votre chatbot ou de vos conversations personnalisées. Des exemples de chaque script sont fournis. Elles comprennent une description de l’action de chaque script, ainsi que l’entrée et la sortie d’action. Vous verrez également des exemples de script JSON.
Vous utilisez Studio de workflow ces scripts pour transformer les messages du serveur et du client. Les scripts du fournisseur, de l’expéditeur et du transformateur entrant/sortant sont requis. Vous pouvez utiliser les scripts supplémentaires pour ajouter plus de fonctionnalités à votre messagerie instantanée.
| Nom de script | Objectif | Obligatoire (O/N) |
|---|---|---|
| Attribut de fournisseur | Contient un jeton d’authentification du fournisseur, un identificateur utilisateur, une entrée utilisateur et des variables de contexte. | Y |
| Action de l'expéditeur | Regroupe la demande et envoie une réponse de façon asynchrone via Studio de workflow notre concentrateur d’intégration. |
Y |
| Processeur de réponses | Effectue des actions sur la plateforme, telles qu’un état de message de mise à jour, basé sur une réponse reçue pour un message sortant. | N |
| Action contextuelle | Prend en charge les actions contextuelles. | N |
| Action du compte de lien | Fournit un rappel indiquant si la liaison de compte a réussi ou non. | N |
| Transformateur sortant | Transforme le contrôle pris en charge d’un serveur de messagerie instantanée en rendu spécifique à l’interface de messagerie instantanée. | Y |
| Transformateur entrant | Facultatif. Vous pouvez utiliser les contrôles enrichis par défaut s’ils s’appliquent à votre fournisseur de messagerie instantanée. Vous n’avez pas besoin de fournir une transformation entrante distincte pour chaque contrôle d’entrée. Si un comportement par défaut ne fonctionne pas, vous pouvez remplacer la valeur par défaut par votre propre transformation entrante pour un contrôle de serveur d’Agent virtuel spécifique. | Y |
Script d’action attributs du fournisseur
| Entrée | Sortie |
|---|---|
|
|
Exemple : script d’action d’attributs de fournisseur.
(function execute(inputs, outputs) {
var headers = (inputs.headers);
var payload = (inputs.payload);
// check if an authentication token was included. this is optional.
var smsUtil = new VASMSTwilioUtil();
outputs.token = JSON.stringify(smsUtil.getToken(headers, payload));
var data = payload.data;
var request_context = {};
// inspect the actual message. it could be an MMS (attachment) or raw text
if (data['MediaUrl0']) {
var attachment_value = {};
attachment_value.url = data['MediaUrl0'];
attachment_value.content_type = data['MediaContentType0'];
attachment_value.name = smsUtil.getFileName(attachment_value.url , attachment_value.content_type);
request_context.attachment_value = attachment_value;
} else {
request_context.typed_value = data['Body'];
}
// set the mandatory outputs
outputs.request_context = request_context;
outputs.provider_user_id = data.From;
})(inputs, outputs);
Flux secondaire de l'expéditeur
Au lieu d’un script, le flux secondaire de l’expéditeur gère le processus d’envoi d’un message à un fournisseur. Le message est contenu dans une payload chaîne dans le cadre du flux secondaire. L’expéditeur a un service_url et origin_service_url, tandis que l’URL sortante varie selon le fournisseur. Par exemple, un message envoyé via MS Teams utilise la valeur tenant_id. Lorsque l’Agent virtuel envoie le message contenant les options, le destinataire sélectionne une option. Le flux secondaire met à jour l’affichage du message en fonction de son choix et supprime les options. La conversation se poursuit en fonction de l’option sélectionnée par l’utilisateur. Il Agent virtuel est libéré pour continuer à traiter les messages plutôt que d’essayer d’envoyer des demandes externes. Lors de la création d’un flux secondaire, n’avez pas d’appel d’action dans le flux secondaire. Pour plus d’informations sur les flux secondaires, reportez-vous à la section .
Script d’action contextuelle
Le script d’action contextuelle effectue des actions de mots clés spéciales, telles que taper un agent à l’intérieur d’une Agent virtuel rubrique pour être immédiatement remis à un agent actif.
| Entrée | Sortie |
|---|---|
|
Néant |
Exemple : script d’action contextuelle.
(function execute(inputs, outputs) {
var contextual_action = inputs.request_context.contextual_action;
if (contextual_action === "END_CONVERSATION") {
sn_cs.VASystemObject.endConversation(inputs.conversation_id);
} else if (contextual_action === "AGENT") {
sn_cs.VASystemObject.switchToLiveAgent(inputs.conversation_id);
} else if (contextual_action === "START_CONVERSATION") {
sn_cs.VASystemObject.startConversation(inputs.conversation_id);
}
})(inputs, outputs);
Script d’action du compte de lien
Le script d’action du compte de lien contient les identificateurs de l’utilisateur qui effectue la liaison. Le script contient également le compte auquel il est lié.
| Entrée | Sortie |
|---|---|
|
Néant |
Exemple : script d’action de compte de lien.
(function execute(inputs, outputs) {
var richControl = (inputs.rich_control);
var value = richControl.value;
outputs.result = richControl.header + ': ' + value.action;
})(inputs, outputs);
Script d’action du processeur de réponses
Le script d’action du processeur de réponses effectue des actions spécialisées basées sur la réponse à une demande d’envoi de message. Le framework effectue déjà un suivi de base de l’état des messages.
| Entrée | Sortie |
|---|---|
|
Néant |
Exemple : script d’action du processeur de réponses.
(function execute(inputs, outputs) {
gs.debug("Response from provider: message_id = " + inputs.message_id + ", status_code = " +
inputs.status_code + ", headers = " + JSON.stringify(inputs.headers) + ", body = " + inputs.body);
})(inputs, outputs);
Scripts de transformateur sortants
Les scripts de transformateur sortants convertissent les messages sortants Agent virtuel en protocole lié à l’intégration conversationnelle de la messagerie instantanée personnalisée.
Entrée.
- rich_control (JSON) : Agent virtuel composant de contrôle enrichi de serveur qui doit être transformé.
- charge utile (JSON) : dernière réponse reçue d’un demandeur.
Sortie.
résultat (chaîne) : message du composant approprié du fournisseur à envoyer.
| Nom du transformateur sortant | Exemple de script |
|---|---|
| Agent virtuel : transformateur sortant du texte par défaut de l’adaptateur SMS Twilio | |
| Agent virtuel : transformateur sortant du lien par défaut de l’adaptateur SMS Twilio | |
| Agent virtuel : transformateur sortant du sélecteur par défaut de l’adaptateur SMS Twilio | |
| Agent virtuel : transformateur sortant multi-lien par défaut de l’adaptateur SMS Twilio | |
| Agent virtuel : transformateur sortant de la carte par défaut de l’adaptateur SMS Twilio | |
Scripts de transformateur entrants
Les scripts de transformateur entrants convertissent les messages d’intégration conversationnelle de messagerie instantanée personnalisée entrants en un protocole qu’ils Agent virtuel reconnaissent. Il détermine la valeur requise à injecter dans le contrôle enrichi qui est présenté à l’utilisateur.
Entrée.
- request_context (JSON) : demande transmise depuis le script d’attribut de fournisseur.
- rich_control (JSON) : dernier contrôle enrichi envoyé au demandeur qui contient la « question » d’origine.
Sortie.
- Valeur : valeur sys_id ou valeur textuelle.
- search_text : texte utilisé si le demandeur a sélectionné quelque chose d’inattendu. Par exemple, un utilisateur a tapé quelque chose pour lequel la NLU pourrait aider, par exemple, « Aucune de ces options ne correspond à ce que je veux » en réponse à un composant de sélecteur de rubrique.
| Nom du transformateur entrant | Exemple de script |
|---|---|
| Agent virtuel : transformateur entrant du texte par défaut de l’adaptateur SMS Twilio Objectif : trouver la réponse textuelle à la question InputText posée |
|
| Agent virtuel : transformateur entrant du sélecteur par défaut de l’adaptateur SMS Twilio Objectif : trouver le sys_id de l’option sélectionnée par l’utilisateur pour cette question de sélecteur. Ce script utilise le même algorithme que le transformateur sortant. Si aucune option n’est sélectionnée et que l’utilisateur a tapé quelque chose à la place, le « search_text » est défini et introduit dans le NLU s’il est activé sur cette instance. |
|