채팅 스크립트 메타데이터

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

스키마 루트

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

통신 식별자 comm_typecomm_id

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

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

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

형식 버전 transcript_version

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

항목 구분자 - entries[].typeentries[].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(정수): 시스템에서 항목을 생성한 시점의 Unix epoch 타임스탬프(초)입니다.

    • 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_usersystem 항목의 경우 이 객체는 비어 있습니다.

      • 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 (문자열, 날짜-시간): 양식 작성 이벤트가 발생한 타임스탬프입니다. 이는 초 단위의 정수 Unix 에포크 타임스탬프인 엔트리 레벨 timestamp와는 다릅니다.

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

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

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

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

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

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

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

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

  • passthrough (객체): 시스템이 가상 에이전트 또는 CCaaS 통합을 위해 CCAI 플랫폼을 통해 전달하는 맞춤 페이로드입니다. 통합에서 CCAI 플랫폼 스키마에 포함되지 않은 content를 정의합니다. 이를 불투명으로 취급하세요.

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

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

작업 메시지 본문

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

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

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

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

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

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

    • deflection_type (문자열, actiondeflection인 경우에만 표시됨): 요청된 전환 유형입니다.

    • sip_parameters (객체 또는 null, actiondeflection인 경우에만 표시됨): 전환의 일부로 전달할 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 (문자열, 전송 이벤트에만 표시됨): 전송의 대상 유형입니다. 가능한 값은 menuagent입니다.

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

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

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

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

    • name (문자열, 가상 상담사 또는 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, cobrowseCanceled

  • 실패: photoFailed, videoFailed, screenshotFailed, textFailed, verificationFailed

인증

  • endUserVerified

공동 탐색

  • cobrowseRequestedFromEndUser

  • cobrowseCodeGenerated

  • cobrowseStarted

  • cobrowseEnded

  • cobrowseFailed

설문지

  • formRequested

  • formSent

  • formCompleted

전송

  • transferStarted

  • transferAccepted

  • transferFailed

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

  • escalationStarted

  • escalationAccepted

  • escalationDeflected

  • escalationFailed

작업 가상 에이전트

  • taskVaStarted

  • taskVaFinished

멤버십

  • memberJoined

  • memberLeft

세션 수명 주기

  • chatEnded

  • chatEndedWithPostSession

  • chatDismissed

  • checkInRequired

  • checkInTimedOut

  • transcriptRequested

  • transcriptUpdated

커스텀

  • custom

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

정의

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

entry (객체)

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

user_data (객체)

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

메일 본문 (객체, oneOf)

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

참여자 역할 (문자열, 열거형)

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

허용되는 값

  • end_user - 소비자

  • agent - 상담사

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

  • virtual_agent - 가상 에이전트

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

  • task_virtual_agent - 작업 가상 에이전트입니다.

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

버전 관리 및 지원 중단

채팅 스크립트 메타데이터 문서는 이전 버전과 호환되는 스키마 변경을 지원합니다. 시간이 지남에 따라 시스템에서 새 필드와 메시지 본문 변형을 추가할 수 있으며, 통합에서는 계속 작동하도록 인식되지 않는 키를 무시해야 합니다.

현재 형식 버전

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

알 수 없는 메시지 본문 유형

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

지원 중단된 필드

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