Glowb Dev Docs
Admin API크리에이터 회원 관리

정상 크리에이터 목록·검색

전체 정상 크리에이터 목록을 조회하거나 이름·이메일·전화·SNS·회원 ID로 검색합니다.

정상 크리에이터 목록·검색

실제 가입한 크리에이터(auth=0, state=0 또는 기존 NULL)를 회원 단위로 조회합니다. keyword를 생략하거나 빈 문자열·공백으로 보내면 전체 정상 회원 목록을 반환하며, 값이 있으면 검색 조건을 적용합니다. 블랙리스트 회원도 포함하며, 같은 이메일의 서로 다른 회원을 합치지 않습니다.

GET /ai/admin/creators/search?page=0&size=20
Authorization: Bearer {admin_access_token}
파라미터필수설명
keyword아니오이름·이메일·전화번호·SNS 링크/핸들·회원 ID. 생략·빈 문자열·공백이면 전체 정상 회원 조회
page아니오0부터 시작, 기본 0
size아니오1~200, 기본 20

전체 목록도 page·size를 적용합니다. data.totalElements가 전체 미탈퇴 회원 수이며, 다음 페이지는 page를 1씩 늘려 조회합니다. 예를 들어 GET /ai/admin/creators/search?keyword=hong&page=0&size=20은 검색 조건을 적용한 첫 페이지입니다. @처럼 정규화 후 검색할 값이 없는 입력은 빈 페이지를 반환합니다.

이름·이메일·전화·SNS는 기존 블랙리스트 검색의 정규화와 부분 검색을 재사용합니다. 회원 ID는 입력 원문과 대소문자를 무시한 정확 일치를 추가로 확인합니다. SNS 검색은 캠페인 신청에 저장된 링크를 사용하므로 신청 이력이 없는 회원은 SNS 링크로 찾지 못할 수 있습니다. 가입일 내림차순, 같은 가입일이면 회원 ID 오름차순입니다.

응답

{
  "status": 200,
  "code": null,
  "message": "크리에이터 검색 성공",
  "data": {
    "content": [{
      "memberId": "creator-hong",
      "status": "ACTIVE",
      "socialProvider": "GOOGLE",
      "registeredAt": "2026-09-01T10:00:00",
      "withdrawalReason": null,
      "withdrawnAt": null,
      "profiles": [{
        "influenceNo": 123,
        "name": "홍길동",
        "email": "hong@example.com",
        "tel": "01012345678",
        "telDialCode": "+82"
      }]
    }],
    "totalElements": 1,
    "totalPages": 1,
    "number": 0,
    "size": 20
  }
}

위 예시는 Spring Page 응답의 주요 필드입니다. profiles는 해당 회원에 연결된 프로필 전체이며 번호 오름차순입니다. profiles[].telDialCode는 해당 전화번호의 국가번호(String, 예: +82, +84)이며, 저장값이 없으면 null입니다. 회원 상태 변경에는 memberId를 사용합니다. socialProvider는 저장값이 없으면 기존 회원 ID 추정 규칙을 사용하고, 판별하지 못하면 NULL입니다. 복구된 정상 회원에게는 마지막 탈퇴 사유·일시가 남아 있을 수 있으므로 현재 상태는 status로 판단합니다.

HTTP 상태설명
400잘못된 page/size
401인증 실패
403관리자 권한 없음

On this page