CRM 이벤트 내보내기로 적재되는 FlareLane CRM 이벤트의 스키마입니다.
| 컬럼 | 타입 | 구분 | 설명 |
|---|
| id | string | 공통 | 이벤트 고유 식별자 (ULID) |
| type | string | 공통 | 이벤트 타입. 예: push.sent |
| channel | string | 공통 | 채널 판별자. push / sms / kakaoalimtalk / kakaobrandmessage / email / iam |
| time | string | 공통 | 이벤트 발생 시각 (RFC 3339, UTC) |
| deviceid | string | 공통 | 플레어레인 기기 식별자 |
| userid | string | 공통 | 플레어레인 사용자 식별자 (미식별 사용자 시 null) |
| campaign_id | string | 공유 | 캠페인 식별자 |
| campaign_name | string | 공유 | 캠페인 명칭 |
| trigger_type | string | 공유 | 발송 트리거. api / console / test / journey / recurring / system |
| journey_id | string | 공유 | 자동화 식별자 |
| journey_name | string | 공유 | 자동화 명칭 |
| journey_step_id | string | 공유 | 자동화 액션 식별자 |
| journey_enrollment_id | string | 공유 | 자동화 실행 식별자 |
| recurring_message_id | string | 공유 | 반복 발송 메시지 식별자 |
| sender | string | 공유 | 발신자. SMS=발신번호, Email=발신 이메일 |
| recipient | string | 공유 | 수신자. SMS/Kakao=수신번호, Email=수신 이메일 |
| subject | string | 공유 | 제목. push/sms/email=제목, 알림톡=강조표기형 제목, 브랜드메시지=헤더 |
| body | string | 공유 | 본문 (interpolation 이전 원본). Email은 미포함 |
| template_id | string | 공유 | 템플릿 식별자 (push / kakaoalimtalk / email) |
| template_name | string | 공유 | 템플릿 명칭 (push / kakaoalimtalk / email) |
| provider | string | 공유 | 푸시 공급자. fcm / apns / webpush (Push 전용) |
| provider_message_id | string | 공유 | 공급자 측 메시지 ID (Push 전용) |
| provider_error | string | 공유 | 공급자 측 오류 메시지 (Push 전용) |
| error | string | 공유 | 오류/실패 사유 (failed·undelivered·aborted 시) |
| platform | string | 공유 | 단말 플랫폼. android / ios / webDesktop / webMobile |
| message_type | string | 공유 | 메시지 유형. SMS=SMS/LMS/MMS, Kakao=메시지 유형 |
| is_advertisement | boolean | 공유 | 광고 여부 (SMS / 브랜드메시지) |
| kakaoalimtalk_template_code | string | 채널 고유 | 카카오 검수 템플릿 코드 (알림톡 전용) |
| kakao_sender_key | string | 채널 고유 | 카카오 발신 프로필(채널) 키 (브랜드메시지 전용) |
| iam_group | string | 채널 고유 | 인앱 그룹/분류 (InAppMessage 전용) |
| iam_clickable_id | string | 채널 고유 | CTA 버튼 식별자 (iam.clicked 전용) |
| iam_dont_show_minutes | int | 채널 고유 | "다시 보지 않기" 분 단위 값 (iam.closed 전용). 0/null이면 단순 닫기, 양수면 N분 미노출 |
| projectid | string | 파티션 | 플레어레인 프로젝트 식별자 |
| date | string | 파티션 | time에서 파생된 YYYY-MM-DD (UTC) |
channel 값은 push / sms / kakaoalimtalk / kakaobrandmessage / email / iam 중 하나입니다.
*.created: 발송 요청 생성*.sent: Provider 정상 접수*.aborted: 빈도 제한 / 수신 거부 / Liquid 중단 등 정책·조건 사유로 발송하지 않음. 사유는 error에 담김*.failed: Provider 오류로 발송 실패*.delivered/*.undelivered: 수신 단말 전달 성공/실패
| type | 설명 |
|---|
| push.created | 푸시 발송 요청 생성 (PNS 호출 전) |
| push.sent | 푸시 발송 성공 (PNS 정상 응답) |
| push.aborted | 푸시 발송 중지 (빈도 제한/수신 거부/Liquid 등) |
| push.failed | 푸시 발송 실패 (provider/기술 오류) |
| push.clicked | 사용자가 푸시를 클릭함 |
| type | 설명 |
|---|
| sms.created | SMS 발송 요청 생성 (Provider 호출 전) |
| sms.sent | Provider에 정상 접수됨 |
| sms.aborted | 발송 중지 (빈도 제한/수신 거부/Liquid 등) |
| sms.failed | Provider 접수 실패 |
| sms.delivered | 수신 단말에 전달 완료 (Provider 콜백 기반) |
| sms.undelivered | 수신 단말 전달 실패 (Provider 콜백 기반) |
| type | 설명 |
|---|
| kakaoalimtalk.created | 알림톡 발송 요청 생성 (Provider 호출 전) |
| kakaoalimtalk.sent | Provider에 정상 접수됨 |
| kakaoalimtalk.aborted | 발송 중지 (빈도 제한/수신 거부/Liquid 등) |
| kakaoalimtalk.failed | Provider 접수 실패 |
| kakaoalimtalk.delivered | 수신 단말에 전달 완료 (Provider 콜백 기반) |
| kakaoalimtalk.undelivered | 수신 단말 전달 실패 (Provider 콜백 기반) |
| type | 설명 |
|---|
| kakaobrandmessage.created | 브랜드 메시지 발송 요청 생성 (Provider 호출 전) |
| kakaobrandmessage.sent | Provider에 정상 접수됨 |
| kakaobrandmessage.aborted | 발송 중지 (빈도 제한/수신 거부/Liquid 등) |
| kakaobrandmessage.failed | Provider 접수 실패 |
| kakaobrandmessage.delivered | 수신 단말에 전달 완료 (Provider 콜백 기반) |
| kakaobrandmessage.undelivered | 수신 단말 전달 실패 (Provider 콜백 기반) |
| type | 설명 |
|---|
| email.created | 이메일 발송 요청 생성 |
| email.sent | Provider 접수 완료 |
| email.delivered | 수신 메일서버에 전달 완료 |
| email.failed | Provider 접수 실패 |
| email.aborted | 발송 중지 (빈도 제한/수신 거부/Liquid 등) |
| email.complaint | 스팸 신고 발생 |
| email.opened | 수신자가 이메일을 열람함 |
| email.clicked | 수신자가 이메일 내 링크를 클릭함 |
| type | 설명 |
|---|
| iam.created | 인앱 메시지 노출 요청 생성 (서버 측) |
| iam.displayed | 사용자 단말에서 인앱이 노출됨 (SDK 이벤트) |
| iam.clicked | 사용자가 인앱 CTA 버튼을 클릭함 (SDK 이벤트) |
| iam.closed | 사용자가 인앱을 닫음 (SDK 이벤트) |
각 채널이 채우는 컬럼과 의미입니다. 표에 없는 컬럼은 해당 채널에서 항상 null입니다.
| 컬럼 | 필수 | 설명 |
|---|
| campaign_id | required | 캠페인 식별자 |
| campaign_name | optional | 캠페인 명칭 |
| template_id | optional | 템플릿 식별자 |
| template_name | optional | 템플릿 명칭 |
| subject | optional | 푸시 제목 (interpolation 이전 원본) |
| body | optional | 푸시 본문 (interpolation 이전 원본) |
| trigger_type | optional | api / console / test / journey 등 |
| journey_* | optional | 자동화 컨텍스트 |
| recurring_message_id | optional | 반복 발송 메시지 식별자 |
| platform | required | 단말 플랫폼 |
| provider | optional | 푸시 공급자 (fcm / apns / webpush) |
| provider_message_id | optional | 공급자 측 메시지 ID |
| provider_error | optional | 공급자 측 오류 메시지 |
| error | optional | 오류/실패 사유 |
| 컬럼 | 필수 | 설명 |
|---|
| campaign_id | required | 캠페인 식별자 |
| campaign_name | optional | 캠페인 명칭 |
| message_type | required | 메시지 유형. SMS / LMS / MMS |
| subject | optional | LMS/MMS 제목 |
| body | required | 본문 (interpolation 이전 원본) |
| sender | required | 발신 번호 |
| recipient | optional | 수신 번호 |
| is_advertisement | required | 광고 여부 |
| trigger_type | optional | 발송 트리거 |
| journey_* | optional | 자동화 컨텍스트 |
| recurring_message_id | optional | 반복 발송 메시지 식별자 |
| platform | optional | 단말/발송 플랫폼 |
| error | optional | 오류/실패 사유 |
| 컬럼 | 필수 | 설명 |
|---|
| campaign_id | required | 캠페인 식별자 |
| campaign_name | optional | 캠페인 명칭 |
| template_id | required | 플레어레인 내부 템플릿 식별자 |
| kakaoalimtalk_template_code | required | 카카오 검수 템플릿 코드 |
| template_name | optional | 템플릿 명칭 |
| subject | optional | 강조표기형 제목 |
| body | required | 본문 (interpolation 이전 원본) |
| recipient | required | 수신 번호 |
| message_type | required | 메시지 유형 |
| trigger_type | optional | 발송 트리거 |
| journey_* | optional | 자동화 컨텍스트 |
| recurring_message_id | optional | 반복 발송 메시지 식별자 |
| platform | optional | 단말/발송 플랫폼 |
| error | optional | 오류/실패 사유 |
| 컬럼 | 필수 | 설명 |
|---|
| campaign_id | required | 캠페인 식별자 |
| campaign_name | optional | 캠페인 명칭 |
| kakao_sender_key | optional | 카카오 발신 프로필(채널) 키 |
| body | required | 본문 (interpolation 이전 원본) |
| subject | optional | 메시지 헤더 |
| recipient | required | 수신 번호 |
| message_type | required | 메시지 유형 |
| is_advertisement | optional | 광고 여부 |
| trigger_type | optional | 발송 트리거 |
| journey_* | optional | 자동화 컨텍스트 |
| recurring_message_id | optional | 반복 발송 메시지 식별자 |
| platform | optional | 단말/발송 플랫폼 |
| error | optional | 오류/실패 사유 |
| 컬럼 | 필수 | 설명 |
|---|
| campaign_id | required | 캠페인 식별자 |
| campaign_name | optional | 캠페인 명칭 |
| template_id | required | 템플릿 식별자 |
| template_name | optional | 템플릿 명칭 |
| subject | optional | 메일 제목 |
| sender | required | 발신 이메일 주소 |
| recipient | optional | 수신 이메일 주소 |
| trigger_type | optional | 발송 트리거 |
| journey_* | optional | 자동화 컨텍스트 |
| recurring_message_id | optional | 반복 발송 메시지 식별자 |
| platform | optional | 단말/발송 플랫폼 |
| error | optional | 오류/실패 사유 |
| 컬럼 | 필수 | 설명 |
|---|
| campaign_id | required | 캠페인 식별자 |
| campaign_name | optional | 캠페인 명칭 |
| iam_group | required | 인앱 그룹/분류 |
| trigger_type | optional | console / journey (인앱은 두 가지만 사용) |
| journey_* | optional | 자동화 컨텍스트 |
| platform | optional | 단말 플랫폼. SDK 이벤트 시에만 채워짐 (iam.created에서는 null) |
| iam_clickable_id | optional | CTA 버튼 식별자. iam.clicked 전용 |
| iam_dont_show_minutes | optional | "다시 보지 않기" 분 단위 값. iam.closed 전용. 0/null이면 단순 닫기, 양수면 N분간 미노출 |
고객 이벤트(커스텀 트래킹 이벤트)는 스키마리스 data 속성을 가지며, crm_events와 별도 파이프라인으로 적재됩니다.
| 필드 | 타입 | 필수 | 설명 |
|---|
| id | string | required | 이벤트 고유 식별자 (ULID) |
| type | string | required | 이벤트 타입 |
| time | string | required | 이벤트 발생 시각 (RFC 3339, UTC) |
| projectid | string | required | 플레어레인 프로젝트 식별자 |
| userid | string | optional | 플레어레인 사용자 식별자 (미식별 사용자 시 null) |
| deviceid | string | optional | 플레어레인 기기 식별자 |
| data | string | optional | 이벤트 발행 시 함께 전달한 커스텀 속성 객체. 키·값·타입을 자유롭게 정의하는 스키마리스 값으로, 직렬화(stringify)하여 단일 string 컬럼으로 저장. |
| platform | string | optional | 단말 플랫폼. android / ios / webDesktop / webMobile |