Admin APIAdmin Dashboard API
GET /ai/admin/dashboard/{campaignNo}/progress
캠페인 진행 상황 조회
캠페인 진행 상황 조회
캠페인의 진행 상황 테이블을 조회합니다. adminVisible 무관하게 전체 조회됩니다.
배송 정보, 검수 정보, 인플루언서 플래그 등 모든 진행 상황 정보를 포함합니다.
HTTP 요청
GET /ai/admin/dashboard/{campaignNo}/progress
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
campaignNo | long | 예 | 캠페인 번호 |
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "진행 상황 조회 성공",
"data": {
"step": "APPLICATION_CONTRACT",
"items": [
{
"id": 123,
"creator": "크리에이터A",
"profileImg": "https://...",
"creatorLink": "https://www.instagram.com/creator_a",
"flags": [
{
"id": 1,
"text": "추천",
"color": "#FF6F00",
"category": "POSITIVE",
"isPreset": true,
"presetCode": "RECOMMENDED"
},
{
"id": 2,
"text": "우수 크리에이터",
"color": "#9C27B0",
"category": "POSITIVE",
"isPreset": false,
"presetCode": null
}
],
"adminVisible": true,
"selectionStatus": "SELECTED",
"phase": "PRODUCT_DELIVERY",
"appliedAt": "2025-01-15T10:30:00",
"selectedAt": "2025-01-16T14:20:00",
"rejectedAt": null,
"defaultUnitPrice": 450000,
"quotePrice": 500000,
"currentPrice": 550000,
"matchingStatus": "confirmed",
"deliveryStatus": "배송 중",
"trackingNumber": "1234567890",
"uploadUrl": null,
"file": null,
"aiCheckReady": false,
"aiCheck": null,
"personCheck": null,
"campaignResult": null,
"uploadStatus": null,
"recommendReason": "팔로워 대비 릴스 조회수가 높고, 뷰티 콘텐츠 제작 경험이 풍부합니다.",
"collaborationNote": null,
"reviewInfo": {
"hasNewSubmission": false,
"reviews": [],
"uploadApproved": null,
"finalSubmission": null
},
"recentPosts": [
{
"postId": "abc123",
"postLink": "https://instagram.com/p/abc123",
"mediaUrl": "https://video.cdninstagram.com/...",
"mediaType": "VIDEO",
"publishedAt": "2025-01-20T14:30:00Z"
},
{
"postId": "def456",
"postLink": "https://instagram.com/p/def456",
"mediaUrl": "https://scontent.cdninstagram.com/...",
"mediaType": "IMAGE",
"publishedAt": "2025-01-18T10:00:00Z"
}
]
}
],
"isLegacy": false
}
}응답 필드 설명
data 객체
| 필드 | 타입 | 설명 |
|---|---|---|
step | String | 현재 진행 단계 |
items | Array | 신청 목록 |
isLegacy | Boolean | 레거시 캠페인 여부 |
items 배열 내 각 항목
| 필드 | 타입 | 설명 |
|---|---|---|
id | Long | 신청 ID |
creator | String | 크리에이터 이름 |
profileImg | String | 프로필 이미지 URL |
creatorLink | String | SNS 계정 링크 |
flags | Array<FlagDto> | 인플루언서 플래그 목록 (추천, 주의사항 등) |
adminVisible | Boolean | 기업 대시보드 노출 여부 |
selectionStatus | String | 선정 상태 (WAITING, SELECTED, RESERVED, REJECTED, ELIMINATED, PROPOSAL) |
phase | String | 진행 단계 |
appliedAt | LocalDateTime | 신청일 |
selectedAt | LocalDateTime | 선정일 |
rejectedAt | LocalDateTime | 거절일 |
defaultUnitPrice | Long | 희망가 (크리에이터가 입력한 단가) |
quotePrice | Long | 기존가. 글특가 x 1.5 만원올림 |
currentPrice | Long | 글특가 (광고주에게 노출되는 가격). 기준가 x (1 + 수수료율) 만원올림 |
matchingStatus | String | 매칭 상태 (waiting, confirmed, reserved, rejected, eliminated, proposal) |
recommendReason | String | 추천 사유 (AI 추천 또는 수동 입력) |
deliveryStatus | String | 배송 상태 |
trackingNumber | String | 운송장 번호 |
reviewInfo | Object | 검수 정보 |
recentPosts | Array<PostMediaDto> | 최근 게시물 미디어 (최대 3개) |
recentPosts 배열 내 각 항목 (PostMediaDto)
| 필드 | 타입 | 설명 |
|---|---|---|
postId | String | 게시물 ID |
postLink | String | 게시물 링크 |
mediaUrl | String | 미디어 URL (video_url 또는 images 중 첫 번째) |
mediaType | String | 미디어 타입 (VIDEO 또는 IMAGE) |
publishedAt | OffsetDateTime | 게시일 |
flags 배열 내 각 항목 (FlagDto)
| 필드 | 타입 | 설명 |
|---|---|---|
id | Long | 플래그 ID |
text | String | 표시할 텍스트 |
color | String | HEX 색상 코드 (예: #FF6F00) |
category | String | 카테고리 (POSITIVE: 화이트리스트, NEGATIVE: 블랙리스트, NEUTRAL: 중립) |
isPreset | Boolean | 프리셋 플래그 여부 |
presetCode | String | 프리셋 코드 (프리셋인 경우, 예: RECOMMENDED, SCHEDULE_VIOLATION) |
프리셋 플래그 코드
| 코드 | 텍스트 | 카테고리 | 설명 |
|---|---|---|---|
RECOMMENDED | 추천 | POSITIVE | 추천 인플루언서 |
BUSINESS_PREFERRED | 기업 선호 | POSITIVE | 기업이 선호하는 인플루언서 |
HIGH_QUALITY | 고품질 콘텐츠 | POSITIVE | 고품질 콘텐츠 제작자 |
SCHEDULE_VIOLATION | 일정 위반 | NEGATIVE | 일정 준수 미흡 |
POOR_COMMUNICATION | 소통 미흡 | NEGATIVE | 소통이 원활하지 않음 |
QUALITY_ISSUE | 품질 문제 | NEGATIVE | 콘텐츠 품질 문제 |