SaaS API제출 링크 (매직 링크)
제출 이력 조회 (관리자)
신청에 발급된 매직링크들의 발급·제출 이력을 관리자가 조회
매직링크 제출 이력 조회 (관리자)
특정 캠페인 신청(applicationId)에 발급된 매직링크들의 발급·제출 이력을 최신순으로 조회합니다. 대시보드 행 버튼 → 모달 용도이며 읽기 전용입니다.
매직링크 토큰은 1회용이라 토큰 1건 = 발급·제출 1건입니다. 재발급/재제출 시 토큰이 여러 개 쌓이며, 각 토큰이 그 시점의 제출 내용을 스냅샷으로 보존합니다(submissionType + submissionPayload).
HTTP 요청
GET /ai/admin/submission-link/applications/{applicationId}/submissions
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
applicationId | long | 예 | 캠페인 신청 ID |
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "조회 완료",
"data": {
"applicationId": 100,
"creator": "크리에이터명",
"campaignName": "캠페인 제목",
"submissionHistory": [
{
"tokenId": 32,
"issuedAt": "2026-06-18T13:00:00",
"expiresAt": "2026-06-25T13:00:00",
"active": true,
"submitted": true,
"submittedAt": "2026-06-18T13:10:00",
"submissionType": "FINAL",
"submissionPayload": {
"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
}
},
{
"tokenId": 28,
"issuedAt": "2026-06-17T09:00:00",
"expiresAt": "2026-06-24T09:00:00",
"active": true,
"submitted": true,
"submittedAt": "2026-06-17T09:20:00",
"submissionType": "REVIEW",
"submissionPayload": {
"reviewId": 470,
"items": [
{ "itemType": "VIDEO", "filePath": "https://storage.googleapis.com/glowb-input/...mp4" }
]
}
}
]
}
}Response Body 스키마
| 필드명 | 타입 | 설명 |
|---|---|---|
applicationId | long | 캠페인 신청 ID |
creator | string | 크리에이터명 (Influence.name) |
campaignName | string | 캠페인 제목 (Collab.title) |
submissionHistory | array | 발급·제출 이력(최신순). 발급 이력이 없으면 빈 배열 |
submissionHistory[].tokenId | long | 토큰 ID |
submissionHistory[].issuedAt | datetime | 링크 발급 시각 |
submissionHistory[].expiresAt | datetime | 링크 만료 시각 |
submissionHistory[].active | boolean | 링크 활성(미무효화) 여부 |
submissionHistory[].submitted | boolean | 제출 완료(1회용 소진) 여부 |
submissionHistory[].submittedAt | datetime | 제출 시각 (미제출 시 null) |
submissionHistory[].submissionType | string | REVIEW(1·2차 검수) / FINAL(최종제출). 미제출 시 null |
submissionHistory[].submissionPayload | object | 제출 요청 본문 스냅샷(그 시점 제출 내용 그대로). 미제출 시 null |
submissionPayload는 해당 완료 콜백(complete/review 또는 complete/final)의 요청 본문을 그대로 보존한 객체입니다. 종류는 submissionType으로 구분합니다.
에러 응답
| 상황 | 메시지 |
|---|---|
| 신청 없음 | 캠페인 신청을 찾을 수 없습니다. applicationId: {id} |