Admin API모집·랭킹 에이전트 API
POST /internal/recruit-agent/callback
(내부) 에이전트 모집 완료 통보 → 캠페인 알리미 Slack 노티
(내부) 모집 완료 콜백
에이전트(glowb-agent-api)가 캠페인 E2E 모집을 끝낼 때 호출하는 내부 콜백입니다.
백엔드가 받아 캠페인 알리미 Slack 채널(slack.channel-id)에 완료/실패 노티를 발송합니다.
프론트 호출용이 아니라 Python 에이전트 → 백엔드 내부 통보입니다. (기존 /internal/hashtag-crawl/callback과 동일 성격)
모집은 Cloud Run Job이라 트리거(start-recruit)는 즉시 리턴하고, 종료 시점은 이 콜백으로만 전달됩니다.
HTTP 요청
POST /internal/recruit-agent/callback
Content-Type: application/json인증 불필요(내부 호출).
Request Body (snake_case)
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
campaign_id | Integer | 예 | 캠페인 번호 |
status | String | 예 | completed | failed |
run_id | String | 아니오 | 실행 식별자 |
total_candidates | Integer | 아니오 | 최종 후보 수 |
existing_fit | Integer | 아니오 | 기존 풀 적합 수 |
newly_found | Integer | 아니오 | 신규 발굴 수 |
iterations | Integer | 아니오 | 반복 횟수 |
elapsed_sec | Integer | 아니오 | 소요 시간(초) |
error | String | 아니오 | 실패 사유 (status=failed) |
{ "campaign_id": 1546, "status": "completed", "total_candidates": 38, "existing_fit": 30, "newly_found": 8, "iterations": 4, "elapsed_sec": 3600 }응답
| 상태 | 설명 |
|---|---|
200 | 접수 완료 (Slack 발송은 비동기) |
400 | campaign_id 누락 |
Slack 노티 형식 (캠페인 알리미 채널)
- 완료:
✅ 모집 에이전트 완료 — 캠페인 [N] / 후보 X명 (기존 a / 신규 b) · N회 반복 · Ys - 실패:
❌ 모집 에이전트 실패 — 캠페인 [N] / {error}