가상 에이전트 작업 스크립트
사용자 데이터를 VACS에 전달하고, 변환을 적용하고, 응답을 채팅 인터페이스 엔드포인트로 다시 전송하려면 필수 워크플로우 스튜디오 작업 및 하위 플로우 스크립트 세트를 작성해야 합니다.
제공자 및 인바운드/아웃바운드 스크립트
Twilio와 같은 제공자는 채팅 기능을 제공합니다. 사용자 작업 스크립트는 제공자 작업뿐만 아니라 챗봇 또는 사용자 지정 대화의 인바운드 및 아웃바운드 변환기 작업에 대한 대화형 사용자 지정 채팅 통합 구성을 수행합니다. 각 스크립트의 예제가 제공됩니다. 여기에는 각 스크립트가 수행하는 작업에 대한 설명과 작업 입력 및 작업 출력이 포함됩니다. 스크립트 JSON의 예도 볼 수 있습니다.
이러한 스크립트를 빌드하여 서버 및 클라이언트 메시지를 변환하는 데 사용합니다 워크플로우 스튜디오 . 제공자, 보낸 사람 및 인바운드/아웃바운드 변환기 스크립트가 필요합니다. 추가 스크립트를 사용하여 채팅에 더 많은 기능을 추가할 수 있습니다.
| 스크립트 이름 | 목적 | 필수(Y/N) |
|---|---|---|
| 제공자 속성 | 제공자 인증 토큰, 사용자 식별자, 사용자 입력 및 컨텍스트 변수를 포함합니다. | Y |
| 보낸 사람 작업 | 요청을 번들로 묶고 또는 통합 허브를 통해 워크플로우 스튜디오 비동기적으로 응답을 보냅니다. |
Y |
| 응답 프로세서 | 아웃바운드 메시지에 대해 받은 응답에 따라 업데이트 메시지 상태와 같은 플랫폼 작업을 수행합니다. | N |
| 상황별 작업 | 상황별 작업을 지원합니다. | N |
| 계정 작업 연결 | 계정 연결의 성공 여부에 대한 콜백을 제공합니다. | N |
| 아웃바운드 변환기 | 채팅 서버에서 지원하는 컨트롤을 채팅 인터페이스별 렌더링으로 변환합니다. | Y |
| 인바운드 변환기 | 옵션입니다. 채팅 제공자에 적용되는 경우 기본 리치 컨트롤을 사용할 수 있습니다. 각 입력 컨트롤에 대해 별도의 인바운드 변환을 제공할 필요가 없습니다. 기본 동작이 작동하지 않는 경우 특정 가상 에이전트 서버 컨트롤에 대한 인바운드 변환으로 기본값을 재정의할 수 있습니다. | Y |
제공자 속성 작업 스크립트
| 입력 | 출력 |
|---|---|
|
|
예: 제공자 속성 작업 스크립트.
(function execute(inputs, outputs) {
var headers = (inputs.headers);
var payload = (inputs.payload);
// check if an authentication token was included. this is optional.
var smsUtil = new VASMSTwilioUtil();
outputs.token = JSON.stringify(smsUtil.getToken(headers, payload));
var data = payload.data;
var request_context = {};
// inspect the actual message. it could be an MMS (attachment) or raw text
if (data['MediaUrl0']) {
var attachment_value = {};
attachment_value.url = data['MediaUrl0'];
attachment_value.content_type = data['MediaContentType0'];
attachment_value.name = smsUtil.getFileName(attachment_value.url , attachment_value.content_type);
request_context.attachment_value = attachment_value;
} else {
request_context.typed_value = data['Body'];
}
// set the mandatory outputs
outputs.request_context = request_context;
outputs.provider_user_id = data.From;
})(inputs, outputs);
보낸 사람 하위 플로우
스크립트 대신 보낸 사람 하위 플로우가 제공자에게 메시지를 보내는 프로세스를 처리합니다. 메시지는 하위 플로우의 일부로 문자열에 포함됩니다 payload . 발신자에는 및 service_urlorigin_service_url가 있고 아웃바운드 URL은 제공자에 따라 다릅니다. 예를 들어 MS Teams를 통해 전송된 메시지는 다음 값을 tenant_id사용합니다. 가상 에이전트가 옵션이 포함된 메시지를 보내면 수신자는 옵션을 선택합니다. 하위 플로우는 선택에 따라 메시지 표시를 업데이트하고 옵션을 제거합니다. 사용자가 선택한 옵션에 따라 대화가 계속됩니다. 는 가상 에이전트 외부 요청을 보내지 않고 메시지 처리를 계속할 수 있습니다. 하위 플로우를 생성할 때 작업이 없습니다. 하위 플로우 내에서 작업을 호출합니다. 하위 플로우에 대한 자세한 내용은 다음 문서를 참조하십시오 .
상황별 작업 스크립트
상황별 작업 스크립트는 주제 내에서 가상 에이전트에이전트를 입력하는 등의 특수 키워드 작업을 수행하여 라이브 에이전트에 즉시 전달됩니다.
| 입력 | 출력 |
|---|---|
|
안 함 |
예: 상황별 작업 스크립트
(function execute(inputs, outputs) {
var contextual_action = inputs.request_context.contextual_action;
if (contextual_action === "END_CONVERSATION") {
sn_cs.VASystemObject.endConversation(inputs.conversation_id);
} else if (contextual_action === "AGENT") {
sn_cs.VASystemObject.switchToLiveAgent(inputs.conversation_id);
} else if (contextual_action === "START_CONVERSATION") {
sn_cs.VASystemObject.startConversation(inputs.conversation_id);
}
})(inputs, outputs);
계정 작업 스크립트 연결
링크 계정 작업 스크립트에는 연결 중인 사용자의 식별자가 포함되어 있습니다. 스크립트에는 연결된 계정도 포함되어 있습니다.
| 입력 | 출력 |
|---|---|
|
안 함 |
예: 계정 작업 스크립트를 연결합니다.
(function execute(inputs, outputs) {
var richControl = (inputs.rich_control);
var value = richControl.value;
outputs.result = richControl.header + ': ' + value.action;
})(inputs, outputs);
응답 프로세서 작업 스크립트
응답 프로세서 작업 스크립트는 메시지 전송 요청에 대한 응답을 기반으로 하는 특수 작업을 수행합니다. 프레임워크는 이미 기본 메시지 상태 추적을 수행합니다.
| 입력 | 출력 |
|---|---|
|
안 함 |
예: 응답 프로세서 작업 스크립트.
(function execute(inputs, outputs) {
gs.debug("Response from provider: message_id = " + inputs.message_id + ", status_code = " +
inputs.status_code + ", headers = " + JSON.stringify(inputs.headers) + ", body = " + inputs.body);
})(inputs, outputs);
아웃바운드 변환기 스크립트
아웃바운드 변환기 스크립트는 발신 가상 에이전트 메시지를 대화형 사용자 지정 채팅 통합과 관련된 프로토콜로 변환합니다.
입력.
- rich_control(JSON) - 가상 에이전트 변환해야 하는 서버 리치 컨트롤 구성요소입니다.
- 페이로드(JSON) - 요청자로부터 받은 마지막 응답입니다.
출력.
result(String) - 보낼 제공자에 적합한 구성요소 메시지입니다.
| 아웃바운드 변환기 이름 | 스크립트 예 |
|---|---|
| 가상 에이전트 - SMS Twilio 어댑터 기본 텍스트 아웃바운드 변환기 | |
| 가상 에이전트 - SMS Twilio 어댑터 기본 링크 아웃바운드 변환기 | |
| 가상 에이전트 - SMS Twilio 어댑터 기본 선택기 아웃바운드 변환기 | |
| 가상 에이전트 - SMS Twilio 어댑터 기본 멀티링크 아웃바운드 변환기 | |
| 가상 에이전트 - SMS Twilio 어댑터 기본 카드 아웃바운드 변환기 | |
인바운드 변환기 스크립트
인바운드 변환기 스크립트는 들어오는 대화형 사용자 지정 채팅 통합 메시지를 인식하는 가상 에이전트 프로토콜로 변환합니다. 사용자에게 제공되는 리치 컨트롤에 삽입할 필수 값을 결정합니다.
입력.
- request_context(JSON) - 제공자 속성 스크립트에서 전달된 요청입니다.
- rich_control(JSON) - 원래 "질문"을 포함하는 요청자에게 전송된 마지막 서식 있는 컨트롤입니다.
출력.
- 값 - sys_id 또는 텍스트 값입니다.
- search_text - 요청자가 예상치 못한 항목을 선택한 경우 사용되는 텍스트입니다. 예를 들어 사용자가 주제 선택기 구성요소에 대한 응답으로 "이러한 옵션 중 내가 원하는 것과 일치하는 옵션이 없음"과 같이 NLU가 지원할 수 있는 내용을 입력했습니다.
| 인바운드 변환기 이름 | 스크립트 예 |
|---|---|
| 가상 에이전트 - SMS Twilio 어댑터 기본 텍스트 인바운드 변환기 목적: 제기된 InputText 질문에 대한 텍스트 응답 찾기 |
|
| 가상 에이전트 - SMS Twilio 어댑터 기본 선택기 인바운드 변환기 목적: 사용자가 이 선택기 질문에 대해 선택한 옵션의 sys_id 찾습니다. 이 스크립트는 아웃바운드 변환기와 동일한 알고리즘을 사용합니다. 옵션을 선택하지 않고 사용자가 대신 입력한 경우 "search_text"가 설정되고 이 인스턴스에서 활성화된 경우 NLU에 공급됩니다. |
|