Agent virtuel Scripts d’action
Vous devez écrire un ensemble de scripts d’action et de flux secondaire obligatoires Concepteur de flux pour transmettre les données utilisateur à VACS, appliquer les transformations et renvoyer la réponse au point de terminaison de votre interface de messagerie instantanée.
Script fournisseur et scripts entrants/sortants
Un fournisseur, tel que Twilio, fournit la fonctionnalité de messagerie instantanée. Les scripts d’action utilisateur effectuent des actions de 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 pour votre chatbot ou vos conversations personnalisées. Des exemples de chaque script sont fournis. Ils comprennent une description de l’action de chaque script, ainsi que l’entrée et la sortie d’action. Vous voyez également des exemples du script JSON.
Vous utilisez Concepteur de flux ces scripts pour transformer les messages serveur et client. Les scripts de fournisseur, d’expéditeur et de 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 | Requis (O/N) |
|---|---|---|
| Attribut de fournisseur | Contient un jeton d’authentification de fournisseur, un identificateur d’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 manière asynchrone via Concepteur de flux ou via le concentrateur d’intégration. |
Y |
| Processeur de réponses | Effectue des actions de plateforme, telles que la mise à jour de l’état d’un message, en fonction d’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 par un serveur de messagerie instantanée en un 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 le comportement par défaut par votre propre transformation entrante pour un contrôle de serveur d’Agent virtuel spécifique. | Y |
Script d’action des attributs du fournisseur
| Entrée | Sortie |
|---|---|
|
|
Exemple : script d’action Attributs du 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);
Script d’action de l’expéditeur (désactivé au Québec, voir flux secondaire de l’expéditeur)
Le script d’action de l’expéditeur sait comment envoyer un message au fournisseur. Le script doit invoquer un flux secondaire ou Concepteur de fluxHub d'intégration de façon asynchrone. L’est libre de continuer à traiter les Agent virtuel messages plutôt que d’essayer d’envoyer des demandes externes.
| Entrée | Sortie |
|---|---|
|
Aucun |
Exemple : script d’action de l’expéditeur.
(function execute(inputs, outputs) {
var results = inputs.results;
// transform the inputs to something this custom subflow knows about
var sendInputs = {
app_inbound_id : inputs["app_inbound_id"],
channel_user_id: inputs["channel_user_id"],
messages: JSON.stringify(results)
};
// invoke an asynchronous subflow which will send the external request. so this sender script will immediately return,
// freeing up the chat server thread to do further message processing while putting the external request work on the
// Flow Designer/Integration Hub
sn_fd.FlowAPI.startSubflowQuick('sn_va_sms_twilio.va_sms_twilio_adapter_send_sms', sendInputs);
})(inputs, outputs);
Script de flux secondaire de l’expéditeur
Le script de flux secondaire de l’expéditeur sait comment envoyer un message au fournisseur. Le script doit invoquer un flux secondaire ou Concepteur de fluxHub d'intégration de façon asynchrone. L’est libre de continuer à traiter les Agent virtuel messages plutôt que d’essayer d’envoyer des demandes externes. Lors de la création d’un flux secondaire, aucune action n’est requise pour appeler une action dans le flux secondaire.
}else{
outputs.sendmessage = true;
messages = inputs.results.results;
outputs.from = from;
outputs.to = to;
outputs.messages = getMessages(messages);
}
Script d’action contextuelle
Le script d’action contextuelle effectue des actions de mots clés spéciales, telles que saisir l’agent dans une Agent virtuel rubrique pour être immédiatement transmis à un agent actif.
| Entrée | Sortie |
|---|---|
|
Aucun |
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);
Lier le script d’action du compte
Le script d’action de compte de lien contient des identificateurs pour l’utilisateur qui établit la liaison. Le script contient également le compte auquel il est lié.
| Entrée | Sortie |
|---|---|
|
Aucun |
Exemple : script d’action Lier le compte.
(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éciales en fonction de la réponse à une demande d’envoi de message. Le framework effectue déjà un suivi de l’état des messages de base.
| Entrée | Sortie |
|---|---|
|
Aucun |
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 sortant
Les scripts de transformateur sortant 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 riche en serveur qui doit être transformé.
- charge utile (JSON) : dernière réponse reçue d’un demandeur.
Sortie.
résultat (chaîne) : message de composant approprié au 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 de 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 transformateurs entrants
Les scripts de transformateur entrants convertissent les messages entrants d’intégration de messagerie instantanée personnalisée conversationnelle en un protocole reconnu Agent virtuel . 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 à partir du script d’attribut de fournisseur.
- rich_control (JSON) : dernier contrôle enrichi envoyé au demandeur qui contient la « question » d’origine.
Sortie.
- 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 le 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 : recherchez le sys_id de l’option que l’utilisateur a sélectionnée 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é dans cette instance. |
|