가상 에이전트 스토어 릴리스 2.0.x에서 사용할 수 있는 API 기능

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기21분
  • 가상 에이전트 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_onlyliveagent_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는 주제에서 노드 건너뛰기를 수행하도록 설계된 경우 노드 건너뛰기를 지원합니다. 예를 들어, 에서 가상 에이전트 디자이너사용자 입력 컨트롤을 건너뛸 수 있도록 지정할 수 있습니다. 고급 > 이 노드 숨기기 또는 건너뛰기 속성 시트의 영역입니다.

    그림 1. 사용자가 노드를 건너뛸 수 있도록 허용하는 조건 또는 스크립트
    이 예에서는 스크립트 옵션이 선택되고 사용자가 노드를 건너뛸 수 있는 시기를 정의합니다.

    노드를 건너뛸 수 있도록 정의하는 방법에 대한 자세한 내용은 을 참조하십시오 가상 에이전트 디자이너 사용자 입력 통제.

    노드가 건너뛸 수 있는 것으로 표시된 경우 봇은 사용자에게 해당 옵션을 제공합니다. 사용자가 건너뛰는 경우 기본 봇은 다음 예제와 같이 skip 명령을 전달해야 합니다.
    {
    "requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
    "clientSessionId": "835607",
    "token": "snow",
    "message": {
    "text": "_skip_",
    "typed": false
    },
    "emailId": "beth.anglin@example.com",
    "userId": "beth.anglin"
    }

    동기식 핸드셰이크 지원

    주:
    이러한 요구 사항은 API 버전 2.0.x에 가상 에이전트 적용됩니다. 동기식 핸드셰이크 기능을 강화하려면 라이브 에이전트 전송 및 기타 향상된 기능을 지원하는 버전 3.0.x로 업그레이드하십시오. 자세한 내용은 동기 핸드셰이크 개선 사항 문서를 참조하십시오.
    사용하도록 설정하면 가상 에이전트 기본 봇에 동기적으로 응답을 제공합니다. 동기 모드에서 통신 가상 에이전트 을 활성화하려면 핸드셰이크가 작동하려면 다음 기능을 수동으로 꺼야 합니다.
    • 에이전트 채팅
    • 알림
    • 입력 표시기
    주:
    파일 업로드, 작업 유틸리티일시 중지 주제 블록과 같은 기능을 사용하는 주제는 동기 모드에서 지원되지 않습니다.
    이러한 기능을 사용하지 않도록 설정하고 동기 지원을 사용하도록 설정하려면 다음 단계를 수행합니다.
    1. 에서 봇-봇 채널을 제외합니다 에이전트 채팅.
      1. 모두로 이동한 다음 필터에 sys_properties.list를 입력합니다.
      2. com.glide.cs.exclude.liveagent.support 시스템 속성을 선택하여 엽니다.
      3. 필드에 추가합니다Bot To Bot.
        그림 2. 에서 봇-봇 채널 제외 에이전트 채팅
        시스템 속성의 값 필드에는 "Alexa,Google Assistant,Bot to Bot"이 포함되어 있습니다. 이러한 채널은 에서 에이전트 채팅제외됩니다.
      4. 업데이트를 클릭합니다.
    2. 모두로 이동한 다음 탐색 필터에 sys_cs_channel.list를 입력합니다.
    3. 봇 대 봇 기록을 선택합니다.
    4. Enable Notifications(알림 사용) 확인란의 선택을 취소하여 사용하지 않도록 설정합니다.
    5. 입력 지원 표시기 확인란의 선택을 취소하여 비활성화합니다.
    6. 동기 확인란을 선택합니다.
      그림 3. 동기식 지원이 활성화된 봇 대 봇 채널
      동기식 모드에 대한 봇-봇 채널 구성은 알림 활성화 및 입력 지원 표시기 상자를 선택되지 않은 것으로 표시합니다. 동기 상자가 선택됩니다.
      주:
      동기 필드가 표시되지 않으면 이를 표시하도록 양식 레이아웃을 구성할 수 있습니다.
    7. 업데이트를 클릭합니다.

    알림 지원

    API를 사용하여 가상 에이전트 비동기 모드에서 활성화된 경우 봇에서 봇 채널로 다음 유형의 알림을 보냅니다.
    • 단순: 텍스트 전용 알림. 간단한 알림은 도착하는 즉시 전달됩니다.
    • 이미지 카드: 서버에 업로드되거나 URL로 지정된 이미지입니다.
    • 기록 카드: 테이블의 기록에서 지정된 열입니다.
    • 실행 가능: 사용자에게 특정 작업을 수행할 수 있는 기회를 제공합니다. 실행 가능한 알림이 큐에 대기합니다. 사용자는 명령을 전송 Show Notification 하여 요청 시 검색할 수 있습니다.

    자세한 내용은 알림 구성 가상 에이전트 문서를 참조하십시오.

    가상 에이전트 API는 간단한 알림을 위해 다음 예제 JSON을 보냅니다.
    {
      "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
    }
    가상 에이전트 API는 이미지 카드 알림에 대해 다음 예제 JSON을 보냅니다.
    {
      "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
    }
    가상 에이전트 API는 기록 카드 알림에 대해 다음 예제 JSON을 보냅니다.
    {
      "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
    }
    봇 대 봇 채널에 대한 알림은 기본적으로 비활성화되어 있습니다. 활성화하려면 다음을 수행합니다.
    1. 모두로 이동한 다음 탐색 필터에 sys_cs_channel.list를 입력합니다.
    2. 봇에서 봇 기록을 엽니다.

      메시지가 표시되면 기록에서 편집을 활성화합니다.

    3. Enable Notifications(알림 사용) 확인란을 선택합니다.
    4. 업데이트를 클릭합니다.

    관리자는 속성을 수정 com.glide.cs.per_notification_user_limit 하여 알림당 수신자 수를 제한할 수 있습니다. 기본값은 1000입니다.

    주제 이름을 사용하여 주제 전환

    주제 ID 또는 주제 의도 ID를 사용하여 주제를 전환하는 것 외에도 주제 또는 주제 의도 이름을 사용할 수 있습니다. 주제 ID 또는 주제 이름만 전송하는 것이 좋습니다. 현재 둘 중 하나가 잘못되었거나 봇이 이미 지정된 주제에 가상 에이전트 있는 경우 응답을 보내지 않습니다. 사용법은 다음과 같이 사용 중인 모드에 따라 다릅니다.
    • NLU 주제 검색: 주제 의도 이름 또는 ID를 사용합니다.
    • 키워드 주제 검색: 주제 이름 또는 ID를 사용합니다.

    기본 봇은 SWITCH 주제 이름과 함께 작업을 전송하여 특정 주제로 직접 전환할 수 있습니다.

    메시지 페이로드 예:
    {​ 
       "requestId": "xxxx-xxxx-xxxx-xxxx",
       "clientSessionId": "xxx-xxx-xxx-xxx",
       "action":"SWITCH",
       "topic":{
    ​      "name": "Topic Name"​
       },​
       "userId": "beth"​  
    } 

    입력 표시기 지원

    사용자 및 라이브 에이전트에 대해 입력 표시기를 활성화할 수 있습니다. 현재 입력 표시기는 다음과 같이 표시됩니다.
    • 사용자가 입력할 때 에이전트에 표시됩니다.
    • 봇이 응답을 준비할 때 사용자에게 표시됩니다.
    입력 표시기를 사용하도록 설정하면 가상 에이전트 API는 응답 페이로드에 StartTypingIndicatorEndTypingIndicator 작업을 보냅니다. 예:
    {​ 
            "uiType":"ActionMsg",​ 
            "actionType":"StartTypingIndicator"​ 
    } ​ 
    사용자 입력 표시기를 라이브 에이전트로 보내려면 클라이언트가 작업을 보내 TYPING 야 합니다. 사용자가 입력을 마치면 클라이언트가 작업을 보내 VIEWING 야 합니다. 예를 들어:
    {​ 
        "requestId": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxxxx",​ 
        "clientSessionId": "xxxxxxxx-xxxx",​ 
        "action": "TYPING/VIEWING",​ 
        "userId": "able.tuter",​ 
        "emailId": "abel.tuter@example.com",​ 
        "timezone":"Asia/Kolkata"​ 
    }​ 
    입력 표시기를 사용하려면 다음과 같이 하십시오.
    1. 모두로 이동한 다음 탐색 필터에 sys_cs_channel.list를 입력합니다.
    2. 봇 대 봇 기록을 선택합니다.
    3. 입력 지원 표시기 확인란을 선택합니다.
    4. 업데이트를 클릭합니다.