Glowb Dev Docs
Admin APIAdmin Dashboard API

POST /ai/admin/dashboard/{campaignNo}/demo-applicants/bulk-links

데모(목업) 후보 벌크 링크 등록 — 링크만으로 자동 채움

데모(목업) 후보 벌크 링크 등록

인스타그램 링크만 벌크로 넣으면, 각 링크마다 데모 후보 행을 즉시 만들고 프로필·팔로워·카테고리·적합도(matchScore)·추천사(recommendReason)를 백그라운드로 자동 채웁니다. 수기 등록처럼 값을 손으로 넣지 않아도 됩니다.

개념·렌더 규칙·ID 규칙은 데모(목업) 후보 연동 가이드를 참고하세요.

동작 방식 (중요 — 동기 응답이 아닙니다)

이 API는 두 단계로 나뉩니다.

  1. 즉시(동기): 링크마다 데모 후보 셸 행을 만들어 createdDisplayIds로 바로 돌려줍니다. 이 시점엔 accountLink·username만 채워져 있고 나머지는 null입니다.
  2. 백그라운드(비동기): 크롤 → 프로필·게시물 리드백 → 적합도(matchScore) → 추천사(recommendReason) 순서로 채워집니다. 한 건당 수십 초 걸릴 수 있습니다.

따라서 응답을 받은 뒤 진행테이블/리스트 조회폴링하면 값이 null에서 실제 값으로 차오르는 것을 볼 수 있습니다. matchScorerecommendReason이 모두 채워지면 그 후보의 채움이 완료된 것입니다.

HTTP 요청

POST /ai/admin/dashboard/{campaignNo}/demo-applicants/bulk-links
Authorization: Bearer {access_token}
Content-Type: application/json

Path Parameters

파라미터타입필수설명
campaignNoLong캠페인 번호

Request Body

{
  "instagramLinks": [
    "https://www.instagram.com/somoon_smm/",
    "@jay.pm.ai",
    "example_handle"
  ],
  "forceCrawl": false
}
필드타입필수설명
instagramLinksString[]인스타그램 링크 목록. URL·@username·username 모두 지원. 최대 30개.
forceCrawlBoolean아니오true면 3일 이내 크롤 캐시가 있어도 강제 재크롤(유료). 기본 false.

링크는 서버가 정규화합니다. @ 제거·소문자화·쿼리스트링/슬래시 제거 후 첫 경로 세그먼트를 핸들로 뽑아 https://www.instagram.com/{handle} 형태로 저장합니다. 같은 계정을 형식만 달리해 중복 입력하면 하나로 수렴합니다.

응답

성공 응답 (200 OK)

{
  "status": 200,
  "message": "2건 생성, 채움 발사 2건",
  "data": {
    "createdDisplayIds": [100000123, 100000124],
    "invalid": 0,
    "duplicateSkipped": 1,
    "enqueued": 2
  }
}
필드타입설명
createdDisplayIdsLong[]생성된 데모 후보의 응답용 ID 목록. dummyItems[].applicationId와 같은 값
invalidint인스타 링크로 인식되지 않아 건너뛴 수(예약 경로 p/reel/stories/... 포함)
duplicateSkippedint이미 담긴 계정이라 건너뛴 수
enqueuedint백그라운드 채움 파이프라인에 실제로 실린 수

무엇이 채워지나

필드소스비고
followerCount·reelsAvgViews·categoryTags·최근 게시물크롤 + 프로필/게시물 리드백
matchScore (적합도)vectorize-and-score데모 대시보드 점수는 이 값입니다(fitScore 아님)
recommendReason (추천사)influencer-evaluation캠페인에 상품 상세(image_analysis)가 있을 때만

추천사는 원래 "적합/부적합 스크리닝 평가"입니다. 캠페인과 결이 맞지 않는 크리에이터에는 "적합하지 않다 / 연관성이 낮다"류 문장이 나올 수 있습니다(의도된 정상 동작). 쇼케이스 품질이 중요하면 캠페인에 잘 맞는 계정을 골라 넣으세요. 추천사는 한국어로 생성됩니다.

한계·주의

  • 한 번에 최대 30개. 링크당 유료 크롤이 유발되므로 상한을 둡니다.
  • 게시물이 충분한 실계정을 넣어야 정상 동작합니다. 최근 게시물이 3개 미만이면 적합도(matchScore)가 산정되지 않고 null로 남습니다(정상). 비공개·삭제·존재하지 않는 계정은 채워지지 않습니다.
  • 캠페인에 상품 상세(image_analysis)가 없으면 추천사(recommendReason)는 비어 있습니다.
  • 채움은 값이 null인지 여부로 진행 상태를 판단합니다(별도 상태 필드 없음). 실패로 비어 있는 것과 아직 채우는 중인 것은 화면상 같게 보일 수 있습니다.
  • 등록된 후보는 기본적으로 광고주에게 노출되지 않습니다. 채움 확인 후 노출 토글로 공개하세요.

테스트

On this page