Glowb Dev Docs
SaaS API인플루언서 SaaS

GET /ai/influence/campaigns/applications

캠페인 신청 목록 조회

캠페인 신청 목록 조회

인플루언서가 신청한 캠페인 목록을 조회합니다. 선정 대기, 선정, 미선정 7일 이내 건을 포함합니다.

HTTP 요청

GET /ai/influence/campaigns/applications
Authorization: Bearer {access_token}

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "성공",
  "data": {
    "totalSettlement": 2500000,
    "applications": [
      {
        "applicationId": 1,
        "collabId": 123,
        "thumbnailImage": "https://...",
        "platform": "INSTAGRAM",
        "contentFormat": "REEL",
        "campaignName": "여름 뷰티 캠페인",
        "selectionStatus": "SELECTED",
        "selectionStatusDisplay": "선정됨",
        "isContractRead": false,
        "contractId": 42,
        "contractStatus": "SIGNED",
        "hasAllDocuments": false,
        "missingDocumentTypes": ["IDENTIFICATION", "BANK_ACCOUNT_COPY"],
        "appliedAt": "2024-01-15T10:00:00",
        "contractDeadline": "2024-01-20T23:59:59",
        "totalReviewCount": 2,
        "phase": "FIRST_REVIEW",
        "reviewId": 101,
        "previousReviewId": null,
        "reviewRound": 1,
        "feedbackDeadline": "2024-01-25T23:59:59",
        "contentSubmissionDeadline": "2024-01-22T23:59:59",
        "hasNewFeedback": true,
        "isSubmitted": false,
        "needsResubmission": true,
        "hasAdditionalReviewRequest": false,
        "approvedWithFeedback": false,
        "priceNegotiationId": 501,
        "proposedPrice": 450000,
        "negotiationOrder": 2,
        "negotiationStatus": "ACCEPT"
      },
      {
        "applicationId": 2,
        "collabId": 456,
        "thumbnailImage": "https://...",
        "platform": "YOUTUBE",
        "contentFormat": "SHORTS",
        "campaignName": "겨울 패션 캠페인",
        "selectionStatus": "SELECTED",
        "selectionStatusDisplay": "선정됨",
        "isContractRead": true,
        "contractId": 55,
        "contractStatus": "SIGNED",
        "hasAllDocuments": true,
        "missingDocumentTypes": null,
        "appliedAt": "2024-01-10T10:00:00",
        "contractDeadline": "2024-01-15T23:59:59",
        "totalReviewCount": 2,
        "phase": "UPLOAD_SETTLEMENT",
        "reviewId": 202,
        "previousReviewId": 101,
        "reviewRound": 2,
        "finalSubmittedAt": "2024-01-28T14:30:00",
        "isFinalSubmitted": true,
        "contentLink": "https://www.instagram.com/reel/xxxxx",
        "partnershipCode": "PARTNER-123",
        "cleanFilePath": "https://d3mp6eqt0w2808.cloudfront.net/clean/file.mp4",
        "finalFilePath": "https://d3mp6eqt0w2808.cloudfront.net/final/file.mp4",
        "reRequestTypes": "[\"CONTENT_LINK\", \"CLEAN_FILE\"]",
        "uploadDeadline": "2024-02-01T23:59:59",
        "uploadApprovalDeadline": "2024-02-05T23:59:59"
      }
    ]
  }
}

응답 필드 설명

공통 필드:

필드타입설명
applicationIdlong신청 ID
collabIdint캠페인 ID
thumbnailImagestring캠페인 썸네일 이미지
platformstring플랫폼 (SNS)
contentFormatstring게시물 종류 (릴스, 숏츠 등)
campaignNamestring캠페인명
selectionStatusstring선정 상태 (WAITING, SELECTED, REJECTED, PROPOSAL 등)
selectionStatusDisplaystring선정 상태 표시명
isContractReadboolean계약서 읽음 여부
contractIdlong전자계약서 ID (계약서 미발송 시 null)
contractStatusstring전자계약 상태 (DRAFT, SENT, OPENED, FILLED, OTP_VERIFIED, SIGNED). 계약서 미발송 시 null
hasAllDocumentsboolean필수 서류 모두 첨부 여부. SIGNED 상태에서만 값이 설정됨. 그 외 null
missingDocumentTypesstring[]미첨부 서류 타입 목록 (IDENTIFICATION, BANK_ACCOUNT_COPY 등). 모두 첨부 시 null
appliedAtdatetime신청일
contractDeadlinedatetime계약서 작성 마감일
totalReviewCountint총 검수 단계 횟수 (1: 1회검수, 2: 2회검수)
phasestring현재 단계 (APPLIED, CONTRACT, FIRST_REVIEW, SECOND_REVIEW, UPLOAD_SETTLEMENT, COMPLETED)

콘텐츠 제작 단계 필드 (FIRST_REVIEW, SECOND_REVIEW):

필드타입설명
reviewIdlong현재 검수 라운드 ID
previousReviewIdlong이전 검수 라운드 ID (SECOND_REVIEW 시 1차 review ID, FIRST_REVIEW 시 null)
reviewRoundint검수 라운드 (1차 또는 2차)
feedbackDeadlinedatetime피드백 반영 마감일
contentSubmissionDeadlinedatetime콘텐츠 제출 마감일 (DRAFT_REVIEW 마감일)
hasNewFeedbackboolean새로운 피드백 유무
isSubmittedboolean제출물 제출 여부
needsResubmissionboolean크리에이터가 지금 수정/재제출해야 하는지 여부. true: 재제출 필요, false: 기업 검수 대기 중
hasAdditionalReviewRequestboolean추가 검수 요청이 있었는지 여부. true: 추가 검수 요청 있음 (maxFeedbackCount > 1)
approvedWithFeedbackboolean피드백 포함 승인 여부. true: 피드백을 남기되 반려 없이 바로 승인 처리된 경우, false: 정상 플로우

업로드/정산 단계 필드 (UPLOAD_SETTLEMENT):

필드타입설명
reviewIdlong가장 최근 검수 라운드 ID (보통 2차 검수)
previousReviewIdlong이전 검수 라운드 ID (1차 review ID)
reviewRoundint가장 최근 검수 라운드 (1 또는 2)
approvedWithFeedbackboolean2차 검수가 피드백 포함 승인으로 처리됐는지 여부
finalSubmittedAtdatetime최종제출물 제출일시
isFinalSubmittedboolean최종제출물 제출 여부
contentLinkstring업로드한 콘텐츠 링크
partnershipCodestring파트너십 코드
cleanFilePathstring클린본 파일 경로 (S3 URL)
finalFilePathstring최종본 파일 경로 (S3 URL)
reRequestTypesstring재요청 항목 목록 (JSON 배열 문자열). 예: ["CONTENT_LINK", "CLEAN_FILE", "FINAL_FILE", "PARTNERSHIP_CODE"]
uploadDeadlinedatetime최종 업로드 허용 마감일 (UPLOAD 단계 마감일)
uploadApprovalDeadlinedatetime최종 업로드 승인 마감일 (UPLOAD_APPROVAL 단계 마감일)

reRequestTypes가 있는 경우, 인플루언서는 해당 항목을 재제출해야 합니다.

계약서 서류 첨부 필드 (SIGNED 상태에서만 유효):

필드타입설명
hasAllDocumentsboolean필수 서류가 모두 첨부되었는지. SIGNED가 아니면 null
missingDocumentTypesstring[]미첨부 서류 타입 목록. 모두 첨부 시 null

필수 서류 판단 로직:

  • 신분증(IDENTIFICATION) 또는 사업자등록증(BUSINESS_REGISTRATION) 중 1개 이상
  • 통장사본(BANK_ACCOUNT_COPY) 1개 이상

hasAllDocumentsfalse인 경우, 프론트에서 서류 보완 요청 UI를 표시합니다. 서류 업로드는 PUT /ai/contract/{contractId}/documents?type={type} API를 사용합니다.

가격 협상 필드 (신청/계약 단계):

필드타입설명
priceNegotiationIdlong가격 협상 ID
proposedPricelong제안 가격
negotiationOrderint협상 순서 (1: 첫 번째 제안, 2: 두 번째 제안 등)
negotiationStatusstring협상 상태 (PENDING: 대기중, ACCEPT: 수락)

CTA 표시 로직:

  • negotiationStatusPENDING인 경우: 수락/거절 버튼 표시
  • negotiationStatusACCEPT인 경우: "최종 선정 대기중" 표시
  • negotiationStatusnull인 경우: 협상 정보 없음 (표시하지 않음)

API 테스트

On this page