음성 상호작용 자원 API

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기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>.속성
    음성 상호작용에 연결할 키-값 쌍입니다.

    단순한 개체에서 복잡한 복합 개체에 이르기까지 모든 유형의 데이터 개체가 될 수 있습니다. 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에서 설정했지만 현재 메서드에서 사용되지 않습니다. 연결된 메시지가 이벤트인지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 메시지가 이벤트입니다.
    • false: 메시지가 이벤트가 아닙니다.

    데이터 유형: 부울

    기본값: false

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

    트랜스크립션은 일반적으로 내부 메시지로 간주되며 호출자가 아닌 에이전트에 대해서만 나타납니다. 또한 에이전트 귓속말은 침묵하는 제3자가 채팅 중이거나 발신자 모르게 전화 대화에 참여하여 에이전트에게 조언을 제공할 때 사용됩니다. 호출자는 이러한 메시지를 듣거나 볼 수 없지만 에이전트는 듣거나 볼 수 있습니다.

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

    데이터 유형: 부울

    기본값: false

    <json_string>.loudnessScore
    통화 중 고객 또는 상담원의 목소리 큰 소리로 말하는 정도를 측정합니다.

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

    데이터 유형: 숫자

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

    기본값: null

    <json_string>.참가자 ID
    필수 메시지와 관련된 참가자입니다.
    유효한 값은 다음과 같습니다.
    • 대리인
    • 고객

    데이터 유형: 문자열

    <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 이 음성 대화 소스의 메시지 UUID입니다(예: AmazonConnect). 원본 메시지 ID 열 값을 설정합니다.

    데이터 유형: 문자열

    기본값: 없음

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

    데이터 유형: 부울

    기본값: false

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

    트랜스크립션은 일반적으로 내부 메시지로 간주되며 호출자가 아닌 에이전트에 대해서만 나타납니다. 또한 에이전트 귓속말은 침묵하는 제3자가 채팅 중이거나 발신자 모르게 전화 대화에 참여하여 에이전트에게 조언을 제공할 때 사용됩니다. 호출자는 이러한 메시지를 듣거나 볼 수 없지만 에이전트는 듣거나 볼 수 있습니다.

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

    데이터 유형: 부울

    기본값: 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"  
    }