1.0.1 • Published 6 months ago
@xfilecom/gopax-client v1.0.1
GOPAX API Client
GOPAX 거��소의 REST API와 WebSocket API를 위한 Node.js 클라이언트 라이브러리입니다.
설치
npm install @xfilecom/gopax-client
REST API 사용 방법
import GopaxClient from '@xfilecom/gopax-client';
// 클라이언트 인스턴스 생성
const client = new GopaxClient({
apiKey: 'YOUR_API_KEY', // Private API 사용 시 필요
secretKey: 'YOUR_SECRET_KEY', // Private API 사용 시 필요
});
// Public API 예제
async function publicApiExample() {
// 전체 거래쌍 조회
const tradingPairs = await client.getTradingPairs();
console.log('Trading Pairs:', tradingPairs);
// 특정 거래쌍의 시세 조회
const ticker = await client.getTicker('BTC-KRW');
console.log('BTC-KRW Ticker:', ticker);
// 호가창 조회
const orderbook = await client.getOrderBook('BTC-KRW');
console.log('BTC-KRW Orderbook:', orderbook);
// 거래 내역 조회
const trades = await client.getTradeHistory('BTC-KRW');
console.log('BTC-KRW Trades:', trades);
}
// Private API 예제
async function privateApiExample() {
// 계정 잔고 조회
const balances = await client.getBalances();
console.log('Balances:', balances);
// 주문 생성
const order = await client.createOrder({
tradingPair: 'BTC-KRW',
side: 'buy',
type: 'limit',
price: 50000000,
amount: 0.1
});
console.log('Created Order:', order);
// 주문 취소
await client.cancelOrder('ORDER_ID');
// 주문 조회
const myOrder = await client.getOrder('ORDER_ID');
console.log('Order Details:', myOrder);
}
WebSocket API 사용 방법
import GopaxClient, { EventType } from '@xfilecom/gopax-client';
// WebSocket 클라이언트 인스턴스 생성
const client = new GopaxClient({
apiKey: 'YOUR_API_KEY', // Private API 사용 시 필요
secretKey: 'YOUR_SECRET_KEY', // Private API 사용 시 필요
autoReconnect: true,
callbacks: {
onOpen: () => console.log('Connected'),
onClose: () => console.log('Disconnected'),
onMessage: (msg) => console.log('Message:', msg),
onError: (error) => console.error('Error:', error),
onOrderBook: (data) => console.log('OrderBook:', data),
onTrade: (data) => console.log('Trade:', data),
onOrder: (data) => console.log('Order:', data)
}
});
// WebSocket 연결
await client.connect();
// 주문 구독
client.subscribeToOrders();
// 특정 거래쌍의 오더북 구독
client.subscribeToOrderBook('BTC-KRW');
// 특정 거래쌍의 체결 내역 구독
client.subscribeToTrades('BTC-KRW');
// 구독 취소
client.unsubscribeFromTrades('BTC-KRW');
client.unsubscribeFromOrderBook('BTC-KRW');
// 연결 종료
client.disconnect();
주요 기능
REST API
Public API
- 거래쌍 조회
- 시세 조회
- 호가창 조회
- 거래 내역 조회
- 차트 데이터(OHLCV) 조회
Private API
- 계정 잔고 조회
- 주문 생성/취소/조회
- 거래 내역 조회
- 입출금 내역 조회
WebSocket API
- 자동 재연결
- 실시간 주문 구독
- 실시간 오더북 구독
- 실시간 체결 내역 구독
- 이벤트 기반 메시지 처리
- Private API 인증 지원
에러 처리
try {
const ticker = await client.getTicker('INVALID-PAIR');
} catch (error) {
if (error instanceof GopaxAPIError) {
console.error('API Error:', error.message);
console.error('Status Code:', error.statusCode);
console.error('Response:', error.response);
}
}
TypeScript 지원
이 라이브러리는 TypeScript로 작성되어 있어 타입 정의가 기본으로 제공됩니다.
라이선스
MIT