가상 에이전트 스토어 릴리스 2.0.x에서 사용할 수 있는 API 기능
가상 에이전트 API 버전 2.0.x는 리치 컨트롤 지원 및 알림을 포함하여 에서 사용할 수 가상 에이전트에이전트 채팅있는 더 많은 동일한 기능에 대한 액세스를 제공합니다.
추가 리치 컨트롤 지원
가상 에이전트 API는 이제 다음과 같은 다양한 컨트롤을 지원합니다.
- 부울 통제
- 부울 컨트롤은 더 쉬운 지역화를 위해 응답을 문자열( Yes 또는 No)로 반환합니다.
주제 현지화에 대한 자세한 내용은 을 참조하십시오 대화 지역화 가상 에이전트.
가상 에이전트 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 속성을 사용하여 기록을 청크로 사용자에게 표시합니다. 예를 들어 paginationBreak 10으로 설정하면 사용자에게 한 번에 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는 페이로드의 매개변수에 body 다음 예제 JSON을 보냅니다.
{ "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, liveagent_topic, topic, live_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를 입력합니다.
- 봇 대 봇 기록을 선택합니다.
- Enable Notifications(알림 사용) 확인란의 선택을 취소하여 사용하지 않도록 설정합니다.
- 입력 지원 표시기 확인란의 선택을 취소하여 비활성화합니다.
- 동기 확인란을 선택합니다.
그림 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를 입력합니다.
- 봇에서 봇 기록을 엽니다.
메시지가 표시되면 기록에서 편집을 활성화합니다.
- Enable Notifications(알림 사용) 확인란을 선택합니다.
- 업데이트를 클릭합니다.
관리자는 속성을 수정 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를 입력합니다.
- 봇 대 봇 기록을 선택합니다.
- 입력 지원 표시기 확인란을 선택합니다.
- 업데이트를 클릭합니다.