SaaS API구사스 제출 링크 (매직 링크)
POST /ai/legacy-submit-link/{token}/complete
구사스 제출 완료 콜백 (무인증)
구사스 제출 완료 콜백
GCS 직접 업로드가 끝난 뒤 호출하여 제출을 반영합니다. 기존 관리자 업로드와 동일하게 ProgressTable.file에 파일 URL을 기록하고 uploadStatus를 CREATING으로 설정합니다.
처리 순서
- 토큰 검증 (만료/사용/비활성 확인)
ProgressTableService.updateFileUrl(progressTableId, filePath, "creating")호출 →file기록 +uploadStatus=CREATING- 제출 성공 → 토큰 1회용 소진 (다시 올리려면 새 링크 필요)
대상 progressTableId는 요청 본문이 아니라 토큰에서 가져옵니다(다른 산출물 행 조작 방지).
트랜스코딩은 트리거하지 않습니다.
HTTP 요청
POST /ai/legacy-submit-link/{token}/complete
Content-Type: application/jsonPath Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
token | string | 예 | 제출 링크 토큰 |
Request Body
{
"filePath": "https://storage.googleapis.com/glowb-input/campaign/content/legacy-link/10/...mp4"
}| 필드명 | 타입 | 필수 | 설명 |
|---|---|---|---|
filePath | string | 예 | GCS 업로드 완료 후의 publicUrl (signed-url 응답값 그대로) |
응답
성공 응답 (200 OK) — 갱신된 ProgressTable 항목
{
"status": 200,
"code": null,
"message": "제출 완료",
"data": {
"id": 10,
"file": "https://storage.googleapis.com/glowb-input/campaign/content/legacy-link/10/...mp4",
"uploadStatus": "creating"
}
}data는 ProgressTableService.updateFileUrl이 반환하는 ProgressTable 항목 응답(ProgressItemResponse)입니다. 위 JSON은 핵심 필드만 발췌한 예시입니다.
에러 응답
| 상황 | 상태 코드 | 메시지 |
|---|---|---|
| 토큰 만료/사용됨 | 400 | 만료되었거나 사용할 수 없는 링크입니다. |
| 산출물 행 없음 | 400 | 존재하지 않는 Progress item id 입니다: {id} |