Appearance
Chat
이 섹션에는 8개의 이벤트가 포함되어 있습니다.
view_chat_tab
채팅 탭(메신저 surface) 진입
| Platform | Status | Version |
|---|---|---|
| App | ✅ | v1.1.0 |
| Web | ❌ | - |
채팅 탭 진입 직후 1회. 백그라운드→포그라운드 복귀로 같은 화면 유지 시 재발화하지 않음.
| Property | Type | Required | Description |
|---|---|---|---|
source | 'deeplink''push''bottom_tab''etc' | YES | 진입 출처 |
view_chat_thread
채팅방 진입
| Platform | Status | Version |
|---|---|---|
| App | ✅ | v1.1.0 |
| Web | ✅ | v1.1.0 |
채팅방 진입 시(
frontia://chat-thread딥링크 또는 앱 내부 push).thread_id또는soul_id중 하나는 반드시 존재. 햄버거 시트 닫고 본 화면 복귀는 재발화하지 않음.
| Property | Type | Required | Description |
|---|---|---|---|
thread_id | string | NO | 채팅방(스레드) ID |
soul_id | string | NO | 소울 ID |
soul_name | string | NO | 소울 이름 |
character_id | string | NO | 캐릭터 ID (entry/display source) |
source | 'episode_detail''deeplink''push''etc''chat_menu' | YES | 진입 출처 |
click_chat_start
채팅 시작 ("대화하기"/추천 카드 CTA tap)
| Platform | Status | Version |
|---|---|---|
| App | ✅ | v1.1.0 |
| Web | ✅ | v1.1.0 |
| Property | Type | Required | Description |
|---|---|---|---|
soul_id | string | YES | 소울 ID |
soul_name | string | YES | 소울 이름 |
character_id | string | NO | 캐릭터 ID |
entry_source | 'episode_detail''etc''chat_menu' | YES | 진입 출처 |
is_first_thread | falsetrue | YES | 첫 스레드 생성 여부 |
episode_id | nullstring | NO | 에피소드 ID (없을 수 있음) |
send_chat_message
채팅 텍스트 메시지 전송
| Platform | Status | Version |
|---|---|---|
| App | ✅ | v1.1.0 |
| Web | ✅ | v1.1.0 |
user 텍스트 bubble이 클라 측에 즉시 노출되는 시점(서버 ACK 무관).
| Property | Type | Required | Description |
|---|---|---|---|
thread_id | string | YES | 채팅방(스레드) ID |
soul_id | string | YES | 소울 ID |
soul_name | string | YES | 소울 이름 |
bubble_id | string | YES | 클라 생성 bubble uuid |
text_length | number | YES | 텍스트 길이 |
send_chat_photo
채팅 사진 메시지 전송
| Platform | Status | Version |
|---|---|---|
| App | ✅ | v1.1.0 |
| Web | ✅ | v1.1.0 |
user 사진 bubble이 클라 측에 즉시 노출되는 시점(파일 업로드 완료 무관, 큐 진입 시점).
| Property | Type | Required | Description |
|---|---|---|---|
thread_id | string | YES | 채팅방(스레드) ID |
soul_id | string | YES | 소울 ID |
soul_name | string | YES | 소울 이름 |
bubble_id | string | YES | 클라 생성 bubble uuid |
complete_chat_generation
채팅 응답 생성 완료
| Platform | Status | Version |
|---|---|---|
| App | ✅ | v1.1.0 |
| Web | ✅ | v1.1.0 |
generation 성공 응답 직후(동일 generation_id 중복 발화 안 함).
generation_id·star_cost는 FE 미보유라 BE가chat.generation_completedpayload에 추가하면 채움.
| Property | Type | Required | Description |
|---|---|---|---|
thread_id | string | YES | 채팅방(스레드) ID |
soul_id | string | YES | 소울 ID |
soul_name | string | YES | 소울 이름 |
generation_id | string | NO | generation ID (FE 미보유 — BE가 generation_completed payload에 generationId 추가 시 채움) |
input_bubble_count | number | YES | 입력(유저) bubble 수 |
output_bubble_count | number | YES | 출력(소울) bubble 수 |
star_cost | number | NO | 소모 스타 수 (FE 미보유 — BE generation_completed 신호 준비 시 채움) |
response_latency_ms | number | YES | 전송→응답 지연(ms) |
edit_chat_persona
채팅 페르소나(캐릭터가 보는 나) 편집
| Platform | Status | Version |
|---|---|---|
| App | ✅ | v1.1.0 |
| Web | ❌ | - |
User Relational Persona 저장 API 성공 응답 직후.
| Property | Type | Required | Description |
|---|---|---|---|
thread_id | string | YES | 채팅방(스레드) ID |
soul_id | string | YES | 소울 ID |
soul_name | string | YES | 소울 이름 |
toggle_chat_proactive_message_receive
채팅 개인화 선톡 받기 토글
| Platform | Status | Version |
|---|---|---|
| App | ✅ | v1.1.0 |
| Web | ❌ | - |
개인화 선톡 받기 시트를 닫는 시점에 직전 옵트인 상태와 다르면 발화. 시트 내에서 토글 후 다시 원래대로 돌리고 닫으면 발화하지 않음.
| Property | Type | Required | Description |
|---|---|---|---|
soul_id | nullstring | YES | 소울 ID (전역 토글 도입 시 null) |
soul_name | nullstring | YES | 소울 이름 (전역 토글 도입 시 null) |
character_id | string | NO | 캐릭터 ID |
to_state | 'on''off' | YES | 변경된 옵트인 상태 |