Glowb Dev Docs
SaaS APIProgress Table

POST /ai/progress-table/items/bulk/selection-request

기업 선정 요청 (관리자 승인 게이트)

기업 선정 요청

선택한 크리에이터의 예산을 잠급니다. 캠페인의 승인 게이트(adminSelectionApprovalEnabled)에 따라 동작이 갈립니다.

2단계 선정 플로우

  • 게이트 ON — 예산을 LOCK하고 상태를 PROPOSAL(관리자 승인 대기)로만 바꿉니다. 계약서·알림톡·일정 재계산·단계 전환은 하지 않습니다. 관리자가 POST /ai/admin/selection-approval/{collabNo}/approve로 승인해야 계약서가 발송됩니다.
  • 게이트 OFF — 기존 예산 자동 충전 + 제안 일괄 처리와 동일하게 즉시 확정(계약서 발송까지)됩니다.

게이트가 켜진 캠페인에서는 기존 bulk/proposal-with-charge / bulk/user/matching-status(matchingStatus=proposal)를 기업이 호출하면 403 SELECTION_APPROVAL_REQUIRED로 막힙니다. 반드시 이 API를 사용하세요.

HTTP 요청

POST /ai/progress-table/items/bulk/selection-request
Authorization: Bearer {access_token}
Content-Type: application/json

Request Body

{
  "collabId": 123,
  "itemIds": [1, 2, 3],
  "forceCharge": true
}

Request Body 스키마

필드명타입필수설명
collabIdlong캠페인 ID (collabNo)
itemIdsarray<long>CampaignApplication ID 목록
forceChargeboolean아니오예산 부족 시 글로벌 크레딧에서 자동 충전 여부 (기본: true)

응답

성공 응답 (200 OK) — 게이트 ON

{
  "status": 200,
  "code": null,
  "message": "선정 요청이 접수되었습니다. 관리자 승인 후 확정됩니다.",
  "data": {
    "pendingApproval": true,
    "pendingApprovalCount": 3,
    "result": {
      "success": true,
      "totalRequested": 3,
      "totalProcessed": 3,
      "totalAmount": 1500000,
      "chargedAmount": 1000000
    }
  }
}

성공 응답 (200 OK) — 게이트 OFF

게이트가 꺼져 있으면 pendingApproval: false, pendingApprovalCount: 0이며 result는 기존 제안 처리 응답과 동일합니다(계약서 발송까지 완료).

Response Body 스키마

필드명타입설명
pendingApprovalboolean관리자 승인 대기 상태로 처리됐는지 여부 (게이트 ON이면 true)
pendingApprovalCountint이번 요청으로 승인 대기가 된 건수 (게이트 OFF면 0)
resultobject예산 처리 결과 상세 (BulkProposalWithChargeResponse 와 동일 스키마)

에러 응답

result.successfalse인 경우 HTTP 400과 함께 result.errorCode를 담아 응답합니다.

상태 코드에러 코드설명
400BUDGET_001캠페인 예산이 부족합니다 (forceCharge=false일 때)
400BUDGET_002기업 크레딧이 부족합니다
400LEGACY_CAMPAIGN레거시 캠페인은 이 기능을 사용할 수 없습니다

API 테스트

On this page