Glowb Dev Docs
Admin APIDM 자동화

프로필 수집 시작

계정 URL 엑셀을 업로드해 인스타그램·틱톡 프로필 수집을 시작합니다.

프로필 수집 시작

계정 URL 엑셀을 업로드해 프로필 정보 수집을 시작합니다. platform으로 인스타그램 / 틱톡을 고르며, 링크 파싱과 프로필 조회 API가 그 값으로 갈립니다.

비동기 API입니다. 응답은 jobId만 즉시 돌려주고, 실제 수집은 백그라운드에서 진행됩니다. 계정 수에 따라 수 분이 걸리므로 잡 상세 조회로 폴링해야 합니다.

HTTP 요청

POST /ai/admin/dm-automation/collect
Authorization: Bearer {access_token}
Content-Type: multipart/form-data

Form Data

파라미터타입필수기본값설명
fileFile예-계정 URL이 담긴 .xlsx 또는 .xls
platformString아니오INSTAGRAM수집 대상 플랫폼. INSTAGRAM | TIKTOK
sheetNameString아니오첫 번째 시트소스 시트명
urlColumnString아니오자동 탐지계정 URL 컬럼명
startRowInteger아니오전체시작 행 (Excel 행 번호 기준)
maxWorkersInteger아니오4동시 호출 수. 서버에서 1~8로 보정

선택 파라미터를 비워두면 스프링이 파이썬에 아예 전달하지 않아 파이썬 기본값이 적용됩니다. 빈 문자열로 보내 기본값을 덮어쓰는 일은 없습니다.

플랫폼 (platform)

대소문자를 가리지 않습니다. 값이 없거나 모르는 값이면 INSTAGRAM으로 처리합니다(에러 아님).

INSTAGRAMTIKTOK
처리 대상 행instagram.com 링크 또는 @핸들tiktok.com 링크 또는 @핸들
받는 링크 형태프로필 / /p/ / /reel/ / /tv/ / /stories//@handle, /@handle/video/{id}, 쿼리스트링 포함
프로필 조회instagram-looter2tiktok-api23
팔로워수수집수집
full_namefull_namenickname
textbiographysignature (bio)
business_email비즈니스 이메일 필드 → 없으면 bio 정규식bio 정규식만 (틱톡 API에 이메일 필드 없음)
금액팔로워수 기준 자동 산출빈칸

틱톡은 금액을 산출하지 않습니다. 틱톡 단가 정책이 아직 확정되지 않았고, 인스타그램 공식은 팔로워수만 보는 별개 체계라 그대로 적용하면 자릿수·통화가 맞지 않는 값이 찍힙니다. 금액 칸은 비운 채로 내려가고, 운영에서 수기로 채워 모집메세지 생성에 넘깁니다.

선택한 플랫폼과 다른 링크는 건너뜁니다. 건너뛴 행이 있으면 결과 엑셀의 errors 시트에 (플랫폼 불일치) 한 줄로 몇 행이 빠졌는지 남고, errorCount에도 포함됩니다. 한 번의 수집은 한 플랫폼만 처리하므로 시트를 플랫폼별로 나눠 올리세요.

계정 URL 컬럼 자동 탐지

urlColumn을 지정하지 않으면 아래 후보 컬럼명으로 먼저 찾고, 없으면 선택한 플랫폼의 도메인 (instagram.com 또는 tiktok.com) 포함 비율이 가장 높은 컬럼을 고릅니다.

후보 컬럼명적용 플랫폼
계정url / 계정 URL공통
계정 링크 / 계정링크공통
계정공통
instagram_url / instagramINSTAGRAM
인스타그램 링크 / 인스타 링크INSTAGRAM
tiktok_url / tiktokTIKTOK
틱톡 링크 / 틱톡링크TIKTOK

응답

성공 응답

{
  "status": 200,
  "code": null,
  "message": "수집 작업을 시작했습니다.",
  "data": {
    "jobId": 42
  }
}
필드타입설명
jobIdLong생성된 잡 번호. 폴링에 사용

이 시점의 잡 상태는 QUEUED입니다. 이어서 잡 상세 조회로 폴링하세요.

에러 응답

HTTP 상태는 항상 200이며, 아래 코드는 응답 본문의 status 값입니다.

본문 statuscode설명
400NO_FILE_UPLOADED파일이 비어 있음
400UNSUPPORTED_FILE_FORMAT확장자가 xlsx/xls가 아님
400INVALID_REQUEST업로드 파일을 읽을 수 없음
401-인증 실패
403-ADMIN 권한 필요

파이썬 호출 실패(시트명 오류, URL 컬럼 탐지 실패 등)는 이 응답에 나타나지 않습니다. 비동기이므로 이미 jobId를 반환한 뒤에 발생하며, 잡 상태가 FAILED가 되고 errorMessage에 사유가 담깁니다.

처리 규칙

공통

  • ?igsh=..., ?is_from_webapp=1, utm_source=... 등 query string 제거 후 표준 계정 링크로 정규화
  • 업로드한 원본 엑셀도 GCS에 함께 보관됩니다 (재실행·디버깅용)

INSTAGRAM

  • instagram-looter2 /profile 호출, 실패 시 /profile2 fallback
  • 둘 다 실패하면 팔로워수 0, 프로필 필드는 빈 값
  • 게시물·릴스 링크(/p/, /reel/, /tv/)는 작성자 계정을 역추출

TIKTOK

  • tiktok-api23 /api/user/info 호출 (uniqueId = 핸들)
  • 팔로워수는 statsV2.followerCount(문자열) 우선, 없으면 stats.followerCount
  • 조회 실패 시 폴백하지 않고 해당 행을 실패 처리합니다. 팔로워수 0은 "실제로 0명"과 구분되지 않아, 틀린 값이 결과 시트에 그대로 실리는 것을 막기 위해서입니다. 실패한 행은 나머지 칸이 비고 errors 시트에 사유가 남습니다.
  • 영상 링크(/@handle/video/{id})는 작성자 계정을 역추출
  • 단축 링크(vt.tiktok.com/...)는 지원하지 않습니다. 리다이렉트를 따라가지 않으므로 username 파싱 실패로 errors 시트에 남습니다. 프로필 전체 URL로 올려주세요.

결과 엑셀 컬럼

시트명은 수집결과이며 컬럼 구성은 플랫폼과 무관하게 동일합니다.

컬럼INSTAGRAMTIKTOK
계정 링크https://www.instagram.com/{handle}/https://www.tiktok.com/@{handle}
크리에이터명수작업 입력용 공란수작업 입력용 공란
팔로워수follower countfollowerCount
full_name프로필 full namenickname
text프로필 biosignature
business_emailbusiness email → 없으면 bio 정규식bio 정규식만
금액팔로워수 기준 추천금액빈칸

실패·건너뜀이 있으면 errors 시트가 함께 생성됩니다.

API 테스트

On this page