이 문서에서는 채팅 세션 메타데이터 레코드의 스키마를 설명합니다. 메타데이터 레코드는 Contact Center AI Platform에서 지원 채팅 세션을 위해 만드는 JSON 문서입니다. CCAI Platform은 채팅 session-end 명령어의 일부로 메타데이터 레코드를 CRM 통합에 제공합니다. 외부 스토리지를 사용 설정하면 CCAI 플랫폼은 metadata.json 파일을 사용하여 레코드를 external-storage 구성에도 씁니다. 각 채팅은 하나의 레코드를 생성하며, 최상위 id가 이를 고유하게 식별합니다. 이 스키마를 사용하여 레코드를 다운스트림 시스템으로 수집하거나, 수신된 페이로드를 검증하거나, 필드를 데이터 웨어하우스 열에 매핑합니다.
스키마 루트
채팅 세션 메타데이터 레코드는 하나의 채팅 세션을 나타내는 단일 JSON 객체입니다. 최상위 수준의 세 가지 개념이 레코드의 ID와 모양을 결정합니다.
기본 키: id (정수)
테넌트 내에서 채팅 세션을 고유하게 식별합니다. 채팅당 하나의 레코드가 있습니다. 다른 모든 최상위 필드, 배열, 중첩 객체는 이 id가 식별하는 채팅의 속성을 설명합니다.
핸들러 구분자: agent_info (객체, oneOf)
모양이 채팅의 마지막 핸들러에 따라 달라지는 단일 객체입니다. 두 변형은 상호 배타적입니다. 즉, 둘 중 하나만 존재합니다.
상담사 변형: 채팅의 마지막 핸들러가 상담사인 경우 표시됩니다. 공유된
id,name,avatar_url필드 외에email,first_name,last_name,agent_number를 전달합니다.가상 상담사 변형: 채팅의 마지막 핸들러가 가상 상담사인 경우 표시됩니다.
va_alias를 전달하고email,first_name,last_name,agent_number를 생략합니다.
레코드에 포함된 변형을 감지하려면 변형별 필드가 있는지 확인합니다. 일반적으로 인간 상담사 변형의 경우 agent_info.email, 가상 상담사 변형의 경우 agent_info.va_alias입니다. 각 변형의 전체 정의는 정의: agent 및 정의: virtual_agent에 표시됩니다.
채팅 모양 식별자: chat_type, session_type, session_type_v2(문자열)
동일한 기본 채팅 유형의 세 가지 병렬 뷰 레코드가 나타내는 채팅 유형에 대해서는 의견이 일치하며, 이름 지정에 사용되는 어휘만 다릅니다.
chat_type: 메시지 수신 (앱 채팅), 메시지 (SMS), 메시지 (WhatsApp)와 같은 기존 열거형 어휘를 사용합니다.session_type: 항상chat_type과 동일한 문자열을 반환합니다. 이 필드를 키로 사용하는 통합과의 하위 호환성을 위해 존재합니다.chat_type의 지원 중단된 별칭으로 취급하세요.session_type_v2: 현재 열거형 어휘를 사용합니다. 여기에는 메시지 수신 (모바일 채팅)과 같은 세부적인 구분이 포함될 수 있습니다. v2 전용 값이 없는 채팅 유형의 경우session_type_v2는chat_type와 동일한 문자열을 반환합니다. 새 통합은session_type_v2를 파싱해야 합니다.
각 필드의 값은 핵심 정보를 참고하세요.
핵심 정보
id(정수): 각 채팅 세션의 고유 식별자입니다. 이 기본 키는 채팅을 구분합니다.lang(문자열): 채팅 중에 사용된 ISO 639 언어 코드입니다 (예: 영어의 경우"en", 스페인어의 경우"es").chat_type(문자열): 기존 유형 어휘를 사용하는 채팅 유형입니다. 값에는"Messaging Inbound (App Chat)","Messaging Inbound (Web Chat)","Messaging (SMS)","Messaging (WhatsApp)","Messaging (Apple Messaging for Business)"이 포함됩니다.session_type(문자열):chat_type의 중복 (동일한 값)으로, 이전 버전과의 호환성을 위해 유지됩니다. 버전 관리 및 지원 중단: 기존 중복을 참고하세요.session_type_v2(문자열): 현재 유형 어휘를 사용하는 채팅 유형입니다. 더 세분화된 구분을 사용하여chat_type값을 개선합니다. 값으로는"Messaging Inbound (Mobile Chat)","Messaging Inbound (Web Chat)","Messaging (WhatsApp)","Messaging (Apple Messaging for Business)","Messaging (SMS)","Messaging Inbound (SMS)","Messaging Outbound (SMS)","Messaging Outbound (SMS using the API)","Messaging Inbound (SMS Direct)","Messaging Outbound (SMS Direct)","Messaging Outbound (SMS Direct using the API)"이 있습니다.status(문자열): 채팅의 현재 상태입니다. 가능한 값:"queued","selecting","assigned","va_assigned","dismissed","va_dismissed","check_in_timeout","finished","no_response","canceled","failed"(CCAI Platform은 소비자 응답이 없는 완료된 채팅을"no_response"로 보고합니다.)sub_status(문자열 또는 null): 채팅에 사용할 수 있는 경우 채팅의 더 구체적인 상태 세부정보입니다. 가능한 값:"selecting","queued","ongoing","dismissed","finished","timeout","deflected","abandoned","expired","failed","disconnected_by_agent","disconnected_by_end_user","no_messages","no_messages_disconnected_by_agent","no_messages_disconnected_by_end_user","end_user_opt_out"created_at(문자열, date-time): CCAI Platform에서 채팅 세션을 만든 타임스탬프입니다.assigned_at(문자열, 날짜-시간 또는 null): CCAI Platform에서 채팅을 상담사에게 할당한 타임스탬프입니다. 할당되지 않은 경우 null입니다.ends_at(문자열, 날짜-시간 또는 null): 채팅 세션이 종료된 타임스탬프입니다.updated_at(문자열, 날짜-시간): CCAI Platform에서 채팅 데이터를 마지막으로 업데이트한 타임스탬프입니다.first_msg_sent_at(문자열, 날짜-시간 또는 null): 참여자가 채팅에서 첫 번째 메시지를 보낸 시점의 타임스탬프입니다.last_msg_sent_at(문자열, 날짜-시간 또는 null): 참여자가 채팅에서 마지막 메시지를 보낸 시점의 타임스탬프입니다.wait_duration(정수): 소비자가 대기한 총 시간(초)입니다.chat_duration(정수): 채팅의 총 시간(초)입니다.verified(불리언): 확인 스마트 작업이 상호작용을 확인했는지 여부를 나타냅니다.rating(정수 또는 null): 소비자가 제공한 고객 만족도 (CSAT) 평가입니다. 소비자가 평가를 제공하지 않은 경우 null입니다.has_feedback(불리언): 소비자가 채팅 후 의견을 제공했는지 여부를 나타냅니다.out_ticket_id(문자열 또는 null): CCAI Platform이 외부 CRM 시스템에서 생성한 티켓의 식별자입니다.out_ticket_url(문자열, URI 또는 null): CRM 티켓의 URL입니다.is_out_ticket_account(불리언 또는 null): CRM 티켓이 고객 (true)을 나타내는지 채팅 상호작용 (false)을 나타내는지 나타냅니다.fail_reason(문자열): 채팅 중 실패 이유 또는 채팅이 실패하지 않은 경우"nothing"가능한 값:"nothing","unknown","expired","after_hours","escalation_failed","check_in_timed_out","check_in_timed_out_expired","expired_menu_selection","end_user_opt_out","over_cap_email","group_deleted_no_substitute","presession_deflection_unknown","presession_deflection_timeout","presession_deflection_message_delivery_failed","sms_error","force_ended"provider_type(문자열): 사용된 채팅 제공업체의 유형입니다. 가능한 값:"unknown","messaging","twilio_conversations","nexmo_conversations","ujet_conversations"provider_channel_id(문자열 또는 null): 채팅의 공급자별 채널 식별자입니다.message_count(정수): 채팅에서 교환된 총 메시지 수입니다.average_response_time(정수): 채팅 중 상담사가 응답하는 데 걸린 평균 시간(초)입니다.longest_response_time(정수): 상담사가 채팅 중에 응답하는 데 걸린 가장 긴 시간(초)입니다.transcript(불리언): 세션의 채팅 스크립트가 있는지 여부를 나타냅니다.
상담사 및 가상 에이전트 정보
agent_info(객체): 마지막으로 채팅을 처리한 인간 상담사 또는 가상 에이전트에 관한 정보입니다. 이 필드는oneOf키워드를 사용하여 두 가지 유형 중 하나일 수 있음을 지정합니다.agent(객체): 상담사에 관한 정보입니다.id(정수): 에이전트의 고유 ID입니다.agent_number(문자열 또는 null): 에이전트에 할당된 식별자입니다.email(문자열, 이메일): 상담사의 이메일 주소입니다.name(문자열): 에이전트의 전체 이름입니다.last_name(문자열): 상담사의 성입니다.first_name(문자열): 상담사의 이름입니다.avatar_url(문자열, URI 또는 null): 에이전트의 아바타 이미지 URL입니다.
virtual_agent(객체): 가상 에이전트에 관한 정보입니다.id(정수): 가상 에이전트의 고유 ID입니다.name(문자열): 가상 에이전트의 이름입니다.avatar_url(문자열, URI 또는 null): 가상 상담사의 아바타 이미지 URL입니다.va_alias(문자열 또는 null): 구성된 경우 가상 에이전트의 표시 별칭입니다. 항상 페이로드에 표시됩니다. 별칭이 설정되지 않은 경우 null입니다.
메뉴 탐색
selected_menu(객체 또는 null): 소비자가 채팅 중에 선택한 메뉴에 관한 정보입니다.id(정수): 메뉴의 고유 ID입니다.name(문자열): 메뉴의 이름입니다.parent_id(정수 또는 null): 상위 메뉴의 ID입니다(있는 경우).position(정수 또는 null): 동일한 수준의 다른 메뉴에 대한 메뉴 위치입니다.deleted(불리언): 관리자가 메뉴를 삭제했는지 여부를 나타냅니다.menu_type(문자열): 메뉴 유형입니다 (예:"sms_menu","web_menu").hidden(불리언): 메뉴가 표시되는지 또는 사용할 수 있는지 여부입니다.menu_path(객체 또는 null): 고객이 탐색한 메뉴의 계층적 경로를 설명합니다.items_count(정수): 경로에 있는 메뉴 수입니다.name(문자열 또는 null): 슬래시로 구분된 메뉴 이름 문자열 (예:"Support/Billing")입니다. 메뉴 경로를 사용할 수 없는 경우 null입니다.materialized_path(문자열): 슬래시로 구분된 메뉴 ID 문자열입니다.
queue_priority_level(정수): 채팅의 선택된 대기열에 할당된 대기열 우선순위입니다. 계정에서 대기열 우선순위가 사용 설정된 경우에만 표시됩니다.
최종 사용자 세부정보
end_user(객체 또는 null): 소비자 정보입니다.id(정수 또는 null): 소비자의 내부 ID입니다.identifier(문자열 또는 null): 소비자의 외부 식별자입니다.out_contact_id(문자열 또는 null): CRM의 소비자 ID입니다.
고객 플래그 및 SDK 제공 데이터
customer_flag(객체): 세션 중에 외부 시스템에서 제공하거나 업데이트한 주목할 만한 소비자 속성을 표시하는 플래그입니다. 세션 중에 외부 시스템에서 인증 관련 고객 플래그를 제공하거나 업데이트한 경우에만 표시됩니다.verified_customer(불리언): 외부 시스템에서 소비자를 인증된 것으로 표시했는지 여부를 나타냅니다.bad_actor(불리언): 외부 시스템에서 소비자를 악의적인 행위자로 표시했는지 여부를 나타냅니다.repeat_customer(불리언): 외부 시스템에서 소비자를 재구매 고객으로 표시했는지 여부를 나타냅니다.
custom_data_secured(객체 또는 null): SDK 또는 앱 API에서 제공한 맞춤 보안 서명 데이터입니다.custom_data_not_secured(객체 또는 null): SDK 또는 앱 API에서 제공한 맞춤 비보안 서명 데이터입니다.sip_headers(객체): 채팅을 위해 캡처된 인바운드 SIP 헤더입니다. 키와 값은 업스트림 제공업체에서 수신한 SIP 헤더를 반영합니다. 계정에서 SIP 헤더 캡처를 사용 설정하고 세션 메타데이터에 표시되도록 구성한 경우에만 표시됩니다.
미디어 첨부파일
photos(배열): 채팅과 연결된 사진 또는 스크린샷입니다.id(정수): 사진의 고유 식별자입니다.photo_type(문자열): 사진 유형입니다. 가능한 값은"photo"및"screenshot"입니다.url(문자열, uri): 저장된 사진의 URL입니다.smart_action_type(문자열 또는 null): 사진과 연결된 스마트 작업입니다(있는 경우).transfer_id(정수 또는 null): 참여자가 전송이 완료된 후 사진을 업로드한 경우 사진과 연결된 전송 이벤트 식별자입니다.
videos(배열): 채팅과 연결된 동영상입니다.id(정수): 동영상의 고유 식별자입니다.url(문자열, uri): 저장된 동영상의 URL입니다.smart_action_type(문자열 또는 null): 동영상과 연결된 스마트 작업입니다(있는 경우).transfer_id(정수 또는 null): 참여자가 전송이 완료된 후 동영상을 업로드한 경우 동영상과 연결된 전송 이벤트 식별자입니다.
채팅 트랜스퍼
transfers(배열): 채팅 중 트랜스퍼 이벤트당 항목 하나입니다. 상담사, 가상 에이전트, 메뉴 간의 트랜스퍼를 기록합니다.id(정수): 트랜스퍼의 고유 식별자입니다.status(문자열): 전송의 현재 상태입니다. 가능한 값은"transferring","transferred","failed","deflected"입니다.fail_reason(문자열): 전송이 실패한 이유입니다. 실패하지 않은 경우"nothing"입니다. 가능한 값:"nothing","timeout","canceled","ag_connection_timeout","va_failure","agent_detection_missed","unknown","unreachable_phone_number"created_at(문자열, 날짜-시간): 전송이 시작된 타임스탬프입니다.assigned_at(문자열, 날짜-시간 또는 null): CCAI Platform에서 트랜스퍼를 할당한 타임스탬프입니다.connected_at(문자열, 날짜/시간 또는 null): 트랜스퍼가 연결된 시점의 타임스탬프입니다.updated_at(문자열, 날짜-시간 또는 null): CCAI Platform이 트랜스퍼 레코드를 마지막으로 업데이트한 타임스탬프입니다.call_duration(정수 또는 null): 트랜스퍼된 채팅 세그먼트의 시간(초)입니다.wait_duration(정수 또는 null): 트랜스퍼 중에 소비자가 대기한 시간(초)입니다.deflection(문자열): 트랜스퍼와 연결된 전환 유형입니다. 허용되는 값은 정의:deflection을 참고하세요.answer_type_path(문자열 또는 null): 에이전트 또는 메뉴가 원본 채팅과 대상 채팅에 응답한 방식을 설명하는 경로입니다.from_menu_path/to_menu_path(객체 또는 null): 전송 전후의 메뉴 경로입니다. 정의의menu_path와 모양이 동일합니다.from_agent/to_agent(객체 또는 null): 트랜스퍼의 각 측면에 있는 상담사입니다. 정의의agent객체와 모양이 동일합니다.from_virtual_agent/to_virtual_agent(객체 또는 null): 트랜스퍼의 각 측면에 있는 가상 상담사입니다. 정의의virtual_agent객체와 모양이 동일합니다.from_queue_priority_level/to_queue_priority_level(정수 또는 null): 전송 전후의 큐 우선순위입니다.
채팅 처리 시간
handle_durations(배열): 객체의 배열로, 각 객체는 상담사가 처리한 채팅의 세그먼트를 나타냅니다.id(정수): 핸들 기간의 고유 식별자입니다.agent_id(정수 또는 null): 에이전트의 식별자입니다.acw_duration(정수): 채팅 후 작업 시간(초)입니다.chat_duration(정수): 이 세그먼트의 채팅 시간(초)입니다.menu_path_id(정수 또는 null): 메뉴 경로의 ID입니다.menu_path(문자열): 메뉴 경로의 이름입니다.lang(문자열): 사용된 언어입니다.transfer(불리언): 트랜스퍼가 발생했는지 여부입니다.transfer_id(정수 또는 null): 트랜스퍼의 ID입니다.started_at(문자열, 날짜-시간 또는 null): 시작 타임스탬프입니다.ended_at(문자열, 날짜/시간 또는 null): 종료 타임스탬프입니다.response_count(정수): 에이전트 응답 수입니다.response_time_total(정수): 총 상담사 응답 시간(초)입니다.response_time_max(정수): 가장 긴 상담사 응답 시간(초)입니다.response_time_avg(숫자 또는 null): 평균 상담사 응답 시간(초)입니다. 이 값에는 소수점 정밀도가 포함될 수 있습니다.assigned_connection_duration(정수): 이 세그먼트에서 할당된 상담사가 연결되는 동안 소비자가 기다린 시간입니다.
큐 지속 시간
queue_durations(배열): 소비자가 대기열에서 기다린 채팅 세그먼트를 각각 나타내는 객체의 배열입니다.id(정수): 고유 식별자입니다.agent_id(정수 또는 null): 에이전트 식별자입니다.ended_at(문자열, date-time): 종료 타임스탬프입니다.lang(문자열): 언어입니다.menu_path_id(정수 또는 null): 메뉴 경로 식별자입니다.menu_path(문자열): 메뉴 경로입니다.queue_duration(정수 또는 null): 큐 시간(초)입니다.started_at(문자열, 날짜-시간): 시작 타임스탬프입니다.transfer_cold(불리언 또는 null): 채팅이 콜드 트랜스퍼되었는지 여부입니다.transfer(불리언): 트랜스퍼가 발생했는지 여부입니다.transfer_id(정수 또는 null): 트랜스퍼 식별자입니다.service_level_abandon_time_threshold(정수): 서비스 수준 포기 기준(초)입니다.service_level_event(문자열): 서비스 수준 이벤트 상태입니다. 가능한 값은"excluded","in_sla","not_in_sla"입니다.service_level_target_percent(정수): 서비스 수준 목표 비율입니다.service_level_target_time(정수): 서비스 수준 목표 시간(초)입니다.
가상 에이전트에서 상담사로의 에스컬레이션
escalations(배열): 각 항목은 가상 에이전트에서 상담사로의 에스컬레이션을 나타냅니다.id(정수): 에스컬레이션의 고유 식별자입니다.status(문자열): 에스컬레이션의 현재 상태입니다. 가능한 값:"escalating","escalated","canceled","deflecting","deflected"reason(문자열): 채팅이 에스컬레이션된 이유입니다. 가능한 값은"unknown","by_end_user_ask","by_end_user_message","by_virtual_agent","payload_failure","could_not_resume","by_human_agent","invalid_queue","dismissed"입니다.created_at(문자열, 날짜-시간): 에스컬레이션이 시작된 타임스탬프입니다.escalated_at(문자열, 날짜/시간 또는 null): 에스컬레이션이 완료된 타임스탬프입니다.from_virtual_agent(객체 또는 null): 채팅을 에스컬레이션한 가상 에이전트입니다. 정의의virtual_agent객체와 모양이 동일합니다.to_agent(객체 또는 null): 채팅이 에스컬레이션된 상담사입니다. 정의의agent객체와 모양이 동일합니다.from_menu_path/to_menu_path(객체 또는 null): 에스컬레이션 전후의 메뉴 경로입니다.
가상 에이전트가 에스컬레이션을 전환함
virtual_agent_deflected_escalations(배열): 다른 대상으로 전환된 가상 상담사의 에스컬레이션 세부정보입니다.id(정수): 고유 식별자입니다.deflection(문자열): 전환된 에스컬레이션의 전환 유형입니다. 가능한 값:"no_deflection","over_cap","over_cap_email","over_cap_virtual_agent","over_cap_human_agent","over_cap_sip","over_cap_extension","after_hours","after_hours_email","after_hours_virtual_agent"escalation_id(정수): 에스컬레이션 이벤트 식별자입니다.escalation_reason(문자열): 에스컬레이션 이유escalations[].reason와 동일한 값입니다 (10. 가상 에이전트에서 사람으로 에스컬레이션).escalated_at(문자열, 날짜-시간): 에스컬레이션 타임스탬프입니다.menu_path_id(정수): 메뉴 경로 ID입니다.menu_path(문자열): 메뉴 경로입니다.lang(문자열): 언어입니다.virtual_agent(객체): 가상 에이전트 세부정보입니다. 정의:virtual_agent를 참고하세요.
가상 에이전트 처리 시간
virtual_agent_handle_durations(배열): 가상 에이전트가 채팅을 처리한 시간 세그먼트입니다.id(정수): 고유 식별자입니다.virtual_agent(객체): 가상 에이전트 세부정보입니다. 정의:virtual_agent를 참고하세요.chat_duration(정수): 세그먼트의 길이(초)입니다.escalation_reason(문자열): 에스컬레이션 이유finish_reason(문자열): 상호작용이 종료된 이유입니다.response_count(정수): 가상 에이전트 응답 수입니다.response_time_total(정수): 가상 에이전트의 총 응답 시간(초)입니다.response_time_max(정수): 가장 긴 가상 에이전트 응답 시간(초)입니다.response_time_avg(숫자 또는 null): 평균 가상 에이전트 응답 시간(초)입니다. 이 값에는 소수점 정밀도가 포함될 수 있습니다.fallback_response_count(정수): 대체 응답 수입니다.initiated_by(문자열): 가상 에이전트 세션이 시작된 방식입니다. 가능한 값:"end_user","human_agent","post_session"menu_path_id(정수): 메뉴 경로 ID입니다.menu_path(문자열): 메뉴 경로입니다.lang(문자열): 언어입니다.transfer(불리언): 채팅이 트랜스퍼되었는지 여부입니다.transfer_id(정수 또는 null): 트랜스퍼 이벤트 식별자입니다.started_at(문자열, 날짜-시간): 시작 타임스탬프입니다.ended_at(문자열, date-time): 종료 타임스탬프입니다.
고객 응대 시간
consumer_handle_durations(배열): 소비자가 채팅에 참여한 시간입니다.id(정수): 고유 식별자입니다.chat_duration(정수): 소비자 세그먼트 기간(초)입니다.started_at(문자열, 날짜-시간 또는 null): 시작 타임스탬프입니다.ended_at(문자열, 날짜/시간 또는 null): 종료 타임스탬프입니다.message_count(정수): 소비자 메시지 수입니다.response_count(정수): 소비자 응답 수입니다.response_time_total(정수): 총 소비자 응답 시간(초)입니다.response_time_max(정수): 가장 긴 소비자 응답 시간(초)입니다.response_time_avg(정수): 평균 소비자 응답 시간(초)입니다.
소비자 이벤트 기간
consumer_event_durations(배열): 소비자 채팅 이벤트의 세부정보입니다 (예: 고객만족도, 결제).id(정수): 고유 식별자입니다.duration(정수): 이벤트 지속 시간(초)입니다.type(문자열): 이벤트 유형입니다. 가능한 값:"csat".event(문자열): 이벤트 결과입니다. 가능한 값은"finished"및"abandoned"입니다.menu_path_id(정수): 메뉴 경로 ID입니다.menu_path(문자열): 메뉴 경로입니다.lang(문자열): 언어입니다.started_at(문자열, 날짜-시간): 시작 타임스탬프입니다.ended_at(문자열, date-time): 종료 타임스탬프입니다.
참여자
participants(배열): 채팅에 참여한 각 참여자 (예: 최종 사용자, 상담사, 가상 에이전트)에 관한 정보입니다.id(정수): 참여자의 고유 식별자입니다.type(문자열): 참여자 유형입니다. 가능한 값:"end_user","agent","manager","virtual_agent","external_agent","task_virtual_agent"entry_type(문자열): 참여자가 채팅에 참여한 방법입니다. 가능한 값:"queue_or_transfer","barge","post_session"user_id(정수 또는 null): 참여자가 상담사인 경우 사용자 ID입니다.end_user_id(정수 또는 null): 참여자가 소비자인 경우 소비자 식별자입니다.virtual_agent_id(정수 또는 null): 참여자가 가상 에이전트인 경우 가상 에이전트 ID입니다.virtual_agent_params(객체): 가상 에이전트에서 사용하는 맞춤 메타데이터입니다. 가상 상담사 맞춤 메타데이터 포함을 구성한 경우에만 표시됩니다.status(문자열): 참여자의 상태입니다. 가능한 값:"waiting","connecting","invited","connected","wrapping_up","finished","failed","resuming","post_session_in_progress"fail_reason(문자열): 실패 이유(있는 경우) 가능한 값:"nothing","canceled","ag_connection_timeout","unknown"connected_at(문자열, 날짜-시간 또는 null): 참여자가 연결된 타임스탬프입니다.phone_number(문자열): 참여자의 전화번호입니다. 소비자 참여자에게만 표시됩니다.chat_id(정수): 채팅의 식별자입니다.chat_duration(정수 또는 null): 참여자의 채팅 시간(초)입니다.finished_at(문자열, 날짜-시간 또는 null): 참여자의 참여가 종료된 시점의 타임스탬프입니다.agent_assist(객체): 참여자에게 활성화된 Agent Assist 설정입니다. 항상 표시됩니다. Agent Assist가 구성되지 않은 경우 빈 기본 객체입니다.virtual_agent(객체 또는 null): 이 참여자로 제공되는 가상 에이전트의 세부정보입니다. 최상위agent_info및virtual_agent_params와는 다릅니다.sip_headers(객체 또는 null): 이 참여자와 연결된 SIP 헤더입니다. 항상 페이로드에 표시됩니다. CCAI 플랫폼에서 캡처한 것이 없으면 null입니다.location(문자열 또는 null): 에이전트의 구성된 위치입니다. 상담사 참여자에게만 표시됩니다.location_id(정수 또는 null): 위치의 식별자입니다. 에이전트 참여자에게만 표시됩니다.email(문자열, 이메일): 상담사의 이메일 주소입니다. 에이전트 참여자에게만 표시합니다.first_name(문자열 또는 null): 상담사의 이름입니다. 에이전트 참여자에게만 표시합니다.last_name(문자열 또는 null): 상담사의 성입니다. 에이전트 참여자에게만 표시합니다.middle_name(문자열 또는 null): 상담사의 미들네임입니다. 에이전트 참여자에게만 표시합니다.teams(배열): 에이전트가 속한 팀을 설명하는{ id, name }객체의 배열입니다. 에이전트 참여자에게만 표시됩니다.
체크인 로그
check_in_logs(배열): 채팅 세션 중에 기록된 체크인 이벤트입니다. 각 항목은 하나의 체크인 흐름에 대한 체크인 이벤트를 그룹화합니다.check_in_id(정수): 체크인 흐름의 식별자입니다.check_in_modal_displayed(문자열, 날짜-시간): CCAI 플랫폼이 소비자에게 체크인 모달을 표시한 시간의 타임스탬프입니다. CCAI 플랫폼에서 체크인 모달을 표시한 경우에만 표시됩니다.check_in_modal_confirmed(문자열, 날짜-시간): 소비자가 아직 참석 중임을 확인한 시간의 타임스탬프입니다. 소비자가 체크인 모달을 확인한 경우에만 표시됩니다.check_in_modal_timed_out(문자열, 날짜-시간): 체크인 메시지가 시간 초과된 타임스탬프입니다. 체크인 모달의 시간이 초과된 경우에만 표시됩니다.timeout_modal_rejoin_success(문자열, 날짜-시간): 다시 참여 작업이 성공한 타임스탬프입니다. 소비자가 제한 시간 후 다시 참여한 경우에만 표시됩니다.timeout_modal_rejoin_failed_after_hour(문자열, 날짜-시간): 영업시간 외 동작으로 인해 다시 참여 작업이 실패한 시간의 타임스탬프입니다. 대기열이 영업시간 이후에 있어 다시 참여하지 못한 경우에만 표시됩니다.timeout_modal_exit_chat(문자열, 날짜-시간): 소비자가 채팅을 종료하기로 선택한 시점의 타임스탬프입니다. 소비자가 제한 시간 모달에서 채팅을 종료한 경우에만 표시됩니다.timeout_modal_time_out_sdk_closed(문자열, date-time): SDK가 닫혀 타임아웃 모달 흐름이 종료된 타임스탬프입니다. 시간 제한 후 SDK가 종료된 경우에만 표시됩니다.
혜택 이벤트
offer_type(문자열 또는 null): CCAI 플랫폼에서 에이전트에게 채팅을 제공한 방식입니다.offer_events(배열): CCAI Platform이 상담사에게 채팅을 제공한 이벤트입니다.casting_time(문자열, 날짜-시간): CCAI Platform에서 채팅을 제안한 시간입니다.group(문자열): CCAI Platform에서 채팅을 제공한 그룹입니다.
기타 세부정보
dismiss_duration(정수): 채팅이 닫힘 상태로 유지된 시간(초)입니다. 채팅이 닫힘 상태로 시간을 보낸 경우에만 표시됩니다.answer_type(문자열 또는 null): 채팅에 응답한 방식입니다. 가능한 값:"manual","auto","outbound","deflection"inbound_number(문자열): 채팅과 연결된 인바운드 전화번호입니다. 인바운드 전화번호가 채팅과 연결된 경우에만 표시됩니다.outbound_number(문자열): 채팅과 연결된 아웃바운드 전화번호입니다. 아웃바운드 전화번호가 채팅과 연결된 경우에만 표시됩니다.after_hours(불리언): 채팅이 근무 시간 이후에 발생했는지 여부입니다.dispositions(배열): 상담사가 기록한 마무리 코드와 메모입니다. 계정에서 종료 코드 또는 메모를 사용 설정한 경우에만 표시됩니다. 각 항목에는 마무리 구성에 따라 조건부로 렌더링되는 필드가 포함될 수 있습니다.user_id(정수): 에이전트 식별자입니다.transfer_id(정수 또는 null): 트랜스퍼 후 기록된 경우 트랜스퍼 이벤트 식별자입니다.participant_id(정수): 참여자 식별자입니다.note(문자열): 자유 형식 상담사 메모입니다.original_note(문자열): 메모의 원본 (수정 전) 버전입니다.code(문자열): 처리 코드 이름입니다.ujet_code_id(정수 또는 빈 문자열): CCAI 플랫폼에서 할당한 처리 코드 식별자입니다. 코드의 안정적인 키입니다 (코드 표시 이름은 변경될 수 있음). 사용할 수 없는 경우 빈 문자열입니다.list(문자열): 코드가 속한 목록의 이름입니다.list_path(문자열): 코드 목록의 슬래시로 구분된 경로입니다.ujet_list_id(정수 또는 빈 문자열): 처리 코드가 속한 목록의 CCAI 플랫폼 할당 식별자입니다. 목록의 안정적인 키입니다. 사용할 수 없는 경우 빈 문자열입니다.custom_list_id(문자열 또는 정수): 매핑된 경우 고객 정의 목록 식별자입니다.custom_code_id(문자열 또는 정수): 매핑된 경우 고객 정의 코드 식별자입니다.
auto_session_summaries(배열): CRM 레코드에 저장된 AI 생성 세션 요약입니다. 계정에서 대화 요약을 사용 설정하고 AI가 요약을 생성한 경우에만 표시됩니다. 각 항목에는 다음이 포함됩니다.user_id(정수): 요약이 연결된 에이전트 참여자의 식별자입니다.participant_id(정수): 참여자 식별자입니다.session_summary(문자열): 요약 텍스트입니다.session_summary_sections(배열 또는 객체): 요약이 구조화된 섹션으로 구분됩니다(가능한 경우).
transfer_limit(객체 또는 null): 채팅의 전송 한도 데이터입니다.enabled(불리언): 채팅에 전송 제한 추적이 사용 설정되었는지 여부입니다.limit_count(정수): 허용되는 환승 횟수입니다.limit_reached(불리언): 채팅이 구성된 트랜스퍼 한도에 도달했는지 여부입니다.
email(문자열, 이메일 또는 null): 소비자의 이메일 주소입니다.feedback(문자열 또는 null): 소비자 의견입니다.smart_action_text(문자열 또는 null): 실행된 스마트 작업의 텍스트입니다.
정의
다음 하위 스키마는 채팅 세션 메타데이터 문서의 여러 지점에 표시됩니다. 각 하위 스키마는 한 번 표시됩니다. 이를 참조하는 속성 그룹은 모양을 인라인으로 재정의하는 대신 이 섹션을 다시 가리킵니다.
menu_path (객체)
채팅이 이동한 계층적 메뉴 경로를 설명합니다. 필드의 전체 목록은 메뉴 탐색을 참고하세요.
참조: 최상위 menu_path 필드, 각 transfers[].from_menu_path 및 transfers[].to_menu_path, 각 escalations[].from_menu_path 및 escalations[].to_menu_path
agent (객체)
상담사를 설명합니다. 이는 최상위 agent_info 식별자의 두 변형 중 하나입니다 (스키마 루트 참고). 필드의 전체 목록은 에이전트 및 가상 에이전트 정보를 참고하세요.
참조: 채팅의 마지막 핸들러가 실제 상담사였을 때의 agent_info 필드, 각 transfers[].from_agent 및 transfers[].to_agent, 각 escalations[].to_agent
virtual_agent (객체)
가상 에이전트를 설명합니다. 이는 최상위 agent_info 식별자의 두 변형 중 하나입니다 (스키마 루트 참고). 필드의 전체 목록은 에이전트 및 가상 에이전트 정보를 참고하세요.
참조 대상: 채팅의 마지막 핸들러가 가상 에이전트인 경우 agent_info 필드, 각 transfers[].from_virtual_agent 및 transfers[].to_virtual_agent, 각 escalations[].from_virtual_agent, 각 virtual_agent_handle_durations[].virtual_agent, 각 virtual_agent_deflected_escalations[].virtual_agent, 각 participants[].virtual_agent
deflection (문자열, 열거형)
트랜스퍼와 연결된 전환 상태입니다. 값은 <trigger>_<destination> 패턴을 따르며, 여기서 접두사는 리디렉션을 트리거한 조건을 식별하고 접미사는 대상 또는 처리 방법을 식별합니다 (예: _phone, _voicemail, _message, _queue, _sip, _extension, _callback, _wait).
트리거 패밀리별로 그룹화된 허용되는 값:
편향 없음:
no_deflection,deflecting대기열이 용량 기준점을 초과한 경우의 과부하:
over_cap_phone,over_cap_voicemail,over_cap_callback,over_cap_wait,over_cap_message,over_cap_ewt_only,over_cap_queue,over_cap_sip,over_cap_extension,over_cap_phone_with_extension영업시간 외에 채팅이 메뉴에 구성된 영업시간 외에 도착한 경우:
after_hours_voicemail,after_hours_phone,after_hours_message_only,after_hours_message,after_hours_queue,after_hours_sip,after_hours_extension,after_hours_phone_with_extension메뉴에 임시 리디렉션이 구성된 경우의 임시 리디렉션:
temp_redirection_phone,temp_redirection_message,temp_redirection_voicemail,temp_redirection_queue,temp_redirection_sip,temp_redirection_extension,temp_redirection_phone_with_extensionIVR 사전 세션:
ivr_presession_deflection가상 에이전트가 채팅을 리디렉션한 경우의 가상 에이전트 리디렉션:
va_redirection_phone,va_redirection_sip
참조: 각 transfers[].deflection (가상 에이전트가 전환한 에스컬레이션의 가상 에이전트가 전환한 에스컬레이션은 별도의 더 작은 전환 어휘를 사용하며, 이는 인라인으로 문서화되어 있습니다.)
transfer (객체)
채팅 중에 발생한 트랜스퍼를 설명합니다. 트랜스퍼를 사용하면 메뉴, 상담사, 가상 상담사 간에 채팅을 이동할 수 있습니다. 필드의 전체 목록은 채팅 트랜스퍼를 참고하세요.
참조 대상: 최상위 transfers 배열 (문서 전체에서 transfer_id라는 다른 필드는 인라인 transfer 객체가 아닌 전송의 id에 대한 정수 참조입니다.)
participant (객체)
채팅의 한 참여자를 설명합니다. 참여자 모양은 참여자 유형에 따라 다릅니다. 상담사 참여자에는 상담사 프로필, 위치, 팀, 상담사 지원 필드가 포함될 수 있으며, 소비자 및 가상 상담사 참여자에는 유형별 식별자가 포함됩니다. 문서화된 필드의 전체 목록은 참여자를 참고하세요.
참조 대상: 최상위 participants 배열, auto_session_summaries[].participant_id, 처리 기록
기간 행 (객체)
상담사 처리 시간, 대기열 시간, 소비자 처리 시간, 소비자 이벤트 시간, 가상 상담사 처리 시간과 같이 채팅 내에서 측정된 간격을 설명합니다. 각 기간 배열에는 자체 행 모양이 있습니다. 이름이 비슷한 필드는 테이블마다 정밀도나 null 허용 여부가 다를 수 있기 때문입니다.
참조: handle_durations, queue_durations, virtual_agent_handle_durations, consumer_handle_durations, consumer_event_durations
버전 관리 및 지원 중단
채팅 세션 메타데이터 문서는 하위 호환 스키마 진화를 위해 설계되었습니다. 새 필드와 배열은 언제든지 추가될 수 있으며, 통합은 계속되는 기능을 보장하기 위해 인식되지 않는 키를 무시해야 합니다. 다음 필드는 기존 필드이거나 다른 방식으로 대체되었습니다. 이전 버전과의 호환성을 위해 페이로드에 남아 있지만 새 통합은 각 안내를 따라야 합니다.
기존 중복
session_type(문자열):chat_type의 기존 별칭입니다. 항상chat_type과 동일한 값을 반환하고 동일한 기존 enum 어휘를 사용합니다.session_type를 키로 사용하는 통합과의 하위 호환성을 위해 유지됩니다. 새 통합은chat_type를 직접 파싱해야 합니다. 더 세부적인 구분을 위해서는session_type_v2를 파싱해야 합니다 (아래의 어휘 발전 참고).
어휘 진화
chat_type와 session_type_v2은 두 가지 다른 어휘를 사용하여 동일한 기본 채팅 유형을 설명합니다. CCAI Platform은 모든 레코드에서 두 필드를 모두 내보냅니다. 두 필드는 서로 중복되지 않습니다.
chat_type는 기존 enum 어휘를 사용합니다. 메시지 수신 (앱 채팅) 및 메시지 (SMS)와 같은 값은 원래 채팅 유형 카테고리를 설명합니다.session_type_v2은 현재 enum 어휘를 사용합니다. v2 관련 값이 있는 채팅 유형에 더 세분화된 구분을 도입할 수 있습니다. v2 전용 값이 없는 채팅 유형의 경우session_type_v2는chat_type와 동일한 문자열을 반환합니다.
새 통합은 session_type_v2를 파싱해야 합니다. 각 필드의 값은 핵심 정보에 나열되어 있습니다.
부가 필드
시간이 지남에 따라 채팅 세션 메타데이터 페이로드에 새로운 최상위 필드, 중첩된 필드, 배열 항목 필드 또는 enum 값이 추가될 수 있습니다. 통합은 인식할 수 없는 키를 무시하고 가능한 경우 원시 레코드를 보존해야 합니다. 새 속성이 표시될 때 실패하는 엄격한 파싱을 피하세요.