Admin API모집·랭킹 에이전트 API
POST /ai/admin/recruit-agent/campaign/{collabNo}
캠페인 모집 시작 (비동기)
캠페인 모집 시작
에이전트 E2E 모집을 트리거합니다. 비동기 — 즉시 응답하고 백그라운드(Cloud Run Job)에서 수십 분~수 시간 돕니다.
중복 실행은 already_running으로 막습니다.
HTTP 요청
POST /ai/admin/recruit-agent/campaign/{collabNo}
Authorization: Bearer {access_token}
Content-Type: application/jsonPath Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
collabNo | Long | 예 | 캠페인 번호 |
Request Body (선택)
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
existingTarget | Integer | 아니오 | 기존 풀 목표 인원. 생략 시 에이전트 기본값 100 (적합자 적으면 있는 만큼만) |
newTarget | Integer | 아니오 | 신규 발굴 목표 인원(독립). 생략 시 100 |
maxIterations | Integer | 아니오 | 신규 발굴 루프 최대 횟수. 생략 시 10 |
apiBudget | Integer | 아니오 | API 호출 예산. 생략 시 50 |
minFollowers | Integer | 아니오 | 최소 팔로워 수 하드필터. 생략 시 5,000 |
{ "existingTarget": 20, "newTarget": 80, "minFollowers": 5000 }바디 전체 생략 가능(빈 POST). 목표 인원은 기존 풀(existingTarget) 과 신규 발굴(newTarget) 로 분리되어 있으며, 운영자가 어드민에서 지정합니다.
Slack 시작 노티: 모집이 실제로 시작(started/job_triggered)되면 백엔드가 캠페인 알리미 Slack 채널에 시작 알림(:rocket: 모집 에이전트 시작 — 캠페인 [N] / 목표: 기존 X / 신규 Y)을 자동 발송합니다. (already_running이면 skip) 완료 알림은 콜백에서 발송됩니다.
응답 (200 OK)
{
"status": 200,
"code": null,
"message": "모집 시작 요청 완료",
"data": {
"status": "started",
"campaign_id": 1546,
"params": { "existing_target": 100, "new_target": 100, "max_iterations": 10, "api_budget": 50 }
}
}data.status 값:
| 값 | 의미 |
|---|---|
started | 모집 시작됨 |
already_running | 이미 실행 중 (run_id 포함, 에러 아님) |