Implementieren Sie eine Option zum Überspringen
Verwenden Sie ein Rich Control, um Benutzern die Möglichkeit zu geben, eine Frage zu überspringen.
Verwenden Sie das Rich Control
\nTyp SKIP, um Frage zu überspringen, um einem Benutzer die Möglichkeit zu geben, eine Frage zu überspringen. Es gibt zwei Möglichkeiten, eine Option zum Überspringen zu konfigurieren:- Verwenden Sie im Skript für Anbieterattribute
_skip_internal, um einen kontextbezogenen Aktionsservice auszulösen und die Frage zu überspringen. - Ordnen Sie eine kontextbezogene Aktion für den Provider zu, und verwenden
Sie //request_context.contextual_action = "SKIP", um die Frage zu überspringen. Unter Kontextbezogene Aktionen für benutzerdefinierte Chat-Integrationen erfahren Sie mehr über die Zuordnung von Benutzereingaben zu kontextbezogenen Aktionen.
Beispielskript:
va_sms_twilio_adapter_default_text_outbound_transformer
(function execute(inputs, outputs) {
try {
var richControl = inputs.rich_control;
outputs.result = richControl['label'];
if (richControl['required'] === false && richControl['uiType'] != "OutputText") { // new
outputs.result += "\nType SKIP to skip question"; // new
} // new
} catch(e){
gs.error('Error in default text outbound transformer: ' + e.message);
throw e;
}
})(inputs, outputs);
va_sms_twilio_adapter_provider_attributes
(function execute(inputs, outputs) {
try {
var headers = (inputs.headers);
var payload = (inputs.payload);
var smsUtil = new VASMSTwilioUtil();
outputs.token = JSON.stringify(smsUtil.getToken(headers, payload));
var data = payload.data;
var request_context = {};
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 {
var b = data['Body']; // new
request_context.typed_value = b; // new
if (b === "SKIP") { // new
request_context.typed_value = "_skip_internal"; // new
//request_context.contextual_action = "SKIP"; // new
} // new
}
outputs.request_context = request_context;
outputs.provider_user_id = data.From;
} catch (e) {
gs.error("Error in va_sms_twilio_adapter_provider_attributes : " + e.message);
}
})(inputs, outputs);
contextual_action (all new)
(function execute(inputs, outputs) {
var contextual_action = inputs.request_context.contextual_action;
if (contextual_action === "SKIP") {
sn_cs.VASystemObject.skipOptionalQuestion(inputs.conversation_id);
}
})(inputs, outputs);