채팅 스크립트 메타데이터

이 문서에서는 채팅 스크립트의 메타데이터를 구조화하는 데 사용되는 JSON 스키마를 설명합니다. 이 스키마는 채팅 대화를 정확하게 표현하고 처리하는 데 필요합니다.

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

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

핵심 스크립트 정보

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

  • comm_type(문자열). 이 스크립트가 속한 커뮤니케이션 유형입니다. 혼합 SMS 기능이 있는 통화의 경우 채팅 또는 통화가 될 수 있습니다.

  • comm_id (정수) 이 스크립트와 관련된 커뮤니케이션(예: 채팅 또는 통화)의 식별자입니다.

  • transcript_version(문자열). 스크립트 형식의 버전입니다. 이는 스크립트를 파싱할 때 이전 버전과의 호환성을 위해 필요합니다.

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

  • timezone(문자열). 채팅이 진행된 시간대입니다.

메시지 정의

definitions 섹션에는 스크립트 내에서 다양한 메시지 유형의 구조를 정의하는 재사용 가능한 스키마 구성요소가 포함되어 있습니다. 이를 통해 다양한 콘텐츠 형식을 유연하게 처리할 수 있습니다.

  • text (객체): 텍스트 메시지를 나타냅니다.

    • type (문자열): 'text'여야 합니다.

    • content (문자열): 메시지의 실제 텍스트 콘텐츠

    • lang (문자열): 텍스트 콘텐츠의 언어

  • text_template (객체): 템플릿 텍스트 메시지를 나타냅니다.

    • type (문자열): text_template이어야 합니다.

    • content (문자열): 텍스트 템플릿 콘텐츠로, 자리표시자가 포함될 수 있습니다.

  • markdown (객체): 마크다운 형식을 사용하여 메시지를 나타냅니다.

    • type (문자열): Markdown이어야 합니다.

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

  • markdown_template (객체): 템플릿화된 마크다운 메시지를 나타냅니다.

    • type (문자열): markdown_template이어야 합니다.

    • content(문자열): 마크다운 템플릿 콘텐츠(자리표시자 포함 가능)

  • photo (객체): 사진이 포함된 메시지를 나타냅니다.

    • type (문자열): photo이어야 합니다.

    • media_id (정수): 사진의 미디어 파일 ID

  • video (객체): 동영상이 포함된 메시지를 나타냅니다.

    • title (문자열): 동영상 제목

    • video (객체): 동영상에 관한 세부정보

      • url (문자열): 동영상의 URL

      • text (문자열): 동영상 URL의 텍스트 대체

    • media_id (정수): 직접 제공되지 않은 경우 동영상 URL을 가져올 미디어 ID

  • image (객체): 이미지가 포함된 메시지를 나타냅니다.

    • title (문자열): 이미지 제목

    • image (객체): 이미지에 관한 세부정보

      • url (문자열): 이미지의 URL

      • text (문자열): 이미지 URL의 텍스트 대체

  • document (객체): 문서를 포함하는 메시지를 나타냅니다.

    • title (문자열): 문서 제목

    • document (객체): 문서에 관한 세부정보

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

      • text (문자열): 문서 URL의 텍스트 대체

  • inline_button (객체): 인라인 버튼 집합을 나타냅니다.

    • title (문자열): 인라인 버튼 세트의 제목

    • buttons (배열): 버튼 객체의 배열

      • title (문자열): 버튼 제목

      • action (문자열): 버튼으로 표시된 작업의 이름

      • link (문자열): 빠른 답장 링크 작업의 URL 링크

  • sticky_button (객체): 고정 버튼 세트를 나타냅니다.

    • title (문자열): 고정 버튼 세트의 제목

    • buttons (배열): 버튼 객체의 배열

      • title (문자열): 버튼 제목

      • action (문자열): 버튼으로 표시된 작업의 이름

      • link (문자열): 빠른 답장 링크 작업의 URL 링크

  • content_card (객체): 콘텐츠 카드를 나타냅니다.

    • cards (배열): 콘텐츠 카드 객체의 배열

      • title (문자열): 콘텐츠 카드의 제목

      • body (문자열): 콘텐츠 카드의 본문 텍스트

  • server_message (객체): 서버에서 가져온 메시지를 나타냅니다.

    • message_id (정수): 저장된 서버 메시지의 ID

    • content (문자열): 서버에서 가져온 메시지의 콘텐츠

  • action (객체): 채팅 중에 취해진 작업을 나타냅니다. 다음 중 하나일 수 있습니다.

    • action_escalation (객체): 에스컬레이션 작업을 나타냅니다.

      • action (문자열): 'escalation'이어야 합니다.

      • escalation_reason (문자열): 에스컬레이션 이유입니다.

      • menu_id (정수): 커뮤니케이션을 에스컬레이션해야 하는 ID

      • language (문자열): 에스컬레이션할 대기열의 ISO 689 언어 코드

    • action_deflection (객체): 차단 작업을 나타냅니다.

      • action (문자열): deflection이어야 합니다.

      • deflection_type (문자열): 전환 유형

      • sip_parameters(객체 또는 null): 전환의 일부로 전달할 SIP 매개변수(있는 경우)

    • action_end (객체): 종료 작업을 나타냅니다.

      • action (문자열): end이어야 합니다.
  • noti (객체): 알림 메시지를 나타냅니다. 다양한 알림 유형 중 하나일 수 있습니다.

    • noti_transfer_started (객체): 전송 시작 알림입니다.

      • type (문자열): noti이어야 합니다.

      • event (문자열): 'transferStarted'여야 합니다.

      • target(문자열): 트랜스퍼의 대상입니다(예: 메뉴 또는 상담사).

      • agent (객체): 트랜스퍼를 시작한 상담사

        • id (정수): 에이전트의 ID

        • email (문자열): 상담사의 이메일

        • name (문자열): 에이전트 이름

    • noti_verification_requested (객체): 인증 요청 알림

    • type (문자열): noti이어야 합니다.

    • event (문자열): verificationRequested이어야 합니다.

    • agent (객체): 인증을 요청하는 에이전트

      • id (정수): 인증을 요청하는 에이전트의 ID

      • email (문자열): 인증을 요청하는 상담사의 이메일

      • name (문자열): 인증을 요청하는 에이전트의 이름

    • noti_end_user_verified (객체): 최종 사용자가 인증된 경우의 알림

      • type (문자열): noti이어야 합니다.

      • event (문자열): endUserVerified이어야 합니다.

    • 기타 noti_\* 유형은 사진 요청, 동영상 요청, 공동 탐색 이벤트, 작업 가상 상담사 이벤트, 상담사 참여, 트랜스퍼 또는 에스컬레이션 상태 변경과 같은 다양한 이벤트의 알림을 정의합니다.

    • noti_custom (객체): 맞춤 알림을 나타냅니다.

      • type (문자열): noti이어야 합니다.

      • event (문자열): custom이어야 합니다.

      • detail (객체): 맞춤 이벤트 세부정보

      • key (문자열): 맞춤 이벤트 세부정보를 나타내는 키

      • data (객체): 맞춤 정의 이벤트 페이로드

스크립트 항목

  • entries (배열): 객체의 배열로, 각 객체는 채팅에서 전송된 개별 메시지를 나타냅니다.

    • timestamp (문자열): 메일이 전송된 시점의 타임스탬프

    • type(문자열): 메시지 유형으로, 앞에서 설명한 정의 중 하나를 참조합니다(예: text, photo, noti).

    • body (객체): 메시지의 콘텐츠로, 메시지 유형에 의해 정의된 구조를 따릅니다. oneOf를 사용하여 다양한 본문 유형을 허용합니다.

    • role (문자열): 메시지를 보낸 참여자의 역할입니다. 가능한 값은 end_user, agent, manager, virtual_agent, external_agent, task_virtual_agent, system입니다.

    • user_data(객체): 메시지를 보낸 사용자의 데이터입니다(end_user 또는 system 메시지가 아닌 경우).

      • name (문자열): 사용자 이름

      • id (정수): 사용자의 고유 ID

    • avatar_url (문자열): 사용자 아바타의 저장소 URL