Glowb Dev Docs
SaaS API제출 링크 (매직 링크)

POST /ai/submit-link/{token}/complete/final

최종제출물 완료 콜백 (무인증)

최종제출물 완료 콜백

GCS 직접 업로드가 끝난 뒤 호출하여 최종제출물(클린본/최종본/콘텐츠 링크/파트너십 코드)을 제출합니다. 내부적으로 기존 최종제출 로직을 그대로 호출하므로 상태변경·알림(알리고 등)이 인앱과 동일하게 발생합니다.

처리 순서

  1. 토큰 검증 → 신청 소유자 memberId 해석 (최종제출 소유권 검증에 사용)
  2. 클린본/최종본이 비디오면 트랜스코딩 트리거
  3. isResubmit 값에 따라 분기
    • false(기본): 최종 제출
    • true: 재요청 건 재제출 (제출 이력이 있어야 함)
  4. 제출 성공 → 토큰 1회용 소진

HTTP 요청

POST /ai/submit-link/{token}/complete/final
Content-Type: application/json

Path Parameters

파라미터타입필수설명
tokenstring예제출 링크 토큰

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
}
필드명타입필수설명
contentLinkstring아니오업로드한 콘텐츠 링크
partnershipCodestring아니오파트너십 코드
cleanFilePathstring아니오클린본 파일 GCS URL (publicUrl)
finalFilePathstring아니오최종본 파일 GCS URL (publicUrl)
isResubmitboolean아니오재요청 대기 중(reRequestPending) 재제출이면 true (기본 false)

재제출해도 재요청 기록은 지워지지 않습니다. isResubmit 값과 무관하게 reRequestTypes·reRequestedAt은 이력으로 남고, 제출 시각이 갱신되어 컨텍스트의 reRequestPending이 false가 됩니다. 정식 크리에이터 앱 재제출과 같은 결과이며 어드민 진행 상태는 「수정완료」로 표시됩니다.

재요청받은 칸만 보내면 됩니다 — 보내지 않은(null) 필드는 기존 제출값이 유지됩니다. 어떤 칸을 열지는 링크 컨텍스트 조회의 재요청 사유 → 입력 칸 변환표를 따르세요.

응답

성공 응답 (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신청 소유자를 확인할 수 없습니다.

API 테스트

On this page