Glowb Dev Docs
SaaS API기업용 콘텐츠 검수

GET /ai/business/contents/review/{reviewId}/detail

검수 라운드 상세 조회

검수 라운드 상세 조회

검수 라운드의 모든 제출물과 각 제출물의 히스토리, 피드백을 포함하여 조회합니다.

HTTP 요청

GET /ai/business/contents/review/{reviewId}/detail
Authorization: Bearer {access_token}

Path Parameters

파라미터타입필수설명
reviewIdlong검수 라운드 ID

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "검수 라운드 상세 조회가 완료되었습니다.",
  "data": {
    "reviewId": 1,
    "applicationId": 100,
    "reviewRound": 1,
    "guidelineVersion": 2,
    "status": "REVIEWING",
    "uploadApproved": false,
    "feedbackDeadline": "2024-01-20T10:30:00",
    "createdAt": "2024-01-15T10:30:00",
    "creatorName": "홍길동",
    "creatorEmail": "creator@example.com",
    "submissionItems": [
      {
        "id": 1,
        "itemType": "VIDEO",
        "filePath": "https://s3.../video.mp4",
        "editorState": null,
        "comment": null,
        "status": "REVIEWING",
        "isSubmitted": true,
        "submittedAt": "2024-01-16T14:00:00",
        "uploadedAt": "2024-01-16T14:00:00",
        "currentVersion": 2,
        "createdAt": "2024-01-15T10:30:00",
        "histories": [...],
        "feedbacks": [
          {
            "id": 10,
            "feedback": "자유 피드백 내용",
            "feedbackType": "FREE",
            "feedbackCategory": null,
            "feedbackItem": null,
            "highlightedText": null,
            "isResolved": false,
            "isDraft": false,
            "createdAt": "2024-01-17T10:00:00"
          },
          {
            "id": 11,
            "feedback": "제형 표현이 충분히 보이지 않습니다.",
            "feedbackType": "GUIDELINE_UNREFLECTED",
            "feedbackCategory": "필수 촬영 항목",
            "feedbackItem": "제형 표현 샷",
            "highlightedText": null,
            "isResolved": false,
            "isDraft": false,
            "createdAt": "2024-01-17T10:00:00"
          },
          {
            "id": 12,
            "feedback": "작성 중인 피드백...",
            "feedbackType": "FREE",
            "feedbackCategory": null,
            "feedbackItem": null,
            "highlightedText": null,
            "isResolved": false,
            "isDraft": true,
            "createdAt": "2024-01-17T11:00:00"
          }
        ]
      }
    ],
    "unreflectedFeedbackIds": [1, 2, 3],
    "previousReviewId": null,
    "uploadDateType": "CANDIDATE",
    "uploadDate": null,
    "candidateDates": "[\"2026-04-10\",\"2026-04-13\",\"2026-04-15\"]"
  }
}

Response 스키마

필드타입설명
reviewIdlong검수 라운드 ID
applicationIdlongCampaignApplication ID
reviewRoundint검수 라운드 (1: 1차, 2: 2차)
guidelineVersionint가이드라인 버전 (1: v1, 2: v2)
statusstring검수 상태
uploadApprovedboolean업로드 승인 여부
feedbackDeadlinedatetime피드백 마감일
createdAtdatetime생성일시
creatorNamestring크리에이터명
creatorEmailstring크리에이터 이메일
submissionItemsarray제출물 목록 (히스토리, 피드백 포함)
unreflectedFeedbackIdsarray<long>반영되지 않은 피드백 ID 목록 (nullable)
previousReviewIdlong이전 검수 라운드 ID (2차 검수인 경우 1차 검수 ID, 1차 검수이면 null)
uploadDateTypestring업로드일 선택 타입 (OPTIMAL / CANDIDATE / ASAP, nullable)
uploadDatedatetime업로드 예정일 (OPTIMAL 타입인 경우, nullable)
candidateDatesstring후보 업로드 날짜 목록 (CANDIDATE 타입인 경우, JSON 배열 문자열, nullable)

unreflectedFeedbackIds 필드

기업이 "피드백 미반영" 검수 추가 요청 시 지정한 피드백 ID 목록입니다.

  • 값이 있으면: 해당 피드백들을 하이라이트 표시하여 크리에이터가 미반영한 피드백 확인 가능
  • 값이 null이면: 검수 추가 요청이 없거나 OUTSIDE_GUIDELINE 유형인 경우

피드백의 feedbackType 필드 (신규)

각 피드백에 feedbackType, feedbackCategory, feedbackItem 필드가 추가되었습니다.

  • feedbackType: 피드백 종류 구분
    • FREE — 기존 자유 피드백 (category/item은 null)
    • GUIDELINE_UNREFLECTED — 가이드라인 미반영 항목 (category: 섹션명, item: 항목명)
    • GUIDELINE_EXTRA — 가이드라인 외 추가 피드백 (category: 자막/녹음 등, item: null)
  • 기존 피드백은 모두 feedbackType: "FREE"로 조회됩니다.
  • 프론트에서 feedbackType으로 피드백 종류를 구분하여 렌더링하면 됩니다.

피드백의 isDraft 필드

각 피드백에 isDraft 필드가 포함됩니다.

  • isDraft: true — 임시저장된 피드백 (아직 정식 제출되지 않음)
  • isDraft: false — 정식 제출된 피드백
  • 프론트에서 isDraft로 구분하여 임시저장 피드백은 별도 UI로 표시할 수 있습니다.
  • 정식 제출 시 임시저장 피드백은 자동 삭제됩니다.

previousReviewId 필드

2차 검수(reviewRound=2)인 경우, 같은 신청 건의 1차 검수 라운드 ID를 반환합니다.

  • 이 ID로 /ai/business/contents/review/{previousReviewId}/detail을 호출하면 1차 검수 내용을 확인할 수 있습니다.
  • 1차 검수이거나 1차 검수가 존재하지 않으면 null입니다.

업로드일 관련 필드 (uploadDateType, uploadDate, candidateDates)

해당 신청 건의 최종 제출물(FinalSubmission)에 설정된 업로드일 정보입니다.

  • OPTIMAL: 3일 이내 최적 날짜에 게시 → uploadDate에 날짜 저장
  • CANDIDATE: 기업이 후보 3개 지정 → candidateDates에 JSON 배열 저장
  • ASAP: 가능한 빨리 게시
  • 업로드일이 아직 설정되지 않은 경우 세 필드 모두 null입니다.

API 테스트

On this page