채팅 세션 메타데이터

이 문서에서는 채팅 세션 메타데이터 레코드의 스키마를 설명합니다. 메타데이터 레코드는 Contact Center AI Platform에서 지원 채팅 세션에 대해 만드는 JSON 문서입니다. CCAI Platform은 채팅 session-end 명령어의 일부로 메타데이터 레코드를 CRM 통합에 전달합니다. 외부 스토리지를 사용 설정하면 CCAI Platform은 metadata.json 파일을 사용하여 외부 스토리지 구성에 레코드를 작성합니다. 각 채팅은 하나의 레코드를 생성하며, 이 레코드는 최상위 수준 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)와 같은 기존 enum 어휘를 사용합니다.

  • session_type: 항상 chat_type와 동일한 문자열을 반환합니다. 이 필드를 키로 사용하는 통합과의 하위 호환성을 위해 존재하며 chat_type의 지원 중단된 별칭으로 취급합니다.

  • session_type_v2: 현재 enum 어휘를 사용합니다. 여기에는 메시지 인바운드 (모바일 채팅)와 같은 더 세분화된 구분이 포함될 수 있습니다. 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 via API)", "Messaging Inbound (SMS Direct)", "Messaging Outbound (SMS Direct)", "Messaging Outbound (SMS Direct via 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 (문자열, 날짜-시간): 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 또는 Apps API에서 제공하는 안전하게 서명된 맞춤 데이터입니다.

  • custom_data_not_secured (객체 또는 null): SDK 또는 Apps 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 (배열): 채팅 중 전송 이벤트당 항목 1개입니다. 상담사, 가상 에이전트, 메뉴 간의 전송을 기록합니다.

    • 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 (문자열, 날짜-시간): 종료 타임스탬프입니다.

    • 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 (문자열, 날짜-시간): 종료 타임스탬프입니다.

소비자 처리 기간

  • 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 (배열): 소비자 채팅 이벤트의 세부정보입니다 (예: CSAT, 결제).

    • id (정수): 고유 식별자입니다.

    • duration(정수): 이벤트 지속 시간(초)입니다.

    • type (문자열): 이벤트 유형입니다. 가능한 값은 "csat"입니다.

    • event (문자열): 이벤트 결과입니다. 가능한 값은 "finished" 및 "abandoned"입니다.

    • menu_path_id (정수): 메뉴 경로 ID입니다.

    • menu_path (문자열): 메뉴 경로입니다.

    • lang (문자열): 언어입니다.

    • started_at (문자열, 날짜-시간): 시작 타임스탬프입니다.

    • ended_at (문자열, 날짜-시간): 종료 타임스탬프입니다.

참여자

  • 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 Platform에서 캡처하지 않으면 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 Platform에서 소비자에게 체크인 모달을 표시한 타임스탬프입니다. CCAI Platform에 체크인 모달이 표시된 경우에만 표시됩니다.

    • 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 (문자열, 날짜-시간): SDK가 닫혀 제한 시간 모달 흐름이 종료된 시점의 타임스탬프입니다. 제한 시간 후 SDK가 종료된 경우에만 표시됩니다.

혜택 이벤트

  • offer_type (문자열 또는 null): CCAI Platform이 에이전트에게 채팅을 제공한 방식입니다.

  • 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 Platform에서 할당한 처리 코드 식별자입니다. 코드의 안정적인 키입니다 (코드 표시 이름은 변경될 수 있음). 사용할 수 없는 경우 빈 문자열입니다.

    • list (문자열): 코드가 속한 목록의 이름입니다.

    • list_path (문자열): 슬래시로 구분된 코드 목록의 경로입니다.

    • ujet_list_id (정수 또는 빈 문자열): CCAI Platform에서 할당한, 처리 코드에 속하는 목록의 식별자입니다. 목록의 안정적인 키입니다. 사용할 수 없는 경우 빈 문자열입니다.

    • 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 필드, 각 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 (문자열, enum)

트랜스퍼와 연결된 전환 상태입니다. 값은 <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_extension

  • IVR 사전 세션: ivr_presession_deflection

  • 가상 에이전트 리디렉션(가상 에이전트가 채팅을 리디렉션한 경우): va_redirection_phone, va_redirection_sip

참조: 각 transfers[].deflection (가상 에이전트가 에스컬레이션을 방지함에서 가상 에이전트가 에스컬레이션을 방지함은 별도의 더 작은 방지 어휘를 사용하며, 여기에 인라인으로 문서화되어 있습니다.)

transfer (객체)

채팅 중에 발생한 트랜스퍼를 설명합니다. 전송을 통해 메뉴, 상담사, 가상 에이전트 간에 채팅을 이동할 수 있습니다. 전체 필드 목록은 채팅 전송을 참조하세요.

참조 위치: 최상위 transfers 배열 문서 전체에서 transfer_id라는 다른 필드는 인라인 처리된 transfer 객체가 아닌 전송의 id에 대한 정수 참조입니다.

participant (객체)

채팅의 한 참여자를 설명합니다. 참여자 형태는 참여자 유형에 따라 다릅니다. 상담사 참여자에는 상담사 프로필, 위치, 팀, Agent Assist 필드가 포함될 수 있으며, 소비자 및 가상 에이전트 참여자에는 유형별 식별자가 포함됩니다. 문서화된 필드의 전체 목록은 참여자를 참조하세요.

참조 위치: 최상위 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 값이 추가될 수 있습니다. 통합은 인식할 수 없는 키를 무시하고 가능한 경우 원시 레코드를 보존해야 합니다. 새 속성이 표시될 때 실패하는 엄격한 파싱은 피하세요.