봇 대화 중 특정 작업이 발생하거나 봇 채널에서 특정 이벤트가 트리거 될 때 봇 이벤트가 트리거 됩니다.
예를 들면, 사용자가 시작하기 버튼을 눌러 FB 메신저 봇과 채팅을 시작하면 Facebook 환영 이벤트를 트리거 합니다. 이 이벤트를 사용하여 사용자의 성과 이름으로 이를 개인화하고, 사용자의 추가 정보를 캡처하고, 백엔드 시스템을 업데이트하는 등 환영 인사말을 커스터마이징 할 수 있습니다.
봇 행동
다음과 같은 옵션 중 하나를 사용하여 이벤트가 트리거 되면 개발자는 봇 행동을 정의할 수 있습니다.
작업 실행
이벤트가 트리거 될 때 호출되도록 대화 작업(표준 또는 숨겨진)을 선택합니다. 이벤트가 트리거 되면 대화 실행을 시작합니다. 다른 의도 감지로 인해 방해된 경우, 보유 및 재개 설정이 작동되기 시작합니다. 실행 도중 선택된 대화가 봇에 게시되지 않으면 이벤트는 삭제됩니다. 몇몇 사례에서는 작업이 아직 게시되지 않았거나 유예되었거나 단순히 사용자에게 할당되지 않은 경우와 같은 여러 이유로 인해 대화 도중 사용자가 대화를 사용할 수 없을 수도 있습니다. 이러한 경우 봇은 실행이 현재 불가능한 작업이라는 오류 메시지를 표시합니다. 개발자는 디버그 모드에서 봇을 테스트하여 이러한 상황을 회피할 수 있습니다. 디버그 콘솔은 오류에 대한 전체 세부 정보를 보여주며, 작업이 사용 불가능한 이유를 포함합니다.
스크립트 실행
이벤트가 트리거 되면 실행하기 위해 JavaScript를 정의합니다. 스크립트는 세션, 컨텍스트, 개체, 봇 변수, 봇 기능과 같은 모든 적용할 수 있는 컴포넌트를 사용할 수 있습니다. 디버그 모드를 사용하여 코드를 수정할 수도 있습니다.
메시지 표시
이벤트가 트리거 되면 사용자에게 간단한 메시지나 고급 메시지를 정의합니다. 봇 플랫폼에서 사용할 수 있는 모든 메시지 포매팅 기능을 제공하며, 채널 재정의 옵션을 사용한 여러 메시지를 포함합니다. 다국어 봇 행동:
- 언어별 메시지를 정의할 수 있습니다.
- 메시지가 특정 언어에 대한 이벤트에서 삭제되면 봇의 모든 다른 언어에서 제거됩니다.
- 메시지가 언어에 추가되면 메시지는 같은 콘텐츠를 사용하는 모든 다른 언어에 추가됩니다.
- 메시지가 언어에서 수정되면 해당 언어에서만 수정이 적용됩니다.
이벤트 유형
응답을 트리거 하기 위해 다음 이벤트를 설정할 수 있습니다.
이벤트 | 트리거 |
환영 이벤트 | 채널에서 사용자로부터 첫 메시지를 수신할 때. |
Facebook 환영 이벤트 | Facebook 메신저에서 환영 이벤트를 수신할 때. 봇에 둘 다 설정되어 있으면 이 이벤트가 환영 이벤트보다 우선합니다. |
텔레포니 환영 이벤트 | IVR, Twilio, 또는 Audio Codes와 같은 음성 채널에서 사용자의 호출을 수신할 때. 자세한 내용은 아래를 참조하세요. (이전에 Twilio 음성 환영 이벤트라고 불림) |
Telegram 환영 이벤트 | Telegram에서 환영 이벤트를 수신할 때. 봇에 둘 다 설정되어 있으면 이 이벤트가 환영 이벤트보다 우선합니다. |
연결 상태 | 웹 / 모바일 SDK 채널을 통해 사용자가 대화를 주고받는 모든 순간. 이 이벤트는 사용자가 대화를 시작하든 하지 않든 관계없이 트리거 됩니다. 이 이벤트는 웹 / 모바일 SDK 채널에만 적용되며 둘 다 설정된 환영 이벤트보다 우선합니다. |
대화 종료 | 대화 종료에 도달할 때. 자세한 내용은 아래를 참조하세요. |
작업 실행 실패 | 다음과 같은 대화 작업 실행에서 오류가 발생했을 때.
|
RCS 옵트인 이벤트 | RCS 메시지 채널에 사용자가 옵트인 한 메시지를 수신할 때. |
RCS 옵트아웃 이벤트 | RCS 메시지 채널에 사용자가 옵트아웃 한 메시지를 수신할 때. |
설정
설정 옵션으로 다음과 같은 것들을 할 수 있습니다.
- 변수 네임스페이스 관리를 통해 이벤트 관리자와 사용할 변수 네임스페이스를 연결합니다. 이 옵션은 봇에 변수 네임스페이스가 활성화되어 있을 때만 보입니다. 더 자세한 정보는 네임스페이스 관리를 참조하세요.
추가 참고 사항
작업 실행 실패 이벤트
- 이 이벤트는 v6.40 릴리스부터 사용할 수 있습니다.
- 기본으로 이 이벤트는 메시지 표시, 옵션과 함께 항상 활성화됩니다. 이벤트를 비활성화할 수 없습니다.
- 이 봇 수준 행동은 대화 작업 설정에서 작업별 실패 이벤트를 정의하여 특정 작업에 대해 재정의될 수 있습니다. 방법에 대해서는 여기를 참조하세요.
환영/onConnect 이벤트
사용자는 간단한 인사부터 의도를 직접 표현하거나 FAQ를 질의하는 것까지 다양한 방식으로 봇 대화를 시작할 수 있습니다. 개발자가 사용자의 선택에 따라 봇 응답을 커스터마이징 하도록 범위를 용이하게 할 수 있도록, 환영 이벤트는 이벤트 구성으로 작업 또는 메시지 표시를 선택할 때 추가 옵션과 함께 제공됩니다. 예를 들어, 봇 작업에 첫 번째 사용자 발화가 매핑되면 봇은 이벤트 기반 작업이나 사용자 의도를 먼저 실행해야 할까요? ver9.0 이후, BotUserSession 컨텍스트 개체에서 isReturningUser 매개변수를 사용하여 반환 사용자를 식별할 수 있으며 적절한 환영 메시지를 보낼 수 있습니다(컨텍스트 개체는 여기를 참조하세요). 개발자로서 사용자가 아래 나열된 옵션에서 인사말, 작업 또는 FAQ로 봇과 대화를 시작할 때 봇 우선순위를 정의할 수 있습니다.
이벤트 구성 | 옵션 |
작업 시작 |
작업이 아직 게시되지 않았거나 유예되었거나 단순히 사용자에게 할당되지 않은 경우와 같은 이유로 인해 사용자가 작업을 할 수 없다면, 이러한 경우 봇은 작업 실행이 현재 불가능하다는 오류 메시지를 보여줍니다. |
메시지 표시 |
|
대화 종료
대화 종료는 봇이 사용자에게 어떠한 메시지도 전송할 것으로 예상되지 않거나 사용자로부터 어떠한 메시지도 송신 받지 못할 것이라고 예상되면 트리거 됩니다. 작업 종료 이벤트에 추가된 작업 종료에 대한 이유를 나타내는 새로운 플래그는 대화 행동 종료를 결정하는 데 도움이 됩니다. 조치의 적절한 과정을 결정하기 위해 BotKit, RTM 및 Webhook 채널의 클라이언트 측 구현은 컨텍스트에서 작업 완료 플래그에 대한 이러한 이유를 사용할 수 있습니다. 이 이벤트를 트리거 하자마자 컨텍스트는 다음과 같은 세부 사항과 함께 업데이트됩니다.
- 이벤트를 트리거 하는 이유(아래 표 참조)
- 방금 종료된 작업의 이름. FAO라면 작업 이름은 'FAQ'로 설정됩니다.
시나리오 | 대화 종료 플래그 |
대화의 마지막 노드에 도달함 | 이행됨 |
사용자가 작업을 취소함 | 취소됨 |
작업 또는 FAQ 실행 중 오류(작업 실패 이벤트 없음, 보류 작업 없음) | 실패함 |
부모 대화에 반환 없이 완료된 링크된 대화 | Fulfilled_LinkedDialog |
FAQ에 답변할 때 | 이행됨 |
스크립트 실행 또는 메시지 표시로 성공적인 이벤트 실행(보류 중인 작업 없음) | Fulfilled_Event |
스크립트 실행 또는 메시지 표시로 이벤트 실행 중 오류(보류 중인 작업 없음) | Failed_Event |
보류 중인 작업을 계속하기 위한 사용자 감소(보류 중인 작업이 없을 때) | 취소됨 |
IVR 영향 또한 이 이벤트를 사용하여 음성 기반 채널에서 호출이 종료되어야 하는 방식과 시기를 정의할 수 있습니다. IVR 구현은 '대화 종료'가 완료되었을 때만 세션/호출의 종료를 활성화하도록 강화되었습니다. 방법은 여기를 참조하세요.
텔레포니 환영 이벤트
이 이벤트는 음성 채널에서 플랫폼에 대한 음성 호출을 수신하자마자 트리거 됩니다. 이 이벤트는 처음뿐만 아니라 사용자의 호출이 플랫폼에 도달할 때마다 트리거 됩니다. 여기에는 두 가지 옵션이 있습니다 – '대화 실행' 및 '음성 통화 속성'
- 대화 실행 – 제공된 드롭다운 목록에서 트리거 될 작업 선택
- 음성 통화 속성은 다음과 같이 설정될 수 있습니다.
- 적어도 하나의 '초기 프롬프트' 정의
- 시간 초과와 일치 없음에 대한 프롬프트가 정의될 수 있음
- 고급 제어에서 시간 초과, 재시도 횟수, 끼어들기에 대한 설정이 정의될 수 있습니다. 자세한 내용은 여기를 참조하세요.