이 문서에서는 통화 세션의 메타데이터를 구조화하는 데 사용되는 JSON 스키마를 설명합니다. 이 스키마는 통화 세션을 정확하게 표현하고 처리하는 데 중요합니다.
통화 세션 메타데이터 스키마
이 스키마는 통화 세션 메타데이터와 관련된 데이터의 구조를 설명합니다. 주요 구성요소는 다음 섹션에 설명되어 있습니다.
핵심 정보
이러한 속성은 통화의 핵심 정보를 캡처합니다.
id(정수) 각 통화 세션의 식별자입니다. 이는 한 통화를 다른 통화와 구분하는 기본 키입니다.lang(문자열). 통화 중에 사용된 ISO 689 언어 코드입니다(예: 영어의 경우en, 스페인어의 경우es). 이는 언어별 분석 및 보고에 매우 중요합니다.call_type(문자열). 기존 유형 집합을 사용하는 호출 유형입니다. 예를 들어 음성 인바운드 (앱), 음성 아웃바운드, 음성 내부가 있습니다. 이렇게 하면 출처와 목적에 따라 통화를 분류할 수 있습니다.session_type(문자열): call_type의 중복session_type_v2(문자열). 현재 유형 집합을 사용하는 호출 유형입니다. call_type과 유사하지만 Voice Inbound (Mobile) 또는 Voice Inbound (IVR using Mobile)과 같은 더 세분화된 구분이 포함될 수 있습니다.status(문자열). 통화의 현재 상태입니다. 가능한 값은scheduled,queued,connected,finished,failed,deflected입니다. 이는 수명 주기를 통한 호출의 진행 상황을 추적합니다.subStatus(문자열). 통화의 자세한 상태를 제공합니다. 가능한 값은waiting_for_agent,in_queue,connected_with_agent입니다.created_at(문자열, date-time): 통화 기록이 생성된 정확한 타임스탬프입니다.queued_at(문자열, 날짜/시간 또는 null): 통화가 큐에 들어간 타임스탬프입니다. 큐에 추가된 적이 없는 경우 null입니다.assigned_at(문자열, 날짜-시간 또는 null): 통화가 상담사에게 할당된 타임스탬프입니다. 할당되지 않은 경우 null입니다.connected_at(문자열, 날짜-시간 또는 null): 통화가 성공적으로 연결된 타임스탬프ends_at(문자열, 날짜-시간 또는 null): 통화가 종료된 타임스탬프scheduled_at(문자열, 날짜-시간 또는 null): 통화가 예약된 타임스탬프입니다. 즉시 통화인 경우 null입니다.updated_at(문자열, 날짜-시간): 통화 데이터가 마지막으로 수정된 타임스탬프입니다.wait_duration(정수): 고객이 대기한 총 시간(초)입니다.call_duration(정수): 통화의 총 시간(초)hold_duration(정수): 고객이 대기한 총 시간(초)입니다. 대기 시간이 없는 경우 null입니다.rating(정수 또는 null): 고객이 제공한 고객 만족도 (CSAT) 등급입니다. 등급이 제공되지 않은 경우 null입니다.has_feedback(불리언): 고객이 통화 후 의견을 제공했는지 여부를 나타내는 플래그입니다.voip_provider(문자열): 통화에 사용된 VoIP 제공업체입니다. 이 필드는 지원 중단되었으며 항상deprecated를 반환합니다.out_ticket_id(문자열): 외부 CRM 시스템에서 생성된 티켓의 식별자out_ticket_url(문자열, uri): CRM 티켓의 URLis_out_ticket_account(불리언): CRM 티켓이 고객 (true)을 나타내는지 통화 상호작용 (false)을 나타내는지 나타냅니다.verified(불리언): 확인 스마트 작업을 통해 상호작용이 확인되었는지 여부를 나타냅니다.recording_url(문자열, URI 또는 null): 통화 녹음 파일의 URL입니다. 녹음 파일을 사용할 수 없는 경우 null입니다.recording_permission(문자열). 고객의 녹음 권한 상태입니다. 가능한 값은not_asked,granted또는denied입니다.voicemail_reason(문자열). 음성메시지가 남겨진 이유입니다(해당하는 경우). 옵션에는not_voicemail,temporary_redirection,after_hour_deflection이 있습니다.
상담사 및 가상 에이전트 정보
이 섹션에서는 누가 또는 무엇이 전화를 처리했는지 설명합니다.
agent_info(객체) 이 필드에는 실제 상담사 또는 가상 에이전트에 관한 정보가 포함될 수 있습니다. one of 키워드를 사용하여 두 가지 유형 중 하나일 수 있음을 지정합니다.agent(객체): 상담사에 관한 정보id(정수): 에이전트의 IDagent_number(문자열 또는 null): 에이전트에 할당된 식별자email(문자열, 이메일): 상담사의 이메일 주소name(문자열): 상담사의 전체 이름last_name(문자열): 상담사의 성first_name(문자열): 상담사의 이름avatar_url(문자열, uri): 상담사의 아바타 이미지 URL
virtual_agent(객체): 가상 에이전트에 관한 정보입니다.id(정수): 가상 에이전트의 IDname(문자열): 가상 상담사의 이름avatar_url(문자열, uri): 가상 상담사의 아바타 이미지 URL
메뉴 탐색
selected_menu(객체 또는 null): 고객이 통화 중에 선택한 메뉴에 관한 정보id(정수): 메뉴의 IDname(문자열): 메뉴 이름parent_id(정수 또는 null): 상위 메뉴의 ID(있는 경우)position(정수): 동일한 수준의 다른 메뉴에 대한 메뉴 위치deleted(불리언): 메뉴가 삭제되었는지 여부menu_type(문자열): 메뉴 유형입니다. 예:ivr_menu또는sms_menuhidden(불리언): 메뉴가 표시되고 사용 가능한지 여부
menu_path(객체 또는 null): 고객이 탐색한 메뉴의 계층적 경로를 설명합니다.items_count(정수): 경로에 있는 메뉴 수name(문자열): 슬래시로 구분된 메뉴 이름 문자열입니다. 예: support 또는 billingmaterialized_path(문자열): 슬래시로 구분된 메뉴 ID 문자열
최종 사용자 세부정보
end_user(객체): 고객에 관한 정보id(정수): 고객의 내부 IDidentifier(문자열 또는 null): 고객의 외부 식별자out_contact_id(문자열 또는 null): CRM의 고객 ID
통화 착신전환
deflection(문자열): 통화가 전환되었는지 여부와 방법을 나타냅니다. 예를 들면no_deflection,over_cap_phone,after_hours_voicemail입니다.deflection_details(배열): 통화 중에 발생한 전환에 관한 자세한 로그를 제공합니다. 각 항목에는 다음이 포함됩니다.id(정수): 편향 로그 레코드의 식별자입니다.call_id(정수): 통화의 식별자transfer_id(정수 또는 null): 전환과 연결된 트랜스퍼의 식별자입니다(해당하는 경우).deflection(문자열): 전환 유형created_at(문자열, 날짜 및 시간): 회피가 발생한 타임스탬프from_menu_path(객체 또는 null): 호출이 리디렉션된 메뉴 경로to_menu_path(객체 또는 null): 호출이 리디렉션된 메뉴 경로to_sip_uri(문자열 또는 null): 통화가 리디렉션된 SIP URI입니다(해당하는 경우).to_sip_headers(객체): 통화가 리디렉션된 SIP 헤더(해당하는 경우)
통화 처리 시간
handle_durations(배열): 객체의 배열로, 각 객체는 상담사가 처리한 통화의 세그먼트를 나타냅니다. 이는 상담사 처리 시간을 분석하는 데 유용합니다.id(정수): 핸들 지속 시간의 식별자agent_id(정수): 에이전트의 IDacw_duration(정수): 통화 후 작업 시간bcw_duration(정수): 통화 전 작업 시간call_duration(정수): 이 세그먼트의 통화 시간menu_path_id(문자열 또는 null): 메뉴 경로의 IDmenu_path(문자열): 메뉴 경로의 이름lang(문자열): 사용된 언어barged(불리언): 통화가 끼어들었는지 여부transfer(불리언): 트랜스퍼가 발생했는지 여부transfer_id(문자열 또는 null): 트랜스퍼의 IDtransfer_cold(불리언 또는 null): 트랜스퍼가 콜드 트랜스퍼인지 여부started_at(문자열, 날짜-시간): 시작 타임스탬프ended_at(문자열, 날짜-시간): 종료 타임스탬프scheduled_at(문자열, 날짜-시간 또는 null): 예약된 타임스탬프hold_duration(정수 또는 null): 이 세그먼트의 대기 시간assigned_connection_duration(정수): 이 단계에서 상담사가 연결되어 있는 동안 최종 사용자가 기다린 시간session_breakthrough(객체): 상담사의 지원 불가 상태를 통해 통화가 중단된 할당에 관한 세부정보(해당하는 경우)
큐 지속 시간
queue_durations(배열): 고객이 대기열에 있었던 통화의 세그먼트를 각각 나타내는 객체의 배열입니다. 이는 대기 시간과 서비스 수준을 분석하는 데 매우 중요합니다.id(정수): 대기열 기간의 식별자입니다.agent_id(정수): 에이전트의 IDended_at(문자열, 날짜-시간): 종료 타임스탬프lang(문자열): 사용된 언어menu_path_id(정수): 메뉴 경로의 IDmenu_path(문자열): 메뉴 경로의 이름queue_duration(정수): 큐 세그먼트의 길이started_at(문자열, 날짜-시간): 시작 타임스탬프transfer_cold(불리언): 통화가 콜드 트랜스퍼되었는지 여부transfer(불리언): 트랜스퍼가 발생했는지 여부transfer_id(정수): 전송 IDservice_level_abandon_time_threshold(정수): 서비스 수준 포기의 시간 기준점service_level_event(문자열): 서비스 수준 이벤트 상태입니다. 예:excluded,in_sla,not_in_slaservice_level_target_percent(정수): 서비스 수준 규정 준수의 목표 비율service_level_target_time(정수): 서비스 수준 규정 준수의 목표 시간
가상 에이전트 에스컬레이션
virtual_agent_deflected_escalations(배열): 전환된 가상 상담사의 에스컬레이션 세부정보id(정수): 식별자deflection(문자열): 리디렉션 유형escalation_id(정수): 에스컬레이션 이벤트 식별자escalation_reason(문자열): 에스컬레이션 이유escalated_at(문자열, 날짜 및 시간): 에스컬레이션 타임스탬프menu_path_id(정수): 메뉴 경로 IDmenu_path(문자열): 메뉴 경로lang(문자열): 언어virtual_agent(객체): 가상 에이전트 세부정보
가상 에이전트 처리 시간
virtual_agent_handle_durations(배열): 가상 에이전트가 통화를 처리한 시간 세그먼트id(정수): 식별자virtual_agent(객체): 가상 에이전트 세부정보call_duration(정수): 세그먼트 길이escalation_reason(문자열): 에스컬레이션 이유finish_reason(문자열): 상호작용이 종료된 이유sentiment(정수): 최종 사용자 감정response_count(정수): 가상 에이전트 응답 수fallback_response_count(정수): 대체 응답 수initiated_by(문자열): 가상 에이전트 세션이 시작된 방식menu_path_id(정수): 메뉴 경로 IDmenu_path(문자열): 메뉴 경로lang(문자열): 언어transfer(불리언): 통화가 트랜스퍼되었는지 여부transfer_id(정수): 트랜스퍼 이벤트 식별자started_at(문자열, 날짜-시간): 시작 타임스탬프ended_at(문자열, 날짜-시간): 종료 타임스탬프
최종 사용자 처리 시간
consumer_handle_durations(배열): 최종 사용자가 통화한 시간id(정수): 식별자call_duration(정수): 최종 사용자 세그먼트 길이hold_duration(정수): 최종 사용자 대기 시간started_at(문자열, 날짜-시간): 시작 타임스탬프ended_at(문자열, 날짜-시간): 종료 타임스탬프
최종 사용자 이벤트 기간
consumer_event_durations(배열): 최종 사용자 통화 이벤트의 세부정보입니다. 예: 고객만족도 또는 결제id(정수): 식별자duration(정수): 이벤트 지속 시간type(문자열): 이벤트 유형event(문자열): 이벤트 결과menu_path_id(정수): 메뉴 경로 IDmenu_path(문자열): 메뉴 경로lang(문자열): 언어started_at(문자열, 날짜-시간): 시작 타임스탬프ended_at(문자열, 날짜-시간): 종료 타임스탬프
최종 사용자 인메뉴 기간
consumer_in_menu_durations(배열): 메뉴 내 최종 사용자 상호작용의 지속 시간id(정수): 식별자duration(정수): 메뉴 내 지속 시간event(문자열): 메뉴 상호작용 결과menu_path_id(정수): 메뉴 경로 IDmenu_path(문자열): 메뉴 경로lang(문자열): 언어started_at(문자열, 날짜-시간): 시작 타임스탬프ended_at(문자열, 날짜-시간): 종료 타임스탬프
참여자
participants(배열): 통화에 참여하는 각 참여자에 관한 정보입니다. 예: 고객, 상담사, 가상 에이전트id(정수): 참여자의 식별자type(문자열): 참여자 유형입니다. 예: end_user, agent, virtual_agent 등entry_type(문자열): 참여자가 통화에 참여한 방법user_id(정수 또는 null): 참여자가 상담사인 경우 사용자 IDend_user_id(정수 또는 null): 참여자가 고객인 경우 최종 사용자 IDvirtual_agent_id(정수 또는 null): 참여자가 가상 에이전트인 경우 가상 에이전트 IDvirtual_agent_params(객체): 가상 에이전트가 사용하는 맞춤 메타데이터status(문자열): 참여자의 상태입니다. 예: waiting, connected, finished 등fail_reason(문자열): 실패 이유(있는 경우)connected_at(문자열, 날짜-시간): 참여자가 연결된 타임스탬프phone_number(문자열): 참여자의 전화번호call_id(정수): 호출의 식별자call_duration(정수): 참여자의 통화 시간hold_duration(정수 또는 null): 참여자의 대기 시간ended_at(문자열, 날짜-시간): 참여자의 참여가 종료된 타임스탬프adapter_fail_code(정수 또는 null): 실패 이유에 해당하는 숫자 코드adapter_fail_message(문자열 또는 null):fail_reason의 사람이 읽을 수 있는 설명입니다(있는 경우).
녹화
recordings(배열): 통화 녹음 파일에 관한 정보id(정수): 녹음 콘텐츠의 식별자call_id(정수): 통화 식별자conference_sid(문자열): VoIP 제공업체의 통화 식별자duration(정수): 녹음 시간recording_type(문자열): 녹음 유형redaction_times(배열): 수정된 시간 세그먼트started_at(문자열, 날짜-시간): 녹화 시작 타임스탬프
혜택 이벤트
offer_type(문자열 또는 null): 상담사에게 통화가 제공된 방식offer_events(배열): 상담사에게 통화가 제공된 이벤트casting_time(date-time): 통화가 제공된 시간group(문자열): 통화가 제공된 그룹
기타 세부정보
answer_type(문자열 또는 null): 통화에 응답한 방식입니다. 예를 들어 수동 또는 자동입니다.outbound_number(문자열): 사용된 아웃바운드 전화번호wait_time_sms(배열): 대기 시간 SMS 상호작용in_call_sms(배열): 통화 중 SMS 상호작용dispositions(배열): 통화 중에 기록된 처리 결과email(문자열, 이메일 또는 null): 고객의 이메일 주소feedback(문자열 또는 null): 고객 의견smart_action_text(문자열 또는 null): 실행된 스마트 작업의 텍스트custom_data_secured(객체 또는 null): 맞춤, 안전하게 서명된 데이터custom_data_not_secured(객체 또는 null): 맞춤, 보안 서명되지 않은 데이터
주요 정의
스키마에는 재사용 가능한 스키마 구성요소를 정의하는 정의 섹션도 포함됩니다.
menu_path: 계층적 메뉴 경로agent: 상담사virtual_agent: 가상 에이전트deflection: 가능한 거부 상태를 정의합니다.