Admin APIAdmin Dashboard API
GET /ai/admin/dashboard/{campaignNo}/cross-campaign-applicants
타 캠페인 신청자 불러오기
타 캠페인 신청자 불러오기
여러 소스 캠페인의 신청자를 합산 조회합니다. 동일 인플루언서 중복 제거 후 기협업자 → 기노출자 → 일반 → 기등록자 순으로 정렬하여 반환합니다.
HTTP 요청
GET /ai/admin/dashboard/{campaignNo}/cross-campaign-applicants
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
campaignNo | Long | 예 | 현재 캠페인 번호 |
Query Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
sourceCampaignNos | List<Integer> | 예 | - | 소스 캠페인 번호 목록 (쉼표 구분, 예: 100,200,300) |
excludeExposed | Boolean | 아니오 | false | true이면 기노출자 제외 (기등록자는 항상 포함) |
excludeCollaborated | Boolean | 아니오 | false | true이면 기협업자 제외 (기등록자는 항상 포함) |
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "타 캠페인 신청자 조회 성공",
"data": {
"items": [
{
"influenceNo": 123,
"influenceName": "크리에이터A",
"influenceProfileImage": "https://...",
"influenceTel": "010-1234-5678",
"influenceEmail": "creator@email.com",
"followerCount": "15200",
"averageViewCount": "3500",
"influenceRankScore": "A",
"flags": [
{ "flagId": 1, "flagName": "우수 크리에이터", "color": "#FF0000" }
],
"applicantStatus": "COLLABORATED",
"alreadyRegistered": false
},
{
"influenceNo": 456,
"influenceName": "크리에이터B",
"influenceProfileImage": "https://...",
"influenceTel": "010-9876-5432",
"influenceEmail": "creator2@email.com",
"followerCount": "8500",
"averageViewCount": null,
"influenceRankScore": "B",
"flags": [],
"applicantStatus": "GENERAL",
"alreadyRegistered": true
}
],
"totalCount": 2
}
}응답 필드 설명
data 객체
| 필드 | 타입 | 설명 |
|---|---|---|
items | Array | 신청자 목록 |
totalCount | Integer | 전체 항목 수 |
items 배열 내 각 항목
| 필드 | 타입 | 설명 |
|---|---|---|
influenceNo | Integer | 인플루언서 번호 |
influenceName | String | 인플루언서 이름 |
influenceProfileImage | String | 프로필 이미지 URL |
influenceTel | String | 전화번호 |
influenceEmail | String | 이메일 |
followerCount | String | 팔로워 수 |
averageViewCount | String | 평균 조회수 |
influenceRankScore | String | 랭크 점수 (priceTier) |
flags | Array | 플래그 목록 |
applicantStatus | String | 소스 캠페인 이력 상태 (아래 참고) |
alreadyRegistered | Boolean | 현재 캠페인에 이미 등록된 신청자 여부 |
applicantStatus 값
| 값 | 설명 |
|---|---|
COLLABORATED | 기협업자 — 소스 캠페인에서 selectionStatus=SELECTED |
EXPOSED | 기노출자 — 소스 캠페인에서 adminVisible=true (미선정) |
GENERAL | 일반 — 위 해당 없음 |
정렬 순서
기협업자 → 기노출자 → 일반 → 기등록자 (alreadyRegistered=true) 순으로 정렬됩니다. 기등록자는 항상 목록 맨 뒤에 위치합니다.
제외 필터 동작
excludeExposed=true 또는 excludeCollaborated=true 필터는 alreadyRegistered=false인 신청자에게만 적용됩니다. 기등록자는 필터 설정과 무관하게 항상 포함됩니다.
중복 제거 로직
동일 인플루언서가 여러 소스 캠페인에 신청했을 경우 1개 항목만 표시됩니다. applicantStatus는 OR 조건으로 병합됩니다 (예: 한 캠페인에서 SELECTED, 다른 캠페인에서 일반이면 → COLLABORATED).