채팅 스크립트 메타데이터

이 문서에서는 채팅 스크립트 메타데이터 레코드의 스키마를 설명합니다. 이는 Contact Center AI Platform (CCAI Platform)에서 완료된 채팅 스크립트에 대해 생성하는 JSON 파일입니다. 채팅 스크립트 메타데이터 레코드는 채팅 기록 JSON 내보내기로 생성되며 인스턴스 구성에 따라 CRM 스크립트 업로드 및 외부 저장소 스크립트 파일을 통해 전송될 수 있습니다. 이 스키마를 사용하여 스크립트 JSON을 파싱하고, 수신된 페이로드를 검증하거나, 스크립트 메시지를 다운스트림 시스템에 매핑합니다.

스키마 루트

채팅 스크립트 메타데이터 레코드는 하나의 채팅 스크립트 아티팩트를 나타내는 단일 JSON 객체입니다. 루트의 필드는 커뮤니케이션, 스크립트 형식 버전, 정렬된 스크립트 항목 집합을 식별합니다.

통신 식별자 comm_type 및 comm_id

comm_type 및 comm_id는 이 스크립트 레코드가 나타내는 커뮤니케이션을 식별합니다.

  • comm_type은 커뮤니케이션 유형을 식별합니다. 값은 일반적으로 chat입니다. 혼합된 SMS 스크립트 콘텐츠가 포함된 음성 통화의 경우 call일 수 있습니다.

  • comm_id는 스크립트로 표현되는 채팅 또는 통화의 식별자입니다.

형식 버전 transcript_version

JSON 스크립트 형식의 버전을 식별합니다. 통합은 이 필드를 사용하여 상위 호환 파싱을 수행하고 인식되지 않는 필드는 무시해야 합니다.

항목 분류자 - entries[].type 및 entries[].body.type

entries의 각 항목은 하나의 스크립트 메시지 또는 이벤트를 나타냅니다. 항목 수준 type 필드는 메일 본문 유형을 미러링합니다. 중첩된 body 객체는 유형에 따라 형태가 달라지는 페이로드(예: text, markdown, photo, noti, action)를 전달합니다.

채팅 스크립트 메타데이터 스키마

이 스키마는 채팅 스크립트의 데이터 구조를 설명합니다. 다음 섹션에서는 핵심 구성요소를 설명합니다.

핵심 스크립트 정보

다음 속성은 스크립트 자체에 대한 기본 정보를 제공합니다.

  • comm_type (문자열): 스크립트가 나타내는 커뮤니케이션 유형입니다. 가능한 값: chat, call. call 값은 SMS 스크립트 콘텐츠가 혼합된 음성 통화를 나타냅니다.

  • comm_id (정수): 스크립트로 표현되는 커뮤니케이션의 고유 식별자입니다.

  • transcript_version (문자열): 스크립트 JSON 형식의 버전입니다. 현재 값은 "1.0"입니다. 버전 관리 및 지원 중단을 참고하세요.

  • assigned_at (문자열, 날짜-시간): 채팅이 할당된 타임스탬프입니다.

  • timezone(문자열): 스크립트 컨텍스트의 시간대(예: "America/Los_Angeles")

스크립트 항목

  • entries (배열): 스크립트 항목의 순서가 지정된 목록입니다. 각 항목은 대화의 메시지, 알림 또는 작업을 나타냅니다.

    • timestamp(정수): 시스템에서 항목을 만든 시점의 유닉스 시간 타임스탬프(초)입니다.

    • type (문자열): 메일 본문 유형입니다. 이 값은 body.type를 미러링합니다. 지원되는 본문 유형은 정의를 참고하세요.

    • body (객체): 항목 페이로드입니다. 모양은 type / body.type 값에 따라 달라집니다.

    • role (문자열): 항목을 생성한 참여자 또는 시스템 구성요소의 역할입니다. 가능한 값: end_user, agent, manager, virtual_agent, external_agent, task_virtual_agent, system.

    • user_data (객체): 발신자 메타데이터입니다. agent, manager, virtual_agent, external_agent, task_virtual_agent 항목의 경우 이 객체에는 발신자의 표시 데이터가 포함됩니다. end_user 및 system 항목의 경우 이 객체는 비어 있습니다.

      • name (문자열, 발신자 메타데이터를 사용할 수 있는 경우에만 표시됨): 발신자의 표시 이름입니다.

      • id (정수, 발신자 메타데이터를 사용할 수 있는 경우에만 표시): 발신자의 식별자입니다.

      • avatar_url (문자열, URI, 발신자 메타데이터를 사용할 수 있는 경우에만 표시됨): 발신자의 아바타 이미지 URL입니다.

문자 메시지 본문

  • text (객체): 일반 텍스트 메시지 본문입니다.

    • type (문자열): 항상 text입니다.

    • content (문자열): 메시지 텍스트입니다.

    • lang (문자열, 언어 메타데이터를 사용할 수 있는 경우에만 표시): 메시지와 연결된 언어 코드입니다.

  • text_template (객체): 템플릿 문자 메시지 본문입니다.

    • type (문자열): 항상 text_template입니다.

    • content (문자열): 템플릿 텍스트입니다.

  • markdown (객체): 마크다운 형식의 메일 본문입니다.

    • type (문자열): 항상 markdown입니다.

    • content (문자열): 마크다운 콘텐츠입니다.

    • lang (문자열, 언어 메타데이터를 사용할 수 있는 경우에만 표시됨): 메시지와 연결된 언어 코드입니다.

  • markdown_template (객체): 템플릿화된 마크다운 메일 본문입니다.

    • type (문자열): 항상 markdown_template입니다.

    • content (문자열): 마크다운 템플릿 콘텐츠입니다.

미디어 및 파일 메시지 본문

  • photo (객체): 사진 또는 스크린샷 메일 본문입니다.

    • type (문자열): 항상 photo입니다.

    • media_id (정수): 저장된 사진 미디어의 식별자입니다.

  • video (객체): 동영상 메시지 본문입니다.

    • type (문자열): 항상 video입니다.

    • media_id (정수, 시스템이 동영상을 CCAI Platform 미디어로 저장할 때 표시됨): 저장된 동영상 미디어의 식별자입니다.

    • title (문자열, 삽입된 동영상 객체가 동영상을 나타내는 경우 표시됨): 동영상의 제목입니다.

    • video (객체, 삽입된 동영상 객체가 동영상을 나타내는 경우 표시됨): 동영상 세부정보입니다.

      • url (문자열, URI): 동영상의 URL입니다.

      • text (문자열): 동영상의 대체 텍스트 또는 대체 URL입니다.

  • image (객체): 이미지 메시지 본문입니다.

    • type (문자열): 항상 image입니다.

    • title (문자열, 메시지 발신자가 제공하는 경우 표시됨): 이미지 제목입니다.

    • image (객체): 이미지 세부정보입니다.

      • url (문자열, URI): 이미지의 URL입니다.

      • text (문자열): 이미지의 대체 텍스트 또는 대체 URL입니다.

  • document (객체): 문서 메시지 본문입니다.

    • type (문자열): 항상 document입니다.

    • media_id (정수, 시스템이 문서를 CCAI Platform 미디어로 저장할 때 표시): 저장된 문서 미디어의 식별자입니다.

    • title (문자열, 삽입된 문서 객체가 문서를 나타내는 경우에 표시됨): 문서의 제목입니다.

    • document (객체, 삽입된 문서 객체가 문서를 나타내는 경우 표시됨): 문서 세부정보입니다.

      • url (문자열, URI): 문서의 URL입니다.

      • text (문자열): 문서의 대체 텍스트 또는 대체 URL입니다.

  • audio (객체): 오디오 메시지 본문입니다.

    • type (문자열): 항상 audio입니다.

    • media_id (정수, 시스템에서 오디오를 CCAI Platform 미디어로 저장할 때 표시됨): 저장된 오디오 미디어의 식별자입니다.

    • title (문자열, 삽입된 오디오 객체가 오디오 파일을 나타내는 경우 표시됨): 오디오 파일의 제목입니다.

    • audio (객체, 삽입된 오디오 객체가 오디오 파일을 나타내는 경우 표시됨): 오디오 세부정보입니다.

      • url (문자열, URI): 오디오 파일의 URL입니다.

      • text (문자열): 오디오 파일의 대체 텍스트 또는 대체 URL입니다.

대화형 메시지 본문

  • inline_button (객체): 인라인 버튼 메시지 본문입니다.

    • type (문자열): 항상 inline_button입니다.

    • title (문자열): 버튼 위에 표시할 제목입니다.

    • buttons (배열): 버튼 정의 목록입니다.

      • title (문자열): 버튼 라벨입니다.

      • action (문자열): 버튼과 연결된 작업입니다.

      • link (문자열, URI, 링크 스타일 빠른 답장에만 있음): 버튼과 연결된 URL입니다.

  • sticky_button (객체): 고정 버튼 메시지 본문입니다.

    • type (문자열): 항상 sticky_button입니다.

    • title (문자열): 버튼 위에 표시할 제목입니다.

    • buttons (배열): 버튼 정의 목록입니다.

      • title (문자열): 버튼 라벨입니다.

      • action (문자열): 버튼과 연결된 작업입니다.

      • link (문자열, URI, 링크 스타일 빠른 답장에만 표시됨): 버튼과 연결된 URL입니다.

  • content_card (객체): 콘텐츠 카드 메시지 본문입니다.

    • type (문자열): 항상 content_card입니다.

    • cards (배열): 콘텐츠 카드 목록입니다.

      • title (문자열): 카드 제목입니다.

      • body (문자열, 카드 본문 텍스트를 구성하는 경우에만 표시됨): 카드 본문 텍스트입니다.

  • form_complete (객체): 소비자가 양식을 작성, 실패 또는 취소할 때 클라이언트가 전송하는 양식 작성 메시지 본문입니다.

    • type (문자열): 항상 form_complete입니다.

    • signature (문자열, 완료 이벤트에 서명이 포함된 경우에만 표시됨): 양식 완료 페이로드의 서명입니다.

    • data (객체): 양식 작성 세부정보입니다.

      • status (문자열): 완료 상태입니다. 가능한 값: success, error, cancelled.

      • smart_action_id (정수): 양식과 연결된 스마트 작업의 식별자입니다.

      • timestamp (문자열, 날짜-시간): 양식 완료 이벤트가 발생한 타임스탬프입니다. 이는 초 단위의 정수 유닉스 시간 타임스탬프인 항목 수준 timestamp와 다릅니다.

      • details (객체, 페이로드에서 추가 완료 세부정보를 제공하는 경우에만 표시됨): 추가 상태 세부정보입니다.

        • error_code (문자열, 코드가 있는 오류에만 표시됨): 완료 결과와 연결된 오류 코드입니다.

        • message (문자열): 인간이 읽을 수 있는 상태 세부정보입니다.

서버 생성 및 패스 스루 메시지 본문

  • server_message (객체): 서버에서 생성된 메일 본문입니다. 스크립트에는 계정에 태스크 가상 에이전트 스크립트 콘텐츠를 사용 설정한 경우에만 server_message 항목이 포함됩니다. 그렇지 않으면 스크립트에서 이러한 항목이 생략됩니다. 스크립트가 저장된 서버 측 메시지를 참조하는 경우 이 객체를 사용합니다.

    • type (문자열): 항상 server_message입니다.

    • message_id (정수): 저장된 서버 메시지의 식별자입니다.

    • visibility (문자열 또는 null): 저장된 서버 메시지의 공개 상태 설정입니다.

  • passthrough (객체): 시스템이 가상 에이전트 또는 CCaaS 통합을 위해 CCAI Platform을 통해 전달하는 커스텀 페이로드입니다. 통합은 CCAI Platform 스키마의 일부가 아닌 content를 정의합니다. 불투명하게 처리합니다.

    • type (문자열): 항상 passthrough입니다.

    • content (문자열 또는 객체): 통합 정의 페이로드입니다. 구조는 통합에 따라 다르며 CCAI Platform은 이를 해석하지 않습니다.

작업 메시지 본문

  • action (객체): 가상 에이전트 또는 챗봇 흐름이 요청하는 작업입니다. action 필드는 작업 페이로드 형태를 결정합니다.

    • type (문자열): 항상 action입니다.

    • action (문자열): 작업 유형입니다. 가능한 값에는 escalation, deflection, end이 포함됩니다.

    • escalation_reason (문자열, action가 escalation인 경우에만 표시됨): 대화가 에스컬레이션된 이유입니다.

    • menu_id (정수, action가 escalation인 경우에만 표시됨): 대화를 에스컬레이션해야 하는 메뉴의 식별자입니다.

    • language (문자열, action가 escalation인 경우에만 표시됨): 대상 대기열의 언어 코드입니다.

    • deflection_type (문자열, action가 deflection인 경우에만 표시됨): 요청된 디플렉션 유형입니다.

    • sip_parameters (객체 또는 null, action가 deflection인 경우에만 표시됨): 편향의 일부로 전달할 SIP 매개변수입니다.

알림 메시지 본문

  • noti (객체): 알림 메시지 본문입니다. 알림은 채팅 중에 발생한 시스템 이벤트를 설명합니다.

    • type (문자열): 항상 noti입니다.

    • event (문자열): 알림 이벤트 이름입니다.

    • agent (객체, 상담사와 연결된 이벤트에만 표시됨): 이벤트와 연결된 상담사입니다.

      • id (정수): 에이전트 식별자입니다.

      • email (문자열, 이메일): 상담사 이메일 주소입니다.

      • name (문자열): 에이전트 표시 이름입니다.

    • from_agent (객체, 소스 상담사가 있는 트랜스퍼 이벤트에만 표시됨): 이벤트의 소스 상담사입니다.

      • id (정수): 에이전트 식별자입니다.

      • email (문자열, 이메일): 상담사 이메일 주소입니다.

      • name (문자열): 에이전트 표시 이름입니다.

    • to_agent (객체, 대상 상담사가 있는 트랜스퍼 또는 에스컬레이션 이벤트에만 표시됨): 이벤트의 대상 상담사입니다.

      • id (정수): 에이전트 식별자입니다.

      • email (문자열, 이메일): 상담사 이메일 주소입니다.

      • name (문자열): 에이전트 표시 이름입니다.

    • from_virtual_agent (객체, 가상 에이전트의 에스컬레이션 이벤트에만 있음): 이벤트의 소스 가상 에이전트입니다.

      • id (정수): 가상 에이전트 식별자입니다.

      • name (문자열): 가상 에이전트 표시 이름

      • avatar_url (문자열, URI 또는 null): 가상 에이전트의 아바타 이미지 URL입니다.

    • to_virtual_agent (객체, 가상 에이전트로의 전송 이벤트에만 표시됨): 이벤트의 대상 가상 에이전트입니다.

      • id (정수): 가상 에이전트 식별자입니다.

      • name (문자열): 가상 에이전트 표시 이름

      • avatar_url (문자열, URI 또는 null): 가상 에이전트의 아바타 이미지 URL입니다.

    • target (문자열, 전송 이벤트에만 표시됨): 전송의 대상 유형입니다. 사용할 수 있는 값으로 menu과 agent이 있습니다.

    • status (문자열, 채팅 상태를 전달하는 이벤트에만 표시됨): 이벤트와 연결된 채팅 상태입니다.

    • timeout (불리언, 제한 시간 관련 이벤트에만 있음): 제한 시간으로 인해 이벤트가 발생했는지 여부입니다.

    • memberIdentity (문자열, 참여자 참여 또는 퇴장 이벤트에만 표시됨): 참여자의 ID입니다.

    • memberName (문자열, 참여자 참여 또는 퇴장 이벤트에만 표시됨): 참여자의 표시 이름입니다.

    • name (문자열, virtual-agent 또는 task-va 이벤트에만 있음): 이벤트와 연결된 표시 이름입니다.

    • reason (문자열, task-va 완료 이벤트에만 있음): task-va 세션이 종료된 이유입니다.

    • escalation_reason (문자열, 에스컬레이션 이벤트에만 표시됨): 에스컬레이션 이유입니다.

    • deflection (객체, 이탈 이벤트에만 표시됨): 이탈 세부정보입니다.

    • detail (객체, 맞춤 알림 이벤트에만 있음): 맞춤 이벤트 세부정보입니다.

      • key (문자열): 맞춤 이벤트 키입니다.

      • data (객체): 맞춤 이벤트 페이로드입니다.

알림 이벤트 이름

event 필드는 알림 이벤트를 식별합니다. 단일 정보 소스 역할을 하는 채팅 제공업체는 다음 목록의 모든 알림 이벤트를 스크립트 JSON에 유지합니다. 목록은 이러한 이벤트를 계열별로 그룹화합니다.

스마트 작업 요청

  • verificationRequested

  • photoRequested

  • videoRequested

  • screenshotRequested

  • textRequested

  • cobrowseRequestedFromAgent

스마트 작업 결과

  • 완료: photoFinished, videoFinished, screenshotFinished, textFinished
  • 취소됨: photoCanceled, videoCanceled, screenshotCanceled, textCanceled
  • 실패: photoFailed, videoFailed, screenshotFailed, textFailed, verificationFailed

인증

  • endUserVerified

화면 공유

  • cobrowseRequestedFromEndUser

  • cobrowseCodeGenerated

  • cobrowseStarted

  • cobrowseEnded

  • cobrowseFailed

설문지

  • formRequested

  • formSent

  • formCompleted

전송

  • transferStarted

  • transferAccepted

  • transferFailed

가상 에이전트 에스컬레이션

  • escalationStarted

  • escalationAccepted

  • escalationDeflected

  • escalationFailed

작업 가상 에이전트

  • taskVaStarted

  • taskVaFinished

멤버십

  • agentJoined

  • memberJoined

  • memberLeft

세션 수명 주기

  • chatEnded

  • chatEndedWithPostSession

  • chatDismissed

  • chatReactivated

  • checkInRequired

  • checkInTimedOut

  • transcriptRequested

  • transcriptUpdated

커스텀

  • custom

comm_type가 call로 설정된 레코드의 경우 추가 통화 스크립트 알림 이벤트가 표시될 수 있습니다. 이러한 이벤트는 일반적인 채팅 이벤트 계열이 아닌 통화 또는 Agent Assist 스크립트 처리와 관련이 있습니다.

정의

다음 하위 스키마는 채팅 스크립트 메타데이터 문서에 표시됩니다. 이 섹션에서는 각 하위 스키마를 한 번 정의합니다. 이를 참조하는 속성 그룹은 인라인으로 형태를 재정의하는 대신 이 섹션을 다시 가리킵니다.

entry (객체)

하나의 스크립트 메시지, 알림 또는 작업을 나타냅니다. 각 항목에는 유닉스 시간 timestamp, 최상위 type, 해당 형태와 일치하는 유형의 body 객체, 발신자 role, user_data 객체가 있습니다. 전체 필드 목록은 스크립트 항목을 참고하세요.

user_data (객체)

발신자 메타데이터를 사용할 수 있는 경우 스크립트 항목의 발신자를 설명합니다. 에이전트, 관리자, 가상 에이전트, 외부 에이전트, 태스크 가상 에이전트 항목은 name, id, avatar_url를 전달할 수 있습니다. 소비자 및 시스템 항목은 빈 객체를 전달합니다.

메일 본문 (객체, oneOf)

각 항목의 body 객체는 body.type 값을 사용하여 지원되는 메일 본문 형태 중 하나를 선택합니다. 지원되는 본문 유형에는 텍스트 본문, 미디어 또는 파일 본문, 대화형 본문, 서버 생성 본문, 작업 본문, 알림 본문이 포함됩니다. 문서화된 변형의 전체 목록은 문자 메시지 본문부터 알림 메시지 본문까지를 참조하세요.

참석자 역할 (문자열, enum)

스크립트 항목의 발신자 카테고리를 식별합니다.

허용되는 값

  • end_user - 소비자

  • agent - 상담사

  • manager - 관리자 참여자입니다.

  • virtual_agent - 가상 에이전트

  • external_agent - 외부 상담사 참여자입니다.

  • task_virtual_agent - 태스크 가상 에이전트

  • system - 시스템에서 생성된 항목입니다.

버전 관리 및 지원 중단

채팅 스크립트 메타데이터 문서는 하위 호환 스키마 변경을 지원합니다. 시스템은 시간이 지남에 따라 새로운 필드와 메일 본문 변형을 추가할 수 있으며, 통합은 지속적인 기능을 보장하기 위해 인식되지 않는 키를 무시해야 합니다.

현재 형식 버전

  • transcript_version (문자열) - 현재 값: "1.0" 통합은 페이로드에 있는 필드를 기반으로 스크립트를 파싱해야 하며, 향후 버전에서 새 필드나 메일 본문 유형을 추가하더라도 실패하지 않아야 합니다.

알 수 없는 메일 본문 유형

스크립트 항목에 인식할 수 없는 type 또는 body.type가 포함된 경우 가능하면 원시 항목을 보존하고 스크립트의 나머지 부분을 계속 파싱합니다. 시스템은 기존 필드의 의미를 변경하지 않고 새로운 메일 본문 유형을 추가할 수 있습니다.

지원 중단된 필드

이 문서에는 채팅 스크립트 메타데이터 레코드의 지원 중단된 필드가 나열되어 있지 않습니다.