Admin APIAdmin Campaign API
PATCH /ai/admin/campaigns/{campaignNo}/step
캠페인 진행 상태 변경 (결제 상태 기준)
캠페인 진행 상태 변경
결제 상태에 따라 캠페인 진행 단계를 변경합니다.
Breaking change (2026-04-30): 기존 isPaid (boolean) 파라미터는 제거되고 paymentStatus (enum) 으로 교체되었습니다.
HTTP 요청
PATCH /ai/admin/campaigns/{campaignNo}/step?paymentStatus={paymentStatus}
Authorization: Bearer {access_token}Query Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
paymentStatus | CampaignPaymentStatus | 예 | UNPAID | PAYMENT_PENDING | PAID |
동작
| paymentStatus | 캠페인 단계 (campaignSubStep) | 임시 크레딧 부여 | verification 행 |
|---|---|---|---|
UNPAID (미결제) | CAMPAIGN_PAYMENT (결제 단계) | ❌ | upsert (status=UNPAID, 검증 메타 초기화) |
PAYMENT_PENDING (결제미완) | CAMPAIGN_GUIDELINE (가이드라인) | ❌ | upsert (status=PAYMENT_PENDING) |
PAID (결제됨) | CAMPAIGN_GUIDELINE (가이드라인) | ✅ | upsert (status=PAID, verified_at 기록) |
PAYMENT_PENDING: 기업이 결제는 약속했지만 어드민이 입금 확인 전인 상태. 캠페인 진행은 가이드라인 단계로 넘어가지만 임시 크레딧은 부여되지 않으며, 기업 대시보드에 인원이 노출되지 않습니다. 추후 POST /ai/admin/campaigns/{campaignNo}/payment-verification 으로 결제 완료 처리 필요.PAID: 기존isPaid=true와 동일. 임시 크레딧 충전·차감 후 가이드라인 단계로 진입. verification 행이 없으면PAID로 생성, 있으면PAID로 갱신되어 결제 상태(paymentStatus)가PAID로 확정됩니다 (2026-05-27). 행이 없으면paymentStatus가null로 남아 어드민에 결제 미확정으로 보이던 문제를 해결.
paymentStatus=PAID 일 때 캠페인 비용(charge) 정보가 없거나 형식이 잘못되었으면 에러가 발생하고 단계는 변경되지 않습니다.
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "캠페인 진행 상태가 변경되었습니다.",
"data": null
}에러 응답 - 캠페인 없음 (404)
{
"status": 404,
"code": "INVALID_COLLAB",
"message": "존재하지 않는 캠페인입니다.",
"data": null
}에러 응답 - 캠페인 비용 정보 없음 (PAID 시, 404)
{
"status": 404,
"code": "INVALID_DATA",
"message": "캠페인 비용 정보가 없습니다",
"data": null
}에러 응답 - 기업 정보 없음 (PAID 시, 500)
{
"status": 500,
"code": "INVALID_USER",
"message": "기업 정보를 찾을 수 없습니다",
"data": null
}