- 고객사 : 페어리 캐시백 서비스를 연동한 기업
- 사용자 : 고객사의 앱에 연동된 페어리 캐시백을 서비스를 통해 쇼핑몰 구매를 하는 엔드유저
- 쇼핑몰 : 페어리 캐시백 서비스의 쇼핑몰들(11번가, 테무, 알리익스프레스 등)
- 실적 : 사용자가 쇼핑몰에서 구매한 내역
- 실적 생성 : 실적이 페어리에서 확인됨
- 실적 취소 : 사용자가 구매를 취소함
- 실적 확정 : 구매 확정, 배송 확정 등으로 실적이 확정됨
- 캐시 적립 : 확정된 실적에 대해 커미션을 적립
- SDK 푸시 알림 : 페어리 SDK가 사용자 행동 인식 기능을 통해 사용자에게 구매 유도를 위해 보낸 푸시 알림
- 페어리 웹 콘솔 : https://console.moment.fairytech.ai/
| 컬럼명 | 컬럼 설명(한국) | 자료형 | 자료 최대 길이 | Not Null | 예시 값 | 설명 |
|---|---|---|---|---|---|---|
| id | 고유 식별자 | int (auto_increment) | - | TRUE | 1 | 고객사 DB 데이터 고유 식별자 |
| transactionId | 거래 고유 식별자 | varchar(50) | 50 (현재는 최대 34자이나 향후 호환성 대비) | TRUE | 18000602354821 coupang_8264938130659061_133033257 | 페어리 쪽 거래 데이터 고유 식별자 |
| type | 유형 | enum 또는 varchar(20) | 20 | TRUE | IN_APP NOTIFICATION | IN_APP: 사용자가 고객사 앱을 통해 캐시백에 직접 접속해서 구매한 경우. NOTIFICATION: 사용자가 페어리 SDK 푸시 알림 클릭하여 캐시백에 접속해 구매한 경우. |
| projectId | 프로젝트 고유 식별자 | varchar(24) | 24 | TRUE | 67b6f2a9688f4a05db0a1d45 | 페어리 웹 콘솔에 접속해서 만든 프로젝트의 ID. |
| notificationId | 알림 고유 식별자 | varchar(24) | 24 | FALSE | 6540c6dfd94458b60d8e7aca | 페어리 웹 콘솔에 접속해서 만든 알림 ID. 사용자가 SDK 푸시 알림을 클릭해 구매하지 않은 경우 null 값. |
| userId | 사용자 고유 식별자 | varchar(<고객사 지정값>) | <고객사 지정값> | FALSE | 6182a2f3-2847-43ef-b738-6d5000d9d7fc | 고객사가 사용자별로 생성해서 페어리 캐시백 서비스로 넘겨줬던 사용자의 고유한 식별값. 고객사 자체 앱 서비스의 사용자 식별값과 해당 userId 맵핑 관리 필요. 쇼핑몰 쪽 시스템 누락이나 이상 구매 건으로 userId가 없는 경우가 있음. |
| orderId | 주문 고유 식별자 | varchar(100) | 100 (현재 최대 64자이나 향후 호환성 대비) | TRUE | O24076826846 | 사용자가 쇼핑몰에서 구매한 고유한 주문 ID. 하나의 주문에 여러 구매 물품이 있을 수 있어 orderId는 중복될 수 있음. |
| status | 실적 상태 | enum 또는 varchar(20) | 20 (현재 최대 9자이나 향후 호환성 대비) | TRUE | CREATED CANCELD CONFIRMED | CREATED: 실적이 생성됨 CANCELED: 실적이 취소됨 CONFIRMED: 실적이 확정됨 콜백으로 보내드리는 데이터는 현재는 CREATED만 있으나, CANCELED 등도 추가될 예정 |
| businessId | 쇼핑몰 고유 식별자 | varchar(30) | 30 (현재 최대 18자이나 향후 쇼핑몰 추가시 호환성 대비) | TRUE | emart | 사용자가 구매한 쇼핑몰의 고유한 식별값 |
| businessName | 쇼핑몰 이름 | varchar(50) | 50 (현재 최대 29자이나 향후 쇼핑몰 추가시 호환성 대비) | TRUE | 이마트 | 쇼핑몰의 이름 |
| salesAmount | 총 거래 금액 | float | TRUE | 8363.29 | 사용자가 구매한 금액. 소수점 2째자리까지 | |
| currency | 거래 통화 | enum 또는 varchar(10) | 10 | TRUE | KRW | 거래 통화 |
| totalCommissionAmount | 사용자 캐시백 커미션 금액 | float | TRUE | 167 | 사용자가 실적 확정 시 받게 될 캐시백 커미션 | |
| commissionAmount | 사용자 및 고객사 캐시백 커미션 금액 | float | TRUE | 150.3 | totalCommissionAmount + 고객사가 실적 확정 시 받게 될 커미션 | |
| confirmedEvent | 확정 이벤트 타입 | varchar(30) | 30 (현재 최대 19자이나 향후 호환성 대비) | TRUE | PURCHASE_CONFIRMED PURCHASED USED CHECKOUT DEPARTURE DELIVERY_DONE | 실적 확정 이벤트. PURCHASE_CONFIRMED: 사용자가 구매확정했을 경우 PURCHASED: 구매했을 경우 USED: 티켓 등을 사용했을 경우 CHECKOUT: 숙박 등을 체크아웃했을 경우 DEPARTURE: 비행기 등이 출발했을 경우 DELIVERY_DONE: 배송이 완료됐을 경우 |
| confirmedDurationAmount | 확정 소요 시간 | int | TRUE | 3 | 구매 후 실적 확정까지 걸리는 최대 시간 값 | |
| confirmedDurationUnit | 확정 소요 시간 단위 | varchar(10) | 10 (현재 MONTH만 존재해서 최대 5자이나 향후 호환성 대비) | TRUE | MONTH | 구매 후 실적 확정까지 걸리는 시간의 단위. 현재까지 모든 쇼핑몰 모두 월(MONTH) 단위 |
| transactionCreatedAt | 거래 생성 시점 | Datetime 또는 Timestamp | TRUE | 2025-06-15 9:10:00 | 페어리 쪽 실적 데이터 최초 생성 시간. | |
| transactionUpdatedAt | 거래 변경 시점 | Datetime 또는 Timestamp | TRUE | 2025-06-15 9:11:00 | 페어리 쪽 실적 데이터 마지막 업데이트 시간 | |
| createdAt | DB 생성 시점 | Datetime 또는 Timestamp | TRUE | 2025-06-15 9:11:21 | 고객사 DB 데이터 최초 생성 시간 | |
| updatedAt | DB 변경 시점 | Datetime 또는 Timestamp | TRUE | 2025-06-16 20:48:07 | 고객사 DB 데이터 마지막 업데이트 시간 |