Glowb Dev Docs
Admin APICreator Marketplace

GET /ai/admin/meta-creator-marketplace/candidates

인스타그램 후보군 추천 (ADMIN 전용, 1차 mock 패스스루)

인스타그램 후보군 추천 (ADMIN)

캠페인에 적합한 마켓 크리에이터를 적합도순 후보군으로 내려줍니다(데모 "인스타그램 후보군" 표). 탐색기와 같은 필터·커서 페이지네이션을 씁니다.

1차는 mock 패스스루입니다. 마켓 API(표준 액세스)에서 받은 mock 프로필을 후보군 형태로 매핑하고, 적합도·추천사·랭크·평균조회수는 mock 값을 채웁니다. 응답 mock=true. App Review 승인 후 기존 Python 추천 계약(추천사 = /api/influence/influencer-evaluation, 적합도 = /api/vector/influencers/vectorize-and-score)으로 교체합니다. (참고: Service/kafka/PythonApiExecutor.java)

HTTP 요청

GET /ai/admin/meta-creator-marketplace/candidates
Authorization: Bearer {admin_access_token}

쿼리 파라미터

탐색기와 동일한 필터에 collabNo 가 추가됩니다. 모두 선택값.

파라미터타입예시설명
collabNoLong2418대상 캠페인. 적합도 컨텍스트(현재 mock 에선 미사용, 승인 후 스코어링에 사용)
countryStringKRISO 국가코드(콤마 다중). → creator_countries
minFollowers / maxFollowersLong10000팔로워 범위(숫자)
interestsStringBEAUTY관심사 enum(콤마 다중)
gender / ageBucketStringFEMALE / 18_to_24성별 / 연령구간
recommendationTypeStringhigh_ad_performance추천유형
reelsInteractionRateStringover_3_percent릴스 응답률 구간
queryStringmakeup키워드
cursorString다음 페이지 커서(직전 응답 nextCursor)

응답

성공 응답 (200 OK) — mock

{
  "status": 200,
  "code": null,
  "message": "후보군 추천 완료",
  "data": {
    "data": [
      {
        "rank": 1,
        "username": "mocked_username_1",
        "name": "mocked_username_1",
        "profilePictureUrl": "https://...",
        "followerCount": 200000,
        "averageViewCount": 40000,
        "rankScore": 738000,
        "fitScore": 82,
        "categories": ["뷰티"],
        "recommendReason": "스킨케어 릴스의 평균 조회수가 높고, 제품 콘텐츠 성과가 우수합니다."
      }
    ],
    "nextCursor": "QVFIU...",
    "mock": true
  }
}

응답 필드

data{ data: 후보[], nextCursor, mock } 구조입니다.

필드타입설명출처
rankint순위(적합도순, 1부터)파생(정렬)
username / nameString크리에이터마켓 원본
profilePictureUrlString프로필 사진마켓 원본
followerCountLong팔로워수마켓 원본(total_followers)
averageViewCountLong평균 조회수mock (승인 후 파생)
rankScoreLong랭크 스코어mock
fitScoreInteger적합도 0~100mock (승인 후 Python match_score)
categoriesArray카테고리(뷰티/일상 등)mock (승인 후 관심사 매핑)
recommendReasonString추천사mock (승인 후 Python evaluation)
nextCursorString다음 페이지 커서(없으면 null)마켓 paging
mockBooleanmock 여부

에러 응답

상태 코드code설명
400BAD_REQUEST필터 형식 위반
403FORBIDDEN관리자 권한 없음
502META_UPSTREAM_ERROR설정 누락 / 페이지토큰 추출 실패 / 메타 호출 실패

승인 후 전환 (참고)

App Review 통과 후 mock 컬럼을 실제 값으로 교체:

  • 적합도 ← 대상 캠페인 사전 벡터화(/api/vector/campaigns/vectorize) → vectorize-and-score({account_link, collab_no}) 의 match_score
  • 추천사influencer-evaluation({creator_link, campaign_info, image_analysis}) 의 evaluation
  • account_link/creator_link 는 마켓 usernamehttps://instagram.com/{username} 합성
  • 미가입 후보는 ApplicationMatching(applicationId 1:1)에 저장 불가 → 응답 즉시 반환 또는 후보군 전용 저장 경로 사용

API 테스트

On this page