SaaS API구사스 제출 링크 (매직 링크)
제출 결과 조회 (관리자)
구사스 매직링크 제출 결과 + 발급·제출 이력을 관리자가 조회 (단건 / 캠페인 단위)
구사스 제출 결과 조회 (관리자)
구사스 매직링크로 제출된 산출물을 관리자가 조회합니다. 대시보드 행 버튼 → 모달용이며 읽기 전용입니다.
- 단건: 특정
progressTableId1건 - 캠페인 단위: 특정
collabNo의 모든 progress 행
매직링크 토큰은 1회용이라 토큰 1건 = 발급·제출 1건입니다. 재발급/재제출 시 토큰이 여러 개 쌓이며, 각 토큰이 그 시점 제출 파일을 submittedFile로 보존합니다. submissionHistory[]가 그 발급·제출 이력(최신순)입니다.
file/uploadUrl/creatorLink는 ProgressTable의 현재값(최신 상태)이며, 구사스 매직링크 제출(/complete)은 파일 1개(file)만 기록합니다.
1) 단건 조회
GET /ai/admin/legacy-submission-link/progress-items/{progressTableId}/submission
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
progressTableId | long | 예 | 조회할 산출물(progress) 행 ID |
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "조회 완료",
"data": {
"progressTableId": 5630,
"creator": "크리에이터명",
"campaignName": "캠페인 제목",
"file": "https://storage.googleapis.com/glowb-input/.../영상.mp4",
"uploadUrl": "https://www.instagram.com/reels/...",
"creatorLink": "https://www.instagram.com/계정/",
"uploadStatus": "CREATING",
"uploadDatetime": "2026-06-18T12:00:00",
"submissionHistory": [
{
"tokenId": 17,
"issuedAt": "2026-06-18T11:00:00",
"expiresAt": "2026-06-25T11:00:00",
"active": true,
"submitted": true,
"submittedAt": "2026-06-18T12:00:00",
"submittedFile": "https://storage.googleapis.com/glowb-input/.../영상.mp4"
},
{
"tokenId": 12,
"issuedAt": "2026-06-15T09:00:00",
"expiresAt": "2026-06-22T09:00:00",
"active": true,
"submitted": false,
"submittedAt": null,
"submittedFile": null
}
]
}
}2) 캠페인 단위 조회
GET /ai/admin/legacy-submission-link/campaigns/{collabNo}/submissions
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
collabNo | int | 예 | 캠페인 번호 |
data는 위 단건 응답과 동일한 객체의 배열입니다(그 캠페인의 모든 progress 행).
Response Body 스키마
| 필드명 | 타입 | 설명 |
|---|---|---|
progressTableId | long | 산출물(progress) 행 ID |
creator | string | 크리에이터명 |
campaignName | string | 캠페인 제목 (Collab.title) |
file | string | 산출물 파일 URL (ProgressTable 현재값). 미제출 시 null |
uploadUrl | string | 게시물(릴스 등) URL. 없으면 null |
creatorLink | string | 크리에이터 계정 링크. 없으면 null |
uploadStatus | string | 업로드 상태 (예: CREATING, VERIFYING) |
uploadDatetime | datetime | 업로드 시각 |
submissionHistory | array | 매직링크 발급·제출 이력(최신순). 발급 이력이 없으면 빈 배열 |
submissionHistory[].tokenId | long | 토큰 ID |
submissionHistory[].issuedAt | datetime | 발급 시각 |
submissionHistory[].expiresAt | datetime | 만료 시각 |
submissionHistory[].active | boolean | 링크 활성(미무효화) 여부 |
submissionHistory[].submitted | boolean | 제출 완료(1회용 소진) 여부 |
submissionHistory[].submittedAt | datetime | 제출 시각 (미제출 시 null) |
submissionHistory[].submittedFile | string | 이 토큰으로 제출한 파일 URL (미제출 시 null) |
에러 응답
| 상황 | 메시지 |
|---|---|
| progress 행 없음 (단건) | Progress item을 찾을 수 없습니다. id: {id} |
공통 응답 규약: 에러도 HTTP 200으로 내려가며, 응답 바디의 status·code로 식별합니다. 캠페인 단위 조회는 행이 없으면 빈 배열을 반환합니다.