🚀 Rankly API

검색 순위 추적 플랫폼

문서·랜딩 페이지 갱신: 2026-04-14 · OpenAPI 버전은 0.1 (openapi.json)

📖 프로젝트 소개

Rankly는 네이버 쇼핑, 쿠팡 등 주요 플랫폼의 검색 순위를 추적하고 관리하는 종합 플랫폼입니다. 슬롯 관리, 순위 모니터링, 정산, 구독 관리 등 다양한 기능을 제공합니다.

이 API는 Django와 Django Ninja를 기반으로 구축되었으며, RESTful API 원칙을 따르며 JWT 기반 인증을 사용합니다.

최근 업데이트 (2026-04-14)

아래는 동일 날짜 배포·문서 반영 기준 주요 변경입니다. 상세 표는 API 변경 이력 (Changelog)를 참고하세요.

  • OTP 발송: Redis/Celery 지연 시 타임아웃 후 SMTP 폴백 — API 응답이 수 초 걸릴 수 있음.
  • 탈퇴: 유료 구독만 차단, 무료 구독·활성 슬롯 자동 정리. 유예 중 로그인 허용.
  • 탈퇴 취소: JWT 없이 email + password로 호출 가능.
  • 배포: 웹 헬스체크·디스코드 봇 의존성 조정, Docker Compose 안정화.
  • 문서: Swagger accounts 설명 보강, OTP·탈퇴 가이드 페이지 및 본 Changelog 추가.

🔗 주요 링크

📚 개발자 문서

🧪 테스트 계정

광고주(Advertiser) 테스트 계정

  • Email: test@naver.com
  • Password: 1234

관리자(Admin) 계정

  • Email: logadmin@rankly.kr
  • Password: rkqhwkrh

📝 Swagger 사용법

1. Swagger UI 접속

위의 Swagger UI 링크를 클릭하여 API 문서 페이지로 이동합니다.

2. 인증 토큰 설정

  1. Swagger UI 상단의 "Authorize" 버튼 클릭
  2. Bearer {token} 형식으로 토큰 입력
  3. 예: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
  4. "Authorize" 버튼 클릭하여 저장
  5. "Close" 버튼으로 모달 닫기

3. API 테스트

  1. 원하는 엔드포인트 섹션 확장
  2. "Try it out" 버튼 클릭
  3. 필요한 파라미터 입력
  4. "Execute" 버튼 클릭
  5. 응답 결과 확인

🔑 API 주요 엔드포인트

  • 계정 관리 (Accounts)
    POST https://api.rankly.kr/api/v1/accounts/login/ - 로그인
    POST https://api.rankly.kr/api/v1/accounts/signup/ - 회원가입
    POST https://api.rankly.kr/api/v1/accounts/otp/send - 이메일 OTP 발송
    POST https://api.rankly.kr/api/v1/accounts/otp/verify - OTP 검증
    POST https://api.rankly.kr/api/v1/accounts/withdraw - 탈퇴 신청 (JWT)
    POST https://api.rankly.kr/api/v1/accounts/withdraw/cancel - 탈퇴 취소 (이메일+비밀번호)
  • 슬롯 관리 (Slots)
    GET https://api.rankly.kr/api/v1/accounts/{user_id}/slots/ - 슬롯 목록 조회
    POST https://api.rankly.kr/api/v1/accounts/{user_id}/slots/ - 슬롯 생성
  • 랭킹 조회 (Rank)
    GET https://api.rankly.kr/api/v1/slots/rank/ - 랭킹 데이터 조회
  • 정산 (Invoice)
    GET https://api.rankly.kr/api/v1/invoice/ - 정산 내역 조회
  • 구독 (Subscriptions)
    GET https://api.rankly.kr/api/v1/subscriptions/ - 구독 정보 조회
  • 게시판 (Boards)
    GET https://api.rankly.kr/api/v1/boards/ - 게시글 목록
    GET https://api.rankly.kr/api/v1/boards/banners/ - 배너 목록

🔐 인증 방법

대부분의 API는 JWT 토큰 기반 인증이 필요합니다. 로그인 API를 통해 access 토큰을 받은 후, 모든 요청의 Authorization 헤더에 Bearer {token} 형식으로 포함해야 합니다.

예시:
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...