Kucoin은 국제적인 다국어 암호화폐 거래소입니다. Kucoin 데이터에 접근하기 위한 일부 API를 제공합니다. 다음 API가 지원됩니다.
Kucoin API에는 2가지 유형의 메서드가 있습니다: public 및 private. Public 메서드는 인증 없이 액세스할 수 있습니다(예: ticker 가격 가져오기). Private 및 사용자 데이터와 관련된 메서드는 Kucoin API 키 사용이 필요합니다.
특정 서버에서 채널 메시지를 구독하려면 클라이언트 측이 서버에 구독 메시지를 보내야 합니다.
구독이 성공하면, 응답이 true로 설정될 때 시스템이 ack 메시지를 보냅니다.
{
"id":"1545910660739",
"type":"ack"
}
토픽 메시지가 생성되는 동안 시스템은 해당 메시지를 클라이언트 측으로 보냅니다.
다음 Subscription / Unsubscription 메서드가 지원됩니다.
| Method | 매개변수 | 설명 |
| SubscribeSymbolTickerV2 | Symbol | BBO 변경의 실시간 푸시를 받으려면 이 토픽을 구독하십시오. 구독 후 호가창에 변경이 있으면, 시스템이 실시간 ticker 심볼 정보를 푸시합니다. 적시 정보를 위해 새 토픽을 사용하는 것이 권장됩니다. |
| SubscribeSymbolTicker | Symbol | BBO 변경의 실시간 푸시를 받으려면 이 토픽을 구독하십시오. ticker 채널은 매칭이 발생할 때마다 실시간 가격 업데이트를 제공합니다. 여러 주문이 동시에 매칭되면 마지막 매칭 이벤트만 푸시됩니다. |
| SubscribeLevel2MarketData | Symbol | Level 2 order book 데이터를 가져오려면 이 topic을 구독하십시오. |
| SubscribeExecutionData | Symbol | 실행된 각 주문에 대해, 시스템은 다음 형식으로 매칭 메시지를 보냅니다. |
| SubscribeLevel2_5BestAskBid | Symbol | 최대 100밀리초마다 반환됩니다. |
| SubscribeLevel2_50BestAskBid | Symbol | 최대 100밀리초마다 반환됩니다. |
| SubscribeContractMarketData | Symbol | 계약의 시장 데이터를 얻으려면 이 토픽을 구독하십시오. |
| SubscribeSystemAnnouncements | Symbol | 시스템 공지를 받으려면 이 토픽을 구독하십시오. |
| SubscribeTransactionStatistics | Symbol | 거래 통계는 5초마다 사용자에게 푸시됩니다. |
| SubscribeKlines | Symbol | 계약 klines(캔들스틱) 데이터를 구독합니다. |
| SubscribeFundingFeeSettlement | Symbol | 펀딩 수수료 정산 알림을 구독합니다. |
ACK 매개변수가 true로 전송되면 성공적인 구독 / 구독 취소 후 클라이언트는 이에 대한 메시지를 수신합니다.
Kucoin 계정에서 얻은 유효한 ApiKey가 필요합니다. ApiKey, ApiSecret 및 Passphrase는 클라이언트 API 구성 요소의 Kucoin 속성에 설정해야 합니다.
다음 데이터는 변경이 있을 때마다 클라이언트에 푸시됩니다. 어떤 메서드도 구독할 필요가 없으며, 유효한 ApiKey를 설정하면 자동으로 수행됩니다.
| Method | 설명 |
| SubscribeTradeOrders | 이 토픽은 주문의 모든 변경 이벤트를 푸시합니다. |
| SubscribeAccountBalance |
계정 잔액이 변경되면 이 메시지를 받게 됩니다. 메시지에는 변경 세부 정보가 포함됩니다. |
| SubscribePositionChange | 포지션 상태가 변경되면 시스템이 변경 이벤트를 푸시합니다. |
| SubscribeStopOrder | stop order가 시스템에 수신되면 "open" 유형의 메시지를 받게 됩니다. 이는 이 주문이 시스템에 진입하여 트리거되기를 기다리고 있음을 의미합니다. |
| SubscribeMarginMode | margin 모드 변경을 구독합니다. margin 모드가 업데이트되면 시스템이 변경 이벤트를 푸시합니다. |
| SubscribeCrossMarginLeverage | 교차 마진 leverage 변경을 구독합니다. 교차 마진 leverage가 업데이트되면 시스템이 변경 이벤트를 푸시합니다. |
모든 엔드포인트는 JSON 객체 또는 배열을 반환합니다.
Public API EndPoints
이러한 엔드포인트는 권한 부여 없이 접근할 수 있습니다.
General EndPoints
| Method | 매개변수 | 설명 |
| GetServiceStatus | Rest API에 대한 연결성을 테스트하고 Service Status를 가져옵니다 | |
| GetServerTime | Rest API에 대한 연결성을 테스트하고 현재 서버 시간을 가져옵니다. |
Market Data EndPoints
| Method | 매개변수 | 설명 |
| GetOpenContractList | 모든 현재 열린 계약의 정보를 가져오기 위해 요청을 제출합니다. | |
| GetOrderInfoContract | 지정된 계약의 정보를 가져오기 위한 요청을 제출합니다. | |
| GetTicker | Symbol | 실시간 ticker에는 마지막 거래 가격, 마지막 거래 크기, 트랜잭션 ID, 유동성 taker의 방향, 최우선 매수 가격 및 크기, 최우선 매도 가격 및 크기뿐만 아니라 주문의 트랜잭션 시간이 포함됩니다. 이러한 메시지는 Websocket을 통해서도 얻을 수 있습니다. Sequence Number는 Websocket이 푸시한 메시지가 연속적인지 판단하는 데 사용됩니다. |
| GetPartOrderBook20 | Symbol | 심볼에 대한 집계된 미결 주문의 스냅샷을 가져옵니다. |
| GetPartOrderBook100 | Symbol | 심볼에 대한 집계된 미결 주문의 스냅샷을 가져옵니다. |
| GetFullOrderBook | Symbol | 심볼에 대한 집계된 미결 주문의 스냅샷을 가져옵니다. |
| GetLevel2PullingMessages | Symbol | Websocket으로 푸시된 메시지가 연속적이지 않은 경우, 다음 요청을 제출하고 데이터를 다시 가져와 시퀀스가 누락되지 않도록 할 수 있습니다. 요청에서 start 매개변수는 마지막으로 받은 메시지의 시퀀스 번호에 1을 더한 값이고, end 매개변수는 현재 받은 메시지의 시퀀스 번호에서 1을 뺀 값입니다. 메시지를 다시 가져와 로컬 거래소 주문 호가창에 적용한 후 Websocket 증분 피드를 통해 호가창을 계속 업데이트할 수 있습니다. end와 start 매개변수의 차이가 500을 초과하면 이 요청 사용을 중지하고 Level 2 주문 호가창을 재구성하는 것이 좋습니다. |
| GetTradeHistory | Symbol | 심볼에 대한 마지막 100건의 거래를 나열합니다. |
| GetInterestRateList | Symbol | 이자율 목록을 확인합니다. |
| GetIndexList | Symbol | 인덱스 목록 확인 |
| GetCurrentMarkPrice | Symbol | 현재 mark price를 확인합니다. |
| GetPremiumIndex | Symbol | premium index를 얻기 위한 요청을 제출합니다. |
| GetCurrentFundingRate | Symbol | 현재 마크 가격을 확인하기 위한 요청을 제출합니다. |
| GetKLine | Symbol | Contract의 K Line 데이터 가져오기 |
Private API EndPoints
서버의 권한을 받으려면 APIKey와 APISecret이 필요합니다.
User EndPoints
| Method | 매개변수 | 설명 |
| GetAccountOverview | Get Account Overview | |
| GetTransactionHistory | 미결제 포지션이 있는 경우, 반환되는 첫 페이지의 상태는 Pending이며, 현재 8시간 정산 기간의 실현 손익을 나타냅니다. 페이지를 넘기려면 현재 페이지의 최소 오프셋 번호를 offset 필드에 지정하십시오. |
Trade Endpoints
| Method | 매개변수 | 설명 |
| PlaceOrder | 두 가지 유형의 주문을 넣을 수 있습니다: limit 및 market. 계정에 충분한 자금이 있는 경우에만 주문할 수 있습니다. 주문이 들어가면 자금이 주문 기간 동안 보류됩니다. 보류되는 자금의 양은 주문 유형 및 지정된 매개변수에 따라 다릅니다. | |
| PlaceMarketOrder | 시장가 주문을 넣습니다. | |
| PlaceLimitOrder | Limit Order를 합니다. | |
| CancelOrder | 주문 Id로 주문을 취소합니다. | |
| LimitOrderMassCancellation | 모든 미결제 주문(stop 주문 제외)을 취소합니다. 응답은 취소된 주문의 orderID 목록입니다. | |
| StopOrderMassCancellation | 트리거되지 않은 모든 stop order를 취소합니다. 응답은 취소된 stop order의 orderID 목록입니다. 트리거된 stop order를 취소하려면 'Limit Order Mass Cancelation'을 사용하십시오. | |
| GetOrderList | 현재 주문을 나열합니다. | |
| GetUntriggeredStopOrderList | 트리거되지 않은 stop order 목록을 가져옵니다. | |
| GetListOrdersCompleted24hr | 최근 24시간 동안의 최근 1000개 주문 목록을 가져옵니다. 최근 거래된 주문 기록을 낮은 지연 시간으로 가져와야 하는 경우 이 엔드포인트를 쿼리할 수 있습니다. | |
| GetOrder | 주문 id로 단일 주문을 가져옵니다(stop 주문 포함). | |
| GetOrderByClientOid | client order id로 단일 주문을 가져옵니다(stop order 포함). | |
| GetFills | 최근 fill 목록을 가져옵니다. | |
| GetRecentFills | 지난 24시간 내 최근 1000개의 체결 목록을 가져옵니다. 최근 거래된 주문 기록을 낮은 지연으로 가져와야 하는 경우 이 엔드포인트를 쿼리할 수 있습니다. | |
| ActiveOrderValueCalculation | 이 엔드포인트를 쿼리하여 모든 활성 주문의 총 개수와 가치를 가져올 수 있습니다. | |
| GetPositionDetails | 지정된 포지션의 포지션 세부 정보를 가져옵니다. | |
| GetPositionList | 지정된 포지션의 포지션 세부 정보를 가져옵니다. | |
| AutoDepositMargin | Auto-Deposit Margin 활성화/비활성화 | |
| AddMarginManually | 마진 수동 추가 | |
| ObtainFuturesRiskLimitLevel | 이 인터페이스는 특정 계약의 위험 한도 레벨에 대한 정보를 얻는 데 사용할 수 있습니다 | |
| AdjustRiskLimitLevel | 이 인터페이스는 리스크 한도 레벨 조정을 위한 것입니다. 레벨을 조정하면 미체결 주문이 취소되며, 응답은 조정 요청 제출의 성공 여부만 나타낼 수 있습니다. | |
| GetFundingHistory | funding 기록을 가져오기 위한 요청을 제출합니다. | |
| GetMaxOpenSize | 계약에 대한 최대 미결제 포지션 크기를 가져옵니다. | |
| SwitchMarginMode | cross margin과 isolated margin 모드 간에 전환합니다. | |
| GetMarginMode | 계약의 현재 마진 모드를 가져옵니다. |
Kucoin 메시지는 TsgcWebSocketClient 구성 요소에서 수신되며, 다음 이벤트를 사용할 수 있습니다:
OnConnect
Kucoin 서버에 성공적으로 연결된 후입니다.
OnDisconnect
Kucoin 서버에서 연결이 끊긴 후
OnMessage
서버가 클라이언트에 보낸 메시지는 이 이벤트에서 처리됩니다.
OnError
프로토콜에 오류가 있으면 이 이벤트가 호출됩니다.
OnException
처리되지 않은 예외가 있으면 이 이벤트가 호출됩니다.
또한 Kucoin API 구성 요소에는 OnKucoinHTTPException이라는 특정 이벤트가 있으며, HTTP 요청(REST API 또는 WebSocket Feeds) 호출 중 오류가 있을 때마다 발생합니다.