이 문서에서는 채팅 스크립트의 메타데이터를 구조화하는 데 사용되는 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(문자열): 동영상의 URLtext(문자열): 동영상 URL의 텍스트 대체
media_id(정수): 직접 제공되지 않은 경우 동영상 URL을 가져올 미디어 ID
image(객체): 이미지가 포함된 메시지를 나타냅니다.title(문자열): 이미지 제목image(객체): 이미지에 관한 세부정보url(문자열): 이미지의 URLtext(문자열): 이미지 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(정수): 저장된 서버 메시지의 IDcontent(문자열): 서버에서 가져온 메시지의 콘텐츠
action(객체): 채팅 중에 취해진 작업을 나타냅니다. 다음 중 하나일 수 있습니다.action_escalation(객체): 에스컬레이션 작업을 나타냅니다.action(문자열): 'escalation'이어야 합니다.escalation_reason(문자열): 에스컬레이션 이유입니다.menu_id(정수): 커뮤니케이션을 에스컬레이션해야 하는 IDlanguage(문자열): 에스컬레이션할 대기열의 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(정수): 에이전트의 IDemail(문자열): 상담사의 이메일name(문자열): 에이전트 이름
noti_verification_requested(객체): 인증 요청 알림type(문자열):noti이어야 합니다.event(문자열):verificationRequested이어야 합니다.agent(객체): 인증을 요청하는 에이전트id(정수): 인증을 요청하는 에이전트의 IDemail(문자열): 인증을 요청하는 상담사의 이메일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