Glowb Dev Docs
SaaS API

콘텐츠 검수 API

검수 단계 제출물 및 피드백 관리 API

콘텐츠 검수 API

검수 단계 제출물 및 피드백 관리 API입니다.

Base URL: /ai/influence/contents

인증 정보

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

엔드포인트 목록

제출물 관리

메서드경로설명인증
GET/ai/influence/contents/{itemId}제출물 조회 (ID)필요
GET/ai/influence/contents/review/{reviewId}/type/{itemType}제출물 조회 (검수라운드+타입)필요
GET/ai/influence/contents/review/{reviewId}검수 라운드별 제출물 목록필요
POST/ai/influence/contents제출물 신규 생성필요
PUT/ai/influence/contents/{itemId}제출물 수정필요
PUT/ai/influence/contents/{itemId}/editor에디터 상태 저장필요
PATCH/ai/influence/contents/{itemId}/submit제출 상태 변경필요

피드백

메서드경로설명인증
PATCH/ai/influence/contents/feedbacks/{feedbackId}/resolve피드백 해결 상태 변경필요

히스토리

메서드경로설명인증
GET/ai/influence/contents/{itemId}/history제출물 히스토리 조회필요
GET/ai/influence/contents/{itemId}/history/compare버전 비교필요

최종 제작물

메서드경로설명인증
GET/ai/influence/contents/{applicationId}/final-submission최종 제작물 조회필요
POST/ai/influence/contents/{applicationId}/final-submission최종 제작물 저장/제출필요

API 상세

제출물 조회 (ID)

제출물 ID로 제출물 상세를 조회합니다. editorState, 피드백 목록을 포함합니다.

HTTP 요청

GET /ai/influence/contents/{itemId}
Authorization: Bearer {access_token}

Path Parameters

파라미터타입필수설명
itemIdlong제출물 ID

제출물 조회 (검수라운드+타입)

검수 라운드 ID와 제출물 타입으로 조회합니다. 이전에 저장한 내용이 있으면 불러옵니다.

HTTP 요청

GET /ai/influence/contents/review/{reviewId}/type/{itemType}
Authorization: Bearer {access_token}

Path Parameters

파라미터타입필수설명
reviewIdlong검수 라운드 ID
itemTypeSubmissionItemType제출물 타입

제출물 타입 (SubmissionItemType)

타입설명
VIDEO영상
SCRIPT스크립트
HASHTAG해시태그
CAPTION캡션

검수 라운드별 제출물 목록 조회

검수 라운드에서 제출해야 할 모든 타입 목록과 각 타입별 저장된 내용을 조회합니다.

HTTP 요청

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

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "성공",
  "data": {
    "reviewId": 1,
    "requiredTypes": ["VIDEO", "SCRIPT", "HASHTAG"],
    "items": [
      {
        "itemId": 1,
        "itemType": "VIDEO",
        "status": "SUBMITTED",
        "editorState": {...}
      }
    ],
    "requiredKeywords": ["#브랜드명", "#협찬"]
  }
}

제출물 신규 생성

새 제출물을 생성합니다.

HTTP 요청

POST /ai/influence/contents
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "reviewId": 1,
  "itemType": "VIDEO",
  "editorState": {...},
  "isSubmit": false
}

Request Body 스키마

필드명타입필수설명
reviewIdlong검수 라운드 ID
itemTypestring제출물 타입
editorStateobject아니오Lexical 에디터 상태 JSON
isSubmitbooleantrue면 제출, false면 임시저장

제출물 수정

기존 제출물을 수정합니다.

HTTP 요청

PUT /ai/influence/contents/{itemId}
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "editorState": {...},
  "isSubmit": true
}

에디터 상태 자동 저장

Lexical 에디터 상태(JSON)만 저장합니다. 자동 저장용입니다.

HTTP 요청

PUT /ai/influence/contents/{itemId}/editor
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "editorState": {...}
}

제출 상태 변경

저장 상태를 제출로 변경하거나 제출을 취소합니다.

HTTP 요청

PATCH /ai/influence/contents/{itemId}/submit
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "isSubmit": true
}

피드백 해결 상태 변경

피드백의 해결 완료 상태를 토글합니다.

HTTP 요청

PATCH /ai/influence/contents/feedbacks/{feedbackId}/resolve
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "isResolved": true
}

제출물 히스토리 조회

제출물의 수정 히스토리를 조회합니다. 현재 버전과 모든 이전 버전 목록을 반환합니다.

HTTP 요청

GET /ai/influence/contents/{itemId}/history
Authorization: Bearer {access_token}

버전 비교

두 버전 간의 변경 내용을 비교합니다. afterVersion이 없으면 현재 버전과 비교합니다.

HTTP 요청

GET /ai/influence/contents/{itemId}/history/compare?beforeVersion={before}&afterVersion={after}
Authorization: Bearer {access_token}

Query Parameters

파라미터타입필수설명
beforeVersionint비교 기준 버전
afterVersionint아니오비교 대상 버전 (없으면 현재 버전)

최종 제작물 조회

업로드/정산 단계에서 최종 제작물을 조회합니다.

HTTP 요청

GET /ai/influence/contents/{applicationId}/final-submission
Authorization: Bearer {access_token}

최종 제작물 저장/제출

업로드/정산 단계에서 최종 제작물을 저장하거나 제출합니다.

HTTP 요청

POST /ai/influence/contents/{applicationId}/final-submission
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "uploadLink": "https://instagram.com/p/...",
  "partnershipCode": "ABC123",
  "files": [
    {
      "fileUrl": "https://s3.../video.mp4",
      "fileName": "final_video.mp4",
      "fileType": "VIDEO"
    }
  ],
  "isSubmit": true
}

파일 업로드는 별도 S3 업로드 API를 사용한 후 URL을 전달합니다.

사용 예시

제출물 생성

curl -X POST https://api.glowb.io/ai/influence/contents \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "reviewId": 1,
    "itemType": "SCRIPT",
    "editorState": {"root": {...}},
    "isSubmit": false
  }'

API 테스트

On this page