📖 Adit 서비스 가이드에 오신 것을 환영합니다!
📖 용어 및 상태값 정리

용어 및 상태값 정리

Adit 서비스에서 사용하는 용어, 데이터 구조, 상태값을 정리했습니다.


참여자

참여자설명시스템
광고주 (Advertiser)캠페인을 의뢰하고 비용을 지불광고주 프론트
파트너 (Partner)콘텐츠를 제작/업로드하고 정산금 수령파트너 콘솔
대행사 (Agency)정산을 중개하는 주체 (Adit, 미드나잇웨이브 등)어드민
채널 (Channel)파트너가 운영하는 SNS 계정파트너 콘솔

데이터 관계도

전체 구조

┌─────────────┐         ┌─────────────┐         ┌─────────────┐
│  Advertiser │         │   Partner   │         │   Agency    │
│   (광고주)   │         │   (파트너)   │         │   (대행사)   │
└──────┬──────┘         └──────┬──────┘         └──────┬──────┘
       │                       │                       │
       │                       ▼                       │
       │               ┌─────────────┐                 │
       │               │   Channel   │                 │
       │               │   (채널)    │                 │
       │               └──────┬──────┘                 │
       │                      │                        │
       ▼                      ▼                        ▼
┌────────────────────────────────────────────────────────────┐
│                         Campaign                            │
│                          (캠페인)                           │
│  • advertiserId, partnerId, channelId                       │
│  • agencyId (정산 주체)                                      │
│  • settlementType (ADIT_SETTLEMENT / DIRECT_INVOICE)        │
└─────────────────────────────┬──────────────────────────────┘

                              │ 1:1 (업로드 완료 시 자동 생성)

┌────────────────────────────────────────────────────────────┐
│                        Settlement                           │
│                          (정산)                             │
│  • campaignId (1:1)                                         │
│  • advertiserInvoiceId (N:1) - 청구서 연결                   │
│  • partnerPayoutId (N:1) - 지급 연결                         │
└────────────┬───────────────────────────────┬───────────────┘
             │                               │
             ▼                               ▼
┌────────────────────────┐       ┌────────────────────────┐
│   AdvertiserInvoice    │       │     PartnerPayout      │
│    (광고주 청구서)      │       │     (파트너 지급)       │
│  • 건별 또는 월별 합산  │       │  • 건별 또는 월별 합산   │
└────────────────────────┘       └────────────────────────┘

정산 3계층 구조

계층모델설명관계
1계층Settlement캠페인 단위 정산 레코드캠페인 1건 = 정산 1건
2계층-AAdvertiserInvoice광고주에게 발행하는 청구서건별: 1:1 / 월별: N:1
2계층-BPartnerPayout파트너에게 지급하는 배치건별: 1:1 / 월별: N:1

캠페인 상태 (CampaignStatus)

상태코드설명
🟠 광고주 대기PENDING_ADVERTISER광고주가 등록, 파트너 검토 전
🟡 대기PENDING파트너/어드민 확정 대기
🟢 확정CONFIRMED캠페인 확정, 진행 예정
🔵 진행 중IN_PROGRESS콘텐츠 제작/업로드 기간
업로드 완료UPLOADED콘텐츠 업로드됨, 정산 대기
💰 완료COMPLETED정산까지 모두 완료
거절REJECTED파트너가 거절
🔴 취소CANCELLED캠페인 취소

상태 전이 다이어그램

PENDING_ADVERTISER ──→ PENDING ──┬──→ CONFIRMED ──→ IN_PROGRESS ──→ UPLOADED ──→ COMPLETED
                                 │         │              │
                                 │         ▼              ▼
                                 │    CANCELLED      CANCELLED

                                 └──→ REJECTED

사용자별 상태 변경 권한

현재 상태가능한 액션
PENDING취소 (삭제)
그 외액션 없음 (조회만)

광고주는 PENDING 상태에서만 캠페인을 취소(삭제)할 수 있습니다.


정산 상태 (SettlementStatus)

상태코드설명
🕐 정산 대기SETTLEMENT_PENDING파트너 정산 요청 전
📤 결제 대기AWAITING_ADVERTISER_PAYMENT파트너가 정산 요청함, 광고주 입금 대기
결제 완료ADVERTISER_PAID광고주 입금 확인됨
🔄 지급 처리 중PARTNER_PAYOUT_PROCESSING파트너 지급 처리 중
💰 정산 완료SETTLEMENT_COMPLETED파트너 송금 완료
정산 취소SETTLEMENT_CANCELLED정산 취소

정산 방식별 플로우

ADIT_SETTLEMENT - Adit/대행사가 중개

SETTLEMENT_PENDING (정산 대기)

      │ [파트너] 정산 요청

AWAITING_ADVERTISER_PAYMENT (결제 대기)

      │ [어드민] 세금계산서 발급 → 광고주에게 발송
      │ [어드민] 입금 확인

ADVERTISER_PAID (결제 완료)

      │ [어드민] 파트너 지급 시작

PARTNER_PAYOUT_PROCESSING (지급 처리 중)

      │ [어드민] 정산 완료

SETTLEMENT_COMPLETED (정산 완료)

      └─→ 캠페인 상태도 COMPLETED로 변경

청구서 상태 (InvoiceStatus)

광고주에게 발행하는 청구서 상태입니다.

상태코드설명
📝 초안DRAFT청구서 생성됨, 세금계산서 미발행
📤 발행됨ISSUED세금계산서 발행됨, 입금 대기
입금 완료PAID광고주 입금 확인됨
⚠️ 연체OVERDUE납기일 초과
취소CANCELLED청구서 취소

지급 상태 (PayoutStatus)

파트너에게 송금하는 지급 상태입니다.

상태코드설명
🕐 대기PENDING지급 배치 생성됨, 세금계산서 미수령
📥 세금계산서 수령INVOICE_RECEIVED파트너 세금계산서 수령 확인
🔄 처리 중PROCESSING송금 처리 중
완료COMPLETED송금 완료
취소CANCELLED지급 취소

정산 유형 (SettlementType)

유형코드설명수수료
Adit 정산ADIT_SETTLEMENT광고주 → 대행사 → 파트너있음
매체사 직정산DIRECT_INVOICE광고주 → 파트너 직접없음 (0%)

청구/지급 유형

유형코드설명
건별PER_CAMPAIGN캠페인 1건 = 청구서/지급 1건
월별MONTHLY여러 캠페인 합산하여 청구/지급
💡

현재는 건별 정산만 지원됩니다. 월별 정산은 추후 지원 예정입니다.


슬롯 (PartnerSlot)

파트너의 날짜별 캠페인 예약 가능 여부를 관리합니다.

필드설명기본값
date날짜-
isAvailable예약 가능 여부true
maxCampaigns최대 캠페인 수 (0=무제한)0
currentCampaigns현재 예약된 캠페인 수0

슬롯 카운트 변화

시점변화
캠페인 생성+1
캠페인 업로드 완료-1
캠페인 완료-1
캠페인 취소-1
캠페인 거절-1

슬롯 반환은 최초 1회만 발생합니다 (중복 반환 방지).


금액 계산

정산금 계산 (ADIT 정산)

수수료 금액 = 캠페인 가격 × 수수료율
정산금 (공급가액) = 캠페인 가격 - 수수료 금액
파트너 수령액 = 정산금 + VAT(10%)

예시 (캠페인 100만원, 수수료 10%):

항목금액
캠페인 가격1,000,000원
수수료 (10%)100,000원
정산금900,000원
VAT90,000원
파트너 수령액990,000원

매체사 직정산

수수료가 0%이므로 캠페인 가격 전액 + VAT가 파트너 수령액입니다.


주요 필드 설명

Campaign

필드설명
settlementType정산 유형 (ADIT_SETTLEMENT / DIRECT_INVOICE)
commissionRate캠페인별 수수료율 (null이면 파트너 기본값)
agencyId담당 대행사 ID (ADIT 정산 시 정산 주체)
uploadDate업로드 예정일
status캠페인 상태

Settlement

필드설명
campaignPrice캠페인 가격 (스냅샷)
commissionRate수수료율
commissionAmount수수료 금액
settlementAmount정산금 (파트너 수령액)
requestedAt정산 요청 일시
completedAt정산 완료 일시
invoiceIssuedAt세금계산서 발급일 (DIRECT_INVOICE)
invoicePaidAt입금 확인일 (DIRECT_INVOICE)

상태 이모지 빠른 참조

캠페인

🟠🟡🟢🔵💰🔴
광고주대기대기확정진행중업로드완료완료거절취소

정산

🕐📤🔄💰
정산대기결제대기결제완료지급처리중정산완료취소