Admin APIAdmin Campaign API
PATCH /ai/admin/campaigns/submission-items/{itemId}/content
관리자 검수 제출물 직접 수정
검수 제출물 직접 수정 (관리자용)
관리자가 검수 단계 제출물(ContentSubmissionItem) 내용을 직접 수정합니다. 수정 전 히스토리가 자동 저장되며 currentVersion이 1 증가합니다.
기존에 DB 직접 수정으로 처리하던 CS 건을 API로 대체합니다. 제출 상태(isSubmitted)나 검수 상태(status)는 변경되지 않습니다.
HTTP 요청
PATCH /ai/admin/campaigns/submission-items/{itemId}/content
Authorization: Bearer {access_token}
Content-Type: application/jsonPath Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
itemId | long | 예 | 검수 제출물 ID (ContentSubmissionItem.id) |
Query Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
triggerAiReview | boolean | 아니오 | false | true이고 제출물 타입이 VIDEO인 경우 AI 재검수를 비동기로 트리거합니다. 그 외 타입은 무시됩니다. |
Request Body
{
"filePath": "https://storage.../video.mp4",
"editorState": "{\"root\":...}",
"comment": "관리자 수정"
}필드 설명
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
filePath | string | 아니오 | 파일 경로 (VIDEO/PHOTO 타입에서만 사용) |
editorState | string | 아니오 | 에디터 상태 JSON (모든 타입에서 사용 가능) |
comment | string | 아니오 | 코멘트 |
타입별 동작:
VIDEO,PHOTO:filePath+editorState업데이트SCRIPT_VIDEO,SCRIPT_BLOG,CAPTION,HASHTAG:editorState만 업데이트
null이 아닌 필드만 부분 업데이트됩니다.
AI 재검수 동작
triggerAiReview=true일 때:
- 제출물 타입이
VIDEO이면ExtensionService.retryAiReview를 통해 비동기 AI 검수가 트리거됩니다 (AiVideoReviewService.reviewVideoByUrl). - 그 외 타입(
SCRIPT_*,PHOTO,CAPTION,HASHTAG)에는 AI 재검수가 적용되지 않으며, 스킵 로그만 남깁니다.
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "제출물 내용이 수정되었습니다.",
"data": {
"id": 123,
"itemType": "VIDEO",
"currentVersion": 3,
"filePath": "https://storage.../video.mp4",
"editorState": "{...}",
"isSubmitted": true
}
}에러 응답
| 상태 코드 | 설명 |
|---|---|
400 | 제출물을 찾을 수 없음 |
401 | 인증 실패 |