VoiceTranscriptObject - 범위 지정
VoiceTranscriptObject 스크립트 가능 API는 타사 음성 대화 기록 데이터를 인스턴스 내의 ServiceNow 테이블에 저장하는 기능을 제공합니다.
VoiceTranscriptObject 클래스를 호출할 때 sn_cs 네임스페이스 식별자를 사용합니다.
가용성
이 API는 기본 ServiceNow 시스템에서 사용할 수 있습니다. 상호작용 [interaction] 및 대화 [sys_cs_conversation] 테이블에 부과된 ACL에 의해 액세스가 제한됩니다.
VoiceTranscriptObject - addVoiceInteractionMessage(interactionId 문자열, JSON 문자열)
지정된 음성 트랜잭션 기록에 지정된 메시지를 추가합니다.
통화를 실시간으로 기록하는 동안 이 엔드포인트를 여러 번 호출하거나 기록 목적으로 통화를 기록하는 경우 단일 호출로 모든 메시지를 전달할 수 있습니다. 실시간 대화를 처리하는 경우 메시지가 적시에 표시 에이전트 작업 공간 되도록 이 엔드포인트를 자주 호출해야 합니다. 메시지는 통화 시작과 관련하여 시작 및 종료 시간을 기준으로 정렬됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| interactionId | 문자열 | 지정된 메시지를 추가할 상호작용 기록의 Sys_id입니다. 이 값은 메서드에서 VoiceTranscriptObject - startVoiceInteraction(JSON 문자열) 반환되고 상호작용 [interaction] 테이블에 저장됩니다. |
| <json_string> | String(개체 배열) | 지정된 음성 상호작용에 연결할 메시지 목록입니다.
|
| <json_string>.속성 | 개체 배열 | 음성 상호작용에 연결할 키-값 쌍입니다.
단순 개체에서 복잡한 복합 개체에 이르기까지 모든 유형의 데이터 개체가 될 수 있습니다. Amazon Web Services API를 호출할 때 고유 식별자로 사용됩니다. 기본값: 없음 |
| <json_string>.beginOffsetMillis | 길게 | 필수 음성 상호작용의 시작과 연결된 메시지의 시작 사이의 시간 오프셋입니다. 예: "beginOffsetMillis": 2650. 단위: 밀리초 |
| <json_string>.콘텐츠 | 문자열 | 필수 음성 상호작용에 추가할 메시지의 텍스트입니다. |
| <json_string>.endOffsetMillis | 길게 | 필수 음성 상호작용 시작과 메시지 끝 사이의 시간 오프셋입니다. 예: "endOffsetMillis": 9380. 단위: 밀리초 |
| <json_string>.id | 문자열 | AmazonConnect와 같은 이 음성 대화 소스의 메시지 UUID입니다. 소스 메시지 ID 열 값을 설정합니다. 기본값: 없음 |
| <json_string>.is이벤트 | 부울 | Amazon Connect 커넥트에 의해 설정되었지만 현재 메서드에서 사용되지 않습니다. 연결된 메시지가 이벤트인지 여부를 나타내는 플래그입니다.
유효한 값은 다음과 같습니다.
기본값: false |
| <json_string>.isInternalMessage | 부울 | 내부 메시지인지 여부를 나타내며 호출자에게 표시해서는 안 되는 플래그입니다.
트랜스크립션은 일반적으로 내부 메시지로 간주되며 에이전트에게만 나타나고 호출자에게는 나타나지 않습니다. 또한 에이전트 귓속말은 소리 없는 외부 공급업체가 발신자 모르게 채팅 중이거나 전화 대화에 참여하여 에이전트에게 조언을 제공할 때 사용됩니다. 발신자는 이러한 메시지를 듣거나 볼 수 없지만 에이전트는 듣습니다. 유효한 값은 다음과 같습니다.
기본값: false |
| <json_string>.loudness점수 | 번호 | 통화 중에 고객 또는 상담원이 말하는 소리의 크기를 측정한 값입니다.
Contact Lens는 대화 분석을 표시하여 상대방이 큰 소리로 말하고 부정적인 감정을 가질 수 있는 부분을 보여줍니다. 기본값: Null |
| <json_string>.participantId | 문자열 | 필수 메시지와 연결된 참가자입니다. 유효한 값은 다음과 같습니다.
|
| <json_string>.감정 | 문자열 | 메시지의 감정입니다.
이 값은 타사 제공자에 의해 생성됩니다. 인스턴스 구성 설정에 따라 ServiceNow 이 값은 양수, 음수 또는 중립으로 변환되고 대화 및 상호작용 기록에 저장됩니다. 유효한 값은 다음과 같습니다.
기본값: Null |
| 유형 | 설명 |
|---|---|
| 문자열 | 호출 결과를 설명하는 메시지입니다. |
| 문자열 | 성공하면 생성된 음성 상호작용 메시지 기록의 sys_id입니다. 음성 대본 대화 메시지 [sys_cs_message_voice_transcript] 테이블에 있습니다. 오류가 발생한 경우 실패 이유를 설명하는 오류 메시지입니다. |
다음 예제에서는 기존 음성 상호작용 기록에 메시지를 추가하는 방법을 보여줍니다.
var request = [
{
"isEvent":"False",
"isInternalMessage":"False",
"beginOffsetMillis":100000,
"content":"This is John. How can I help you?",
"endOffsetMillis":150000,
"id":"954c4edc-31a8-48b0-8f6e-7fa0c4ca00a8",
"participantId":"AGENT",
"sentiment":"NEUTRAL"
},
{
"isEvent":"False",
"isInternalMessage":"False",
"beginOffsetMillis":200000,
"content":"Uh, yes, John. Um, I'm a little very frustrated right now.",
"endOffsetMillis":25000,
"id":"18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f",
"participantId":"CUSTOMER",
"sentiment":"NEGATIVE"
}
];
gs.log(sn_cs.VoiceTranscriptObject.addVoiceInteractionMessage("1f4ed6fdb7471110b6e8bc15ae11a971", JSON.stringify(request)));
출력:
// Success
Voice conversation transcript has been successfully saved. Conversation id: ea01113cb7f71110b6e8bc15ae11a94d
// Error
Exception occurred while adding the message: <error message>
VoiceTranscriptObject - createConversation(interactionId 문자열, JSON 문자열)
지정된 상호작용에 대한 대화 [sys_cs_conversation] 테이블 내에 대화 기록을 작성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| interactionId | 문자열 | 대화 기록을 생성할 상호작용 기록의 Sys_id입니다. 이 값은 메서드에서 VoiceTranscriptObject - startVoiceInteraction(JSON 문자열) 반환되고 상호작용 [interaction] 테이블에 저장됩니다. |
| <json_string> | 문자열 | 입력 매개변수의 JSON 문자열입니다. |
| <json_string>.agentId | 문자열 | 음성 상호작용을 할당할 에이전트의 고유 식별자입니다. 사용자 [sys_user] 테이블의 사용자 ID 필드에 있습니다. 기본값: 없음. 사용 가능한 다음 에이전트에 할당됩니다. |
| <json_string>.callerPhoneNumber | 문자열 | 호출자의 콜백 전화 번호입니다. 통화가 끊길 경우 상담원이 발신자에게 연락하기 위해 사용하는 번호입니다. 형식: E.164 표준 준수 기본값: 없음 |
| <json_string>.clientSessionId | 문자열 | 이 전화 통화를 추적하는 데 사용되는 외부 시스템 기록의 고유 식별자입니다. 이 정보는 두 시스템 간의 기록을 연결합니다. 기본값: 없음 |
| <json_string>.inboundId | 문자열 | 음성 서비스에 대한 애플리케이션 제공자의 고유 식별자입니다. 제공자 채널 애플리케이션 [sys_cs_provider_application] 테이블의 인바운드 ID 필드에 있습니다. 기본값: 채팅에서 끌어오기 |
| <json_string>.userId | 문자열 | 필수 음성 트랜잭션과 연결된 전화를 건 발신자의 전화 번호입니다. 형식: 음성 대화 스크립트를 만든 소프트웨어에 의해 정의됩니다. 일반적으로 E.164 표준을 준수합니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 성공하면 새로 만든 대화 기록의 sys_id 반환합니다. 대화 [sys_cs_conversation] 테이블에 있습니다. 오류가 발생하면 자세한 오류 메시지를 반환합니다. |
다음 코드 예제에서는 이 메서드를 사용하여 새 대화 레코드를 만드는 방법을 보여 줍니다.
var request = {
"userId": "+14089178877"
};
var response = sn_cs.VoiceTranscriptObject.createConversation("e0fc03d7b7a21110b6e8bc15ae11a96c", JSON.stringify(request));
gs.log("Conversation id: " + JSON.stringify(response));
출력:
// Success
{"conversationId":"28435dbcb7f71110b6e8bc15ae11a972","status":"SUCCESS"}
// Error
{"error":"Exception occurred while creating a conversation: <error message>","status":"FAILED"}
VoiceTranscriptObject - endVoiceInteraction(interactionId 문자열, JSON 문자열)
지정된 음성 상호작용을 종료합니다. 일단 호출되면 전화 대화에 대한 추가 음성 메시지가 번역 및 저장되지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| interactionId | 문자열 | 음성 상호작용을 종료할 상호작용 기록의 Sys_id입니다. 상호작용 [interaction] 테이블에 있습니다. |
| <json_string> | JSON 문자열 | 옵션입니다. 음성 상호작용에 대한 추가 정보를 포함하는 매개변수입니다. |
| <json_string>.recordingURL | 문자열 | 옵션입니다. 원본 음성 녹음이 있는 URL입니다. 이렇게 구성된 경우 이 URL 에이전트 작업 공간은 . 기본값: 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 성공하면 성공을 반환합니다. 오류가 발생하면 자세한 오류 메시지를 반환합니다. |
다음 코드 예제에서는 활성 음성 상호 작용을 종료하고 원래 음성 녹음 URL을 전달하는 방법을 보여 줍니다.
var request = {
"recordingURL": "https://servicenow.zoom.us/rec/QbF7XmPFHPlX1LG"
};
gs.log(sn_cs.VoiceTranscriptObject.endVoiceInteraction("1f4ed6fdb7471110b6e8bc15ae11a971", JSON.stringify(request)));
출력:
// Success
Success
// Error
Exception occurred while ending the interaction: <error message>
VoiceTranscriptObject - saveVoiceConversationTranscript(String voiceConversationJson)
타사 음성 대화 증명서 데이터를 를 통해 고객 서비스 관리(CSM)액세스할 수 있는 인스턴스 내 ServiceNow 테이블에 저장합니다.
이러한 음성 대화는 일반적으로 타사 공급업체 소프트웨어를 사용하여 생성됩니다. 이 메서드는 전달된 JSON을 구문 분석하고 데이터를 인스턴스 내의 ServiceNow 대화 [sys_cs_conversation], 대화 메시지[sys_cs_message] 및 음성 증명서 대화 메시지[sys_cs_message_voice_transcript] 테이블에 저장합니다. CSM은 이러한 테이블의 정보에 액세스하여 음성 대화 기록을 표시합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 보이스컨버레이션Json | 문자열 | 저장할 음성 대화를 나타내는 JSON입니다. 이 JSON은 OpenFrame과 같은 다른 ServiceNow 플러그인에서 전송됩니다. Amazon과 같은 타사 벤더는 JSON을 플러그인으로 보냅니다. 연결된 플러그인이 음성 대화를 구문 분석하고 필요한 형식의 가상 에이전트JSON을 . 예를 들어, 다음은 Amazon Connect 대화의 예입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 메서드 호출의 결과입니다. 가능한 반환 결과:
|
이 예제에서는 saveVoiceConversationTranscript() 메서드를 호출하여 Amazon Connect 트랜스크립트를 저장하는 방법을 보여줍니다.
var voiceConversationJson = "{\n" +
" \"interactionId\":\"e67a6c30c7233010967a34c91dc26068\",\n" +
" \"source\":\"AmazonConnect\",\n" +
" \"conversationStarted\":\"2021-08-06 15:07:51\",\n" +
" \"transcript\":[\n" +
" {\n" +
" \"isEvent\":\"False\",\n" +
" \"isInternalMessage\":\"False\",\n" +
" \"beginOffsetMillis\":2650,\n" +
" \"content\":\"This is John. How can I help you? Yeah,\",\n" +
" \"endOffsetMillis\":9380,\n" +
" \"id\":\"954c4edc-31a8-48b0-8f6e-7fa0c4ca00a8\",\n" +
" \"participantId\":\"AGENT\",\n" +
" \"sentiment\":\"NEUTRAL\",\n" +
" \"loudnessScore\":\"null,null\",\n" +
" \"attributes\": [{\n" +
" \"key\":\"key1\",\n" +
" \"value\":\"value1\"\n" +
" },{\n" +
" \"key\":\"key2\",\n" +
" \"value\":\"value2\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"isEvent\":\"False\",\n" +
" \"isInternalMessage\":\"False\",\n" +
" \"beginOffsetMillis\":9120,\n" +
" \"content\":\"Uh, yes, John. I'm a little frustrated right now.\",\n" +
" \"endOffsetMillis\":22900,\n" +
" \"id\":\"18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f\",\n" +
" \"participantId\":\"CUSTOMER\",\n" +
" \"sentiment\":\"NEGATIVE\",\n" +
" \"loudnessScore\":\"null,null\",\n" +
" \"attributes\": [{\n" +
" \"key\":\"key1\",\n" +
" \"value\":\"value1\"\n" +
" },{\n" +
" \"key\":\"key2\",\n" +
" \"value\":\"value2\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"isEvent\":\"False\",\n" +
" \"isInternalMessage\":\"False\",\n" +
" \"beginOffsetMillis\":9120,\n" +
" \"content\":\"I am sorry to hear that\",\n" +
" \"endOffsetMillis\":22900,\n" +
" \"id\":\"18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f\",\n" +
" \"participantId\":\"AGENT\",\n" +
" \"sentiment\":\"NEGATIVE\",\n" +
" \"loudnessScore\":\"null,null\",\n" +
" \"attributes\": [{\n" +
" \"key\":\"key1\",\n" +
" \"value\":\"value1\"\n" +
" },{\n" +
" \"key\":\"key2\",\n" +
" \"value\":\"value2\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"isEvent\":\"false\",\n" +
" \"isInternalMessage\":\"false\",\n" +
" \"beginOffsetMillis\":23590,\n" +
" \"content\":\"I am having problems with my computer\",\n" +
" \"endOffsetMillis\":30610,\n" +
" \"id\":\"ab09b3b6-23fd-4e41-be05-6b2b53c19059\",\n" +
" \"participantId\":\"CUSTOMER\",\n" +
" \"sentiment\":\"NEUTRAL\",\n" +
" \"loudnessScore\":\"null,null,null,null\",\n" +
" \"attributes\": [\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"isEvent\":\"True\",\n" +
" \"isInternalMessage\":\"True\",\n" +
" \"beginOffsetMillis\":23590,\n" +
" \"content\":\"Agent asked for help in chat\",\n" +
" \"endOffsetMillis\":30610,\n" +
" \"id\":\"ab09b3b6-23fd-4e41-be05-6b2b53c19059\",\n" +
" \"participantId\":\"CUSTOMER\",\n" +
" \"sentiment\":\"NEUTRAL\",\n" +
" \"loudnessScore\":\"null,null,null,null\",\n" +
" \"attributes\": [\n" +
" ]\n" +
" }\n" +
" ]\n" +
"}\n";
var result = sn_cs.VoiceTranscriptObject.saveVoiceConversationTranscript(voiceConversationJson);
gs.log(result);
출력:
Voice conversation transcript has been successfully saved. Conversation id: 9c573169c611228700193229fff72400
VoiceTranscriptObject - startVoiceInteraction(JSON 문자열)
상호작용 [interaction] 테이블 내에 음성 상호작용 기록을 생성합니다.
기록된 음성 메시지를 저장하기 전에 이 기록을 생성해야 합니다. 또한 이 메서드를 사용하여 ir 특정 사용자 ID를 전달하여 특정 에이전트에 호출을 할당할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| <json_string> | 문자열 | 입력 매개변수의 JSON 문자열입니다. |
| <json_string>.agentId | 문자열 | 음성 상호작용을 할당할 에이전트의 고유 식별자입니다. 사용자 [sys_user] 테이블의 사용자 ID 필드에 있습니다. 기본값: 없음. 사용 가능한 다음 에이전트에 할당됩니다. |
| <json_string>.callerPhoneNumber | 문자열 | 호출자의 콜백 전화 번호입니다. 통화가 끊길 경우 상담원이 발신자에게 연락하기 위해 사용하는 번호입니다. 형식: E.164 표준 준수 기본값: 없음 |
| <json_string>.clientSessionId | 문자열 | 이 전화 통화를 추적하는 데 사용되는 외부 시스템 기록의 고유 식별자입니다. 이 정보는 두 시스템 간의 기록을 연결합니다. 기본값: 없음 |
| <json_string>.inboundId | 문자열 | 음성 서비스에 대한 애플리케이션 제공자의 고유 식별자입니다. 제공자 채널 애플리케이션 [sys_cs_provider_application] 테이블의 인바운드 ID 필드에 있습니다. 기본값: 채팅에서 끌어오기 |
| <json_string>.userId | 문자열 | 필수 음성 트랜잭션과 연결된 전화를 건 발신자의 전화 번호입니다. 형식: 음성 대화 스크립트를 만든 소프트웨어에 의해 정의됩니다. 일반적으로 E.164 표준을 준수합니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 메서드 호출의 결과입니다. 가능한 반환 결과:
|
다음 코드 예제에서는 음성 상호 작용 레코드를 만드는 방법을 보여 줍니다.
var request = {
"userId": "+14089178877",
"callerPhoneNumber": "+14089178878",
"clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z"
};
var response = sn_cs.VoiceTranscriptObject.startVoiceInteraction(JSON.stringify(request));
gs.log(JSON.stringify(response));
출력:
// Success
{"interactionId":"ea01113cb7f71110b6e8bc15ae11a950","status":"SUCCESS"}
// Error
{"error":"Exception occurred while starting the interaction: <error message>","status":"FAILED"}