Main API
캠페인 지원 API
캠페인 지원자 관리 API
캠페인 지원 API
캠페인 지원자(희망자) 관리 API입니다.
Base URL: /ai/collab-applicants
인증 정보
| 항목 | 값 |
|---|---|
| 인증 필요 | 예 |
| 인증 방식 | JWT Bearer Token |
엔드포인트 목록
| 메서드 | 경로 | 설명 | 인증 |
|---|---|---|---|
POST | /ai/collab-applicants | 캠페인 지원 신청 | 필요 |
API 상세
캠페인 지원 신청
캠페인에 지원 신청을 합니다.
HTTP 요청
POST /ai/collab-applicants
Authorization: Bearer {access_token}
Content-Type: application/jsonRequest Body
{
"collabNo": 123,
"message": "지원 메시지",
"expectedPrice": 100000
}Request Body 스키마 (CollabApplicantRequestDto)
| 필드명 | 타입 | 필수 | 설명 |
|---|---|---|---|
collabNo | int | 예 | 캠페인 번호 |
message | string | 아니오 | 지원 메시지 |
expectedPrice | int | 아니오 | 희망 단가 |
응답
성공 응답 (201 Created)
{
"status": 201,
"code": null,
"message": "신청자가 저장되었습니다.",
"data": {
"id": 456,
"collabNo": 123,
"memberId": "influencer_001",
"status": "PENDING",
"appliedAt": "2024-01-15T10:00:00"
}
}Response 스키마 (CollabApplicantResponseDto)
| 필드명 | 타입 | 설명 |
|---|---|---|
id | long | 지원 ID |
collabNo | int | 캠페인 번호 |
memberId | string | 지원자 ID |
status | string | 지원 상태 |
appliedAt | string | 지원 일시 |
지원 상태
| 상태 | 설명 |
|---|---|
PENDING | 대기 중 |
SELECTED | 선정됨 |
REJECTED | 거절됨 |
WITHDRAWN | 철회됨 |
자동 가격 협상
캠페인 지원 시 크리에이터의 선정 이력과 희망가에 따라 자동으로 가격 협상이 생성됩니다.
자동 가격 협상은 캠페인 지원 API 호출 후 내부적으로 자동 실행되며, 별도의 API 호출이 필요하지 않습니다.
처리 흐름
캠페인 지원 (POST /ai/collab-applicants)
└─ 자동 가격 협상 실행
├─ 희망가 없음 → 미발송
├─ 자동 수락 조건 충족 → ACCEPT 생성 (희망가 기준)
├─ 5회 이상 선정 + 조건 미충족 → PENDING 생성 (평균가 기준) + 이메일 발송
└─ 5회 미만 선정 + 조건 미충족 → 미발송자동 수락 조건
크리에이터의 랭킹가격과 희망가를 비교하여 자동 수락 여부를 판단합니다.
| 조건 | 결과 |
|---|---|
| 랭킹가격 ≥ 30만원 | 자동수락 시스템 미작동 |
| 랭킹가격 > 22만원 + 팔로워 대비 평균조회수 20% 미만 | 자동수락 제외 |
| 희망가 ≤ 랭킹가격 | 자동 수락 |
| 10만원 ≤ 랭킹가격 ≤ 22만원 + 희망가 ≤ 랭킹가격 + 1만원 | 자동 수락 |
| 랭킹가격 > 22만원 + 희망가 ≤ 랭킹가격 + 2만원 | 자동 수락 |
| 그 외 | 자동 수락 미충족 |
평균가 계산 (5회 이상 선정 크리에이터)
자동 수락 조건을 충족하지 못한 5회 이상 선정 크리에이터에게는 최근 5회 수락 가격의 평균으로 제안됩니다.
- 최근 5회 선정된 캠페인에서 ACCEPT된 가격의 평균
- 만원 단위 올림 적용 (예: 152,000원 → 160,000원)
가격 계산 로직
자동 수락/평균가 제안 모두 동일한 계산 로직을 적용합니다.
모든 가격 계산 결과는 만원 단위 올림 처리됩니다.
예: 152,000원 → 160,000원 / 150,000원 → 150,000원
글특가 (currentPrice) 계산
글특가 = 만원올림(기준가 × (1 + 수수료율/100))- 기준가: 자동 수락 시 희망가, 평균가 제안 시 평균가
- 수수료율: 캠페인의
feeValue(feeType이 PERCENT인 경우에만 적용) - feeType이 PERCENT가 아니거나 feeValue가 없으면 수수료 미적용
기존가 (quotePrice) 계산
기존가 = 만원올림(글특가 × 1.5)계산 예시
| 항목 | 값 |
|---|---|
| 기준가 (희망가/평균가) | 150,000원 |
| 캠페인 수수료 (feeValue) | 10% |
| 글특가 | 만원올림(150,000 × 1.1) = 만원올림(165,000) = 170,000원 |
| 기존가 | 만원올림(170,000 × 1.5) = 만원올림(255,000) = 260,000원 |
Node API 가격 업데이트
자동 수락 및 평균가 제안 모두 Node API를 통해 TB_APPLICATION_MATCHING 테이블의 가격 필드를 업데이트합니다.
PUT /progress-table/bulk-update-quote-price{
"items": [
{
"applicationId": 123,
"quote_price": 260000,
"current_price": 170000
}
]
}| 필드 | 설명 | 계산 |
|---|---|---|
current_price | 글특가 (광고주에게 노출되는 가격) | 기준가 × (1 + 수수료율) 만원올림 |
quote_price | 기존가 (기준 가격) | 글특가 × 1.5 만원올림 |
PriceNegotiation 상태
| 상태 | 설명 | 발생 조건 |
|---|---|---|
ACCEPT | 수락 (자동) | 자동 수락 조건 충족 시 |
PENDING | 대기 (제안 발송) | 5회 이상 선정 + 자동 수락 미충족 시 |
REJECT | 거절 | 크리에이터가 제안 거절 시 |