봇 세션 상태 스니펫
이 도움말 페이지의 정보는 Studio 및 Desktop Studio에 모두 적용됩니다.
속성이 있는 작업을 사용하는 경우 스크립트에Bot Session StatebotSessionState 스니펫이 필요합니다. 여기에는 Textbot Exchange 및 Voicebot Exchange과 같은 작업이 포함됩니다(이후로 두 작업을 모두 간단히 Exchange이라고 합니다). 가상 상담원 봇 실제 상담원 대신 고객 인터랙션을 처리하는 소프트웨어 애플리케이션입니다.이 예상한 대로 작동하게 하려면 botSessionState 속성을 올바르게 구성해야 합니다. 이렇게 하려면 스크립트에 이 스니펫을 만들고 다음 섹션에 표시된 대로 동작을 올바르게 구성해야 합니다.
스크립트는 이 속성이나 해당 변수에 절대 기록을 하면 안 됩니다. 스크립트는 봇 세션 상태 식별자를 사용하도록 올바르게
"Google Dialogflow CX을 사용하지 않는 한 이 스니펫은 필수입니다. 사용자 지정 대화 ID를 Custom Payload 스니펫에서 설정할 수 있으며, 이 스니펫은 Bot Session State 스니펫과 동일한 목적을 갖습니다." 사용자 지정 대화 ID는 한 CX 인스턴스에서 다른 CX 인스턴스로 연락처를 전송할 때 사용됩니다.Dialogflow 두 ID를 모두 사용하지 않으면 대화의 각 턴마다 새로운 세션 ID가 생성되고 가상 에이전트는 대화의 컨텍스트를 유지하지 않습니다. 이런 일이 발생하면 오류는 발생하지 않지만 시스템이 예상대로 작동하지 않습니다.
스크립트 설정
Exchange 작업을 사용하려면 스크립트에 작업의 인스턴스가 최소 2개 이상 필요합니다. 각 Exchange 작업의 botSessionState 속성은 다르게 구성해야 합니다.
- 첫 Exchange 작업 인스턴스는 스크립트 시작 부분의 Begin 작업에 있습니다. 이것은 다음과 같이 구성합니다.
- botSessionState: 이것은 비어 있어야 합니다.
- botSessionStateVarName (out): 스크립트에서 식별자를 저장할 변수의 이름으로 구성합니다.
- 두 번째 Exchange 작업은 스크립트 뒷부분에 위치해 있습니다. 이것은 다음과 같이 구성합니다.
- botSessionState: Exchange 작업의 첫 번째 인스턴스에서 botSessionStateVarName (out)에 사용된 변수로 구성합니다. 이 변수는 JSON 형식으로 봇 세션 상태 식별자를 저장해야 합니다.
- botSessionStateVarName (out): 스크립트에서 식별자를 저장할 변수의 이름으로 구성합니다.
- Exchange 작업의 세 번째 및 그 이후의 모든 인스턴스는 선택 사항입니다. 스크립트에 이러한 인스턴스가 포함된 경우 다음과 같이 구성합니다.
- botSessionState: Exchange 작업의 이전 인스턴스에서 botSessionStateVarName (out)에 사용된 변수로 구성합니다. 이 변수는 JSON 형식으로 봇 세션 상태 식별자를 저장해야 합니다. 봇 세션 상태 식별자는 일반적으로 차례 간에 변경되지 않습니다. 그러나 변경될 경우 변경 사항을 캡처하도록 작업을 구성해야 합니다.
- botSessionStateVarName (out): 스크립트에서 식별자를 저장할 변수의 이름으로 구성합니다.
이 구성은 모든 가상 상담원에 필수입니다.
botSessionState 속성이 올바르게 설정되었는지 확인하세요
스크립트 추적을 사용하면 이 속성이 올바르게 설정되었는지 확인할 수 있습니다.
- 가상 에이전트와 연락처 간의 상호 작용에 대한 스크립트 추적을 실행합니다. 연속 추적을 사용하거나 특정 ANI 또는 DNIS의 추적을 캡처할 수 있습니다(음성 상호 작용에만 해당).
- 추적 창에서 첫 번째 Virtual Agent Hub 작업(Voicebot Exchange 또는 Textbot Exchange)에 해당하는 줄을 클릭합니다.
- 변수 목록에서 botSessionState 변수를 확인하세요. 값은 null(비어 있음)이어야 합니다.
- 추적 창에서 첫 번째 Virtual Agent Hub 작업 뒤에 있는 추적의 다음 줄을 클릭합니다.
- botSessionState 변수의 값을 주목하세요.
- 추적 창에서 후속 Virtual Agent Hub 작업에 해당하는 추적의 줄을 클릭합니다.
- botSessionState 변수의 값을 확인하세요. 5단계와 동일해야 합니다.
봇 세션 상태 식별자를 JSON으로 변환
botSessionStateVarName (out) 속성에서 사용되는 변수의 콘텐츠는 JSON으로 변환해야 하며, 스크립트에 있는 두 번째 Exchange 작업의 botSessionState 속성으로 전달해야 합니다. 이를 수행하려면 Snippet 작업에 코드를 포함하거나 속성을 직접 구성할 수 있습니다. 두 가지 방법 모두 허용됩니다. 하지만 변환된 개체를 가지도록 Snippet에서 변수를 변환하면 변환이 진행되는 위치를 더욱 쉽게 볼 수 있다는 장점이 있습니다.
스니펫 작업 사용하기
- Exchange 작업의 botSessionStateVarName (out) 속성을 세션 상태 식별자를 저장할 변수의 이름으로 구성합니다. 예를 들면 botSessionState입니다.
-
스크립트의 Exchange 작업 전에 위치한 Snippet에 다음 줄을 추가합니다.
ASSIGN botSessionStateOut = botSessionStateOut.asJSON()
스크립트에서 사용하는 변수의 이름을 사용합니다.
- Exchange 작업의 botSessionState 속성을 ASSIGN 문에서 사용한 변수의 이름으로 구성합니다. 예를 들면 botSessionStateOut입니다.
속성에서 변환
botSessionState 속성에서 변수를 변환하려면 botSessionStateVarName (out) 변수를 asJSON() 함수와 함께 사용합니다. 예:
- botSessionStateVarName (out): botSessionState
- botSessionState: botSessionState.asJSON()
한 가상 에이전트에서 다른 가상 에이전트로 연락처 전송
가상 에이전트 간 연락처 전송을 설정하려면 봇 세션 상태 ID를 올바르게 설정해야 합니다. 각 가상 에이전트는 고유한 봇 세션 상태 ID를 가져야 합니다. 이를 통해 개별 가상 에이전트는 자신이 참여하는 대화의 맥락을 유지하는 데 도움이 됩니다.
-
"가상 에이전트 1: 이 페이지에서 이전에 설명한 대로 봇 세션 상태 변수를 설정합니다."
- 가상 에이전트 2: botSessionStateVarName (out)에서 다른 변수를 사용하여 봇 세션 상태 ID를 보관하는 방식으로 동일한 방식으로 설정합니다. 이 가상 에이전트에 대한 첫 번째 호출에서 botSessionState 속성이 비어 있는지 확인하세요. 대화의 첫 번째 턴에서는 botSessionStateVarName (out)의 변수에 고유한 봇 세션 상태 ID가 반환됩니다.
- 이후의 모든 가상 에이전트: 봇 세션 상태 ID에 대한 고유 변수를 사용하여 가상 에이전트 2와 동일하게 설정합니다.
이 방법은 두 개의 Google Dialogflow CX 가상 에이전트 간에 전환하지 않는 한 지원되는 모든 가상 에이전트 공급자에게 적용됩니다. 이 경우에는 다른 방법이 필요합니다.