Glowb Dev Docs
Admin API

Admin Campaign API

관리자 캠페인 관리 API

Admin Campaign API

관리자 캠페인 관리 API입니다.

Base URL: /ai/admin/campaigns

이 API는 관리자 권한이 필요합니다.

엔드포인트 목록

캠페인 CRUD

메서드경로설명
PATCH/ai/admin/campaigns/{campaignNo}캠페인 생성
PUT/ai/admin/campaigns/{campaignNo}캠페인 수정
GET/ai/admin/campaigns/{campaignNo}캠페인 상세 조회
GET/ai/admin/campaigns캠페인 목록 조회

설정 업데이트

메서드경로설명
PATCH/ai/admin/campaigns/{campaignNo}/dashboard대시보드 설정 업데이트
PATCH/ai/admin/campaigns/{campaignNo}/schedule일정 설정 업데이트
PATCH/ai/admin/campaigns/{campaignNo}/step캠페인 진행 상태 변경
PATCH/ai/admin/campaigns/{campaignNo}/substep캠페인 진행 단계(SubStep) 변경

조회

메서드경로설명
GET/ai/admin/campaigns/{campaignNo}/schedules캠페인 일정 목록 조회
GET/ai/admin/campaigns/{campaignNo}/images캠페인 이미지 정보 조회

API 상세

캠페인 생성

관리자가 새 캠페인을 생성합니다. 피그마 디자인 5단계 폼 전체를 담는 API입니다.

HTTP 요청

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

Path Parameters

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

Request Body

{
  // === Step 1: 게시물 생성 (기본 정보) ===
  "businessId": "business123",
  "campaignType": "PRODUCT_SPONSORSHIP",
  "productName": "여름 뷰티 제품",
  "productUrl": "https://example.com/product",
  "etcNotes": "기타 메모 내용",
  "currency": "KRW",
  "differential": false,

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

  "averageUnitPrice": "100000",
  "person": "10",
  "imagePath": "https://s3.../thumbnail.jpg",
  "productImagePath": "https://s3.../image1.jpg,https://s3.../image2.jpg",
  "campaignContractType": "STANDARD",
  "campaignContractDescription": "계약 내용 설명",

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

  // === Step 3: 대시보드 생성 ===
  "secondaryUsageMonths": 6,
  "secondaryUsageOption": "SNS_AD",

  // === Step 4: 일정 설정 ===
  "isAutoSchedule": false,
  "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",
  "draftReviewStartDate": "2024-02-16T00:00:00",
  "draftReviewEndDate": "2024-02-18T23: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",

  // === Step 5: 주의사항 ===
  "caution": "제품 촬영 시 주의사항...",

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

Request Body 필드 설명

Step 1: 게시물 생성 (기본 정보)

필드타입설명
businessIdstring기업 회원 ID
campaignTypeCampaignType캠페인 제공종류 (제품협찬, 유료광고 등)
productNamestring상품명
productUrlstring상품 URL
etcNotesstring기타 메모
currencystring화폐단위
differentialboolean차등지급 여부 (개별가/단일가)
feePolicyTypeFeePolicyType수수료 정책 타입 (ACTUAL_COST: 실비, COST_PLUS_FEE: 실비+수수료, TOTAL_AMOUNT: 총액)
feeTypeFeeType수수료 유형 (PERCENT: %, FIXED: 원)
feeValueinteger수수료 값
averageUnitPricestring개별 단가
personstring모집인원
imagePathstring썸네일 이미지 경로
productImagePathstring제품 이미지 경로 (콤마 구분)
campaignContractTypestring계약 형식
campaignContractDescriptionstring계약 내용

Step 2: 제출물 설정

필드타입설명
deliveryTypeDeliveryType배송 여부
firstReviewTypesSet<SubmissionItemType>1차 검수 필수 제출물 타입
secondReviewTypesSet<SubmissionItemType>2차 검수 필수 제출물 타입
finalSubmissionTypesSet<FinalSubmissionType>최종 제출물 타입

Step 3: 대시보드 생성

필드타입설명
secondaryUsageMonthsinteger2차 활용 기간 (개월)
secondaryUsageOptionstring2차 활용 옵션

Step 4: 일정 설정

필드타입설명
isAutoScheduleboolean자동 날짜 설정 유무
recruitmentStartDatedatetime모집 시작일
recruitmentEndDatedatetime모집 종료일
contentStartDatedatetime콘텐츠 등록 시작일
contentEndDatedatetime콘텐츠 등록 종료일
exclusionSelectionStartDatedatetime제외인원 선택 시작일
exclusionSelectionEndDatedatetime제외인원 선택 종료일
contractCreationStartDatedatetime계약서 작성 시작일
contractCreationEndDatedatetime계약서 작성 종료일
draftSubmissionStartDatedatetime초안 전송 시작일
draftSubmissionEndDatedatetime초안 전송 종료일
draftReviewStartDatedatetime초안 검수 시작일
draftReviewEndDatedatetime초안 검수 종료일
videoProductionStartDatedatetime영상 제작 시작일
videoProductionEndDatedatetime영상 제작 종료일
videoReviewStartDatedatetime영상 검수 시작일
videoReviewEndDatedatetime영상 검수 종료일
uploadStartDatedatetime업로드 시작일
uploadEndDatedatetime업로드 종료일
uploadApprovalStartDatedatetime업로드 허용 시작일
uploadApprovalEndDatedatetime업로드 허용 종료일
settlementStartDatedatetime정산 시작일
settlementEndDatedatetime정산 종료일

Step 5: 주의사항

필드타입설명
cautionstring주의사항

Step 6: 담당자 설정

필드타입설명
managerNamestring담당자 이름 (같은 이름의 담당자가 기업에 존재하면 기존 담당자 사용, 없으면 신규 생성)
managerPhonestring담당자 연락처
managerEmailstring담당자 이메일

응답

성공 응답 (201 Created)

{
  "status": 201,
  "code": null,
  "message": "캠페인이 생성되었습니다.",
  "data": null
}

캠페인 수정

캠페인의 모든 정보를 수정합니다. 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",
  "draftReviewStartDate": "2024-02-16T00:00:00",
  "draftReviewEndDate": "2024-02-18T23: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초안 전송 종료일
draftReviewStartDatedatetime초안 검수 시작일
draftReviewEndDatedatetime초안 검수 종료일
videoProductionStartDatedatetime영상 제작 시작일
videoProductionEndDatedatetime영상 제작 종료일
videoReviewStartDatedatetime영상 검수 시작일
videoReviewEndDatedatetime영상 검수 종료일
uploadStartDatedatetime업로드 시작일
uploadEndDatedatetime업로드 종료일
uploadApprovalStartDatedatetime업로드 허용 시작일
uploadApprovalEndDatedatetime업로드 허용 종료일
settlementStartDatedatetime정산 시작일
settlementEndDatedatetime정산 종료일

응답

성공 응답 (200 OK)

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

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

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

캠페인 상세 조회

캠페인 상세 정보를 조회합니다.

HTTP 요청

GET /ai/admin/campaigns/{campaignNo}
Authorization: Bearer {access_token}

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "캠페인 상세 조회 성공",
  "data": {
    "no": 123,
    "businessId": "business123",
    "businessName": "(주)글로우비",
    "title": "여름 뷰티 캠페인",
    "category": "BEAUTY",
    "sns": "instagram",
    "snsContentFormat": "REEL",
    "campaignType": "PRODUCT_SPONSORSHIP",
    "productName": "여름 뷰티 제품",
    "productUrl": "https://example.com/product",
    "averageUnitPrice": "100000",
    "person": "10",
    "charge": "1000000",
    "feePolicyType": "COST_PLUS_FEE",
    "feeType": "PERCENT",
    "feeValue": 10,
    "campaignSubStep": "CREATOR_RECRUIT",
    "guidelineStatus": "COMPLETED",
    "managerNo": 1,
    "managerName": "홍길동",
    "managerPhone": "010-1234-5678",
    "managerEmail": "manager@example.com",
    "schedules": [...]
  }
}

응답 필드 설명

필드타입설명
nointeger캠페인 번호
businessIdstring기업 회원 ID
businessNamestring기업명
titlestring캠페인 제목
personstring모집인원
chargestring비용
feePolicyTypeFeePolicyType수수료 정책 타입 (ACTUAL_COST: 실비, COST_PLUS_FEE: 실비+수수료, TOTAL_AMOUNT: 총액)
feeTypeFeeType수수료 유형 (PERCENT: %, FIXED: 원)
feeValueinteger수수료 값
campaignSubStepCampaignSubStep캠페인 진행 상태
guidelineStatusGuidelineStatus가이드라인 상태 (REQUESTED: 요청됨, DRAFT: 초안, COMPLETED: 완성)
managerNolong담당자 번호 (담당자 미지정 시 null)
managerNamestring담당자 이름 (담당자 미지정 시 기업 기본 담당자 정보)
managerPhonestring담당자 연락처
managerEmailstring담당자 이메일

캠페인 목록 조회

캠페인 목록을 조회합니다. businessId로 필터링 가능합니다.

HTTP 요청

GET /ai/admin/campaigns?businessId={businessId}
Authorization: Bearer {access_token}

Query Parameters

파라미터타입필수설명
businessIdstring아니오기업 회원 ID

대시보드 설정 업데이트

캠페인의 대시보드 설정을 업데이트합니다.

HTTP 요청

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

Request Body

{
  "reviewCount": 2,
  "firstReviewTypes": ["SCRIPT_VIDEO"],
  "secondReviewTypes": ["VIDEO", "CAPTION", "HASHTAG"],
  "finalSubmissionTypes": ["CONTENT_LINK", "PARTNERSHIP_CODE", "CLEAN_FILE"],
  "pricingType": "INDIVIDUAL",
  "secondaryUsageMonths": 6,
  "secondaryUsageOption": "SNS_AD",
  "showPrice": true,
  "listMode": "EXCLUDE",
  "showLanding": true,
  "showDashboard": true,
  "modelType": "STANDARD"
}

Request Body 필드 설명

필드타입설명
reviewCountinteger검수 횟수 (1 또는 2)
firstReviewTypesSet<SubmissionItemType>1차 검수 필수 제출물 타입
secondReviewTypesSet<SubmissionItemType>2차 검수 필수 제출물 타입
finalSubmissionTypesSet<FinalSubmissionType>최종 제출물 타입
pricingTypePricingType단가 표기 타입 (INDIVIDUAL: 개별가, SINGLE: 단일가)
secondaryUsageMonthsinteger2차 활용 기간 (개월)
secondaryUsageOptionstring2차 활용 옵션
showPriceboolean가격 노출 여부
listModestring리스트 모드 (SELECT: 선택형, EXCLUDE: 제외형)
showLandingboolean랜딩 페이지 노출 여부
showDashboardboolean대시보드 노출 여부
modelTypeCampaignModelType캠페인 모델 타입

modelType (캠페인 모델 타입)

설명
STANDARD일반/2차활용 캠페인
PERFORMANCE성과형 캠페인

일정 설정 업데이트

캠페인의 일정 설정을 업데이트합니다.

HTTP 요청

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

Request Body

{
  "recruitmentStart": "2024-01-15",
  "recruitmentEnd": "2024-01-31",
  "contentSubmissionDeadline": "2024-02-15",
  "reviewDeadline": "2024-02-28"
}

캠페인 진행 상태 변경

결제 여부에 따라 캠페인 진행 상태를 변경합니다.

HTTP 요청

PATCH /ai/admin/campaigns/{campaignNo}/step?isPaid={isPaid}
Authorization: Bearer {access_token}

Query Parameters

파라미터타입필수설명
isPaidboolean결제 완료 여부
  • 결제 완료 (isPaid=true): 기업 크레딧에서 캠페인 비용 차감 후 가이드라인 작성 단계로 변경
  • 결제 미완료 (isPaid=false): 결제 단계로 변경

isPaid=true일 때 크레딧 잔액이 부족하면 에러가 발생하고 캠페인 단계는 변경되지 않습니다.

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "캠페인 진행 상태가 변경되었습니다.",
  "data": null
}

에러 응답 - 크레딧 잔액 부족 (404)

{
  "status": 404,
  "code": "INVALID_DATA",
  "message": "크레딧 잔액이 부족합니다. 현재: 0, 필요: 1000000",
  "data": null
}

에러 응답 - 캠페인 비용 정보 없음 (404)

{
  "status": 404,
  "code": "INVALID_DATA",
  "message": "캠페인 비용 정보가 없습니다",
  "data": null
}

에러 응답 - 기업 정보 없음 (404)

{
  "status": 404,
  "code": "INVALID_USER",
  "message": "기업 정보를 찾을 수 없습니다",
  "data": null
}

캠페인 일정 목록 조회

캠페인의 일정 목록을 조회합니다.

HTTP 요청

GET /ai/admin/campaigns/{campaignNo}/schedules
Authorization: Bearer {access_token}

캠페인 이미지 정보 조회

캠페인의 썸네일, 제품링크, 프로덕트 이미지를 조회합니다. 캠페인 생성 시 이전 게시물 불러오기에 사용됩니다.

HTTP 요청

GET /ai/admin/campaigns/{campaignNo}/images
Authorization: Bearer {access_token}

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "캠페인 이미지 조회 성공",
  "data": {
    "thumbnail": "https://...",
    "productLink": "https://...",
    "productImages": [
      "https://...",
      "https://..."
    ]
  }
}

캠페인 진행 단계(SubStep) 변경

캠페인의 진행 단계(SubStep)를 변경합니다. 콘텐츠 제작/검수 단계 진입 시 선정된 신청자에게 ContentReview가 자동 생성됩니다.

HTTP 요청

PATCH /ai/admin/campaigns/{campaignNo}/substep?substep={substep}
Authorization: Bearer {access_token}

Path Parameters

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

Query Parameters

파라미터타입필수설명
substepstring변경할 진행 단계 (CampaignSubStep enum 값)

CampaignSubStep 값

상위 단계설명
CAMPAIGN_REVIEW캠페인 접수캠페인 내용 검토
CAMPAIGN_PAYMENT캠페인 접수캠페인비 결제
CAMPAIGN_GUIDELINE캠페인 접수콘텐츠 가이드라인 작성
CREATOR_RECRUIT크리에이터 모집크리에이터 모집
CREATOR_MATCHING크리에이터 모집협업 상세 협의
CONTENT_CREATION콘텐츠 제작 및 발행콘텐츠 제작
CONTENT_REVIEW콘텐츠 제작 및 발행콘텐츠 검수
CONTENT_PUBLISH캠페인 결과 전송콘텐츠 발행 취합
RESULT_SUMMARY캠페인 결과 전송캠페인 결과 취합
CAMPAIGN_COMPLETED캠페인 완료캠페인 완료

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "캠페인 진행 단계가 변경되었습니다.",
  "data": {
    "campaignNo": 123,
    "previousSubStep": "CREATOR_MATCHING",
    "currentSubStep": "CONTENT_CREATION"
  }
}

CONTENT_CREATION 또는 CONTENT_REVIEW 단계로 변경 시, 선정된 신청자에게 ContentReview가 자동으로 생성됩니다.

사용 예시

캠페인 목록 조회

curl -X GET "https://api.glowb.io/ai/admin/campaigns?businessId=business123" \
  -H "Authorization: Bearer {token}"

캠페인 수정

curl -X PUT https://api.glowb.io/ai/admin/campaigns/123 \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "수정된 캠페인명",
    "description": "수정된 설명"
  }'

API 테스트

캠페인 CRUD

설정 업데이트

조회

On this page