Glowb Dev Docs
SaaS API

Campaign Schedule API

캠페인 일정 관련 API

Campaign Schedule API

캠페인 일정 조회 API입니다.

Base URL: /ai/campaign-schedules

인증 정보

항목
인증 필요
인증 방식JWT Bearer Token

엔드포인트 목록

메서드경로설명인증
GET/ai/campaign-schedules/{campaignNo}캠페인 일정 조회필요
GET/ai/campaign-schedules/applications/{applicationId}크리에이터 개별 일정 조회필요

API 상세

캠페인 일정 조회

캠페인 ID로 해당 캠페인의 일정 목록을 조회합니다. 1회검수(10단계) / 2회검수(12단계) 여부를 isDoubleReview로 구분합니다.

HTTP 요청

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

Path Parameters

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

응답

성공 응답 (200 OK) - 1회검수 캠페인

{
  "status": 200,
  "code": null,
  "message": "캠페인 일정 조회가 성공하였습니다.",
  "data": {
    "schedules": [
      {
        "scheduleId": 1,
        "phase": "RECRUITMENT",
        "phaseDescription": "모집",
        "startDate": "2026-03-01T00:00:00",
        "endDate": "2026-03-15T00:00:00",
        "completedDate": null,
        "isCompleted": true,
        "isDelayed": false,
        "memo": null,
        "createdAt": "2026-03-01T00:00:00",
        "updatedAt": null
      },
      {
        "scheduleId": 2,
        "phase": "EXCLUSION_SELECTION",
        "phaseDescription": "협업 제안",
        "startDate": "2026-03-16T00:00:00",
        "endDate": "2026-03-18T00:00:00",
        "completedDate": null,
        "isCompleted": false,
        "isDelayed": false,
        "memo": null,
        "createdAt": "2026-03-01T00:00:00",
        "updatedAt": null
      }
    ],
    "isDoubleReview": false,
    "totalPhases": 10
  }
}

성공 응답 (200 OK) - 2회검수 캠페인

{
  "status": 200,
  "code": null,
  "message": "캠페인 일정 조회가 성공하였습니다.",
  "data": {
    "schedules": [
      {
        "scheduleId": 1,
        "phase": "RECRUITMENT",
        "phaseDescription": "모집",
        "startDate": "2026-03-01T00:00:00",
        "endDate": "2026-03-15T00:00:00",
        "completedDate": null,
        "isCompleted": false,
        "isDelayed": false,
        "memo": null,
        "createdAt": "2026-03-01T00:00:00",
        "updatedAt": null
      }
    ],
    "isDoubleReview": true,
    "totalPhases": 12
  }
}

Response 스키마 (ScheduleListResponse)

필드명타입설명
schedulesCampaignScheduleResponseDto[]일정 목록
isDoubleReviewboolean2회검수 캠페인 여부 (true: 12단계, false: 10단계)
totalPhasesint총 단계 수 (10 또는 12)

CampaignScheduleResponseDto

필드명타입설명
scheduleIdlong일정 ID
phasestring캠페인 단계 enum
phaseDescriptionstring단계 한글 설명
startDatedatetime단계 시작일
endDatedatetime단계 종료일
completedDatedatetime실제 완료일 (미완료 시 null)
isCompletedboolean완료 여부
isDelayedboolean지연 여부
memostring메모
createdAtdatetime생성일
updatedAtdatetime수정일

크리에이터 개별 일정 조회

신청 ID로 해당 크리에이터의 개별 일정 목록을 조회합니다. 플로우 진행에 따라 일정이 동적으로 추가/갱신됩니다.

HTTP 요청

GET /ai/campaign-schedules/applications/{applicationId}
Authorization: Bearer {access_token}

Path Parameters

파라미터타입필수설명
applicationIdlong크리에이터 신청 ID

응답

성공 응답 (200 OK) - 1회검수 캠페인 (전체 플로우 완료 시)

{
  "status": 200,
  "code": null,
  "message": "크리에이터 개별 일정 조회가 성공하였습니다.",
  "data": {
    "schedules": [
      {
        "id": 1,
        "phase": "CONTENT_SUBMISSION_DEADLINE",
        "phaseDescription": "제작물 제출 마감",
        "deadline": "2026-04-05T14:00:00",
        "createdAt": "2026-04-01T14:00:00",
        "updatedAt": null
      },
      {
        "id": 2,
        "phase": "CONTENT_REVIEW_DEADLINE",
        "phaseDescription": "제작물 검수 마감",
        "deadline": "2026-04-09T10:00:00",
        "createdAt": "2026-04-04T10:00:00",
        "updatedAt": null
      },
      {
        "id": 3,
        "phase": "FEEDBACK_DEADLINE",
        "phaseDescription": "피드백 반영 마감",
        "deadline": "2026-04-13T15:00:00",
        "createdAt": "2026-04-09T15:00:00",
        "updatedAt": null
      },
      {
        "id": 4,
        "phase": "UPLOAD_ALLOWED_DATE",
        "phaseDescription": "업로드 허용일",
        "deadline": "2026-04-20T00:00:00",
        "createdAt": "2026-04-14T10:00:00",
        "updatedAt": null
      }
    ],
    "applicationId": 100
  }
}

성공 응답 (200 OK) - 2회검수 캠페인 (전체 플로우 완료 시)

{
  "status": 200,
  "code": null,
  "message": "크리에이터 개별 일정 조회가 성공하였습니다.",
  "data": {
    "schedules": [
      {
        "id": 1,
        "phase": "SCRIPT_SUBMISSION_DEADLINE",
        "phaseDescription": "스크립트 제출 마감",
        "deadline": "2026-04-12T00:00:00",
        "createdAt": "2026-04-10T00:00:00",
        "updatedAt": null
      },
      {
        "id": 2,
        "phase": "SCRIPT_REVIEW_DEADLINE",
        "phaseDescription": "스크립트 검수 마감",
        "deadline": "2026-04-16T09:00:00",
        "createdAt": "2026-04-12T09:00:00",
        "updatedAt": null
      },
      {
        "id": 3,
        "phase": "CONTENT_SUBMISSION_DEADLINE",
        "phaseDescription": "제작물 제출 마감",
        "deadline": "2026-04-20T15:00:00",
        "createdAt": "2026-04-16T15:00:00",
        "updatedAt": null
      },
      {
        "id": 4,
        "phase": "CONTENT_REVIEW_DEADLINE",
        "phaseDescription": "제작물 검수 마감",
        "deadline": "2026-04-28T10:00:00",
        "createdAt": "2026-04-24T10:00:00",
        "updatedAt": null
      },
      {
        "id": 5,
        "phase": "FEEDBACK_DEADLINE",
        "phaseDescription": "피드백 반영 마감",
        "deadline": "2026-05-02T14:00:00",
        "createdAt": "2026-04-28T14:00:00",
        "updatedAt": null
      },
      {
        "id": 6,
        "phase": "UPLOAD_ALLOWED_DATE",
        "phaseDescription": "업로드 허용일",
        "deadline": "2026-05-10T00:00:00",
        "createdAt": "2026-05-03T10:00:00",
        "updatedAt": null
      }
    ],
    "applicationId": 200
  }
}

일정은 한 번에 전부 생성되지 않습니다. 플로우 단계마다 해당 일정만 추가됩니다.

  • 선정 시: 제출 마감만 생성 (1회검수: CONTENT_SUBMISSION_DEADLINE, 2회검수: SCRIPT_SUBMISSION_DEADLINE)
  • 제출 시: 검수 마감 추가
  • 피드백 시: 피드백 마감 추가
  • 업로드일 설정 시: 업로드 허용일 추가
  • 같은 phase는 새 row가 생기지 않고 기존 deadline이 갱신됩니다.

Response 스키마 (ListResponse)

필드명타입설명
schedulesApplicationScheduleResponseDto[]일정 목록
applicationIdlong신청 ID

ApplicationScheduleResponseDto

필드명타입설명
idlong일정 ID
phasestring일정 단계 enum
phaseDescriptionstring단계 한글 설명
deadlinedatetime마감일
createdAtdatetime생성일
updatedAtdatetime수정일

ApplicationSchedulePhase (개별 일정 단계)

Phase설명비고
SCRIPT_SUBMISSION_DEADLINE스크립트 제출 마감2회검수만
SCRIPT_REVIEW_DEADLINE스크립트 검수 마감2회검수만
CONTENT_SUBMISSION_DEADLINE제작물 제출 마감
CONTENT_REVIEW_DEADLINE제작물 검수 마감
FEEDBACK_DEADLINE피드백 반영 마감
UPLOAD_ALLOWED_DATE업로드 허용일

일정 계산 규칙

1회검수 (비배송)

단계기준계산
제작물 제출 마감선정 시선정일 + 4일
제작물 검수 마감크리에이터 제출 시제출일 + 영업일 2일
피드백 반영 마감기업 피드백 시피드백일 + 4일
업로드 허용일기업 설정 시기업 입력값

1회검수 (배송) — 제작물 제출 마감만 다름: 배송마감예상일 + 4일

2회검수 (비배송)

단계기준계산
스크립트 제출 마감선정 시선정일 + 2일
스크립트 검수 마감크리에이터 제출 시제출일 + 영업일 2일
제작물 제출 마감스크립트 승인 시승인일 + 4일
제작물 검수 마감크리에이터 제출 시제출일 + 영업일 2일
피드백 반영 마감기업 피드백 시피드백일 + 4일
업로드 허용일기업 설정 시기업 입력값

2회검수 (배송) — 스크립트 제출 마감만 다름: 배송마감예상일 + 2일

영업일 = 토/일 제외 (공휴일 미포함). 배송마감예상일 = 캠페인 일정의 DRAFT_SUBMISSION phase endDate.

API 테스트 - 크리에이터 개별 일정


캠페인 단계 (CampaignPhase)

1회검수 캠페인 (10단계)

순서Phase설명기본 기간
1RECRUITMENT모집설정에 따름
2EXCLUSION_SELECTION협업 제안2일
3CONTRACT_CREATION계약서 작성2일
4DRAFT_SUBMISSION제품 배송4일
5DRAFT_REVIEW제작물 제출4일
6VIDEO_PRODUCTION제작물 검수 및 업로드 허용2일
7VIDEO_REVIEW재제출 or 업로드3일
8UPLOAD최종 업로드 허용2일
9UPLOAD_APPROVAL최종업로드3일
10SETTLEMENT정산20일

2회검수 캠페인 (12단계)

순서Phase설명기본 기간
1RECRUITMENT모집설정에 따름
2EXCLUSION_SELECTION협업 제안2일
3CONTRACT_CREATION계약서 작성2일
4DRAFT_SUBMISSION제품 배송4일
5SCRIPT_SUBMISSION스크립트 제출7일
6SCRIPT_REVIEW스크립트 검수 및 제작 허용2일
7DRAFT_REVIEW제작물 제출4일
8VIDEO_PRODUCTION제작물 검수 및 업로드 허용2일
9VIDEO_REVIEW재제출 or 업로드3일
10UPLOAD최종 업로드 허용2일
11UPLOAD_APPROVAL최종업로드3일
12SETTLEMENT정산20일

2회검수 캠페인은 firstReviewTypes(1차 검수 필수 제출물)가 설정된 캠페인입니다. 스크립트 제출/검수 단계가 제품 배송과 제작물 제출 사이에 추가됩니다.

API 테스트

On this page