이 문서에서는 채팅 스크립트의 메타데이터를 구조화하는 데 사용되는 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(객체): 최종 사용자 또는 시스템 메시지가 아닌 경우 메시지를 보낸 사용자의 데이터입니다.name(문자열): 사용자의 이름입니다.id(정수): 사용자의 고유 ID입니다.
avatar_url(문자열): 사용자 아바타의 저장 URL입니다.