Glowb Dev Docs
SaaS API피드백 관리자 승인 (v4)

피드백 제출

검수 라운드의 피드백을 작성·제출합니다. 관리자 승인 게이트가 ON이면 크리에이터에게 바로 전달되지 않고 PENDING 상태로 대기합니다.

피드백 제출

검수 라운드의 피드백을 작성·제출합니다. 토글 ON이면 관리자 검토 대기(PENDING)로 들어가고 크리에이터에게 가지 않습니다.

인증 필요. 소유 기업(캠페인 작성자) 또는 관리자만 접근 가능 — 아니면 403 FORBIDDEN(code AUTH_002).

미디어(이미지/영상)를 첨부할 경우, 먼저 미디어 업로드 API로 파일을 업로드하여 mediaUrl을 받은 뒤, 해당 URL을 mediaList[].mediaUrl에 넣어 제출하세요.

승인 옵션

  • 피드백 없이 즉시 승인: 이 API가 아니라 승인 API를 사용하세요. 게이트를 거치지 않고 바로 승인됩니다.
  • 피드백을 남기면서 승인(approveWithFeedback: true): 피드백은 즉시 resolved 처리되지만, 게이트(관리자 승인)는 그대로 거칩니다. 게이트가 모두 통과되면 재제출 요청이 아니라 승인으로 릴리즈됩니다.
  • 재제출 요청(기본, approveWithFeedback 미지정/false): 게이트 통과 후 피드백 달린 제출물이 REJECTED(재제출 요청)로 릴리즈됩니다.

HTTP 요청

POST /ai/v4/feedback/review/{reviewId}/submit
Authorization: Bearer {access_token}
Content-Type: application/json

Path Parameters

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

Request Body

items[] 하나로 자유/가이드라인 내·외 피드백 모두 담습니다. isDraft: true 면 임시저장(게이트/크리에이터 전달 없이 저장만). approveWithFeedback: true 면 피드백을 남기면서 승인(피드백 즉시 resolved + 게이트 통과 후 승인 릴리즈).

{
  "isDraft": false,
  "approveWithFeedback": false,
  "items": [
    {
      "itemId": 9001,
      "feedback": "도입부에 훅이 없어요. Hook 장면을 추가해주세요.",
      "highlightedText": null,
      "selection": null,
      "feedbackType": "GUIDELINE_UNREFLECTED",
      "feedbackCategory": "영상 초반",
      "feedbackItem": "HOOK",
      "billingType": "FREE",
      "mediaList": [
        { "mediaType": "IMAGE", "comment": "이 부분 참고", "mediaUrl": "https://storage.googleapis.com/{bucket}/feedback/9001/uuid_sample.jpg" },
        { "mediaType": "VIDEO", "startTime": 10.5, "endTime": 15.0, "comment": "이 구간 재촬영", "mediaUrl": "https://storage.googleapis.com/{bucket}/feedback/9001/uuid_clip.mp4" }
      ]
    },
    {
      "itemId": 9001,
      "feedback": "가이드라인에 없는 클로즈업 장면 추가 촬영 부탁드려요.",
      "feedbackType": "GUIDELINE_EXTRA",
      "billingType": "PAID"
    }
  ]
}

SubmitRequest

필드타입필수설명
isDraftboolean아니오true: 임시저장(상태 변경·관리자 게이트·크리에이터 전달 없음). 미지정/false: 정식 제출. 정식·임시 모두 직전 임시저장본은 교체됨
approveWithFeedbackboolean아니오true: 피드백 포함 승인 — 생성되는 피드백을 즉시 resolved 처리하고 검수 라운드에 "승인 의도"를 기억(approvedWithFeedback). 게이트는 그대로 거치며, 모두 통과되면 재제출이 아니라 승인으로 릴리즈. 미지정/false: 재제출 요청. 정식 제출 시 매번 요청값으로 갱신됨
itemsSubmitItem[]피드백 목록

SubmitItem

필드타입필수설명
itemIdlong피드백을 붙일 제출물(장면) ID. 해당 reviewId에 속해야 함
feedbackstring아니오피드백 내용
highlightedTextstring아니오하이라이트된 텍스트
selectionstring아니오선택 영역 정보(JSON 문자열)
feedbackTypestring아니오FREE/GUIDELINE_UNREFLECTED/GUIDELINE_EXTRA. 미지정 시 FREE
feedbackCategorystring아니오AI 검수 카테고리 (예: 영상 초반)
feedbackItemstring아니오AI 검수 항목 코드 (예: HOOK)
billingTypestring아니오FREE/PAID. 미지정 시 FREE
mediaListMediaMeta[]아니오미디어 메타데이터. 미디어는 먼저 업로드 API로 올려 받은 mediaUrl을 넣습니다

MediaMeta

필드타입필수설명
mediaTypestring아니오IMAGE / VIDEO. 미지정 시 IMAGE
startTimedouble아니오영상 시작 시간(초)
endTimedouble아니오영상 끝 시간(초)
commentstring아니오해당 미디어 코멘트
mediaUrlstring미디어 업로드 API(POST /ai/v4/feedback/media)로 받은 GCS URL. 없거나 blank면 해당 항목은 저장되지 않음

응답

성공 응답 (200)

{ "status": 200, "code": null, "message": "제출 완료", "data": null }

에러 응답

상태 코드code상황
403AUTH_002소유 기업/관리자가 아님
400INVALID_DATA검수 라운드/피드백/제출물 없음, 또는 itemId가 해당 reviewId에 속하지 않음

On this page