사용자 지정 채팅 통합을 위한 기본 입력 및 출력 리치 컨트롤

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기7분
  • 입력 및 출력 리치 컨트롤은 사용자 지정 어댑터 구성[sys_cs_custom_adapter_config] 테이블의 사용자 지정 채팅 통합에 매핑되어야 합니다. 리치 컨트롤에 아웃바운드 변환기 구현이 누락된 경우 최종 사용자에게 응답이 제공되지 않으며 해당 사용자는 만족스럽지 못한 채팅 환경을 얻을 수 있습니다.

    다음 기본 리치 컨트롤은 입력 및 출력 리치 컨트롤에 매핑됩니다. 이 uiType 매개 변수는 에서 대화를 빌드하는 데 사용되는 주제 컨트롤을 참조합니다 가상 에이전트 디자이너.

    표 1. 기본 입력 및 출력 리치 컨트롤
    리치 컨트롤 설명
    ActionRichControl 이 구성요소는 대화에서 발생하는 다양한 이벤트와 작업을 처리합니다. 일부 작업은 모든 채널에 적용되지 않을 수 있습니다. 예를 들어 StartSpinnerActionMsg는 SMS에서 무시됩니다.

    ServiceNow® 가상 에이전트 는 이 프레임워크를 통해 다음과 같은 유형의 작업 메시지를 생성합니다. 사용자 지정 채팅 인터페이스는 특정 작업 메시지 유형만 인식합니다.

    • 구분 기호ActionMsg ||actionMsg instanceof
    • SystemActionMsg ||actionMsg instanceof
    • 주제FinishedActionMsg ||actionMsg instanceof
    • SwitchToVirtualAgentActionMsg ||actionMsg instanceof
    • SwitchConversationActionMsg ||actionMsg instanceof
    • ChatSubHeaderActionMsg ||actionMsg instanceof
    • StartSpinnerActionMsg ||actionMsg, EndSpinnerActionMsg의 인스턴스
    • SubscribetoSupportQueue ||actionMsg instanceof
    • SubscribeToChatPresence ||actionMsg instanceof
    • SwitchToLiveAgentActionMsg ||actionMsg instanceof

    ActionRichControl은 이러한 메시지를 요소 내에 래핑합니다 actionMsg . 따라서 ActionRichControl에 대한 단일 아웃바운드 변환기는 이러한 모든 메시지를 처리할 수 있습니다. 이 구성요소에 대한 인바운드 변환기는 필요하지 않습니다.

    agentInfo 매개 변수 서식 있는 컨트롤이 라이브 에이전트에서 전송되면 특성이 agentInfo 서식 있는 컨트롤에 추가됩니다.
    예시:
    {
         uiType: "someType",
         group: "someGroup"
         agentInfo: { sentFromAgent: true }  // please note that this object may contain more info in subsequent releases.
         ...
    } 
    DefaultPicker (영문) 파일 선택기, 주제 선택기 및 부울 컨트롤에 매핑합니다.
    예시:
    {
        uiType: "Picker/TopicPicker/Boolean",
        group: "DefaultPicker",  
        nluTextEnabled: true/false,
        promptMsg: "", // optional (needed for TopicPicker)
        label: "The question for the list",   // always filled
        itemType: "Picture/List"  // needed to user key to expect picture attached
        options: [
            {
                label: "display label prompt",
                value: "the value required to satisfy the question",
                description: "a description of value_1 item"
    	    attachment: "www.foo",
                enabled: true/false
            }, 
    	...
        ]
    }

    선택적 order 매개변수를 사용하면 승격된 주제가 표시되는 순서를 지정할 수 있습니다. 예:

    "options": [
        {
          label: "Check IT Ticket Status",
          value: "55720b465bf0201024f11fc40a81c72d",
          order: 100,
          enabled: true
        },
        {
          label: "Live Agent Support",
          value: "ce2ee85053130010cf8cddeeff7b12bf",
          order: 200,
          enabled: true
        },
        {
          label: "Open IT Ticket 2",
          value: "2a46cffbc7602010v088bbf603c260a7",
          order: 300,
          enabled: true
        }
    ]
    기본 텍스트 입력 텍스트, 출력 텍스트 및 파일 업로드 컨트롤에 매핑합니다.
    예시:
    {
        uiType: "InputText/OutputText/FileUpload/Picture",
        group: "DefaultText", 
        required: true/false,
        nluTextEnabled: true/false,
        itemType: "file/image/inputtext/outputtext",
        maskType: "SECURE/SENSITIVE/NONE"  // null except for InputText/OutputText
        label: "The Question?"        
    }
    기본 날짜 날짜 및 시간 컨트롤에 매핑합니다.
    {
        uiType: "Date/DateTime/Time",
        group: "DefaultDate", 
        required: true/false,
        nluTextEnabled: true/false,   
        label: "The Question?"
         
    }
    DefaultOutputLink (기본 출력 링크) 응답 통제를 링크 하기 위한 맵입니다.
    예시:
    {
        uiType: "OutputLink",
        group: "DefaultOutputLink",
        label: "link label",
        header: "link header",
        type: "link",
        value: {
            action: "www.foo",
        }	
    }
         
    }
    기본 출력 이미지 이미지 응답 통제에 매핑합니다.
    예시:
    {
        uiType: "OutputImage",
        group: "DefaultOutputImage",
        value: "www.foo"
    }
    기본 출력 카드 카드 응답 통제에 매핑합니다.
    예시:
    {
        uiType: "OutputCard",
        group: "DefaultOutputCard",
        templateName: "Card",
        data: "some json data string"
    }
    기본 출력 HTML HTML 응답 통제에 매핑합니다.
    예시:
    {
        uiType: "OutputHtml",
        group: "DefaultOutputHtml",
        style: "inline",
        height: 100,
        width: 100,
        value: "<div>html</div>"
    }
    기본 출력 테이블 테이블 응답 통제에 매핑합니다.
    예시:
    {
        uiType: "OutputTable",
        group: "DefaultOutputTable",
        label: "Table Title",
        headers: ["Column 1", "Column 2"],
        navigationBtnLabel: "See next",
        data: [
            ["foo1", "foo2"],
            ["bar1", "bar2"]
        ]
    }
    DefaultGroupedPartsOutputControl (영문) 다중 응답 통제에 매핑합니다.
    예시:
    {
        uiType: "GroupedPartsOutputControl",
        group: "DefaultGroupedPartsOutputControl"
        groupPartType: "Link",
        header: "header message",
        values: [
    	{
    	    action: "www.foo",
    	    description: "description",
    	    label: "link_1 label",
    	    context: "ITSM"
    	},
    	...
        ]
    }
    DefaultMultiPartOutput (기본 다중 부분 출력) 다중 응답 통제에 매핑합니다.
    예시:
    {
        uiType: "MultiPartOutput",
        group: "DefaultMultiPartOutput"
        navigationBtnLabel: "Go next",
        content: {
            uiType: "OutputHtml",
            style: "inline",
            type: "html",
            height: 100,
            width: 100,
            value: "<div>html</div>"
         }
    }
    DefaultCustomControl (영문) 사용자 지정 통제에 매핑합니다.
    예시:
    {
        uiType: "CustomControl",
        group: "DefaultCustomControl",
        name: "The name of the Custom Control (sys_cs_custom_control.name)",
        required: true/false,
        uxComponentDefinitionSysId: "seismicComponentId" // or null if not
        isInput: true/false, // whether to wait for a response value or if just output
        serializedControlData: "User defined JSON from generateControlData function";    
    }