| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390 |
- {
- "info": {
- "_postman_id": "bf-crypto-api-collection",
- "name": "bitForum Crypto API",
- "description": "bitForum 암호화폐 Quotation API 컬렉션\n\n- REST API: 초기 로딩용 (마켓, 시세, 체결, 호가, 캔들)\n- Live API: WebSocket → Redis 실시간 데이터 조회",
- "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
- },
- "variable": [
- {
- "key": "baseUrl",
- "value": "https://localhost:4000",
- "type": "string"
- },
- {
- "key": "symbol",
- "value": "BTC",
- "type": "string"
- }
- ],
- "item": [
- {
- "name": "Market",
- "item": [
- {
- "name": "마켓 목록 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/markets",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "markets"]
- },
- "description": "KRW 거래 가능 마켓 전체 목록을 조회합니다.\n\n- 캐시: 30분\n- Upbit API: GET /v1/market/all"
- },
- "response": []
- }
- ]
- },
- {
- "name": "Ticker",
- "item": [
- {
- "name": "시세 목록 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/tickers",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "tickers"]
- },
- "description": "활성화된 전체 코인의 실시간 시세 목록을 조회합니다.\n\n- 소스: Redis(WebSocket) + DB(코인 정보) 병합"
- },
- "response": []
- },
- {
- "name": "추천 시세 목록 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/tickers/featured",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "tickers", "featured"]
- },
- "description": "큐레이션된 추천 코인의 실시간 시세 목록을 조회합니다.\n\n- 소스: Redis(WebSocket) + DB(코인 정보) 병합\n- IsFeatured = true 인 코인만 필터링"
- },
- "response": []
- },
- {
- "name": "현재가 상세 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/ticker",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "ticker"]
- },
- "description": "특정 코인의 현재가 상세 정보를 조회합니다.\n\n- 캐시: 10초\n- Upbit API: GET /v1/ticker\n- 응답: 시가, 고가, 저가, 종가, 전일종가, 52주 최고/최저가, 누적 거래량/금액 등 17개 필드"
- },
- "response": []
- }
- ]
- },
- {
- "name": "Trade",
- "item": [
- {
- "name": "최근 체결 내역 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/trades?count=50",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "trades"],
- "query": [
- {
- "key": "count",
- "value": "50",
- "description": "체결 내역 개수 (1~100, 기본값: 50)"
- }
- ]
- },
- "description": "특정 코인의 최근 체결 내역을 조회합니다.\n\n- 캐시: 5초\n- Upbit API: GET /v1/trades/ticks\n- 응답: 체결가, 체결량, 매수/매도(ASK/BID), 체결번호"
- },
- "response": []
- },
- {
- "name": "실시간 체결 조회 (Live)",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/trades/live",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "trades", "live"]
- },
- "description": "WebSocket으로 수신된 최신 체결 1건을 조회합니다.\n\n- 소스: Redis (WebSocket → Redis 저장)\n- 응답: 체결가, 체결량, 매수/매도, 타임스탬프"
- },
- "response": []
- }
- ]
- },
- {
- "name": "Orderbook",
- "item": [
- {
- "name": "호가 정보 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/orderbook",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "orderbook"]
- },
- "description": "특정 코인의 호가 정보를 조회합니다.\n\n- 캐시: 5초\n- Upbit API: GET /v1/orderbook\n- 응답: 매도/매수 호가 리스트, 매도/매수 잔량 합계"
- },
- "response": []
- },
- {
- "name": "실시간 호가 조회 (Live)",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/orderbook/live",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "orderbook", "live"]
- },
- "description": "WebSocket으로 수신된 실시간 호가 정보를 조회합니다.\n\n- 소스: Redis (WebSocket → Redis 저장)\n- 응답: 매도/매수 호가 리스트, 잔량 합계, 타임스탬프"
- },
- "response": []
- }
- ]
- },
- {
- "name": "Candle",
- "item": [
- {
- "name": "초봉 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/seconds?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "seconds"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "초봉 캔들 데이터를 조회합니다.\n\n- 캐시: 1분\n- Upbit API: GET /v1/candles/seconds"
- },
- "response": []
- },
- {
- "name": "분봉 조회 (1분)",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/minutes/1?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "minutes", "1"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "분봉 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/minutes/{unit}\n- 허용 unit: 1, 3, 5, 10, 15, 30, 60, 240"
- },
- "response": []
- },
- {
- "name": "분봉 조회 (5분)",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/minutes/5?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "minutes", "5"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "5분봉 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/minutes/5"
- },
- "response": []
- },
- {
- "name": "분봉 조회 (15분)",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/minutes/15?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "minutes", "15"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "15분봉 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/minutes/15"
- },
- "response": []
- },
- {
- "name": "분봉 조회 (60분)",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/minutes/60?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "minutes", "60"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "60분봉 (1시간) 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/minutes/60"
- },
- "response": []
- },
- {
- "name": "분봉 조회 (240분)",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/minutes/240?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "minutes", "240"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "240분봉 (4시간) 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/minutes/240"
- },
- "response": []
- },
- {
- "name": "일봉 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/days?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "days"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "일봉 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/days"
- },
- "response": []
- },
- {
- "name": "주봉 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/weeks?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "weeks"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "주봉 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/weeks"
- },
- "response": []
- },
- {
- "name": "월봉 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/months?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "months"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "월봉 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/months"
- },
- "response": []
- },
- {
- "name": "연봉 조회",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/years?count=200",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "years"],
- "query": [
- {
- "key": "count",
- "value": "200",
- "description": "캔들 개수 (1~200, 기본값: 200)"
- }
- ]
- },
- "description": "연봉 캔들 데이터를 조회합니다.\n\n- 캐시: 5분\n- Upbit API: GET /v1/candles/years"
- },
- "response": []
- },
- {
- "name": "실시간 캔들 조회 (Live)",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{baseUrl}}/api/crypto/{{symbol}}/candles/live/m1",
- "host": ["{{baseUrl}}"],
- "path": ["api", "crypto", "{{symbol}}", "candles", "live", "m1"]
- },
- "description": "WebSocket으로 수신된 실시간 1분봉 캔들 1건을 조회합니다.\n\n- 소스: Redis (WebSocket → Redis 저장)\n- interval: m1 (1분봉)\n- 응답: 시가, 고가, 저가, 종가, 거래량, 거래금액"
- },
- "response": []
- }
- ]
- }
- ]
- }
|