Main API
캠페인 상세 조회 API
캠페인 상세 정보 및 가이드라인 조회 API
캠페인 상세 조회 API
캠페인의 상세 정보와 가이드라인을 조회하는 API입니다.
Base URL: /ai/collab
인증 정보
| 항목 | 값 |
|---|---|
| 인증 필요 | 네 |
| 인증 방식 | Bearer token |
엔드포인트 목록
| 메서드 | 경로 | 설명 | 비고 |
|---|---|---|---|
GET | /ai/collab/{campaignNo}/detail | 캠페인 상세 조회 (SaaS 이전) | 레거시 |
GET | /ai/collab/{campaignNo}/full | 캠페인 상세 + 가이드라인 조회 (SaaS 이후) | 신규 |
API 상세
캠페인 상세 + 가이드라인 조회 (SaaS)
캠페인의 상세 정보와 가이드라인을 함께 조회합니다.
HTTP 요청
GET /ai/collab/{campaignNo}/fullPath Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
campaignNo | long | 예 | 캠페인 번호 |
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "캠페인 상세 조회 완료",
"data": {
"campaign": {
"no": "1328",
"businessId": "business_001",
"thumbnailImagePath": "https://s3.../thumbnail.jpg",
"productImagePath": "https://s3.../product.jpg",
"productImagePaths": [
"https://s3.../product1.jpg",
"https://s3.../product2.jpg"
],
"snsType": "INSTAGRAM",
"contentFormat": "REEL",
"category": "BEAUTY",
"campaignType": "SEEDING",
"campaignSubStep": "CREATOR_RECRUIT",
"productName": "상품명",
"charge": "100000",
"currency": "KRW",
"recruitCount": "10",
"recruitmentStartDate": "2024-01-01 00:00:00",
"recruitmentEndDate": "2024-01-31 23:59:59",
"daysSinceEnded": null,
"campaignContractType": "STANDARD",
"campaignContractDescription": "계약 설명",
"campaignReportUrl": null,
"showPrice": true,
"listMode": "EXCLUDE",
"firstReviewTypes": ["DRAFT", "CAPTION"],
"secondReviewTypes": ["FINAL_CONTENT"],
"finalSubmissionTypes": ["INSIGHT"],
"secondaryUsageOption": "ALLOWED"
},
"guideline": {
"collabNo": 1328,
"createdAt": "2024-01-15T10:00:00",
"updatedAt": "2024-01-16T15:30:00",
"basicInfo": {
"brandName": "브랜드명",
"productName": "상품명",
"productDescription": "상품 설명"
},
"contentDetailInfo": {
"concept": "콘텐츠 컨셉",
"mustInclude": ["필수 포함 사항"],
"prohibited": ["금지 사항"]
},
"marketingInfo": {
"hashtags": ["#해시태그1", "#해시태그2"],
"mentions": ["@계정1"]
},
"detailPageInfo": {
"brandLogo": {
"imageUrl": "https://s3.../logo.jpg"
},
"thumbnailUrl": "https://s3.../thumbnail.jpg",
"detailImageUrls": [
"https://s3.../detail1.jpg",
"https://s3.../detail2.jpg"
]
}
},
"hasGuideline": true
}
}Response 스키마
CampaignWithGuidelineResponseDto
| 필드명 | 타입 | 설명 |
|---|---|---|
campaign | CampaignFullResponseDto | 캠페인 상세 정보 |
guideline | Map<String, Object> | 가이드라인 정보 (DynamoDB) |
hasGuideline | boolean | 가이드라인 존재 여부 |
CampaignFullResponseDto
| 필드명 | 타입 | 설명 |
|---|---|---|
no | string | 캠페인 번호 |
businessId | string | 기업 ID |
thumbnailImagePath | string | 썸네일 이미지 경로 |
productImagePath | string | 제품 이미지 경로 |
productImagePaths | string[] | 제품 이미지 경로 목록 |
snsType | SnsType | SNS 타입 |
contentFormat | SnsContentFormat | 콘텐츠 형식 |
category | CategoryType | 카테고리 |
campaignType | CampaignType | 캠페인 타입 |
campaignSubStep | CampaignSubStep | 캠페인 세부 단계 |
productName | string | 제품명 |
charge | string | 단가 |
currency | string | 통화 |
recruitCount | string | 모집 인원 |
recruitmentStartDate | datetime | 모집 시작일 |
recruitmentEndDate | datetime | 모집 종료일 |
daysSinceEnded | int | 종료 후 경과일 |
campaignContractType | string | 계약 타입 |
campaignContractDescription | string | 계약 설명 |
campaignReportUrl | string | 캠페인 리포트 URL |
showPrice | boolean | 가격 노출 여부 |
listMode | ListMode | 리스트 모드 |
firstReviewTypes | Set<SubmissionItemType> | 1차 검수 필수 제출물 |
secondReviewTypes | Set<SubmissionItemType> | 2차 검수 필수 제출물 |
finalSubmissionTypes | Set<FinalSubmissionType> | 최종 제출물 타입 |
secondaryUsageOption | string | 2차 활용 옵션 |
캠페인 상세 조회 (레거시)
캠페인의 기본 상세 정보만 조회합니다. (가이드라인 미포함)
HTTP 요청
GET /ai/collab/{campaignNo}/detailPath Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
campaignNo | long | 예 | 캠페인 번호 |
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "캠페인 상세 조회 완료",
"data": {
// CampaignDetailResponseDto 필드들
}
}Enum 값
SnsType
| 값 | 설명 |
|---|---|
INSTAGRAM | 인스타그램 |
YOUTUBE | 유튜브 |
TIKTOK | 틱톡 |
BLOG | 블로그 |
CampaignType
| 값 | 설명 |
|---|---|
SEEDING | 시딩 |
ADVERTISEMENT | 광고 |
AFFILIATE | 어필리에이트 |
CampaignSubStep
| 값 | 설명 |
|---|---|
CREATOR_RECRUIT | 크리에이터 모집 |
CONTENT_CREATION | 콘텐츠 제작 |
CONTENT_REVIEW | 콘텐츠 검수 |
COMPLETED | 완료 |
에러 응답
| 상태 코드 | 에러 코드 | 설명 |
|---|---|---|
404 | NOT_FOUND | 캠페인을 찾을 수 없음 |
500 | SERVER_ERROR | 서버 내부 오류 |