음성 상호작용 자원 API

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 30분
  • 음성 상호작용 API는 전화 통화 중에 에이전트와 발신자 간의 음성 상호작용을 기록하고 저장할 수 있는 엔드포인트를 제공합니다. 및 채팅과 가상 에이전트라이브 에이전트 함께 작동합니다.

    이 API를 사용하여 진행 중인 전화 통화에서 기록된 메시지를 실시간으로 유지하거나, 기록 목적으로 기존 음성 대화 녹음을 기록하고 저장할 수 있습니다. 기록된 메시지는 에 에이전트 작업 공간표시되므로 에이전트는 호출자와 대화하는 동안 에이전트 지원 및 검색과 같은 기능을 활용할 수 있습니다. 기록된 메시지는 대화 메시지 [sys_cs_message] 테이블에 유지됩니다.

    에이전트 작업 공간에서 변환된 메시지

    통화 플로우

    다음 호출 플로우는 음성 상호작용 API를 사용하여 음성 상호작용 기록을 만들고, 해당 음성 대화 내에서 메시지를 기록 및 저장한 다음, 음성 대화 기록을 닫는 방법을 보여줍니다. 비즈니스 규칙과 기타 스크립트를 사용하여 이 기능을 수행할 수도 있지만 이 섹션에서는 이러한 유형의 구현을 다루지 않습니다.
    1. 먼저 엔드포인트를 음성 상호작용 자원 - POST /cs/voice-interactions 호출하여 상호작용 [interaction] 테이블에 음성 상호작용 기록을 생성합니다.
    2. 그런 다음, 엔드포인트를 음성 상호작용 자원 - POST /cs/voice-interactions/{interactionId}/messages 호출하여 음성 대화에서 번역된 메시지를 대화 메시지 테이블에 저장합니다. 실시간 대화를 처리하는 경우 메시지가 적시에 표시 에이전트 작업 공간 되도록 이 엔드포인트를 자주 호출해야 합니다. 기록 목적으로 기록을 처리할 때 단일 엔드포인트 호출로 모든 메시지를 전달할 수 있습니다.
    3. 음성 메시지 유지가 끝나면 엔드포인트를 음성 상호작용 자원 - 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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 1. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하도록 이 값만 지정하십시오.

    데이터 유형: 문자열

    interactionId 음성 상호작용을 종료할 상호작용 기록의 Sys_id입니다. 엔드포인트에 의해 음성 상호작용 자원 - POST /cs/voice-interactions 다시 전달됩니다.

    데이터 유형: 문자열

    테이블: 상호작용 [interaction]

    표 2. 쿼리 매개변수
    이름 설명
    안 함
    표 3. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    recordingURL 원본 음성 녹음이 있는 URL입니다.

    이렇게 구성된 경우 이 URL은 에이전트 작업 공간에 나타납니다.

    데이터 유형: 문자열

    기본값: 없음

    상태 필수 음성 상호작용의 상태입니다.

    지원되는 값: closed_complete

    데이터 유형: 문자열

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.

    표 4. 요청 헤더
    머리글 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    콘텐츠-형식 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 5. 응답 헤더
    머리글 설명
    안 함

    상태 코드

    이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.

    표 6. 상태 코드
    상태 코드 설명
    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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 7. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하도록 이 값만 지정하십시오.

    데이터 유형: 문자열

    표 8. 쿼리 매개변수
    이름 설명
    안 함
    표 9. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    agentId 음성 상호작용을 할당할 에이전트의 고유 식별자입니다.

    데이터 유형: 문자열

    기본값: 가상 에이전트 호출

    callerPhoneNumber 호출자의 콜백 전화 번호입니다. 이 번호는 콜이 끊어지는 경우 에이전트가 발신자에게 연락하는 데 사용하는 번호입니다.

    데이터 유형: 문자열

    형식: E.164 표준 준수

    기본값: 없음

    clientSessionId 이 전화 통화를 추적하는 데 사용되는 외부 시스템의 기록 고유 식별자입니다. 이 정보는 두 시스템 간의 기록을 연결합니다.

    데이터 유형: 문자열

    기본값: 없음

    inboundId 음성 서비스에 대한 애플리케이션 제공자의 고유 식별자입니다.

    데이터 유형: 문자열

    기본값: 채팅에서 끌어옴

    userID 필수 음성 트랜잭션과 관련된 전화를 건 발신자의 전화 번호입니다.

    데이터 유형: 문자열

    형식: 음성 대화 스크립트를 만든 소프트웨어에 의해 정의됩니다. 일반적으로 E.164 표준을 준수합니다.

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.

    표 10. 요청 헤더
    머리글 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    콘텐츠-형식 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 11. 응답 헤더
    머리글 설명
    안 함

    상태 코드

    이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.

    표 12. 상태 코드
    상태 코드 설명
    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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 13. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하도록 이 값만 지정하십시오.

    데이터 유형: 문자열

    interactionId 대화 기록을 생성할 상호작용 기록의 Sys_id입니다. 이 값은 엔드포인트에서 음성 상호작용 자원 - POST /cs/voice-interactions 반환되고 상호작용 [interaction] 테이블에 저장됩니다.

    데이터 유형: 문자열

    표 14. 쿼리 매개변수
    이름 설명
    안 함
    표 15. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    agentId 음성 상호작용을 할당할 에이전트의 고유 식별자입니다.

    데이터 유형: 문자열

    기본값: 가상 에이전트 호출

    callerPhoneNumber 호출자의 콜백 전화 번호입니다. 이 번호는 콜이 끊어지는 경우 에이전트가 발신자에게 연락하는 데 사용하는 번호입니다.

    데이터 유형: 문자열

    형식: E.164 표준 준수

    기본값: 없음

    clientSessionId 이 전화 통화를 추적하는 데 사용되는 외부 시스템의 기록 고유 식별자입니다. 이 정보는 두 시스템 간의 기록을 연결합니다.

    데이터 유형: 문자열

    기본값: 없음

    inboundId 음성 서비스에 대한 애플리케이션 제공자의 고유 식별자입니다.

    데이터 유형: 문자열

    기본값: 채팅에서 끌어오기

    userID 필수 음성 트랜잭션과 관련된 전화를 건 발신자의 전화 번호입니다.

    데이터 유형: 문자열

    형식: 음성 대화 스크립트를 만든 소프트웨어에 의해 정의됩니다. 일반적으로 E.164 표준을 준수합니다.

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.

    표 16. 요청 헤더
    머리글 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    콘텐츠-형식 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 17. 응답 헤더
    머리글 설명
    안 함

    상태 코드

    이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.

    표 18. 상태 코드
    상태 코드 설명
    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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 19. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하도록 이 값만 지정하십시오.

    데이터 유형: 문자열

    interactionId 지정된 메시지를 추가할 상호작용 기록의 Sys_id입니다. 이 값은 엔드포인트에서 음성 상호작용 자원 - POST /cs/voice-interactions 반환되고 상호작용 [interaction] 테이블에 저장됩니다.

    데이터 유형: 문자열

    표 20. 쿼리 매개변수
    이름 설명
    없음
    표 21. 요청 본문 매개변수(Amazon Connect)
    이름 설명
    <json_string>
    지정된 음성 상호작용에 첨부할 메시지 목록입니다.
    "<json_string>":[
      {
        "attributes": [Array],
        "beginOffsetMillis": Long,
        "content": "String"
        "endOffsetMillis": Long,
        "id": "String",
        "isEvent": Boolean,
        "isInternalMessage": Boolean,
        "loudnessScore": "Number",
        "participantId": "String",
        "sentiment": "String"
      }
    ]
    <json_string>.attributes
    음성 상호작용에 연결할 키-값 쌍입니다.

    단순 객체에서 복잡한 복합 객체에 이르기까지 모든 유형의 데이터 객체일 수 있습니다. Amazon Web Services API를 호출할 때 고유 식별자로 사용됩니다.

    데이터 유형: 객체 배열

    기본값: 없음

    <json_string>.beginOffsetMillis 필수 음성 상호작용 시작과 연결된 메시지의 시작 사이의 시간 오프셋입니다. 예: "beginOffsetMillis": 2650.

    데이터 유형: Long

    단위: 밀리초

    <json_string>.content 필수 음성 상호작용에 추가할 메시지의 텍스트입니다.

    데이터 유형: 문자열

    <json_string>.endOffsetMillis 필수 음성 상호작용 시작과 메시지 종료 사이의 시간 오프셋입니다. 예: "endOffsetMillis": 9380.

    데이터 유형: Long

    단위: 밀리초

    <json_string>.id AmazonConnect와 같은 이 음성 대화 소스의 메시지 UUID입니다. 소스 메시지 ID 열 값을 설정합니다.

    데이터 유형: 문자열

    기본값: 없음

    <json_string>.isEvent
    Amazon Connect에서 설정했지만 현재 메서드에서 사용하지 않습니다. 연결된 메시지가 이벤트인지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 메시지가 이벤트입니다.
    • false: 메시지가 이벤트가 아닙니다.

    데이터 유형: 부울

    기본값: false

    <json_string>.isInternalMessage
    이것이 내부 메시지인지, 호출자에게 표시해서는 안 되는지 여부를 나타내는 플래그입니다.

    기록은 일반적으로 내부 메시지로 간주되며 에이전트에게만 표시되고 호출자에게는 표시되지 않습니다. 또한 에이전트 귓속말은 침묵하는 외부 공급업체가 호출자 모르게 채팅 중이거나 전화 대화에 참여하여 에이전트에게 조언을 제공할 때 사용됩니다. 호출자는 이러한 메시지를 듣거나 못하지만 에이전트는 봅니다.

    유효한 값은 다음과 같습니다.
    • true: 내부 메시지, 호출자에게 표시되지 않습니다.
    • 아니오: 내부 메시지가 아니며 호출자에게 표시됩니다.

    데이터 유형: 부울

    기본값: false

    <json_string>.loudnessScore
    통화 중에 고객이나 에이전트가 말하는 소리에 대한 측정입니다.

    Contact Lens는 대화에 대한 분석을 표시하여 큰 소리로 말하고 부정적인 감정을 가질 수 있는 위치를 보여줍니다.

    데이터 유형: 숫자

    범위: -1.0(음수) - 1.0(양수)

    기본값: null

    <json_string>.participantId
    필수 메시지와 연결된 참가자입니다.
    유효한 값은 다음과 같습니다.
    • 에이전트
    • 고객

    데이터 유형: 문자열

    <json_string>.감정
    메시지의 감정입니다.

    이 값은 외부 공급업체 제공자에 의해 생성됩니다. 인스턴스 구성 설정에 따라 ServiceNow 이 값은 양수, 부정적 또는 중립으로 변환되어 대화 및 상호작용 기록에 저장됩니다.

    유효한 값은 다음과 같습니다.
    • 부정적
    • 중립
    • 긍정적

    데이터 유형: 문자열

    기본값: null

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.

    표 22. 요청 헤더
    머리글 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    콘텐츠-형식 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 23. 응답 헤더
    머리글 설명
    안 함

    상태 코드

    이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.

    표 24. 상태 코드
    상태 코드 설명
    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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 25. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하도록 이 값만 지정하십시오.

    데이터 유형: 문자열

    표 26. 쿼리 매개변수
    이름 설명
    안 함
    표 27. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    conversationStarted 대화의 시작 시간입니다.

    데이터 유형: 문자열

    형식: YYYY-MM-DD HH:MM:SS

    테이블: 상호작용 [interaction]

    interactionId 지정된 메시지를 추가할 상호작용 기록의 Sys_id입니다. 이 값은 엔드포인트에서 반환됩니다 음성 상호작용 자원 - POST /cs/voice-interactions .

    데이터 유형: 문자열

    테이블: 상호작용 [interaction]

    소스 원래 대화 상호작용 기록을 만든 채널의 이름입니다.

    현재 지원되는 유일한 값은 Amazon Connect입니다.

    데이터 유형: 문자열

    대화록 지정된 음성 상호작용에 첨부할 메시지 목록입니다.
    "transcript":[
      {
        "attributes": [Array],
        "beginOffsetMillis": Long,
        "content": "String"
        "endOffsetMillis": Long,
        "id": "String",
        "isEvent": Boolean,
        "isInternalMessage": Boolean,
        "loudnessScore": "String",
        "participantId": "String",
        "sentiment": "String"
      }
    ]

    데이터 유형: 객체 배열

    transcript.attributes
    음성 상호작용에 연결할 키-값 쌍입니다.

    단순 객체에서 복잡한 복합 객체에 이르기까지 모든 유형의 데이터 객체일 수 있습니다. Amazon Web Services API를 호출할 때 고유 식별자로 사용됩니다.

    데이터 유형: 객체 배열

    기본값: 없음

    transcript.beginOffsetMillis 필수 음성 상호작용 시작과 연결된 메시지의 시작 사이의 시간 오프셋입니다. 예: "beginOffsetMillis": 2650.

    데이터 유형: Long

    단위: 밀리초

    transcript.content 필수 음성 상호작용에 추가할 메시지의 텍스트입니다.

    데이터 유형: 문자열

    transcript.endOffsetMillis 필수 음성 상호작용 시작과 메시지 종료 사이의 시간 오프셋입니다. 예: "endOffsetMillis": 9380.

    데이터 유형: Long

    단위: 밀리초

    transcript.id AmazonConnect와 같은 이 음성 대화 소스의 메시지 UUID입니다. 소스 메시지 ID 열 값을 설정합니다.

    데이터 유형: 문자열

    기본값: 없음

    transcript.isEvent
    Amazon Connect에서 설정했지만 현재 메서드에서 사용하지 않습니다. 연결된 메시지가 이벤트인지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 메시지가 이벤트입니다.
    • false: 메시지가 이벤트가 아닙니다.

    데이터 유형: 부울

    기본값: false

    transcript.isInternalMessage
    이것이 내부 메시지인지, 호출자에게 표시해서는 안 되는지 여부를 나타내는 플래그입니다.

    기록은 일반적으로 내부 메시지로 간주되며 에이전트에게만 표시되고 호출자에게는 표시되지 않습니다. 또한 에이전트 귓속말은 침묵하는 외부 공급업체가 호출자 모르게 채팅 중이거나 전화 대화에 참여하여 에이전트에게 조언을 제공할 때 사용됩니다. 호출자는 이러한 메시지를 듣거나 못하지만 에이전트는 봅니다.

    유효한 값은 다음과 같습니다.
    • true: 내부 메시지, 호출자에게 표시되지 않습니다.
    • 아니오: 내부 메시지가 아니며 호출자에게 표시됩니다.

    데이터 유형: 부울

    기본값: false

    transcript.loudnessScore
    통화 중에 고객이나 에이전트가 말하는 소리에 대한 측정입니다.

    Contact Lens는 대화에 대한 분석을 표시하여 큰 소리로 말하고 부정적인 감정을 가질 수 있는 위치를 보여줍니다.

    데이터 유형: 숫자

    범위: -1.0(음수) - 1.0(양수)

    기본값: null

    transcript.participantId
    필수 메시지와 연결된 참가자입니다.
    유효한 값은 다음과 같습니다.
    • 에이전트
    • 고객

    데이터 유형: 문자열

    transcript.sentiment
    메시지의 감정입니다.

    이 값은 외부 공급업체 제공자에 의해 생성됩니다. 인스턴스 구성 설정에 따라 ServiceNow 이 값은 양수, 부정적 또는 중립으로 변환되어 대화 및 상호작용 기록에 저장됩니다.

    유효한 값은 다음과 같습니다.
    • 부정적
    • 중립
    • 긍정적

    데이터 유형: 문자열

    기본값: null

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.

    표 28. 요청 헤더
    머리글 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    콘텐츠-형식 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 29. 응답 헤더
    머리글 설명
    안 함

    상태 코드

    이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.

    표 30. 상태 코드
    상태 코드 설명
    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"  
    }