건너뛰기 옵션 구현

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기3분
  • 리치 컨트롤을 사용하여 사용자가 질문을 건너뛸 수 있는 옵션을 제공합니다.

    리치 컨트롤 \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);