GETTING STARTED
Kore.ai XO Platform
Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Navigating the Kore.ai XO Platform
Building a Virtual Assistant
Help & Learning Resources
Release Notes
Current Version
Recent Updates
Previous Versions
CONCEPTS
Design
Storyboard
Overview
FAQs
Conversation Designer
Overview
Dialog Tasks
Mock Scenes
Dialog Tasks
Overview
Navigate Dialog Tasks
Build Dialog Tasks
Node Types
Overview
Intent Node
Dialog Node
Dynamic Intent Node
GenAI Node
GenAI Prompt
Entity Node
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections
Node Connections Setup
Sub-Intent Scoping
Entity Types
Entity Rules
User Prompts or Messages
Voice Call Properties
Knowledge AI
Introduction
Knowledge Graph
Introduction
Terminology
Build a Knowledge Graph
Manage FAQs
Knowledge Extraction
Import or Export Knowledge Graph
Prepare Data for Import
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Knowledge Graph Analysis
Answer from Documents
Alert Tasks
Small Talk
Digital Skills
Overview
Digital Forms
Digital Views
Introduction
Widgets
Panels
Session and Context Variables
Context Object
Intent Discovery
Train
NLP Optimization
ML Engine
Overview
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
LLM and Generative AI
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
Intelligence
Introduction
Event Handlers
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentinment Management
Tone Analysis
Default Standard Responses
Ignore Words & Field Memory
Test & Debug
Overview
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Conversation Testing Overview
Create a Test Suite
Test Editor
Test Case Assertion
Test Case Execution Summary
Glossary
Health and Monitoring
NLP Health
Flow Health
Integrations
Actions
Actions Overview
Asana
Configure
Templates
Azure OpenAI
Configure
Templates
BambooHR
Configure
Templates
Bitly
Configure
Templates
Confluence
Configure
Templates
DHL
Configure
Templates
Freshdesk
Configure
Templates
Freshservice
Configure
Templates
Google Maps
Configure
Templates
Here
Configure
Templates
HubSpot
Configure
Templates
JIRA
Configure
Templates
Microsoft Graph
Configure
Templates
Open AI
Configure
Templates
Salesforce
Configure
Templates
ServiceNow
Configure
Templates
Stripe
Configure
Templates
Shopify
Configure
Templates
Twilio
Configure
Templates
Zendesk
Configure
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
NiceInContact(User Hub)
Salesforce
ServiceNow
Configure Tokyo and Lower versions
Configure Utah and Higher versions
Unblu
External NLU Adapters
Overview
Dialogflow Engine
Test and Debug
Deploy
Channels
Publishing
Versioning
Analyze
Introduction
Dashboard Filters
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Introduction
Custom Meta Tags
Create Custom Dashboard
Create Custom Dashboard Filters
LLM and Generative AI Logs
NLP Insights
Task Execution Logs
Conversations History
Conversation Flows
Conversation Insights
Feedback Analytics
Usage Metrics
Containment Metrics
Universal Bots
Introduction
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Store
Manage Assistant
Team Collaboration
Plan & Usage
Overview
Usage Plans
Templates
Support Plans
Invoices
Authorization
Conversation Sessions
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
Variables
Collections
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data
Overview
Data Table
Table Views
App Definitions
Data as Service
HOW TOs
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
Migrate External Bots
Google Dialogflow Bot
APIs & SDKs
API Reference
API Introduction
Rate Limits
API List
koreUtil Libraries
SDK Reference
SDK Introduction
Web SDK
How the Web SDK Works
SDK Security
SDK Registration
Web Socket Connect and RTM
Tutorials
Widget SDK Tutorial
Web SDK Tutorial
BotKit SDK
BotKit SDK Deployment Guide
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
SDK Functions
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
  1. Docs
  2. Virtual Assistants
  3. How Tos
  4. 상담사 전환을 설정하는 방법

상담사 전환을 설정하는 방법

자주 묻는 질문 중 하나는 봇에서 인간 상담사에게 채팅을 전송하는 방법입니다. 이 작업은 봇이 고객 서비스 공간에 있는 경우 특히 필요합니다. 챗봇은 인간을 완전히 대체하기 위한 것이 아닙니다. 챗봇이 만족스럽게 대답하지 못하거나 사용자가 처음부터 사람과 대화하고 싶을 때가 많습니다. 이 경우 챗봇은 채팅을 인간 상담원이나 고객 관리 담당자에게 전송해야 합니다. 하지만 어떻게 할 수 있을까요? 본 문서에서는 Kore.ai 상담사 전환을 사용하여 라이브 채팅을 봇에 통합하는 방법에 대해 간략하게 설명합니다. 상담사 전환용 소스 코드는 Kore.ai github repo에서 사용할 수 있습니다: https://github.com/Koredotcom/BotKit

개요

봇이 전체 솔루션의 핵심 요소가 될 것입니다. 봇은 정상적인 기능을 모두 수행하는 것 외에도 사용자와 상담사 간의 대리인 역할을 합니다.

  • : 사용자가 상호 작용하는 채팅 봇.
  • 사용자: 사용자는 이 봇을 사용하는 고객입니다.
  • 상담사: 상담사는 사용자와 채팅하는 사람입니다. 상담사는 채팅 창도 필요합니다. 이를 위해 liveprson/livechat 소프트웨어를 사용합니다.

전제 조건

  • 완벽한 기능을 갖춘 봇(뱅킹 봇을 사용하겠습니다).
  • Kore의 github에서 BotKit SDK를 다운로드
  • Node.js를 다운로드 및 설치합니다. BotKit SDK를 사용하려면 SDK가 설치된 서버에서 node.js를 실행해야 합니다.
    1. https://nodejs.org/en/download/ 로 이동하여 Mac의 경우 .pkg 파일 유형으로 OS를 선택하고 Windows의 경우 .msi 파일 유형을 선택합니다.
    2. 터미널 창에서 node -v 명령을 실행하여 설치 및 버전을 확인합니다(예: v6.10.2).
  • 테스트 콜백 서버 애플리케이션입니다. 콜백 서버 애플리케이션을 시뮬레이션하기 위해 https://dl.equinox.io/ngrok/ngrok/stable의 NGROK를 사용할 것입니다. 다음은 NGROK를 설치하는 단계입니다.
    1. https://dl.equinox.io/ngrok/ngrok/stable를를 엽니다.
    2. 운영 체제에 맞는 ngrok 파일을 다운로드하고 설치합니다.
      • Windows에서 NGROK 다운로드:
        1. Windows 시스템에 32비트 또는 64비트용 zip 파일 다운로드
        2. 압축을 풀고 ngrok.exe를 실행하여 ngrok를 설치합니다.
      • Mac에서 NGROK 다운로드:
        1. Command+Space 키를 누르고 Terminal을 입력한 다음 enter/return 키를 누릅니다.
        2. 터미널 앱에서 실행: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/nullenter/return 키를 누릅니다. 화면에 암호를 입력하라는 메시지가 나타나면 Mac의 사용자 암호를 입력하여 계속 진행하세요. 암호를 입력할 때 화면에 표시되지 않지만, 시스템에서 암호를 허용합니다. 암호를 입력하고 Enter/Return 키를 누르면 됩니다. 그런 다음 명령이 완료될 때까지 기다립니다.
        3. Run brew cask install ngrok
  • 라이브 에이전트 소프트웨어. LiveChatInc.com을 사용할 것입니다. 본인 소유의 LiveChat 구독을 사용하거나, LiveChatInc.com에서 Start using LiveChat now!에 회사 이메일을 입력하여 무료 30일 평가판 계정을 설정할 수 있습니다. 가입하고 계정을 생성합니다.

설계 및 설정

  1. 봇 개발자로 Kore.ai 봇 빌더(https://bots.kore.ai/botbuilder)를 엽니다.
  2. 상담사 전환을 설정해야 하는 봇을 선택합니다.
  3. 대화 작업(콜백 지원)을 열거나 생성하고 상담사 전환 노드를 추가합니다.
  4. 이름(LiveChat)설명을 입력하고 저장을 클릭합니다.
  5. SDK가 현재 설정/구독되지 않았습니다. API 확장으로 이동하여 SDK를 설정하세요.‘라는 메시지를 보게 될 겁니다. SDK를 설정하는 방법은 본 문서에서 나중에 보여드릴 것이기 때문에 현재 이 메시지는 무시하세요.
  6. 봇 빌더 화면에서 API 확장 -> 상담사 전환으로 이동
  7. 앱 이름 섹션에서 목록의 기존 앱을 선택하거나 앱 생성 옵션을 사용하여 새 앱을 생성합니다.
  8. 봇 ID, 클라이언트 ID, 클라이언트 시크릿 키를 기록합니다.
  9. BotKit SDK 이벤트가 호출할 애플리케이션의 콜백 URL을 입력합니다. NGROK를 사용하고 있으므로 콜백 URL을 얻는 방법을 보여드리겠습니다:
    1. Terminal 창에서 다음 명령으로 ngrok를 시작하여 포트 8003을 모니터링합니다. ngrok http 8003.
    2. ngrok 포워딩 URL을 복사합니다. 형식은 다음과 같습니다. http://XXXXXXaa.ngrok.io
    3. 이 포워딩 URL을 콜백 URL로 사용하고 저장합니다. 참고 사항: ngrok가 다시 시작될 때마다 포워딩 URL이 변경됩니다. ngrok이 다시 시작될 때마다 콜백 URL을 변경해야 합니다.
  10. 상담사 전환은 대화 수준에서 설정됩니다. 대화 작업을 열고 상담사 전환 노드를 열어 설정이 아래와 보이는 것과 같이 저장되었는지 확인할 수 있습니다. 필수 이벤트를 선택할 수 있습니다(자세한 내용은 아래 참조).
  11. 엔터프라이즈 요건 및 라이선스 가용성에 따라 LiveChat, LivePerson, Concentrix, Vayusphere 등과 같은 라이브 에이전트 소프트웨어를 설치합니다. LiveChat을 사용하고 있기 때문에 상담사 전환에 필요한 라이선스 세부 정보를 얻는 방법을 알려드리겠습니다.
    1. LiveChat 계정에 로그인합니다.
    2. 왼쪽 탐색에서 설정으로 이동하여 채팅 링크를 선택합니다.
    3. URL을 복사하고 라이선스 코드를 기록합니다. URL이 https://lc.chat/now/104xx297/라면 라이선스 코드는 다음과 같습니다. 104xx297
  12. 다운로드한 BotKit SDK 폴더를 열고 다음을 수행합니다.
    • 편집 livechatapi.js:
      1. 이전에 복사한 봇의 botId와 botName을 각각 부여하세요.
      2. 이 JS 파일은 3개의 Kore API를 포함함 – 초기화, 메시지 보내기, 메시지 받기. 필요하다면 인간 상담사 전환용으로 작성된 새 API를 여기에 넣어야 합니다. 예: 연결을 끊어야 한다면 작성된 연결 API를 끊고 livechatapi.js로 이동해야 합니다.
    • 편집 config.json
      1. 클라이언트 ID, 클라이언트 시크릿 키, 실행 중인 각 서버 포트 및 타사 서버의 liveagent 라이선스가 여기에 표시됩니다.
      2. 클라이언트 ID, 클라이언트 시크릿은 이벤트 및 확장에서 복사할 수 있습니다 – 상담사 전환
      3. ngrok 포워딩 URL은 ngrok 실행 인스턴스에서 복사할 수 있습니다. 이것은 콜백 URL입니다. 이것은 URL 엔트리여야 합니다.
      4. Liveagentlicense는 livechat의 채팅 링크에 주어진 코드입니다

    • 편집 LiveChat.js
      • 이전에 복사한 봇의 botId와 botName을 각각 부여하고 저장
    • app.js를 편집
      1. 다음 줄을 추가합니다. sdk.registerBot(require('./LiveChat.js'))
      2. 필요하지 않다면 기존 SDK.registerBot 문을 삭제합니다.

실행

  1. 터미널 창을 열고 다음 명령을 입력하여 BotKit SDK를 실행합니다. node app.js
  2. 아래 보이는 대로 오류 없이 서버를 실행하기 위해 누락된 모듈을 모두 설치하세요. 예를 들어, "method url-template, node-schedule is missing" 오류가 표시되면 Windows의 경우 npm install <module-name>을 사용하여 위의 모듈을 설치하고 Mac의 경우 sudo npm install <module-name>을 사용합니다.
  3. ngrok 및 node.js 서버가 서로 다른 터미널에서 실행됩니다.
  4. 사용자가 봇에서 채팅을 시작하면 봇은 호출을 상담사에게 전송하고 사용자에게 메시지를 전송합니다
  5. 상담사는 livechat에서 이에 대한 알림을 받습니다
  6. 이제 상담사와 사용자 간의 연결이 설정되고 대화가 계속됩니다.

이벤트

참고 사항: 사용자, BOT에서 메시지를 보내고 상담사에게 전송하는 데 필요한 이벤트 및 방법은 LiveChat.JS에 설명되어 있습니다.

  1. on_user_message 이벤트는 사용자가 메시지를 보내고 sendBotMessage 메서드를 사용하여 이 메시지를 봇에 보낼 때 트리거 됩니다.
  2. on_bot_message는 봇이 메시지를 보낼 때 트리거 되고 SendUserMessage 메서드를 사용하여 이 메시지를 사용자에게 보냅니다.
  3. on_agent_transfer 이벤트는 서비스 agentTransfer 노드가 봇에서 트리거 될 때 트리거 됩니다. 그리고 이 이벤트는 내부적으로 initChat API를 호출하는 connectToAgent 메서드를 사용하여 에이전트에 연결됩니다.
  4. gethistory 메서드는 봇과 사용자의 채팅 기록을 전환된 상담사에게 제공합니다
  5. scheduleJob은 5초마다 실행되며 내부적으로 getPendingMessages를 호출하는 상담사에서 보류 중인 메시지를 폴링합니다
  6. getPendingMessages는 상담사에서 보류 중인 모든 메시지를 가져와서 이를 사용자에게 전달합니다.
  7. chat_closed는 상담사가 사용자와 채팅을 종료할 때 트리거 됩니다.

상담사 전환을 설정하는 방법

자주 묻는 질문 중 하나는 봇에서 인간 상담사에게 채팅을 전송하는 방법입니다. 이 작업은 봇이 고객 서비스 공간에 있는 경우 특히 필요합니다. 챗봇은 인간을 완전히 대체하기 위한 것이 아닙니다. 챗봇이 만족스럽게 대답하지 못하거나 사용자가 처음부터 사람과 대화하고 싶을 때가 많습니다. 이 경우 챗봇은 채팅을 인간 상담원이나 고객 관리 담당자에게 전송해야 합니다. 하지만 어떻게 할 수 있을까요? 본 문서에서는 Kore.ai 상담사 전환을 사용하여 라이브 채팅을 봇에 통합하는 방법에 대해 간략하게 설명합니다. 상담사 전환용 소스 코드는 Kore.ai github repo에서 사용할 수 있습니다: https://github.com/Koredotcom/BotKit

개요

봇이 전체 솔루션의 핵심 요소가 될 것입니다. 봇은 정상적인 기능을 모두 수행하는 것 외에도 사용자와 상담사 간의 대리인 역할을 합니다.

  • : 사용자가 상호 작용하는 채팅 봇.
  • 사용자: 사용자는 이 봇을 사용하는 고객입니다.
  • 상담사: 상담사는 사용자와 채팅하는 사람입니다. 상담사는 채팅 창도 필요합니다. 이를 위해 liveprson/livechat 소프트웨어를 사용합니다.

전제 조건

  • 완벽한 기능을 갖춘 봇(뱅킹 봇을 사용하겠습니다).
  • Kore의 github에서 BotKit SDK를 다운로드
  • Node.js를 다운로드 및 설치합니다. BotKit SDK를 사용하려면 SDK가 설치된 서버에서 node.js를 실행해야 합니다.
    1. https://nodejs.org/en/download/ 로 이동하여 Mac의 경우 .pkg 파일 유형으로 OS를 선택하고 Windows의 경우 .msi 파일 유형을 선택합니다.
    2. 터미널 창에서 node -v 명령을 실행하여 설치 및 버전을 확인합니다(예: v6.10.2).
  • 테스트 콜백 서버 애플리케이션입니다. 콜백 서버 애플리케이션을 시뮬레이션하기 위해 https://dl.equinox.io/ngrok/ngrok/stable의 NGROK를 사용할 것입니다. 다음은 NGROK를 설치하는 단계입니다.
    1. https://dl.equinox.io/ngrok/ngrok/stable를를 엽니다.
    2. 운영 체제에 맞는 ngrok 파일을 다운로드하고 설치합니다.
      • Windows에서 NGROK 다운로드:
        1. Windows 시스템에 32비트 또는 64비트용 zip 파일 다운로드
        2. 압축을 풀고 ngrok.exe를 실행하여 ngrok를 설치합니다.
      • Mac에서 NGROK 다운로드:
        1. Command+Space 키를 누르고 Terminal을 입력한 다음 enter/return 키를 누릅니다.
        2. 터미널 앱에서 실행: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/nullenter/return 키를 누릅니다. 화면에 암호를 입력하라는 메시지가 나타나면 Mac의 사용자 암호를 입력하여 계속 진행하세요. 암호를 입력할 때 화면에 표시되지 않지만, 시스템에서 암호를 허용합니다. 암호를 입력하고 Enter/Return 키를 누르면 됩니다. 그런 다음 명령이 완료될 때까지 기다립니다.
        3. Run brew cask install ngrok
  • 라이브 에이전트 소프트웨어. LiveChatInc.com을 사용할 것입니다. 본인 소유의 LiveChat 구독을 사용하거나, LiveChatInc.com에서 Start using LiveChat now!에 회사 이메일을 입력하여 무료 30일 평가판 계정을 설정할 수 있습니다. 가입하고 계정을 생성합니다.

설계 및 설정

  1. 봇 개발자로 Kore.ai 봇 빌더(https://bots.kore.ai/botbuilder)를 엽니다.
  2. 상담사 전환을 설정해야 하는 봇을 선택합니다.
  3. 대화 작업(콜백 지원)을 열거나 생성하고 상담사 전환 노드를 추가합니다.
  4. 이름(LiveChat)설명을 입력하고 저장을 클릭합니다.
  5. SDK가 현재 설정/구독되지 않았습니다. API 확장으로 이동하여 SDK를 설정하세요.‘라는 메시지를 보게 될 겁니다. SDK를 설정하는 방법은 본 문서에서 나중에 보여드릴 것이기 때문에 현재 이 메시지는 무시하세요.
  6. 봇 빌더 화면에서 API 확장 -> 상담사 전환으로 이동
  7. 앱 이름 섹션에서 목록의 기존 앱을 선택하거나 앱 생성 옵션을 사용하여 새 앱을 생성합니다.
  8. 봇 ID, 클라이언트 ID, 클라이언트 시크릿 키를 기록합니다.
  9. BotKit SDK 이벤트가 호출할 애플리케이션의 콜백 URL을 입력합니다. NGROK를 사용하고 있으므로 콜백 URL을 얻는 방법을 보여드리겠습니다:
    1. Terminal 창에서 다음 명령으로 ngrok를 시작하여 포트 8003을 모니터링합니다. ngrok http 8003.
    2. ngrok 포워딩 URL을 복사합니다. 형식은 다음과 같습니다. http://XXXXXXaa.ngrok.io
    3. 이 포워딩 URL을 콜백 URL로 사용하고 저장합니다. 참고 사항: ngrok가 다시 시작될 때마다 포워딩 URL이 변경됩니다. ngrok이 다시 시작될 때마다 콜백 URL을 변경해야 합니다.
  10. 상담사 전환은 대화 수준에서 설정됩니다. 대화 작업을 열고 상담사 전환 노드를 열어 설정이 아래와 보이는 것과 같이 저장되었는지 확인할 수 있습니다. 필수 이벤트를 선택할 수 있습니다(자세한 내용은 아래 참조).
  11. 엔터프라이즈 요건 및 라이선스 가용성에 따라 LiveChat, LivePerson, Concentrix, Vayusphere 등과 같은 라이브 에이전트 소프트웨어를 설치합니다. LiveChat을 사용하고 있기 때문에 상담사 전환에 필요한 라이선스 세부 정보를 얻는 방법을 알려드리겠습니다.
    1. LiveChat 계정에 로그인합니다.
    2. 왼쪽 탐색에서 설정으로 이동하여 채팅 링크를 선택합니다.
    3. URL을 복사하고 라이선스 코드를 기록합니다. URL이 https://lc.chat/now/104xx297/라면 라이선스 코드는 다음과 같습니다. 104xx297
  12. 다운로드한 BotKit SDK 폴더를 열고 다음을 수행합니다.
    • 편집 livechatapi.js:
      1. 이전에 복사한 봇의 botId와 botName을 각각 부여하세요.
      2. 이 JS 파일은 3개의 Kore API를 포함함 – 초기화, 메시지 보내기, 메시지 받기. 필요하다면 인간 상담사 전환용으로 작성된 새 API를 여기에 넣어야 합니다. 예: 연결을 끊어야 한다면 작성된 연결 API를 끊고 livechatapi.js로 이동해야 합니다.
    • 편집 config.json
      1. 클라이언트 ID, 클라이언트 시크릿 키, 실행 중인 각 서버 포트 및 타사 서버의 liveagent 라이선스가 여기에 표시됩니다.
      2. 클라이언트 ID, 클라이언트 시크릿은 이벤트 및 확장에서 복사할 수 있습니다 – 상담사 전환
      3. ngrok 포워딩 URL은 ngrok 실행 인스턴스에서 복사할 수 있습니다. 이것은 콜백 URL입니다. 이것은 URL 엔트리여야 합니다.
      4. Liveagentlicense는 livechat의 채팅 링크에 주어진 코드입니다

    • 편집 LiveChat.js
      • 이전에 복사한 봇의 botId와 botName을 각각 부여하고 저장
    • app.js를 편집
      1. 다음 줄을 추가합니다. sdk.registerBot(require('./LiveChat.js'))
      2. 필요하지 않다면 기존 SDK.registerBot 문을 삭제합니다.

실행

  1. 터미널 창을 열고 다음 명령을 입력하여 BotKit SDK를 실행합니다. node app.js
  2. 아래 보이는 대로 오류 없이 서버를 실행하기 위해 누락된 모듈을 모두 설치하세요. 예를 들어, "method url-template, node-schedule is missing" 오류가 표시되면 Windows의 경우 npm install <module-name>을 사용하여 위의 모듈을 설치하고 Mac의 경우 sudo npm install <module-name>을 사용합니다.
  3. ngrok 및 node.js 서버가 서로 다른 터미널에서 실행됩니다.
  4. 사용자가 봇에서 채팅을 시작하면 봇은 호출을 상담사에게 전송하고 사용자에게 메시지를 전송합니다
  5. 상담사는 livechat에서 이에 대한 알림을 받습니다
  6. 이제 상담사와 사용자 간의 연결이 설정되고 대화가 계속됩니다.

이벤트

참고 사항: 사용자, BOT에서 메시지를 보내고 상담사에게 전송하는 데 필요한 이벤트 및 방법은 LiveChat.JS에 설명되어 있습니다.

  1. on_user_message 이벤트는 사용자가 메시지를 보내고 sendBotMessage 메서드를 사용하여 이 메시지를 봇에 보낼 때 트리거 됩니다.
  2. on_bot_message는 봇이 메시지를 보낼 때 트리거 되고 SendUserMessage 메서드를 사용하여 이 메시지를 사용자에게 보냅니다.
  3. on_agent_transfer 이벤트는 서비스 agentTransfer 노드가 봇에서 트리거 될 때 트리거 됩니다. 그리고 이 이벤트는 내부적으로 initChat API를 호출하는 connectToAgent 메서드를 사용하여 에이전트에 연결됩니다.
  4. gethistory 메서드는 봇과 사용자의 채팅 기록을 전환된 상담사에게 제공합니다
  5. scheduleJob은 5초마다 실행되며 내부적으로 getPendingMessages를 호출하는 상담사에서 보류 중인 메시지를 폴링합니다
  6. getPendingMessages는 상담사에서 보류 중인 모든 메시지를 가져와서 이를 사용자에게 전달합니다.
  7. chat_closed는 상담사가 사용자와 채팅을 종료할 때 트리거 됩니다.
메뉴