파트너 추천프로그램 운영방안

  1. 관리자에서 파트너 등록
    - 회원 / 등급 / 시작,만료일
    - 혜택 (제공상품, 이용일) ※ 해당 값이 있을 경우, event_key 생성
  2. 링크 자동생성 & 파트너에게 short url 제공
    https://bati.link/xBZwoXA
  3. 하기 페이지로 리다이렉트
    https://app.bati.ai/signUp?partner_key=902qO4Y1lSe9Lp7wnHzrAQ&event_key=Pjb99vTPht6aVJ08x2n2Dw&templateIdx=1032
  4. partner_key 있으면, 추천인 추가
  5. event_key 있으면, 상품 추가 (베이직,프로,1개월, 2개월 등)
  6. 이후 추천받은 가입자가 구매 시, 이벤트 내역 추가 ※정산적용기간 ex. 12개월
  7. +1m 월말에 정산

파트너용 페이지

  1. short link 뒤에 + 혹은 ! 넣으면 접속현황
    ex. https://bati.link/xBZwoXA+
    + 추천현황 대시보드 제공 (bit.ly)

short url 기능

  1. short link 뒤에 + 혹은 ! 넣으면 접속현황 (bit.ly)
    ex. https://bati.link/xBZwoXA+
    ※ 해당링크에 해당하는 회원만 접속가능
  2. 통계
    - 일별 접속수
    - 바티 로그인 회원명
  3. 링크 만료일 제어 기능
  4. (이후) bati.link 에서 일반 회원들에게도 bit.ly 처럼 단축 URL 생성
    - 마케팅 URL 공유
    - 바티 작업 공유 (excel, pdf, html)
    - 바티 파일 공유
    - 무료회원은 최대 30일 지표


Short url Table

1. t_short_url 테이블 (회원별 URL 관리)

컬럼명 데이터 타입 설명 제약 조건
urlIdx BIGINT 고유 URL ID PRIMARY KEY, IDENTITY(1,1)
memberIdx BIGINT 회원 ID FOREIGN KEY (t_member.mIdx)
shortUrlKey VARCHAR(10) 단축 URL 키 UNIQUE
originalUrl VARCHAR(MAX) 원본 URL
urlEndDate DATE URL 만료일
regDate DATETIME URL 생성일시 DEFAULT GETDATE()

2. t_short_url_visit 테이블 (날짜별 방문 횟수 관리)

컬럼명 데이터 타입 설명 제약 조건
visitIdx BIGINT 방문 기록 고유 ID PRIMARY KEY, IDENTITY(1,1)
urlIdx BIGINT URL ID FOREIGN KEY (t_short_url.urlIdx)
memberIdx BIGINT 회원 ID FOREIGN KEY (t_member.mIdx)
visitDate DATE 방문 날짜
visitCount INT 날짜별 방문 횟수 DEFAULT 1
regDate DATETIME 기록 생성일시 DEFAULT GETDATE()
modDate DATETIME 기록 수정일시 DEFAULT GETDATE()


Partner Table

t_partner_type

파트너 타입에 대한 정보와 혜택 수량 제한, 수익 쉐어 비율 등을 관리합니다.

Column Type Description
partnerTypeIdx INT 파트너 타입 고유 ID
partnerGrade VARCHAR(50) 파트너 등급 (standard, premium, vip 등)
shareRatio FLOAT 기본 수익 쉐어 비율
settlementPeriod 정산적용기간 (ex. 12개월)
additionalBenefit VARCHAR(255) 추가 혜택 설명

t_partner

Column Type Description 서비스로직 개발 참고
partnerIdx INT 파트너 고유 ID
partnerTypeIdx INT 파트너 타입 ID
mIdx INT 회원 ID (t_member와 연동)
partnerStartDate date 파트너 시작일
partnerEndDate date 파트너 자격 만료일
partnerStatus VARCHAR(50) 파트너 상태(active / inactive)
customShareRatio FLOAT 기본 수익 쉐어 비율 맞춤형 비율이 없는 파트너는 **기본 수익 비율(defaultShareRatio)**만 사용하여 간단히 관리
comment VARCHAR(255) 블랙리스트 사유, 메모 등
blacklistYn CHAR(1) 블랙리스트 여부 (Y/N)
regDate DATETIME 생성일
modDate DATETIME 수정일

t_partner_benefit

테이블에서 파트너 링크 관련 세부 정보를 관리합니다:

Column Type Description
benefitIdx INT 베네핏 고유 ID
partnerIdx INT 파트너 ID (t_partner와 연동)
mIdx INT 회원 ID (t_member와 연동)
partnerKey VARCHAR(50) 파트너 암호화 키 (mIdx
eventKey VARCHAR(50) 이벤트 암호화 키 (mIdx
productIdx INT 제공상품
usageDay INT 사용 기간 (예: 30일, 60일 등)
benefitEndDate DATETIME 혜택 만료일
shortUrlIdx INT 단축 URL 연결 매핑키 (t_short_url와 연동)-조회수,링크만료일=혜택만료일

** urlEndDate (없으면 무제한) | | maxIssueCnt | INT | 파트너 타입별 최대 혜택 수량 | | useMemberCnt | INT | 실제 등록된 회원수 (등록될때마다 업데이트 / 초과될 경우 혜택적용불가) | | regDate | DATETIME | 생성일 | | modDate | DATETIME | 수정일 |

가입 이벤트 테이블 (t_partner_event_signup) - 가입시점

파트너 활동을 추적하고, 가입 및 결제와 같은 이벤트를 기록합니다

Column Type Description
signupIdx INT 이벤트 고유 ID
partnerIdx INT 파트너 ID (t_partner와 연동)
mIdx INT 회원 ID (t_member와 연동)
refMemberIdx INT 추천받은 사용자 ID (t_member와 연동)
code VARCHAR(255) 캠페인 코드 (선택적)
regDate DATETIME 가입 이벤트 발생 날짜
modDate DATETIME 이벤트 수정 날짜

결제 이벤트 테이블 (t_partner_event_payment) - 결제시점

Column Type Description
paymentIdx INT 이벤트 고유 ID
partnerIdx INT 파트너 ID (t_partner와 연동)
mIdx INT 회원 ID (t_member와 연동)
refMemberIdx INT 추천받은 사용자 ID (t_member와 연동)
productIdx INT 구매한 상품 ID (t_product와 연동)
paymentAmount DECIMAL(10,2) 결제된 금액
shareRatio FLOAT 실제 적용된 수익 쉐어 비율
revenueShare DECIMAL(10,2) 파트너에게 배분된 수익
payoutStatus VARCHAR(50) 정산 상태 (처리 중, 완료 등)
payoutDate DATETIME 정산된 날짜 (배치 실행일)
regDate DATETIME 결제 이벤트 발생 날짜
modDate DATETIME 이벤트 수정 날짜