Glowb Dev Docs
SaaS API기업 주도 캠페인 플로우

완성 처리 + 모집 시작

관리자가 저장된 가이드라인을 내용 변경 없이 완성 처리하고 모집 단계로 전환합니다.

완성 처리 + 모집 시작

기업 주도(BUSINESS_DIRECT) 캠페인에서 관리자가 검토를 마친 뒤 모집을 시작합니다. 요청 본문이 없으며 가이드라인 문서는 그대로 유지됩니다. 상태 전이만 수행합니다.

기존 가이드라인 완성본 저장(PUT /ai/guideline/v4/{collabNo} · isFirst=false)도 그대로 동작합니다. 내용을 함께 수정하며 완성하려면 그쪽을, 내용은 그대로 두고 모집만 시작하려면 이 API 를 쓰세요. 두 경로의 처리 결과는 동일합니다.

HTTP 요청

POST /ai/admin/campaigns/{campaignNo}/guideline/complete
Authorization: Bearer {access_token}

Path Parameters

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

Request Body 는 없습니다.

권한

관리자 전용입니다. /ai/admin/** 경로라 ROLE_ADMIN 이 아니면 접근할 수 없습니다.

호출 조건

조건실패 시
flowType 이 BUSINESS_DIRECT400 BD_001
가이드라인 문서 존재404 GUIDELINE_NOT_FOUND
guidelineStatus 가 COMPLETED 가 아님400 BD_006

결제 완료는 강제하지 않습니다. 미결제 상태에서도 모집이 시작됩니다. 응답의 paid · paymentStatus 를 확인해 미결제면 경고를 노출하세요. (운영상 선진행 케이스를 막지 않기 위한 의도적 설계입니다.)

수행 동작

호출 한 번으로 아래가 모두 일어납니다.

항목내용
가이드라인guidelineStatus → COMPLETED, 완성일 기록(최초 1회)
진행 단계campaignSubStep → CREATOR_RECRUIT
일정모집 시작·종료일 확정 + 이후 전체 일정 산정
모집모집 에이전트 자동 실행, 모집 콘텐츠 생성
기타캠페인 벡터화, 칸반 태스크 완료, 해시태그 → 키워드 반영, 약기법 검수(opt-in)

모집 마감일이 이 시점에 확정되고, 이후 되돌리기 어렵습니다. 호출 전에 수수료와 모집 영업일수(recruitmentDays)가 확정되어 있어야 합니다. 이미 완성된 캠페인을 다시 호출하면 400 BD_006 으로 막습니다 — 일정이 다시 계산되는 것을 방지합니다.

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "가이드라인 완성 처리 및 모집이 시작되었습니다.",
  "data": {
    "collabNo": 3349,
    "guidelineStatus": "COMPLETED",
    "campaignSubStep": "CREATOR_RECRUIT",
    "paymentStatus": "UNPAID",
    "paid": false,
    "recruitmentStartDate": "2026-08-26 14:10:00",
    "recruitmentEndDate": "2026-09-01 23:59:59"
  }
}
필드타입설명
collabNoInteger캠페인 번호
guidelineStatusString항상 COMPLETED
campaignSubStepString항상 CREATOR_RECRUIT
paymentStatusStringUNPAID | PAYMENT_PENDING | PAID
paidBooleanpaymentStatus === "PAID" 편의 필드
recruitmentStartDateDateTime확정된 모집 시작일
recruitmentEndDateDateTime확정된 모집 종료일

에러 응답

상태 코드code설명프런트 처리
400BD_001기업 주도 플로우 캠페인이 아닙니다. 광고주가 직접 만든 캠페인만 사용 가능버튼이 노출되면 안 되는 상황 — flowType 확인
400BD_006이미 완성 처리된 가이드라인입니다.화면 새로고침 (상태 동기화 어긋남)
404GUIDELINE_NOT_FOUND존재하지 않는 가이드라인입니다.가이드라인 작성 안내
404INVALID_COLLAB존재하지 않는 캠페인입니다.목록으로 이동

프런트 처리 예시

const res = await completeGuidelineAndStartRecruit(campaignNo);

if (!res.data.paid) {
  toast.warning(
    `미결제 상태로 모집이 시작되었습니다. (결제 상태: ${res.data.paymentStatus})`
  );
}
toast.success(`모집이 시작되었습니다. 마감: ${res.data.recruitmentEndDate}`);

버튼 노출 조건은 이렇습니다.

const showStartRecruitButton =
  isAdmin &&
  campaign.flowType === 'BUSINESS_DIRECT' &&
  campaign.guidelineStatus !== 'COMPLETED';

API 테스트

On this page