음성 상호작용 자원 API
음성 상호 작용 API는 전화 통화 중에 에이전트와 발신자 간의 음성 상호 작용을 기록하고 저장하는 엔드포인트를 제공합니다. 채팅 라이브 에이전트 과 가상 에이전트 함께 작동합니다.
이 API를 사용하여 진행 중인 전화 통화의 트랜스크립션된 메시지를 실시간으로 유지하거나 기록 목적으로 기존 음성 대화 녹음을 트랜스크립션하고 저장할 수 있습니다. 트랜스크립션된 메시지가 에 에이전트 작업 공간표시되므로 에이전트가 호출자와 대화하면서 에이전트 지원 및 검색과 같은 기능을 활용할 수 있습니다. 전사된 메시지는 대화 메시지 [sys_cs_message] 테이블에 유지됩니다.
호출 플로우
- 먼저 엔드포인트를 호출하여 음성 상호작용 자원 - POST /cs/voice-interactions 상호작용 [interaction] 테이블에 음성 상호작용 기록을 만듭니다.
- 그런 다음 끝점을 음성 상호작용 자원 - POST /cs/voice-interactions/{interactionId}/messages 호출하여 음성 대화에서 변환된 메시지를 대화 메시지 테이블에 저장합니다. 실시간 대화를 처리하는 경우 메시지가 적시에 표시 에이전트 작업 공간 되도록 이 끝점을 자주 호출해야 합니다. 기록 목적으로 녹음을 처리할 때 단일 엔드포인트 호출로 모든 메시지를 전달할 수 있습니다.
- 음성 메시지 유지를 마쳤으면 엔드포인트를 호출하여 음성 상호작용 자원 - PATCH /cs/voice-interactions/{interactionId}/state 캡처를 종료하고 음성 상호 작용 레코드를 닫습니다.
가용성
이 API는 기본 ServiceNow 시스템에서 사용할 수 있습니다. 상호작용 [interaction] 및 대화 [sys_cs_conversation] 테이블에 적용되는 ACL에 의해 액세스가 제한됩니다.
음성 상호작용 자원 - PATCH /cs/voice-interactions/{interactionId}/state
지정된 음성 상호작용을 종료합니다. 일단 전화를 걸면 전화 통화를 위해 추가 음성 메시지가 번역되거나 저장되지 않습니다.
URL 형식
버전이 지정된 URL: /api/now/{api_version}/cs/voice-interactions/{interactionId}/state
기본 URL: /api/now/v1/cs/voice-interactions/{interactionId}/state
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| interactionId | 음성 상호작용이 종료될 상호작용 기록의 Sys_id. 엔드포인트에 음성 상호작용 자원 - POST /cs/voice-interactions 의해 다시 전달됩니다. 데이터 유형: 문자열 테이블: 상호작용 [interaction] |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| recordingURL | 원본 음성 녹음이 있는 URL입니다. 이렇게 구성된 경우 이 URL은 에이전트 작업 공간다음에 표시됩니다. 데이터 유형: 문자열 기본값: 없음 |
| 상태 | 필수 음성 상호작용의 상태입니다. 지원되는 값: closed_complete 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 콘텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 형식의 JSON 또는 필수 매개변수가 전달되지 않았습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 결과 | 운영 상태입니다. 가능한 값:
오류가 발생하면 오류를 설명하는 메시지도 반환됩니다. 인스턴스에 오류가 있는 ServiceNow 경우 인스턴스가 연결된 스택 추적을 로깅합니다. |
cURL 요청
다음 예제에서는 음성 인스턴스를 종료하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/now/v1/ cs/voice-interactions/86837a386f0331003b3c498f5d3ee4ca/state" \
--request PATCH \
--header "Content-Type: application/json" \
--header "Accept:application/json" \
--user 'username':'password' \
-d {
"state": "closed_complete",
"recordingURL": "https: //zoom_instance/rec/QbF7XmPFHPlX1LG"
}’
응답:
{
"result": "Success"
}
음성 상호작용 자원 - POST /cs/voice-interactions
상호작용 [interaction] 테이블 내에 음성 상호작용 기록을 만듭니다.
전사된 음성 메시지를 저장하기 전에 이 기록을 생성해야 합니다. 이 엔드포인트를 사용하여 특정 사용자 ID를 전달하여 특정 에이전트에게 호출을 할당할 수도 있습니다.
URL 형식
버전이 지정된 URL: /api/now/{api_version}/cs/voice-interactions
기본 URL: /api/now/v1/cs/voice-interactions
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| agentId | 음성 상호작용을 할당할 에이전트의 고유 식별자입니다. 데이터 유형: 문자열 기본값: 가상 에이전트 호출 |
| callerPhoneNumber | 호출자의 콜백 전화 번호입니다. 통화가 끊어지는 경우 에이전트가 발신자에게 연락하는 데 사용하는 번호입니다. 데이터 유형: 문자열 형식: E.164 표준 준수 기본값: 없음 |
| clientSessionId | 외부 시스템의 기록에 대한 고유 식별자로, 여러 시스템에서 이 전화 통화를 추적하는 데 사용되며, ServiceNow와 타사 플랫폼(예: CCaaS 제공자) 간의 통합을 가능하게 합니다. 데이터 유형: 문자열 기본값: 없음 |
| inboundId | 음성 서비스에 대한 애플리케이션 제공자의 고유 식별자입니다. 데이터 유형: 문자열 기본값: 채팅에서 끌어옴 |
| userID | 필수. 음성 트랜잭션과 연결된 전화를 건 호출자의 전화 번호입니다. 데이터 유형: 문자열 형식: 음성 대화 스크립트를 만든 소프트웨어에 의해 정의됩니다. 일반적으로 E.164 표준을 준수합니다. |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 콘텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 형식의 JSON 또는 필수 매개변수가 전달되지 않았습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| interactionId | 새로 생성된 음성 상호작용 기록의 Sys_id입니다. 다음과 같은 경우 이 sys_id 사용합니다.
데이터 유형: 문자열 테이블: 상호작용 [interaction] |
cURL 요청
다음 코드 예제에서는 음성 상호 작용을 시작하고 특정 에이전트로 통화를 전환하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/now/v1/cs/voice-interactions" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password' \
--header "Content-Type: application/json"\
-d '{
"userId": "+14089178877",
"agentId": "beth.anglin",
"callerPhoneNumber": "+14089178878",
"clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z"
}'
응답:
{
"result": {
"interactionId": "4462cb4753751110b6e8ddeeff7b12ca"
}
}
음성 상호작용 자원 - POST /cs/voice-interactions/{interactionId}/conversation
대화 [sys_cs_conversation] 테이블 내에 지정된 상호작용에 대한 대화 기록을 작성합니다.
URL 형식
버전이 지정된 URL: /api/now/{api_version}/cs/voice-interactions/{interactionId}/conversation
기본 URL: /api/now/v1/cs/voice-interactions/{interactionId}/conversation
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| interactionId | 대화 기록을 생성할 상호작용 기록의 Sys_id입니다. 이 값은 엔드포인트에서 음성 상호작용 자원 - POST /cs/voice-interactions 반환되고 상호작용 [interaction] 테이블에 저장됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| agentId | 음성 상호작용을 할당할 에이전트의 고유 식별자입니다. 데이터 유형: 문자열 기본값: 가상 에이전트 호출 |
| callerPhoneNumber | 호출자의 콜백 전화 번호입니다. 통화가 끊어지는 경우 에이전트가 발신자에게 연락하는 데 사용하는 번호입니다. 데이터 유형: 문자열 형식: E.164 표준 준수 기본값: 없음 |
| clientSessionId | 외부 시스템의 기록에 대한 고유 식별자로, 여러 시스템에서 이 전화 통화를 추적하는 데 사용되며, ServiceNow와 타사 플랫폼(예: CCaaS 제공자) 간의 통합을 가능하게 합니다. 데이터 유형: 문자열 기본값: 없음 |
| inboundId | 음성 서비스에 대한 애플리케이션 제공자의 고유 식별자입니다. 데이터 유형: 문자열 기본값: 채팅에서 끌어오기 |
| userID | 필수. 음성 트랜잭션과 연결된 전화를 건 호출자의 전화 번호입니다. 데이터 유형: 문자열 형식: 음성 대화 스크립트를 만든 소프트웨어에 의해 정의됩니다. 일반적으로 E.164 표준을 준수합니다. |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 콘텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 형식의 JSON 또는 필수 매개변수가 전달되지 않았습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| conversationId | 새로 만든 대화 기록의 Sys_id입니다. 데이터 유형: 문자열 테이블: 대화 [sys_cs_conversation] |
cURL 요청
다음 코드 예제에서는 이 끝점을 호출하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/now/v1/cs/voice-interactions/7662cb4721751ea0b6e8dda1b27b131f/conversation" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password' \
--header "Content-Type: application/json"\
-d '{
"userId": "+14089178877",
"agentId": "admin@example.com",
"callerPhoneNumber": "+14089178878",
"clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z"
}'
응답:
{
"result": "a47e1afdb7471110b6e8bc15ae11a934"
}
음성 상호작용 자원 - POST /cs/voice-interactions/{interactionId}/messages
지정된 음성 트랜잭션 기록에 지정된 음성 대화 메시지를 추가합니다. 이러한 메시지는 일반적으로 타사 벤더 소프트웨어를 사용하여 생성됩니다. 현재는 Amazon Connect만 지원됩니다.
호출을 실시간으로 기록하는 동안 이 엔드포인트를 여러 번 호출하거나 기록 목적으로 호출을 기록하는 경우 단일 호출에서 모든 메시지를 전달할 수 있습니다. 실시간 대화를 처리하는 경우 메시지가 적시에 표시 에이전트 작업 공간 되도록 이 끝점을 자주 호출해야 합니다. 메시지는 호출 시작과 관련된 시작 및 종료 시간을 기준으로 정렬됩니다.
URL 형식
버전이 지정된 URL: /api/now/{api_version}/cs/voice-interactions/{interactionId}/messages
기본 URL: /api/now/v1/cs/voice-interactions/{interactionId}/messages
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| interactionId | 지정된 메시지를 추가할 상호작용 기록의 Sys_id입니다. 이 값은 엔드포인트에서 음성 상호작용 자원 - POST /cs/voice-interactions 반환되고 상호작용 [interaction] 테이블에 저장됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| <json_string> | 지정된 음성 상호작용에 첨부할 메시지 목록입니다.
|
| <json_string>.속성 | 음성 상호작용에 연결할 키-값 쌍입니다.
단순한 개체에서 복잡한 복합 개체에 이르기까지 모든 유형의 데이터 개체가 될 수 있습니다. Amazon Web Services API를 호출할 때 고유 식별자로 사용됩니다. 데이터 유형: 객체 배열 기본값: 없음 |
| <json_string>.beginOffsetMillis | 필수. 음성 상호작용의 시작과 연결된 메시지의 시작 사이의 시간 오프셋입니다. 예: "beginOffsetMillis": 2650. 데이터 유형: Long 단위: 밀리초 |
| <json_string>.content | 필수. 음성 상호작용에 추가할 메시지의 텍스트입니다. 데이터 유형: 문자열 |
| <json_string>.endOffsetMillis | 필수. 음성 상호 작용의 시작과 메시지 종료 사이의 시간 오프셋입니다. 예: "endOffsetMillis": 9380. 데이터 유형: Long 단위: 밀리초 |
| <json_string>.id | 이 음성 대화 소스의 메시지 UUID입니다(예: AmazonConnect). 원본 메시지 ID 열 값을 설정합니다. 데이터 유형: 문자열 기본값: 없음 |
| <json_string>.is이벤트 | Amazon Connect에서 설정했지만 현재 메서드에서 사용되지 않습니다. 연결된 메시지가 이벤트인지 여부를 나타내는 플래그입니다.
유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| <json_string>.isInternalMessage | 내부 메시지인지 여부를 나타내며 호출자에게 표시해서는 안 되는 플래그입니다.
트랜스크립션은 일반적으로 내부 메시지로 간주되며 호출자가 아닌 에이전트에 대해서만 나타납니다. 또한 에이전트 귓속말은 침묵하는 제3자가 채팅 중이거나 발신자 모르게 전화 대화에 참여하여 에이전트에게 조언을 제공할 때 사용됩니다. 호출자는 이러한 메시지를 듣거나 볼 수 없지만 에이전트는 듣거나 볼 수 있습니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| <json_string>.loudnessScore | 통화 중 고객 또는 상담원의 목소리 큰 소리로 말하는 정도를 측정합니다.
Contact Lens는 대화 분석을 표시하여 큰 소리로 말하고 부정적인 감정을 가질 수 있는 위치를 보여줍니다. 데이터 유형: 숫자 범위: -1.0(음수)에서 1.0(양수) 기본값: null |
| <json_string>.참가자 ID | 필수 메시지와 관련된 참가자입니다.
유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| <json_string>.감정 | 메시지의 감정입니다.
이 값은 외부 공급업체 제공자가 생성합니다. 인스턴스 구성 설정에 따라 ServiceNow 이 값은 긍정적, 부정적 또는 중간으로 변환되고 대화 및 상호작용 기록에 저장됩니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 기본값: null |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 콘텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 형식의 JSON 또는 필수 매개변수가 전달되지 않았습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 결과 | 호출의 결과를 설명하는 메시지입니다. 데이터 유형: 문자열 |
| 대화 ID | 생성된 음성 상호작용 메시지 기록의 Sys_id입니다. 데이터 유형: 문자열 테이블: 음성 증명서 대화 메시지 [sys_cs_message_voice_transcript] |
cURL 요청
다음 예는 기존 음성 상호작용 기록에 메시지를 추가하는 방법을 보여줍니다.
curl "http://instance.servicenow.com/api/now/v1/cs/voice-interactions/86837a386f0331003b3c498f5d3ee4ca/messages" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type: application/json"\
--user 'username':'password' \
-d ' [
{
"isEvent": "false",
"isInternalMessage": "false",
"beginOffsetMillis": 10000,
"content": "This is John. How can I help you?",
"endOffsetMillis": 15000,
"id": "954c4edc-31a8-48b0-8f6e-7fa0c4ca00a8",
"participantId": "AGENT",
"sentiment": "NEUTRAL",
"loudnessScore": "null",
"attributes": [{
"key": "key1",
"value": "value1"
}, {
"key": "key2",
"value": "value2"
}]
},
{
"isEvent": "false",
"isInternalMessage": "false",
"beginOffsetMillis": 20000,
"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"
},
{
"isEvent": "false",
"isInternalMessage": "false",
"beginOffsetMillis": 30000,
"content": "I am sorry to hear that",
"endOffsetMillis": 35000,
"id": "18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f",
"participantId": "AGENT",
"sentiment": "NEGATIVE",
},
{
"isEvent":"false",
"isInternalMessage":"false",
"beginOffsetMillis":40000,
"content":"Can you help me with my insurance? My ssn is 123-12-1234",
"endOffsetMillis":45000,
"id":"ab09b3b6-23fd-4e41-be05-6b2b53c19059",
"participantId":"CUSTOMER",
"sentiment":"NEUTRAL"
},
{
"isEvent":"False",
"isInternalMessage":"False",
"beginOffsetMillis":50000,
"content":"Of course, let me check your account",
"endOffsetMillis":55000,
"id":"18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f",
"participantId":"AGENT",
"sentiment":"NEUTRAL"
}
]'
응답:
{
"result": "Voice conversation transcript has been successfully saved. Conversation id: 8439d3c753b51110b6e8ddeeff7b12e2"
}
음성 상호작용 자원 - POST /cs/voice-interactions/transcript
통화가 완료된 후 기존 음성 상호작용에 메시지를 추가합니다. 이 API를 사용하여 에이전트와 발신자 간의 음성 통화에 대한 트랜스크립션된 메시지를 첨부할 수 있습니다.
URL 형식
버전 URL: /api/now/{api_version}/cs/voice-interactions/{interactionId}/transcript
기본 URL: /api/now/v1/cs/voice-interactions/{interactionId}/transcript
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| conversationStarted | 대화의 시작 시간입니다. 데이터 유형: 문자열 형식: YYYY-MM-DD HH:MM:SS 테이블: 상호작용 [interaction] |
| interactionId | 지정된 메시지를 추가할 상호작용 기록의 Sys_id입니다. 이 값은 엔드포인트에서 음성 상호작용 자원 - POST /cs/voice-interactions 반환됩니다. 데이터 유형: 문자열 테이블: 상호작용 [interaction] |
| 소스 | 대화 상호작용 기록을 처음 생성한 채널의 이름입니다. 현재 유일하게 지원되는 값은 데이터 유형: 문자열 |
| 사본 | 지정된 음성 상호작용에 첨부할 메시지 목록입니다.
데이터 유형: 객체 배열 |
| transcript.attributes | 음성 상호작용에 연결할 키-값 쌍입니다.
단순한 개체에서 복잡한 복합 개체에 이르기까지 모든 유형의 데이터 개체가 될 수 있습니다. Amazon Web Services API를 호출할 때 고유 식별자로 사용됩니다. 데이터 유형: 객체 배열 기본값: 없음 |
| transcript.beginOffsetMillis | 필수. 음성 상호작용의 시작과 연결된 메시지의 시작 사이의 시간 오프셋입니다. 예: "beginOffsetMillis": 2650. 데이터 유형: Long 단위: 밀리초 |
| transcript.content | 필수. 음성 상호작용에 추가할 메시지의 텍스트입니다. 데이터 유형: 문자열 |
| transcript.endOffsetMillis | 필수. 음성 상호 작용의 시작과 메시지 종료 사이의 시간 오프셋입니다. 예: "endOffsetMillis": 9380. 데이터 유형: Long 단위: 밀리초 |
| transcript.id | 이 음성 대화 소스의 메시지 UUID입니다(예: AmazonConnect). 원본 메시지 ID 열 값을 설정합니다. 데이터 유형: 문자열 기본값: 없음 |
| transcript.isEvent | Amazon Connect에서 설정했지만 현재 메서드에서 사용되지 않습니다. 연결된 메시지가 이벤트인지 여부를 나타내는 플래그입니다.
유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| transcript.isInternalMessage | 내부 메시지인지 여부를 나타내며 호출자에게 표시해서는 안 되는 플래그입니다.
트랜스크립션은 일반적으로 내부 메시지로 간주되며 호출자가 아닌 에이전트에 대해서만 나타납니다. 또한 에이전트 귓속말은 침묵하는 제3자가 채팅 중이거나 발신자 모르게 전화 대화에 참여하여 에이전트에게 조언을 제공할 때 사용됩니다. 호출자는 이러한 메시지를 듣거나 볼 수 없지만 에이전트는 듣거나 볼 수 있습니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| transcript.loudnessScore | 통화 중 고객 또는 상담원의 목소리 큰 소리로 말하는 정도를 측정합니다.
Contact Lens는 대화 분석을 표시하여 큰 소리로 말하고 부정적인 감정을 가질 수 있는 위치를 보여줍니다. 데이터 유형: 숫자 범위: -1.0(음수)에서 1.0(양수) 기본값: null |
| transcript.participantId | 필수 메시지와 관련된 참가자입니다.
유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| transcript.sentiment | 메시지의 감정입니다.
이 값은 외부 공급업체 제공자가 생성합니다. 인스턴스 구성 설정에 따라 ServiceNow 이 값은 긍정적, 부정적 또는 중간으로 변환되고 대화 및 상호작용 기록에 저장됩니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 기본값: null |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 콘텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 형식의 JSON 또는 필수 매개변수가 전달되지 않았습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 결과 | 호출의 결과를 설명하는 메시지입니다. 데이터 유형: 문자열 |
| 대화 ID | 메시지가 첨부된 음성 대화 테이블의 Sys_id입니다. 데이터 유형: 문자열 테이블: 대화 [sys_cs_message_conversation] |
cURL 요청
다음 예는 기존 음성 상호작용 기록에 메시지를 추가하는 방법을 보여줍니다.
curl "http://instance.servicenow.com/api/now/v1/cs/voice-interactions/transcript" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type: application/json"\
--user 'username':'password' \
-d ' {
"interactionId": "e67a6c30c7233010967a34c91dc26068",
"source": "Amazon Connect",
"conversationStarted": "2021-08-06 15:07:51",
"transcript": [
{
"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 frustrated right now.",
"endOffsetMillis": 25000,
"id": "18bcf19c-4a9b-4af1-9bd7-7bfb5ba53b9f",
"participantId": "CUSTOMER",
"sentiment": "NEGATIVE"
}
]
} '
응답:
{
"result": "Voice conversation transcript has been successfully saved. Conversation id: 8439d3c753b51110b6e8ddeeff7b12e2"
}