📖 프로젝트 소개
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 추가.
🔗 주요 링크
https://api.rankly.kr/api/v1/docs 추천
엔드포인트별 요약·Try it out · accounts 등 태그별 상세 설명
📚 개발자 문서
API_CHANGELOG — 날짜별 요약 필독
2026-04-14 배포분부터 역순으로 정리 (스키마는 Swagger/OpenAPI 우선)
Frontend API Changes (기준일 2025-12-18) 참고
당일 변경이 아니라 위 기준일 스냅샷 문서입니다.
Notification System Guide
SendGrid Setup Guide
Link Branding Guide
Quick Start Guide
🧪 테스트 계정
광고주(Advertiser) 테스트 계정
- Email:
test@naver.com - Password:
1234
관리자(Admin) 계정
- Email:
logadmin@rankly.kr - Password:
rkqhwkrh
📝 Swagger 사용법
1. Swagger UI 접속
위의 Swagger UI 링크를 클릭하여 API 문서 페이지로 이동합니다.
2. 인증 토큰 설정
- Swagger UI 상단의 "Authorize" 버튼 클릭
Bearer {token}형식으로 토큰 입력- 예:
Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9... - "Authorize" 버튼 클릭하여 저장
- "Close" 버튼으로 모달 닫기
3. API 테스트
- 원하는 엔드포인트 섹션 확장
- "Try it out" 버튼 클릭
- 필요한 파라미터 입력
- "Execute" 버튼 클릭
- 응답 결과 확인
🔑 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...