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

가이드라인 저장 제약

기업 주도 플로우에서 기업 계정의 완성본 저장 허용 여부는 guideline_step_modifi 플래그로 갈립니다.

가이드라인 저장 제약

기업 주도(BUSINESS_DIRECT) 캠페인에서 기업 계정이 가이드라인 완성본을 저장할 수 있는지는 guideline_step_modifi 플래그로 갈립니다.

플래그정책기업 계정의 완성본 저장(isFirst=false)
ON신규허용 — 저장하는 순간 모집이 시작됩니다
OFF이전차단 (403 BD_004) — 관리자만 완성 처리

아래 제약은 플래그가 OFF 일 때의 동작입니다. 가이드라인 v4 저장 API 자체는 그대로이고, 저장 플래그에 제약이 추가된 것입니다.

왜 제약이 있나

가이드라인 완성본 저장은 곧 모집 시작입니다. 저장 시점에 다음이 한꺼번에 일어납니다.

  1. guidelineStatus → COMPLETED
  2. campaignSubStep → CREATOR_RECRUIT (모집 시작)
  3. 모집 마감일 확정 + 이후 전체 일정 산정 (카운트다운 시작)

기업 주도 플로우는 가이드라인 작성 뒤에 결제와 관리자 검토가 남아 있으므로, 기업이 완성본을 저장할 수 있으면 결제 전에 모집이 시작되고 모집 기간이 대기 중에 소진됩니다. 이를 막기 위한 제약입니다.

적용 대상

캠페인기업 계정관리자 계정
flowType = BUSINESS_DIRECT초안·임시저장만 가능제약 없음 (완성본 저장 = 모집 시작)
flowType = STANDARD 또는 null제약 없음 (기존과 동일)제약 없음

기존 플로우 캠페인의 동작은 전혀 바뀌지 않았습니다. 기업이 완성본을 저장하면 종전대로 즉시 모집이 시작됩니다.

요청 플래그별 동작

가이드라인 v4 저장 API 의 isFirst · isModify 조합에 따라 아래와 같이 처리됩니다.

isModifyisFirst저장 결과기업 계정 (BUSINESS_DIRECT)
true–임시저장 (상태 변경 없음)허용
falsetrue초안 저장 → DRAFT허용
falsefalse완성본 저장 → COMPLETED + 모집 시작403 차단

에러 응답

{
  "status": 403,
  "code": "BD_004",
  "message": "가이드라인 완성은 관리자 검토 후 진행됩니다. 초안으로 저장해주세요.",
  "data": null
}

프런트 처리

기업 화면에서는 "완성" 버튼을 노출하지 않는 것이 원칙입니다. 아래는 서버 측 최종 방어선이며, 정상 흐름에서는 이 오류가 발생하지 않아야 합니다.

// 기업 화면: BUSINESS_DIRECT 이면 완성 버튼 숨김
const showCompleteButton = campaign.flowType !== 'BUSINESS_DIRECT';

// 저장 시 항상 초안으로
await saveGuidelineV4(campaignNo, { isFirst: true, isModify: false, ...body });

관리자 화면에서는 기존과 동일하게 완성본 저장이 가능하며, 그 저장이 곧 모집 시작입니다. 관리자에게는 이 버튼이 "모집 시작" 에 해당한다는 점이 화면 문구로 드러나는 것이 좋습니다.

관리자가 완성본을 저장하기 전에 수수료와 모집 영업일수가 확정되어 있어야 합니다. 모집 일정은 완성본 저장 시점에 recruitmentDays 를 기준으로 산정되며, 이후 되돌리기 어렵습니다.

On this page