Admin APIAdmin Campaign API
PATCH /ai/admin/campaigns/final-submission/{applicationId}
관리자 최종 제출물 직접 수정
최종 제출물 직접 수정 (관리자용)
관리자가 최종 제출물(FinalSubmission) 내용을 직접 수정합니다. 단계 이동이나 승인 상태 변경 없이 제출물 내용만 교체합니다.
기존에 DB 직접 수정으로 처리하던 CS 건을 API로 대체합니다. phase 검증 없이 어떤 단계에서든 수정 가능하며, isSubmitted, submittedAt 등 상태 필드는 변경되지 않습니다.
HTTP 요청
PATCH /ai/admin/campaigns/final-submission/{applicationId}
Authorization: Bearer {access_token}
Content-Type: application/jsonPath Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
applicationId | long | 예 | 신청(CampaignApplication) ID |
Request Body
{
"contentLink": "https://www.instagram.com/reel/xxxxx",
"partnershipCode": "ABC123",
"cleanFilePath": "https://s3.../clean-cut.mp4",
"finalFilePath": "https://s3.../final-cut.mp4"
}null이 아닌 필드만 부분 업데이트됩니다. 변경하지 않을 필드는 요청에서 생략하면 기존 값이 유지됩니다.
Request Body 필드 설명
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
contentLink | string | 아니오 | 업로드한 콘텐츠 링크 |
partnershipCode | string | 아니오 | 파트너십 코드 |
cleanFilePath | string | 아니오 | 클린본 파일 S3 URL |
finalFilePath | string | 아니오 | 최종본 파일 S3 URL |
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "최종 제출물이 수정되었습니다.",
"data": {
"id": 1,
"applicationId": 123,
"contentLink": "https://www.instagram.com/reel/xxxxx",
"partnershipCode": "ABC123",
"cleanFilePath": "https://s3.../clean-cut.mp4",
"finalFilePath": "https://s3.../final-cut.mp4",
"isSubmitted": true,
"submittedAt": "2024-03-01T10:00:00",
"hasReRequest": false,
"reRequestTypes": null,
"reRequestedAt": null,
"uploadDateType": "OPTIMAL",
"uploadDate": "2024-03-05T10:00:00",
"candidateDates": null
}
}에러 응답 - 신청 건 없음 (404)
{
"status": 404,
"code": null,
"message": "신청 건을 찾을 수 없습니다. applicationId: 999",
"data": null
}해당 applicationId에 FinalSubmission 레코드가 없으면 자동으로 신규 생성됩니다.