가상 에이전트 스토어 릴리스 2.0.x에서 사용할 수 있는 API 기능
가상 에이전트API 버전 2.0.x는 리치 컨트롤 지원 및 알림을 포함하여 및 에이전트 채팅에서 사용할 수 가상 에이전트 있는 더 많은 동일한 기능에 대한 액세스를 제공합니다.
추가 리치 컨트롤 지원
가상 에이전트 API는 이제 다음과 같은 리치 컨트롤을 지원합니다.
- 부울 컨트롤
- 부울 컨트롤은 보다 쉬운 현지화를 위해 응답을 문자열(또는 YesNo)로 반환합니다.
주제 현지화에 대한 자세한 내용은 다음 문서를 참조하십시오 가상 에이전트 대화 현지화.
가상 에이전트 API는 부울 컨트롤에 대해 다음 예제 JSON을 보냅니다.{ "requestId": "asd2423-wrr434-weruyt-1234567", "clientSessionId": "", "nowSessionId": "", "message": { "text": "7a36412253a13010ff59ddeeff7b12fb", "typed": false, "clientMessageId": "ABC-123" }, "userId": "beth.anglin", "body": [ { "uiType": "Boolean", "group": "DefaultPicker", "required": true, "nluTextEnabled": false, "label": "Sample Response for boolean control", "options": [ { "label": "Yes" }, { "label": "No" } ] } ], "score": 1 } - 사용자 지정 통제
- 이제 사용자 지정 컨트롤을 사용하는 주제가 지원됩니다. 사용자 지정 컨트롤에 대한 자세한 내용은 다음 문서를 참조하십시오 사용자 지정 통제를 가상 에이전트 사용하여 사용자 지정.
- 테이블 봇 응답 통제
- 이제 테이블 봇 응답 통제를 사용하는 주제가 지원됩니다. 자세한 내용은 테이블 봇 응답 통제 문서를 참조하십시오.
모든 기록은 API에서 가상 에이전트 한 번에 반환됩니다. 가상 에이전트 API 클라이언트에서 다음 통제를 보내는 응답을 기다립니다. 이 paginationBreak 속성을 사용하여 사용자에게 기록을 청크로 표시합니다. 예를 들어, 가 10으로 설정된 경우 paginationBreak 사용자는 한 번에 10개의 기록을 볼 수 있습니다. 클라이언트가 다음 컨트롤로 이동할 준비가 되면 를 보내야 DONE합니다.
가상 에이전트 API는 테이블 봇 응답 컨트롤에 대해 다음과 같은 예시 JSON을 보냅니다.{ "requestId": "asd2423-wrr434-weruyt-1234567", "clientSessionId": "", "nowSessionId": "", "message": { "text": "Yes", "typed": false, "clientMessageId": "ABC-123" }, "userId": "beth.anglin", "body": [ { "uiType": "OutputTable", "group": "DefaultOutputTable", "label": "Sample Table Rich control", "headers": [ "Number", "Short description" ], "data": [ [ "INC0000005", "CPU load high for over 10 minutes" ], [ "INC0000015", "I can't launch my VPN client since the last software update" ], [ "INC0000025", "Need to add more memory to laptop" ], [ "INC0000035", "Reset my password" ], [ "INC0000055", "SAP Sales app is not accessible" ], [ "INC0009005", "Email server is down." ] ], "paginationBreak": 10, "totalSearchResultsCount": 6, "navigationBtnLabel": "Click for more" } ], "score": 1 } - HTML 봇 응답 통제
- 이제 HTML 봇 응답 컨트롤을 사용하는 주제가 지원됩니다. 자세한 내용은 HTML 봇 응답 통제 문서를 참조하십시오.가상 에이전트 API는 HTML 봇 응답 컨트롤에 대해 다음과 같은 예제 JSON을 보냅니다.
{ "requestId": "asd2423-wrr434-weruyt-1234567", "clientSessionId": "", "nowSessionId": "", "message": { "text": "Yes", "typed": false, "clientMessageId": "ABC-123" }, "userId": "beth.anglin", "body": [ { "uiType": "OutputHtml", "group": "DefaultOutputHtml", "style": "inline", "height": 100, "width": 100, "value": "<html> <body> Sample Response for Html control </body> </html> ", "imageUrl": null, "imageHeight": 0, "imageWidth": 0, "links": null }, { "uiType": "InputText", "group": "DefaultText", "required": true, "nluTextEnabled": false, "label": "some text", "maskType": "NONE" } ], "score": 1 } - 다중 응답 봇 응답 통제
- 이제 다중 응답 봇 응답 통제를 사용하는 주제가 지원됩니다. 자세한 내용은 다중 응답 봇 응답 통제 문서를 참조하십시오.가상 에이전트 API는 다중 응답 봇 응답 컨트롤에 대해 다음 예제 JSON을 보냅니다.
{ "requestId": "asd2423-wrr434-weruyt-1234567", "clientSessionId": "", "nowSessionId": "", "message": { "text": "Done", "typed": false, "clientMessageId": "ABC-123" }, "userId": "beth.anglin", "body": [ { "uiType": "MultiPartOutput", "group": "DefaultMultiPartOutput", "navigationBtnLabel": "Click for more", "content": { "uiType": "OutputText", "value": "Text response from multiflow control example", "maskType": "NONE" } } ], "score": 1 } - 서식 있는 텍스트 지원
- 이제 서식 있는 텍스트를 사용하는 주제가 지원됩니다. 서식 있는 텍스트에는 굵게 또는 기울임꼴로 표시된 텍스트, 하이퍼링크, 글머리 기호 목록, 이모티콘이 포함됩니다.
에이전트 채팅 추가 기능
이제 API는 가상 에이전트 로 전송할 에이전트 채팅때 다음 기능을 지원합니다.
- 에이전트 이름 및 아바타 전달
- 기본 봇이 라이브 에이전트로 채팅을 전송하면 가상 에이전트 에이전트 이름과 아바타를 기본 봇에 보낼 수 있습니다. 이를 활성화하려면 에이전트 채팅 설정에서 에이전트 이름과 아바타를 활성화하십시오 .메시지 페이로드의 예는 다음과 같습니다.
{ "requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c", "clientSessionId":"U94CSJLEN", "message":{ "text":"Live Agent support.", "typed":true }, "userId":"U94CSJLEN", "body":[ { "uiType":"OutputText", "group":"DefaultText", "agentInfo":{ "sentFromAgent":true, "agentName":"Beth Anglin", "agentAvatar":"ee4eebf30a0004d963b5c5ac0d734dc4.iix?t=small" }, "value":"Thank you for contacting support. I am looking into your question now and will be with you shortly." } ], "agentChat":true, "score":1 }자세한 내용은 에이전트 채팅 구성을 참조하십시오.
- 라이브 에이전트 대기 시간
- 라이브 에이전트로 전송할 때 기본 봇은 대기 시간을 수신하고 이를 사용자에게 표시할 수 있습니다. 이 기능을 사용하려면 에이전트 채팅 설정의 실시간 채팅 대기 상태 필드에서 대기 시간을 선택하십시오. 값은 spinnerType 로 wait_time설정됩니다. 실시간 채팅 대기 상태가없음으로 설정된 경우 값은 spinnerType 입니다none.가상 에이전트 API는 페이로드의 매개변수에 다음 예시 JSON body 을 전송합니다.
{ "uiType":"ActionMsg", "actionType":"StartSpinner", "spinnerType":"wait_time", "message":"Routing you to a live agent...", "waitTime":"8 Seconds" }자세한 내용은 에이전트 채팅 구성을 참조하십시오.
- 기본 봇에서 다음으로 채팅 이력 보내기 가상 에이전트
- 기본 봇은 라이브 에이전트에게 채팅 기록을 전달하여 에이전트가 대화의 컨텍스트를 볼 수 있도록 할 수 있습니다.가상 에이전트 는 메시지 기록을 HTML로 변환한 다음 이미지로 변환합니다.
- 변환된 이미지는 채팅의 첫 번째 메시지로 라이브 에이전트에게 전송됩니다.
- 기본 봇은 첫 번째 요청에서 메시지 기록을 보내야 합니다. 첫 번째 요청 이후의 다른 요청에서는 메시지 기록 페이로드가 무시됩니다.
- 문자 메시지만 지원됩니다.
- 기본 봇은 모든 URL을 문자 메시지의 값으로 전달할 수 있지만 라이브 에이전트는 이미지의 일부로만 볼 수 있습니다. 라이브 에이전트는 링크를 클릭할 수 없습니다.
예제 메시지 페이로드:{ "value": "Help me with password reset", "displayName": "able", "type": "text" "isBotMessage": false, }주:앞의 예에서 는 type 대/소문자를 구분하며 값이 text있어야 합니다.
기본 봇의 보강된 요청
이제 API는 가상 에이전트 기본 봇에서 다음 요청을 지원합니다.
- 시스템 매개변수 및 컨텍스트 변수
- 기본 봇은 시스템 매개변수와 컨텍스트 변수를 입력으로 전달할 수 있으며 가상 에이전트 이러한 매개변수를 적용합니다. , liveagent_requester_session_language, , topicliveagent_topiclive_agent_only, 및 liveagent_devicetimezone 같은 liveagent_devicetype시스템 매개변수가 지원됩니다. 사용자 지정 컨텍스트 변수 및 에이전트 채팅 컨텍스트 변수도 지원됩니다. 예제 메시지 페이로드:
{ "requestId": "f42f3550-5b44-4cde-aa52-xxxxxxxxxx", "clientSessionId": "xxxxxxxxxx", "token": "abcd", "message": { "text": "Test", "typed": true }, "contextVariables": { "requester_session_language": "es" }, "userId": ""abel.tuter", "emailId": "abel.tuter@example.com" }자세한 내용은 라이브 에이전트 채팅 컨텍스트 변수 및 채팅 관련 정보를 저장하기 위한 컨텍스트 변수 구성 문서를 참조하십시오.
- 사용자 시간대
- 요청 페이로드에 전달하여 사용자의 시간대를 설정합니다. 일단 설정되면 해당 표준 시간대 설정은 다시 설정될 때까지 유지됩니다.예제 메시지 페이로드:
{ "requestId": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxxxx", "clientSessionId": "xxxxxxxx-xxxx", "token": "xxxxx", "action" : "SET_USER_TIMEZONE", "userId": "able.tuter", "emailId": "abel.tuter@example.com", "timezone":"Asia/Kolkata" }이 기능을 사용할 때는 다음 사항을 고려하십시오.- 날짜 및 시간을 사용자의 시간대로 변환하려면 대화가 열려 있어야 합니다(현재).
- 기본 봇은 다음 형식 중 하나로 날짜 및 시간을 보내야 합니다.
- 시간대 이름입니다. 예를 들면 Asia/Kolkata 또는 America/New_York입니다.
- 날짜 시간 24시간 형식. 예: YYYY-MM-DD HH:MM:SS
- API는 가상 에이전트 설정한 시간대가 [sys_user] 테이블에 저장된 값과 다르더라도 기본 봇이 지정한 시간대를 사용합니다.
- 사용자 시간대를 설정하려면 작업을 보냅니다 SET_TIMEZONE . 시간대 이름이 잘못되면 시간대 값은 기본적으로 UTC 시간으로 설정됩니다. 예를 들어, 2021-02-16 20:13:13을(를) 선택합니다.
노드 건너뛰기 지원
가상 에이전트 API는 주제에서 노드 건너뛰기를 지원하도록 설계된 경우 노드 건너뛰기를 지원합니다. 예를 들어 에서 가상 에이전트 디자이너사용자 입력 컨트롤을 건너뛸 수 있도록 지정할 수 있습니다. 속성 시트의 영역입니다.
노드를 건너뛸 수 있는 것으로 정의하는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오 가상 에이전트 디자이너 사용자 입력 통제.
{
"requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
"clientSessionId": "835607",
"token": "snow",
"message": {
"text": "_skip_",
"typed": false
},
"emailId": "beth.anglin@example.com",
"userId": "beth.anglin"
}동기식 핸드셰이크 지원
- 에이전트 채팅
- 알림
- 입력 표시기
- 에서 에이전트 채팅봇-봇 채널을 제외합니다.
- 모두로 이동한 다음 필터에 sys_properties.list를 입력합니다.
- com.glide.cs.exclude.liveagent.support 시스템 속성을 선택하여 엽니다.
- 값 필드에 추가합니다Bot To Bot.
그림 2. 다음에서 봇 채널에서 봇 제외 에이전트 채팅 - 업데이트를 클릭합니다.
- 모두로 이동한 다음 탐색 필터에 sys_cs_channel.list를 입력합니다.
- 봇에서 봇 기록을 선택합니다.
- 알림 사용 확인란의 선택을 취소하여 사용하지 않도록 설정합니다.
- 지원 입력 표시기 확인란의 선택을 취소하여 사용하지 않도록 설정합니다.
- 동기 확인란을 선택합니다.
그림 3. 동기 지원이 활성화된 봇에서 봇 채널로 주:동기 필드가 표시되지 않으면 이를 표시하도록 양식 레이아웃을 구성할 수 있습니다. - 업데이트를 클릭합니다.
알림 지원
- 단순: 텍스트 전용 알림입니다. 간단한 알림은 도착하는 즉시 전달됩니다.
- 이미지 카드: 서버에 업로드되거나 URL로 지정된 이미지입니다.
- 기록 카드: 테이블의 기록에서 지정된 열입니다.
- 실행 가능: 사용자에게 특정 작업을 수행할 수 있는 기회를 제공합니다. 실행 가능한 알림이 큐에 대기됩니다. 사용자는 명령을 전송하여 요청 시 검색할 수 있습니다 Show Notification .
자세한 내용은 알림 구성 가상 에이전트 문서를 참조하십시오.
{
"requestId": "asd2423-wrr434-weruyt-1234567",
"clientSessionId": "",
"nowSessionId": "",
"message": {
"text": "Done",
"typed": false,
"clientMessageId": "ABC-123"
},
"userId": "beth.anglin",
"body": [
{
"uiType": "OutputCard",
"group": "DefaultOutputCard",
"templateName": "Notification",
"data": "{\"sys_id\":null,\"recordDisplayValue\":null,\"messageHeading\":\"[Heading]A notification has arrived. You can continue the conversation after viewing the notification.\",\"imageUrl\":null,\"tableLabel\":null,\"enableLink\":false,\"message\":\"[message]A notification has arrived. You can continue the conversation after viewing the notification.\",\"fields\":[],\"table_name\":null,\"url\":\"http://192.168.1.9:8080/null.do?sys_id=null\"}"
}
],
"completed": true,
"score": 1
}{
"requestId": "asd2423-wrr434-weruyt-1234567",
"clientSessionId": "",
"nowSessionId": "",
"message": {
"text": "Done",
"typed": false,
"clientMessageId": "ABC-123"
},
"userId": "beth.anglin",
"body": [
{
"uiType": "OutputCard",
"group": "DefaultOutputCard",
"templateName": "Notification",
"data": "{\"sys_id\":null,\"recordDisplayValue\":null,\"messageHeading\":\"[Heading]A notification has arrived. You can continue the conversation after viewing the notification.\",\"imageUrl\":\"http://xxxxxx.service-now.com/2b2d0d2653a13010ff59ddeeff7b120d.iix\",\"tableLabel\":null,\"enableLink\":false,\"message\":\"[message]A notification has arrived. You can continue the conversation after viewing the notification.\",\"fields\":[],\"table_name\":null,\"url\":\"http://192.168.1.9:8080/null.do?sys_id=null\"}"
}
],
"completed": true,
"score": 1
}{
"requestId": "asd2423-wrr434-weruyt-1234567",
"clientSessionId": "",
"nowSessionId": "",
"message": {
"text": "Done",
"typed": false,
"clientMessageId": "ABC-123"
},
"userId": "beth.anglin",
"body": [
{
"uiType": "OutputCard",
"group": "DefaultOutputCard",
"templateName": "Notification",
"data": "{\"sys_id\":\"552c48888c033300964f4932b03eb092\",\"recordDisplayValue\":\"INC0010112\",\"messageHeading\":\"[Heading]A notification has arrived. You can continue the conversation after viewing the notification.\",\"imageUrl\":null,\"tableLabel\":\"Incident\",\"enableLink\":true,\"message\":\"[message]A notification has arrived. You can continue the conversation after viewing the notification.\",\"fields\":[{\"fieldLabel\":\"Number\",\"fieldValue\":\"INC0010112\"},{\"fieldLabel\":\"Short description\",\"fieldValue\":\"Assessment : ATF Assessor\"}],\"table_name\":\"incident\",\"url\":\"http://192.168.1.9:8080/incident.do?sys_id=552c48888c033300964f4932b03eb092\"}"
}
],
"completed": true,
"score": 1
}- 모두로 이동한 다음 탐색 필터에 sys_cs_channel.list를 입력합니다.
- 봇에서 봇 기록을 엽니다.
메시지가 표시되면 기록에 대한 편집을 활성화합니다.
- 알림 사용 확인란을 선택합니다.
- 업데이트를 클릭합니다.
관리자는 속성을 수정하여 알림당 수신자 수를 제한할 수 있습니다 com.glide.cs.per_notification_user_limit . 기본값은 1000입니다.
주제 이름을 사용하여 주제 전환
- NLU 주제 디스커버리: 주제 의도 이름 또는 ID를 사용합니다.
- 키워드 주제 검색: 주제 이름 또는 ID를 사용합니다.
기본 봇은 주제 이름과 함께 작업을 전송 SWITCH 하여 특정 주제로 직접 전환할 수 있습니다.
{
"requestId": "xxxx-xxxx-xxxx-xxxx",
"clientSessionId": "xxx-xxx-xxx-xxx",
"action":"SWITCH",
"topic":{
"name": "Topic Name"
},
"userId": "beth"
} 입력 표시기 지원
- 사용자가 입력할 때 에이전트에 표시됩니다.
- 봇이 응답을 준비할 때 사용자에게 표시됩니다.
{
"uiType":"ActionMsg",
"actionType":"StartTypingIndicator"
} {
"requestId": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxxxx",
"clientSessionId": "xxxxxxxx-xxxx",
"action": "TYPING/VIEWING",
"userId": "able.tuter",
"emailId": "abel.tuter@example.com",
"timezone":"Asia/Kolkata"
} - 모두로 이동한 다음 탐색 필터에 sys_cs_channel.list를 입력합니다.
- 봇에서 봇 기록을 선택합니다.
- 지원 입력 표시기 확인란을 선택합니다.
- 업데이트를 클릭합니다.