건너뛰기 옵션 구현
리치 컨트롤을 사용하여 사용자가 질문을 건너뛸 수 있는 옵션을 제공합니다.
리치 컨트롤
\nType SKIP to Skip Question 을 사용하여 사용자가 질문을 건너뛸 수 있는 옵션을 제공합니다. 건너뛰기 옵션을 구성하는 방법에는 두 가지가 있습니다.- 제공자 속성 스크립트에서
_skip_internal사용하여 상황별 작업 서비스를 트리거하고 질문을 건너뜁니다. - 제공자에 대한 상황별 작업을 매핑하고
request_context.contextual_action = "SKIP"을 사용하여 질문을 건너뜁니다. 을 참조 사용자 지정 채팅 통합을 위한 상황별 작업 하여 사용자 입력을 상황별 작업에 매핑하는 방법에 대해 자세히 알아보십시오.
예시 스크립트:
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);