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> | 문자열(객체 배열) | 지정된 음성 상호작용에 첨부할 메시지 목록입니다.
|
| <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>.isEvent | 부울 | Amazon Connect 커넥트에서 설정하지만 현재 메서드에서 사용되지 않습니다. 연결된 메시지가 이벤트인지 여부를 나타내는 플래그입니다.
유효한 값은 다음과 같습니다.
기본값: false |
| <json_string>.isInternalMessage | 부울 | 내부 메시지이므로 호출자에게 표시해서는 안 되는지 여부를 나타내는 플래그입니다.
대화 내용은 일반적으로 내부 메시지로 간주되며 호출자가 아닌 에이전트에게만 표시됩니다. 또한 에이전트 귓속말은 침묵하는 외부 공급업체가 발신자 모르게 채팅 중이거나 전화 통화에 참여하여 에이전트에게 조언을 제공할 때 사용됩니다. 호출자는 이러한 메시지를 듣거나 볼 수 없지만 에이전트는 듣거나 볼 수 있습니다. 유효한 값은 다음과 같습니다.
기본값: false |
| <json_string>.loudnessScore | 번호 | 통화 중에 고객 또는 에이전트가 말하는 소리에 대한 측정입니다.
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 에이전트 작업 공간은 . 기본값: 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 성공하면 Success를 반환합니다. 오류가 발생하면 자세한 오류 메시지를 반환합니다. |
다음 코드 예제에서는 활성 음성 인터랙션을 종료하고 원래 음성 녹음 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(문자열 voiceConversationJson)
외부 공급업체 음성 대화 기록 데이터를 인스턴스 내의 ServiceNow 테이블에 저장한 다음 을 통해 고객 서비스 관리(CSM)액세스할 수 있습니다.
이러한 음성 대화는 일반적으로 타사 공급업체 소프트웨어를 사용하여 생성됩니다. 이 메서드는 전달된 JSON을 구문 분석하고 데이터를 인스턴스 내의 ServiceNow 대화 [sys_cs_conversation], 대화 메시지[sys_cs_message] 및 음성 증명서 대화 메시지[sys_cs_message_voice_transcript] 테이블에 저장합니다. CSM은 이러한 테이블의 정보에 액세스하여 음성 대화 기록을 표시합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| voiceConversationJson | 문자열 | 저장할 음성 대화를 나타내는 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"}