Virtual Agent -Aktionsskripts
Sie müssen einen Satz obligatorischer Flow Designer Aktions- und Subflow-Skripts schreiben, um die Benutzerdaten an VACS zu übergeben, Transformationen anzuwenden und die Antwort an den Endpunkt Ihrer Chat-Schnittstelle zurückzusenden.
Provider und eingehende/ausgehende Skripts
Ein Provider wie Twilio stellt die Chat-Funktion bereit. Benutzeraktionsskripts führen Anbieteraktionen sowie die Konfiguration der benutzerdefinierten Chat-Integration für eingehende und ausgehende Umwandler für Ihren Chatbot oder benutzerdefinierte Konversationen durch. Beispiele für jedes Skript werden bereitgestellt. Sie enthalten eine Beschreibung der Aufgaben jedes Skripts sowie die Aktionseingabe und Aktionsausgabe. Sie sehen auch Beispiele für das Skript JSON.
Sie verwenden Flow Designer, um diese Skripts zum Transformieren von Server- und Client-Nachrichten zu erstellen. Die Skripts für Anbieter, Absender und eingehende/ausgehende Umwandler sind erforderlich. Sie können die zusätzlichen Skripts verwenden, um Ihrem Chat weitere Funktionen hinzuzufügen.
| Skriptname | Zweck | Erforderlich (J/N) |
|---|---|---|
| Anbieterattribut | Enthält ein Provider-Authentifizierungstoken, einen Benutzerbezeichner, eine Benutzereingabe und Kontextvariablen. | Y |
| Absenderaktion | Bündelt die Anforderung und sendet eine Antwort asynchron über Flow Designer oder Integration Hub. |
Y |
| Antwortprozessor | Führt Plattformaktionen aus, z. B. eine Aktualisierung des Nachrichtenstatus, die auf einer für eine ausgehende Nachricht empfangenen Antwort basiert | N |
| Kontextbezogene Aktion | Unterstützt kontextbezogene Aktionen. | N |
| Accountaktion verknüpfen | Gibt einen Rückruf an, ob die Account-Verknüpfung erfolgreich war oder nicht. | N |
| Ausgehender Umwandler | Transformiert das unterstützte Steuerelement eines Chat-Servers in ein für die Chat-Schnittstelle spezifisches Rendering. | Y |
| Eingehender Umwandler | Optional. Sie können die Standard-Rich Controls verwenden, wenn sie für Ihren Chat-Anbieter gelten. Sie müssen nicht für jedes Eingabesteuerelement eine separate eingehende Transformation angeben. Wenn ein Standardverhalten nicht funktioniert, können Sie das Standardverhalten mit Ihrer eigenen eingehenden Transformation für ein bestimmtes Virtual Agent-Serversteuerelement überschreiben. | Y |
Aktionsskript für Anbieterattribute
| Eingabe | Ausgabe |
|---|---|
|
|
Beispiel: Aktionsskript für Anbieterattribute.
(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);
Absenderaktionsskript (In Quebec außer Betrieb genommen, siehe Absender-Subflow)
Das Absenderaktionsskript weiß, wie eine Nachricht an den Anbieter gesendet wird. Das Skript sollte einen Flow Designer - oder IntegrationHub -Subflow asynchron aufrufen. Virtual Agent kann die Verarbeitung von Nachrichten fortsetzen, anstatt zu versuchen, externe Anforderungen zu senden.
| Eingabe | Ausgabe |
|---|---|
|
Keine |
Beispiel: Absenderaktionsskript.
(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);
Subflow-Skript des Absenders
Das Absender-Subflow-Skript weiß, wie eine Nachricht an den Anbieter gesendet wird. Das Skript sollte einen Flow Designer - oder IntegrationHub -Subflow asynchron aufrufen. Virtual Agent kann die Verarbeitung von Nachrichten fortsetzen, anstatt zu versuchen, externe Anforderungen zu senden. Führen Sie beim Erstellen eines Subflows keine Aktion aus, die eine Aktion innerhalb des Subflows aufruft.
}else{
outputs.sendmessage = true;
messages = inputs.results.results;
outputs.from = from;
outputs.to = to;
outputs.messages = getMessages(messages);
}
Kontextbezogenes Aktionsskript
Das kontextbezogene Aktionsskript führt spezielle Stichwortaktionen aus, z. B. die Eingabe eines Agenten innerhalb eines Virtual Agent -Themas, um sofort an einen Servicemitarbeiter übergeben zu werden.
| Eingabe | Ausgabe |
|---|---|
|
Keine |
Beispiel: Kontextbezogenes Aktionsskript.
(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);
Skript für Aktion „Account verknüpfen“.
Das Aktionsskript „Account verknüpfen“ enthält Bezeichner für den Benutzer, der eine Verknüpfung herstellt. Das Skript enthält auch den Account, mit dem es verknüpft ist.
| Eingabe | Ausgabe |
|---|---|
|
Keine |
Beispiel: Aktionsskript „Account verknüpfen“.
(function execute(inputs, outputs) {
var richControl = (inputs.rich_control);
var value = richControl.value;
outputs.result = richControl.header + ': ' + value.action;
})(inputs, outputs);
Aktionsskript des Antwortprozessors
Das Aktionsskript des Antwortprozessors führt Spezialaktionen aus, die auf der Antwort auf eine Anforderung zum Senden einer Nachricht basieren. Das Framework führt bereits eine grundlegende Nachverfolgung des Nachrichtenstatus durch.
| Eingabe | Ausgabe |
|---|---|
|
Keine |
Beispiel: Aktionsskript des Antwortprozessors.
(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);
Ausgehende Umwandlerskripts
Die ausgehenden Umwandlerskripts konvertieren ausgehende Virtual Agent Nachrichten in ein Protokoll, das sich auf die benutzerdefinierte Chat-Integration für Konversationen bezieht.
Eingabe.
- Rich_control (JSON): Virtual Agent Server-Rich-Steuerungskomponente, die transformiert werden muss.
- Nutzlast (JSON): Letzte Antwort, die von einer anfordernden Person empfangen wurde.
Ausgabe
result (Zeichenfolge) – Zu sendende Provider-angemessene Komponentennachricht.
| Name des ausgehenden Umwandlers | Skriptbeispiel |
|---|---|
| Adapter „ Virtual Agent – SMS Twilio“ – Ausgehender Umwandler für Standardtext []. | |
| Adapter „ Virtual Agent – SMS Twilio“ – Ausgehender Umwandler für Standardlink []. | |
| Adapter „Virtual Agent – SMS Twilio “ Standardauswahl Ausgehender Umwandler | |
| Adapter „Virtual Agent – SMS Twilio “ [], Standard Ausgehender Multi-Link-Umwandler | |
| Adapter „Virtual Agent – SMS Twilio “ Standardkarte Ausgehender Umwandler | |
Eingehende Umwandlerskripts
Die eingehenden Umwandlerskripts konvertieren eingehende benutzerdefinierte Chat-Integrationsnachrichten in ein Protokoll, das Virtual Agent erkennt. Er bestimmt den erforderlichen Wert, der in das Rich Control eingefügt werden soll, das dem Benutzer angezeigt wird.
Eingabe.
- request_context (JSON): Die Anforderung, die vom Provider-Attributskript übergeben wird.
- Rich_control (JSON): Die letzte an die anfordernde Person gesendete Rich-Steuerung, die die ursprüngliche „Frage“ enthält.
Ausgabe
- Wert: sys_id oder Textwert.
- search_text – Text, der verwendet wird, wenn die anfordernde Person etwas Unerwartetes ausgewählt hat. Zum Beispiel hat ein Benutzer als Antwort auf eine Themenauswahlkomponente etwas eingegeben, bei dem der NLU helfen könnte, z. B. „Keine dieser Optionen stimmt mit dem überein, was ich möchte“.
| Name des eingehenden Umwandlers | Skriptbeispiel |
|---|---|
| Adapter „Virtual Agent – SMS Twilio “ [], Standard – Eingehender Umwandler für Text Zweck: Finden Sie die Textantwort auf die gestellte InputText-Frage |
|
| Adapter „Virtual Agent – SMS Twilio “ – Standard – Eingehender Umwandler für Auswahl Zweck: Suchen Sie die sys_id der Option, die der Benutzer für diese Auswahlfrage ausgewählt hat. Dieses Skript verwendet denselben Algorithmus wie der ausgehende Umwandler. Wenn keine Optionen ausgewählt sind und der Benutzer stattdessen etwas eingegeben hat, wird „search_text“ festgelegt und in NLU eingespeist, sofern es in dieser Instanz aktiviert ist. |
|