웹 대화 개발 개요

JavaScript 코드에 익숙한 경우 웹 대화 API를 사용하여 웹 대화를 사용자 정의하고 확장할 수 있습니다. WebView 를 사용하여 모바일 앱에 웹 대화를 임베드할 수도 있습니다.

웹 대화 API에 대한 자세한 참조 정보는 웹 대화 개발자 문서를 참조하십시오.

웹 대화 위젯을 웹 사이트 또는 모바일 앱의 WebView 에 추가하려면 HTML 소스에 생성된 스크립트 요소를 임베드하기만 하면 됩니다. (임베드 스크립트에 대한 자세한 정보는 페이지에 웹 대화 임베드 를 참조하십시오.) 이 임베드 스크립트 내에서 웹 대화 API를 사용하여 웹 대화를 사용자 정의하거나 확장할 수 있습니다.

웹 대화 API는 다음과 같은 여러 개의 컴포넌트로 구성되어 있습니다.

  • 구성 오브젝트: 임베드 스크립트는 웹 대화 위젯에 대한 구성 오브젝트를 지정하는 watsonAssistantChatOptions 이름의 구성 오브젝트를 정의합니다. 구성 오브젝트를 편집하여 렌더링하기 전에 웹 대화의 모양 및 작동을 사용자 정의할 수 있습니다. 사용 가능한 구성 옵션에 대한 자세한 정보는 웹 API 참조에서 구성 옵션 오브젝트 를 참조하십시오.
  • 인스턴스 메소드: 웹 대화 인스턴스 메소드는 웹 대화 위젯의 하위 레벨 제어를 제공합니다. 인스턴스 메소드를 사용하여 웹 대화 위젯 열기 방식 변경, 컨텐츠 표시 및 숨기기 및 ID 정보 설정과 같은 사용자 정의 동작을 구현할 수 있습니다. 사용 가능한 인스턴스 메소드에 대한 자세한 정보는 웹 대화 API 참조에서 메소드 및 특성 목록 을 참조하십시오.
  • 이벤트: 웹 대화 이벤트 시스템에서는 웹 사이트가 웹 대화 이벤트(예: 웹 대화 창 열기 또는 닫기, 메시지 전송 또는 수신)에 응답할 수 있습니다. 이벤트를 구독하면 사용자 정의 동작을 구현하거나 메시지 컨텐츠를 인터셉트하고 수정할 수 있습니다. 이벤트 시스템에 대한 자세한 정보는 웹 대화 API 참조에서 이벤트 를 참조하십시오.

웹 대화 API를 사용하여 웹 대화 구현을 사용자 정의하려는 경우 처음부터 시작할 필요가 없습니다. 공통 웹 대화 사용자 정의의 예제를 표시하는 학습서를 사용할 수 있습니다. 자세한 정보는 웹 대화 개발 학습서 를 참조하십시오.

개발 태스크

웹 대화 API를 사용하여 다음 방법으로 웹 대화를 사용자 정의하고 확장할 수 있습니다.

웹 대화 스타일 및 컨텐츠
웹 대화 창 열기, 닫기 및 렌더링
대화 사용자 정의
데이터 관리
보안 및 관리

웹 대화 통합의 추가 예제는 여기 를 참조하십시오.

웹 대화 스타일 및 컨텐츠

웹 대화의 모양 사용자 정의

웹 대화 설정의 스타일 탭에서 사용 가능한 옵션 이외에 웹 대화의 스타일 및 모양을 사용자 정의하려는 경우 다른 Carbon Design 테마를 선택하여 이를 수행할 수 있습니다.

지원되는 테마는 IBM Carbon Design에서 정의하는 색상 테마입니다. Carbon 테마를 설정하려면 carbonTheme 구성 옵션을 사용하십시오.

테마 내에서 개별 변수를 설정하여 특정 UI 요소를 사용자 정의할 수도 있습니다. 예를 들어, 대화 창에 표시되는 텍스트는 IBMPlexSans, Arial, Helvetica, sans-serif 글꼴을 사용합니다. 다른 글꼴을 사용하려면 updateCSSVariables() 인스턴스 메소드를 사용하여 지정할 수 있습니다.

홈 화면 사용자 정의

홈 화면은 고객을 시작하고 선택적으로 제안된 대화 시작자 목록을 표시합니다. 홈 화면의 스타일 및 컨텐츠를 사용자 정의할 수 있습니다.

문자열 사용자 정의

웹 대화에 의해 표시되는 다양한 레이블 및 하드코딩된 구문을 정의하는 문자열을 사용자 정의할 수 있습니다. 문자열을 사용자 정의하려면 updateLanguagePack() 인스턴스 메소드를 사용하여 현재 언어 팩의 문자열을 대체하십시오. 자세한 정보는 언어를 참조하십시오.

글로벌 대상 지원

기본적으로 웹 대화에 의해 표시되는 문자열은 영어입니다. 다른 언어로 변경하려면 updateLanguagePack() 인스턴스 메소드를 사용하여 현재 언어 팩을 사용 가능한 번역된 언어 팩 중 하나로 바꾸십시오. 자세한 정보는 웹 대화에서 글로벌 대상 지원 을 참조하십시오.

웹 대화 창 열기, 닫기 및 렌더링

기본 실행기 바꾸기

웹 사이트와 더 잘 통합하기 위해 기본 제공 실행기 아이콘을 웹 대화를 열기 위한 다른 메커니즘으로 바꿀 수 있습니다. 기본 실행기를 숨기려면 showLauncher 구성 옵션을 false 로 설정하십시오. 일부 다른 상호작용을 기반으로 웹 대화를 열려면 openWindow 인스턴스 메소드를 사용하십시오.

개발 아이콘 학습서: 사용자 정의 실행기를 구현하는 방법을 보여주는 학습서는 사용자 정의 실행기 사용을 참조하십시오.

웹 대화를 항상 열려 있게 유지

페이지에서 항상 웹 대화를 열린 상태로 유지하려면 openChatByDefault 구성을 사용하여 대화 창이 열려 있는 페이지를 렌더링하고 hideCloseButton 옵션을 사용하여 고객이 닫지 못하도록 하십시오.

웹 대화의 크기 또는 위치 변경

웹 사이트 디자인에서는 웹 대화 창이 웹 사이트에서 렌더링되는 위치 및 방법을 변경해야 할 수 있습니다. 예를 들어, 페이지의 다른 위치, 다른 크기 또는 페이지의 다른 요소 내에 중첩된 위치에 표시할 수 있습니다.

웹 대화 창의 크기를 변경하기 위해 updateCSSVariables() 인스턴스 메소드를 사용하여 CSS 스타일링을 수정할 수 있습니다.

웹 대화 창의 위치를 변경해야 하거나 CSS에서 허용되는 한계를 초과하여 크기를 변경해야 하는 경우 사용자 정의 DOM 요소를 사용하여 웹 대화 창을 포함할 수 있습니다. 이를 수행하려면 element 구성 옵션을 사용하십시오.

개발 아이콘 학습서: 사용자 정의 요소에서 웹 대화를 렌더링하는 방법을 보여주는 학습서는 학습서: 웹 대화의 크기 및 위치 사용자 정의 를 참조하십시오.

모바일 애플리케이션에 웹 대화 추가

WebView 를 JavaScript 브릿지와 함께 사용하여 모바일 애플리케이션에 웹 대화를 추가할 수 있습니다. 자세한 정보는 모바일 애플리케이션에 웹 대화 추가 를 참조하십시오.

대화 사용자 정의

메시지 인터셉트 및 수정

이벤트에 등록하면 코드가 고객과 어시스턴트 간에 전송 및 수신되는 메시지를 가로채고 해당 컨텐츠를 수정할 수도 있습니다.

어시스턴트에 보내기 전에 고객의 메시지를 가로채려면 pre:receive 이벤트에 등록하십시오. 예를 들어, 메시지 텍스트에서 개인 식별 정보를 제거하거나 메시지 페이로드에 컨텍스트 변수를 추가할 수 있습니다.

고객에게 표시되기 전에 어시스턴트에서 수신되는 응답을 인터셉트하려면 pre:send 이벤트에 등록하십시오. 예를 들어, 웹 대화에 특정한 형식화, 링크 또는 기타 요소를 추가할 수 있습니다.

개발 아이콘 학습서: pre:receive 이벤트를 사용하여 수신 메시지를 가로채고 수정하는 방법을 보여주는 학습서는 학습서: 웹 대화에서 사용자 정의 옵션 단추 구현 을 참조하십시오.

사용자 정의 응답 유형 렌더링

어시스턴트가 사용자 정의 (user_defined) 응답 유형을 사용하여 특수화된 응답을 보내는 경우 사용자 정의 보기를 구현하여 웹 대화 창에 이러한 응답을 표시할 수 있습니다. 이를 수행하려면 user_defined 응답이 수신될 때마다 실행되는 customResponse 이벤트에 등록하십시오. 그런 다음 이벤트 핸들러 메소드에서 응답의 컨텐츠를 읽고 사용자 고유의 요소를 사용하여 출력을 렌더링할 수 있습니다.

개발 아이콘 학습서: 기본 옵션 응답에 대한 대체로 사용자 정의 응답 유형을 렌더링하는 방법을 보여주는 학습서는 학습서: 웹 대화에서 사용자 정의 옵션 단추 구현 을 참조하십시오.

컨택 센터 통합 구현

웹 대화 스타터 킷 중 하나를 사용하여 기본 제공 watsonx Assistant 통합에서 사용 가능한 플랫폼 이외의 컨택 센터 (서비스 데스크) 플랫폼과 통합할 수 있습니다. 여러 컨택 센터 플랫폼에서 완전한 기능의 참조 구현을 사용할 수 있습니다. 또한 스타터 킷을 사용하여 선택한 플랫폼과의 사용자 정의 통합을 개발할 수 있습니다.

자세한 정보는 문의 센터 지원 추가 를 참조하십시오.

데이터 관리

사용자 ID 정보 관리

웹 대화는 사용자 ID를 어시스턴트에 보내는 각 메시지와 연관시킵니다. 이 사용자 ID는 사용자 기반 청구 및 기타 용도로 사용됩니다. 웹 대화에서 각 사용자의 익명 ID를 생성하도록 허용하거나 사용자 ID를 직접 제어할 수 있습니다.

웹 대화에 대한 보안을 사용으로 설정했는지 여부에 따라 updateUserID 인스턴스 메소드 또는 updateIdentityToken 메소드를 사용하여 사용자 ID 정보를 지정할 수 있습니다.

사용자 ID 정보 지정 방법 및 사용 방법에 대한 자세한 정보는 웹 대화에서 사용자 ID 정보 관리 를 참조하십시오.

보안 및 관리

웹 대화 보안 설정

웹 대화를 보안하기 위해 JWT (JSON Web Token) 를 사용하여 사용자를 인증하고 개인 데이터를 암호화할 수 있습니다. 자세한 정보는 웹 대화 보안 을 참조하십시오.

웹 대화 버전 제어

IBM Cloud 에서 호스팅하는 웹 대화 코드는 정기적으로 개선사항 및 새 기능으로 업데이트됩니다. 기본적으로 임베드 스크립트는 자동으로 최신 버전의 웹 대화를 사용합니다. 웹 사이트에 영향을 줄 수 있는 예기치 않은 변경사항을 방지하기 위해 웹 사이트에서 사용하는 웹 대화의 버전을 제어하여 새 버전이 릴리스될 때 예기치 않은 변경사항을 방지하기 위해 프로덕션에 배치하기 전에 각 새 버전을 테스트할 수 있는 기회를 제공할 수 있습니다.

웹 대화 버전화에 대한 자세한 정보는 웹 대화 버전 제어 를 참조하십시오.