Glowb Dev Docs
Admin APIAdmin Pending Participants API

Admin Pending Participants API

캠페인별 미처리 대상자(미서명/미제출/미등록) 조회 및 연락 이력·메모 관리 API

Admin Pending Participants API

캠페인별로 계약을 안 쓴 사람 / 제출(1차·2차·재제출)을 안 한 사람 / 최종 제출물을 안 낸 사람을 케이스별로 조회하고, 관리자가 연락 이력과 메모를 남길 수 있는 API입니다.

Base URL: /ai/admin/campaigns/{campaignNo}/pending-participants

여러 캠페인을 한 번에 훑으려면 Admin All Pending Participants API 를 사용하세요.

이 API는 관리자 권한이 필요합니다. actorId는 @AuthenticationPrincipal에서 서버가 자동 주입합니다.

엔드포인트 목록

대상자 조회

메서드경로설명
GET/미처리 대상자 목록(페이지)
GET/summary케이스별 건수 집계

인스타 DM

메서드경로설명
POST/{applicationId}/dm인스타 DM 발송(AutoDM, 1인 1DM) + 연락 이력 자동 기록

연락 이력 (CONTACT)

메서드경로설명
POST/{applicationId}/contact-logs연락 이력 추가
GET/{applicationId}/contact-logs연락 이력 목록

메모 (MEMO)

메서드경로설명
POST/{applicationId}/memos메모 작성
GET/{applicationId}/memos메모 목록
PATCH/{applicationId}/memos/{memoId}메모 수정 (작성자만)
DELETE/{applicationId}/memos/{memoId}메모 삭제 (작성자만)

공통 Enum

PendingCase

값설명
CONTRACT_UNSIGNED계약 미체결
FIRST_REVIEW_NOT_SUBMITTED1차 제작물 미제출
SECOND_REVIEW_NOT_SUBMITTED2차 제작물 미제출
FIRST_RESUBMISSION_PENDING1차 재제출 필요
SECOND_RESUBMISSION_PENDING2차 재제출 필요
FINAL_NOT_SUBMITTED최종 제출물 미등록 (콘텐츠 링크/클린본/최종본)
FINAL_RESUBMISSION_PENDING최종 제출물 재제출 필요 (게시 항목 미비)

FINAL_RESUBMISSION_PENDING 판정 주의

이 케이스만 판정 정본이 다릅니다. 최신 자동 검수 결과를 봅니다.

re_requested_at 은 쓸 수 없습니다 — 재제출 경로가 둘인데 PATCH resubmit 은 재요청 필드를 지우고 POST saveOrSubmit 은 안 지웁니다. 게다가 지워졌다고 미비가 해소된 것도 아닙니다.

"최신"을 고를 때 아래 두 종류는 건너뜁니다. 둘 다 새 정보가 없는 행인데, 최신으로 치면 직전의 진짜 판정을 가려 대상자가 목록에서 조용히 사라집니다.

건너뛰는 행이유
PENDING재제출 직후의 예약. 유예 5분 동안 직전 위반이 가려짐
FAILED + reRequestedAt 없음파이썬·RapidAPI 호출 실패(우리 쪽 장애). 크리에이터가 조치할 것이 없어 재요청도 안 나감

게시물 조회 실패(FAILED + reRequestedAt 있음)는 크리에이터가 고쳐야 하는 상태라 그대로 판정에 씁니다.

자동 검수를 꺼도(autoCheckEnabled=false) 이 케이스에서 빠지지 않습니다. 스위치는 자동 발송을 멈추는 것이지 미비 사실을 지우는 것이 아닙니다. 목록에서 빼려면 관리자가 통과 처리해야 합니다.

OverdueStatus (row 단위 계산)

값조건
OVERDUEdeadline.toLocalDate() < today (경과)
TODAYdeadline.toLocalDate() == today (오늘 마감)
UPCOMINGdeadline.toLocalDate() > today (예정)
NO_DEADLINEdeadline == null

ContactMethod (CONTACT 전용)

PHONE · SMS · EMAIL · KAKAO · INSTAGRAM_DM · OTHER

INSTAGRAM_DM 은 인스타 DM 발송이 자동으로 남깁니다.

ContactFilter (쿼리 파라미터)

값설명
ALL필터링 없음 (기본)
CONTACTEDContactLog(entryType=CONTACT) 1건 이상 존재하는 대상만
NOT_CONTACTED연락 이력이 없는 대상만

판정 로직 요약

Case마감일 출처조건
CONTRACT_UNSIGNEDCampaignSchedule(CONTRACT_CREATION).endDateselectionStatus=SELECTED AND 최신 ApplicationContract.status != SIGNED
FIRST_REVIEW_NOT_SUBMITTEDApplicationSchedule 1차 제출 phasereview 없거나 미제출 아이템 존재
SECOND_REVIEW_NOT_SUBMITTEDApplicationSchedule(CONTENT_SUBMISSION_DEADLINE)2회검수 + 1차 APPROVED + 2차 미제출
FIRST_RESUBMISSION_PENDINGContentReview(round=1).feedbackDeadline1차 status=REJECTED
SECOND_RESUBMISSION_PENDINGContentReview(round=2).feedbackDeadline2차 status=REJECTED
FINAL_NOT_SUBMITTEDApplicationSchedule(UPLOAD_ALLOWED_DATE)2차 uploadApproved=true AND FinalSubmission 미제출
FINAL_RESUBMISSION_PENDINGApplicationSchedule(FINAL_RESUBMISSION_DEADLINE)FinalSubmission 제출 완료 AND 최신 자동 검수에 미비 AND 관리자 미통과

1차 제출 phase 분기: Collab.isDoubleReview=true → SCRIPT_SUBMISSION_DEADLINE, false → CONTENT_SUBMISSION_DEADLINE. 1차/2차 관련 모든 마감일은 ApplicationSchedule(개별 일정)에서만 조회합니다.

마감 경과 여부는 판정 조건이 아닙니다. 각 케이스 해당자를 모두 반환하고, row별 overdueStatus 로 운영자가 필터링합니다.

바로가기

On this page