SaaS API제출 링크 (매직 링크)
POST /submit-link/{token}/complete/final
최종제출물 완료 콜백 (무인증)
최종제출물 완료 콜백
GCS 직접 업로드가 끝난 뒤 호출하여 최종제출물(클린본/최종본/콘텐츠 링크/파트너십 코드)을 제출합니다. 내부적으로 기존 최종제출 로직을 그대로 호출하므로 상태변경·알림(알리고 등)이 인앱과 동일하게 발생합니다.
처리 순서
- 토큰 검증 → 신청 소유자
memberId해석 (최종제출 소유권 검증에 사용) - 클린본/최종본이 비디오면 트랜스코딩 트리거
isResubmit값에 따라 분기false(기본): 신규 최종 제출true: 재요청 건 재제출
- 제출 성공 → 토큰 1회용 소진
HTTP 요청
POST /submit-link/{token}/complete/final
Content-Type: application/jsonPath Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
token | string | 예 | 제출 링크 토큰 |
Request Body
{
"contentLink": "https://www.instagram.com/p/...",
"partnershipCode": "PARTNER-123",
"cleanFilePath": "https://storage.googleapis.com/glowb-input/.../clean.mp4",
"finalFilePath": "https://storage.googleapis.com/glowb-input/.../final.mp4",
"isResubmit": false
}| 필드명 | 타입 | 필수 | 설명 |
|---|---|---|---|
contentLink | string | 아니오 | 업로드한 콘텐츠 링크 |
partnershipCode | string | 아니오 | 파트너십 코드 |
cleanFilePath | string | 아니오 | 클린본 파일 GCS URL (publicUrl) |
finalFilePath | string | 아니오 | 최종본 파일 GCS URL (publicUrl) |
isResubmit | boolean | 아니오 | 재요청 후 재제출이면 true (기본 false) |
응답
성공 응답 (200 OK) — 기존 최종제출과 동일한 FinalSubmission 응답
{
"status": 200,
"code": null,
"message": "최종 제작물 제출 완료",
"data": {
"id": 10,
"applicationId": 100,
"contentLink": "https://www.instagram.com/p/...",
"partnershipCode": "PARTNER-123"
}
}에러 응답
| 상황 | 상태 코드 | 메시지 |
|---|---|---|
| 토큰 만료/사용됨 | 400 | 만료되었거나 사용할 수 없는 링크입니다. |
| 신청 없음 | 400 | 캠페인 신청을 찾을 수 없습니다. |
| 소유자 확인 불가 | 400 | 신청 소유자를 확인할 수 없습니다. |