Glowb Dev Docs
Admin APIAdmin Campaign API

PUT /ai/admin/campaigns/{campaignNo}

캠페인 수정

캠페인 수정

캠페인의 모든 정보를 수정합니다. null이 아닌 필드만 업데이트됩니다.

HTTP 요청

PUT /ai/admin/campaigns/{campaignNo}
Authorization: Bearer {access_token}
Content-Type: application/json

Path Parameters

파라미터타입필수설명
campaignNolong캠페인 번호

Request Body

{
  // === 기본 정보 ===
  "title": "수정된 캠페인명",
  "category": "BEAUTY",
  "sns": "1",
  "snsContentFormat": "REEL",
  "campaignType": "PRODUCT_SPONSORSHIP",
  "productName": "여름 뷰티 제품",
  "productUrl": "https://example.com/product",
  "nation": "KR",
  "shootingConditions": "실내 촬영 필수",
  "keywords": "뷰티,여름,화장품",
  "description": "캠페인 설명",
  "productDescription": "상품 설명",
  "isVisitRequired": "false",
  "etcNotes": "기타 메모",
  "averageUnitPrice": "100000",
  "person": "10",
  "charge": "1000000",
  "currency": "KRW",
  "differential": false,

  // === 수수료 정책 ===
  "feePolicyType": "COST_PLUS_FEE",
  "feeType": "PERCENT",
  "feeValue": 10,

  // === 이미지 ===
  "imagePath": "https://s3.../thumbnail.jpg",
  "productImagePath": "https://s3.../image1.jpg,https://s3.../image2.jpg",

  // === 제출물 설정 ===
  "deliveryType": "DELIVERY",
  "firstReviewTypes": ["SCRIPT", "HASHTAG"],
  "secondReviewTypes": ["VIDEO"],
  "finalSubmissionTypes": ["INSTAGRAM_REEL", "INSTAGRAM_POST"],

  // === 대시보드 설정 ===
  "pricingType": "INDIVIDUAL",
  "secondaryUsageMonths": 6,
  "secondaryUsageOption": "SNS_AD",
  "showPrice": true,
  "listMode": "EXCLUDE",
  "showLanding": true,
  "showDashboard": true,

  // === 담당자 설정 ===
  "managerNo": 1,
  "managerName": "홍길동",
  "managerPhone": "010-1234-5678",
  "managerEmail": "manager@example.com",

  // === 계약 설정 ===
  "campaignContractType": "STANDARD",
  "campaignContractDescription": "계약 내용",
  "caution": "주의사항",

  // === 일정 설정 ===
  "recruitmentStartDate": "2024-01-15T00:00:00",
  "recruitmentEndDate": "2024-01-31T23:59:59",
  "contentStartDate": "2024-02-01T00:00:00",
  "contentEndDate": "2024-02-28T23:59:59",
  "exclusionSelectionStartDate": "2024-02-01T00:00:00",
  "exclusionSelectionEndDate": "2024-02-05T23:59:59",
  "contractCreationStartDate": "2024-02-06T00:00:00",
  "contractCreationEndDate": "2024-02-10T23:59:59",
  "draftSubmissionStartDate": "2024-02-11T00:00:00",
  "draftSubmissionEndDate": "2024-02-15T23:59:59",
  "scriptSubmissionStartDate": "2024-02-16T00:00:00",
  "scriptSubmissionEndDate": "2024-02-22T23:59:59",
  "scriptReviewStartDate": "2024-02-23T00:00:00",
  "scriptReviewEndDate": "2024-02-24T23:59:59",
  "draftReviewStartDate": "2024-02-25T00:00:00",
  "draftReviewEndDate": "2024-02-28T23:59:59",
  "videoProductionStartDate": "2024-02-19T00:00:00",
  "videoProductionEndDate": "2024-02-25T23:59:59",
  "videoReviewStartDate": "2024-02-26T00:00:00",
  "videoReviewEndDate": "2024-02-28T23:59:59",
  "uploadStartDate": "2024-03-01T00:00:00",
  "uploadEndDate": "2024-03-05T23:59:59",
  "uploadApprovalStartDate": "2024-03-06T00:00:00",
  "uploadApprovalEndDate": "2024-03-10T23:59:59",
  "settlementStartDate": "2024-03-11T00:00:00",
  "settlementEndDate": "2024-03-15T23:59:59"
}

Request Body 필드 설명

기본 정보

필드타입설명
titlestring캠페인 제목
categoryCategoryType캠페인 카테고리 (아래 enum 값 참고)
snsstringSNS 플랫폼 (1: Instagram, 2: YouTube 등)
snsContentFormatSnsContentFormat콘텐츠 포맷 (REEL, FEED, STORY 등)
campaignTypeCampaignType캠페인 제공종류
productNamestring상품명
productUrlstring상품 URL
nationstring국가
shootingConditionsstring촬영 조건
keywordsstring키워드
descriptionstring캠페인 설명
productDescriptionstring상품 설명
isVisitRequiredstring방문 필요 여부
etcNotesstring기타 메모
averageUnitPricestring개별 단가
personstring모집인원
chargestring비용
currencystring화폐단위
differentialboolean차등지급 여부

category 필드 주의사항: 반드시 영문 enum 코드를 사용해야 합니다. 한글 값(예: "일상", "뷰티")은 에러가 발생합니다.

CategoryType enum 값

설명
BEAUTY뷰티
FASHION패션
DAILY일상
TRAVEL여행
KIDS육아
FOOD푸드
DEFAULT기본
RELATIONSHIP연애/결혼
INTERIOR인테리어
FOREIGN_CULTURE해외문화
EDUCATION_SELF_DEVELOPMENT교육/자기계발
BOOK도서
PERFORMANCE_EXHIBITION공연/전시
FINANCE_BUSINESS재테크/비즈니스
ITIT
PET반려동물
COOKING요리
GAME게임
SPORTS스포츠
PHOTOGRAPHY사진
MEDICINE의학
SOCIETY_POLITICS사회/정치
MOVIE_DRAMA영화/드라마
COMIC만화
HEALTH건강
CAREER커리어
MUSIC음악
ENVIRONMENT환경
GROCERY식료품

수수료 정책

필드타입설명
feePolicyTypeFeePolicyType수수료 정책 타입 (ACTUAL_COST, COST_PLUS_FEE, TOTAL_AMOUNT)
feeTypeFeeType수수료 유형 (PERCENT, FIXED)
feeValueinteger수수료 값

이미지

필드타입설명
imagePathstring썸네일 이미지 경로
productImagePathstring제품 이미지 경로 (콤마 구분)

제출물 설정

필드타입설명
deliveryTypeDeliveryType배송 타입 (DELIVERY, NO_DELIVERY)
firstReviewTypesSet<SubmissionItemType>1차 검수 필수 제출물 타입
secondReviewTypesSet<SubmissionItemType>2차 검수 필수 제출물 타입
finalSubmissionTypesSet<FinalSubmissionType>최종 제출물 타입

대시보드 설정

필드타입설명
pricingTypePricingType단가 표기 타입 (INDIVIDUAL, SINGLE)
secondaryUsageMonthsinteger2차 활용 기간 (개월)
secondaryUsageOptionstring2차 활용 옵션
showPriceboolean가격 노출 여부
listModestring리스트 모드 (SELECT, EXCLUDE)
showLandingboolean랜딩 페이지 노출 여부
showDashboardboolean대시보드 노출 여부

담당자 설정

필드타입설명
managerNolong담당자 번호 (기존 담당자 수정 시 사용, 없으면 이름으로 조회/신규 생성)
managerNamestring담당자 이름
managerPhonestring담당자 연락처
managerEmailstring담당자 이메일

담당자 처리 로직

  1. managerNo가 있으면 해당 담당자 조회 후 정보 업데이트
  2. managerNo가 없고 managerName이 있으면 같은 이름의 담당자 조회, 없으면 신규 생성

계약 설정

필드타입설명
campaignContractTypestring계약 형식
campaignContractDescriptionstring계약 내용
cautionstring주의사항

일정 설정

필드타입설명
recruitmentStartDatedatetime모집 시작일
recruitmentEndDatedatetime모집 종료일
contentStartDatedatetime콘텐츠 등록 시작일
contentEndDatedatetime콘텐츠 등록 종료일
exclusionSelectionStartDatedatetime제외인원 선택 시작일
exclusionSelectionEndDatedatetime제외인원 선택 종료일
contractCreationStartDatedatetime계약서 작성 시작일
contractCreationEndDatedatetime계약서 작성 종료일
draftSubmissionStartDatedatetime제품 배송 시작일
draftSubmissionEndDatedatetime제품 배송 종료일
scriptSubmissionStartDatedatetime스크립트 제출 시작일 (2회 검수 전용)
scriptSubmissionEndDatedatetime스크립트 제출 종료일 (2회 검수 전용)
scriptReviewStartDatedatetime스크립트 검수 및 제작 허용 시작일 (2회 검수 전용)
scriptReviewEndDatedatetime스크립트 검수 및 제작 허용 종료일 (2회 검수 전용)
draftReviewStartDatedatetime제작물 제출 시작일
draftReviewEndDatedatetime제작물 제출 종료일
videoProductionStartDatedatetime제작물 검수 및 업로드 허용 시작일
videoProductionEndDatedatetime제작물 검수 및 업로드 허용 종료일
videoReviewStartDatedatetime재제출 or 업로드 시작일
videoReviewEndDatedatetime재제출 or 업로드 종료일
uploadStartDatedatetime최종 업로드 허용 시작일
uploadEndDatedatetime최종 업로드 허용 종료일
uploadApprovalStartDatedatetime최종업로드 시작일
uploadApprovalEndDatedatetime최종업로드 종료일
settlementStartDatedatetime정산 시작일
settlementEndDatedatetime정산 종료일

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "캠페인이 수정되었습니다.",
  "data": null
}

에러 응답 - 유효하지 않은 카테고리 (404)

{
  "status": 404,
  "code": "INVALID_DATA",
  "message": "유효하지 않은 카테고리입니다: 일상",
  "data": null
}

API 테스트

On this page