Glowb Dev Docs
SaaS API캠페인 일정

모집 영업일 조회

GET /ai/campaign-schedules/{campaignNo}/recruitment-days — 캠페인 모집 영업일 + 모집일/리스트 오픈일

모집 영업일 조회

캠페인의 모집 영업일과, 그에 따른 모집 시작·종료일 / 리스트 오픈일을 조회합니다.

가이드 완성 전에도 답할 수 있는 게 이 API 의 존재 이유입니다.

가이드라인 미리보기의 "예상 일정" 모달은 가이드 완성 에 뜨는 화면이라 캠페인 일정 조회listOpenAt / recruitmentEndAt 이 아직 null 입니다. 그래서 모집일수와 예상 일정을 따로 내려주는 엔드포인트가 필요합니다.

입력은 캠페인 번호뿐입니다. 모집일수도 기준일(가이드 완성일)도 캠페인에 저장된 값을 씁니다 — 조회 API 가 조회 대상이나 그 계산 입력을 밖에서 받으면 "무엇을 조회하는 API 인가"가 흐려지기 때문입니다.

HTTP 요청

GET /ai/campaign-schedules/{campaignNo}/recruitment-days
Authorization: Bearer {access_token}

Query Parameter 는 없습니다.

Path Parameters

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

산정식

모집 시작일   = 가이드라인 완성일 (캠페인에 저장된 값)
모집 종료일   = 모집 시작일 + recruitmentDays 영업일
리스트 오픈일 = 모집 시작일 + (recruitmentDays + 1) 영업일   ← 모집 종료 다음 영업일

영업일 = 주말 + 한국 공휴일 제외 (BusinessDayCalculator). 규칙 출처는 Bill 2026-05-22 명세 (원문) — "화수목금 모집 후 월요일 오전에 오픈"처럼 예시로 규정돼 있습니다. 자세한 배경은 트리거 문서의 T0 섹션 참고.

프론트에서 영업일을 다시 계산하지 마세요.

프론트가 자체 공휴일 표로 계산하면 저장 후 서버 재산정 결과와 어긋납니다. 실제로 어드민 프론트의 공휴일 표에는 백엔드에 있는 2026~2027년 평일 공휴일 8건(2026-06-03 대선, 07-17 제헌절, 09-28 추석 대체, 2027-05-03, 07-19, 09-14·15·16 추석)이 누락돼 있어 최대 3영업일까지 어긋났습니다. 이 응답 값을 그대로 표시하는 것이 유일한 해법입니다.

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "모집 영업일 조회가 성공하였습니다.",
  "data": {
    "campaignNo": 2485,
    "recruitmentDays": 10,
    "recruitmentStartDate": "2026-07-24",
    "recruitmentEndDate": "2026-08-07",
    "listOpenDate": "2026-08-10"
  }
}

Response 스키마

필드명타입설명
campaignNoint캠페인 번호
recruitmentDaysint캠페인에 설정된 모집 영업일 (관리자 설정값, 미설정 시 기본 4)
recruitmentStartDatedate | null모집 시작일 (= 가이드라인 완성일, 계산 기준일)
recruitmentEndDatedate | null모집 종료일 (= 시작일 + recruitmentDays 영업일)
listOpenDatedate | null리스트 오픈일 = 크리에이터 리스트 전달일 (= 시작일 + recruitmentDays + 1 영업일)

날짜 3종은 가이드라인이 완성된 캠페인에서만 채워집니다. 미완성이면 셋 다 null 이고 recruitmentDays 만 내려갑니다 — 기준일이 없는데 오늘로 지어내면 화면이 확정 일정처럼 표시할 위험이 있어서입니다. 그 시점 화면은 가이드라인 완성 후 {recruitmentDays} 영업일 이내 처럼 상대 문구로 표시하세요.

null 이어도 키는 항상 내려갑니다(@JsonInclude 미적용). 키가 사라지면 "미배포"인지 "값이 없는 것"인지 구분할 수 없기 때문입니다.

recruitmentEndDatelistOpenDate정확히 1영업일 차이입니다. 화면에서 "크리에이터 모집 후 리스트 전달"에 표시할 값은 listOpenDate 이며, 모집 종료일을 쓰면 하루 앞당겨 표시됩니다 (Jay 2026-07-24 제보로 드러난 기존 버그).

에러 응답

상태 코드코드설명
401인증 실패
404CAMPAIGN_NOT_FOUND존재하지 않는 캠페인

언제 이걸 쓰고, 언제 다른 걸 쓰나

상황쓸 API
가이드 완성 전 모집일수 표시 (가이드 미리보기 모달)이 API
가이드 완성 후 확정된 실제 일정캠페인 일정 조회listOpenAt / recruitmentEndAt
캠페인 전체 진행 정보와 함께 필요GET /ai/progress-table/item/{id}campaignDetails.recruitmentDays

API 테스트

On this page