Glowb Dev Docs
Admin API결제미완 캠페인

GET / — 결제미완 캠페인 목록

UNPAID + PAYMENT_PENDING 캠페인을 캠페인 단위로 조회합니다.

결제미완 캠페인 목록

UNPAID (캠페인비 결제 단계로 admin 이 되돌린 상태) 와 PAYMENT_PENDING (영업팀 결제 요청 후 처리 대기) 두 상태의 캠페인을 한 번에 조회합니다. 미게시 / 미제출 등 application 단위의 pending 목록 과 분리된 캠페인 단위 엔드포인트입니다.

HTTP 요청

GET /ai/admin/pending/payment-campaigns
Authorization: Bearer {access_token}

Query Parameters

파라미터타입필수기본값설명
pageint아니오0Spring Pageable
sizeint아니오20

정렬은 서버 고정 — paymentRequestedAt ASC (없으면 registeredAt ASC). 오래 방치된 캠페인이 위로 옵니다. 클라이언트 sort 파라미터는 무시됩니다.

분류 기준

TB_CAMPAIGN_PAYMENT_VERIFICATION 행 단위로 판정합니다.

상태식별 방법비고
UNPAID행의 payment_status = UNPAIDadmin 이 캠페인 단계 변경에서 UNPAID 로 되돌린 캠페인. 검증 메타(verifiedAt 등)는 초기화됨
PAYMENT_PENDING행의 payment_status = PAYMENT_PENDING영업팀 결제 요청 후 처리 대기
PAID (대상 아님)행의 payment_status = PAID결제 완료 처리됨
행 없음 (대상 아님)결제 트래킹 대상 아님 (CandyPay 정상 결제 등)

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "결제미완 캠페인 조회 성공",
  "data": {
    "items": [
      {
        "campaignNo": 2398,
        "campaignTitle": "솔루션랩 5월 캠페인",
        "registeredAt": "2026-04-30T11:20:00",
        "contractDeadline": "2026-05-12T18:00:00",
        "paymentStatus": "PAYMENT_PENDING",
        "paymentRequestedAt": "2026-05-02T15:42:11",
        "businessId": "biz_001",
        "businessName": "솔루션랩",
        "managerName": "홍길동",
        "managerEmail": "manager@example.com",
        "managerPhone": "010-1111-2222"
      },
      {
        "campaignNo": 2401,
        "campaignTitle": "코코미 7월 캠페인",
        "registeredAt": "2026-05-04T09:00:00",
        "contractDeadline": null,
        "paymentStatus": "UNPAID",
        "paymentRequestedAt": null,
        "businessId": "biz_002",
        "businessName": "코코미",
        "managerName": "김담당",
        "managerEmail": "kim@example.com",
        "managerPhone": "010-3333-4444"
      }
    ],
    "page": { "number": 0, "size": 20, "totalElements": 2, "totalPages": 1 },
    "summary": {
      "UNPAID": 1,
      "PAYMENT_PENDING": 1
    }
  }
}

Response 스키마

PaymentPendingCampaignItemDto

필드명타입설명
campaignNoint캠페인 번호
campaignTitlestring캠페인 제목
registeredAtdatetime캠페인 등록일 (Collab.regi_date)
contractDeadlinedatetime | null계약 마감일 (CampaignScheduleCONTRACT_CREATION.endDate). 미설정 시 null
paymentStatusstringUNPAID 또는 PAYMENT_PENDING
paymentRequestedAtdatetime | nullPAYMENT_PENDING 으로 전환된 시점 (verification.updatedAt). UNPAIDnull
businessIdstring기업 회원 ID (Member.id)
businessNamestring | null기업명
managerNamestring | null담당자 이름. Collab.manager → 기업 default 매니저 → Business.managerName 순으로 결정
managerEmailstring | null담당자 이메일 (담당자 결정 우선순위는 managerName 과 동일)
managerPhonestring | null담당자 휴대폰 (담당자 결정 우선순위는 managerName 과 동일)

summary

캠페인 상태별 건수. UNPAID / PAYMENT_PENDING 키별 카운트로 반환됩니다 (해당 상태 캠페인이 0 건이면 키가 누락될 수 있음).

정렬 동작

서버에서 다음 키로 ASC 정렬됩니다.

  1. paymentRequestedAt 가 있으면 우선 사용
  2. 없으면 registeredAt 사용
  3. 동률이면 campaignNo ASC

따라서 결제 요청이 가장 오래 방치된 캠페인이 1번에, 아직 결제 요청 안 된 (UNPAID) 캠페인 중에서는 등록이 가장 오래된 캠페인이 위로 옵니다.

관련 API

API 테스트

On this page