Kucoinは国際的な多言語の暗号資産取引所です。KucoinのデータにアクセスするためのいくつかのAPIを提供しています。次のAPIがサポートされています。
Kucoin API には2種類のメソッドがあります:パブリックとプライベートです。パブリックメソッドは認証なしでアクセスできます(例:ティッカー価格の取得)。プライベートおよびユーザーデータに関連するメソッドは Kucoin API キーの使用が必要です。
特定のサーバーからチャネルメッセージにサブスクライブするには、クライアントサイドからサーバーにサブスクリプションメッセージを送信する必要があります。
サブスクリプションが成功すると、システムはあなたに ack メッセージを送信します。レスポンスが true に設定されているとき。
{
"id":"1545910660739",
"type":"ack"
}
トピックメッセージが生成されている間、システムはクライアント側に対応するメッセージを送信します。
以下のサブスクリプション/サブスクリプション解除メソッドがサポートされています。
| メソッド | パラメータ | 説明 |
| SubscribeSymbolTickerV2 | 銘柄 | このトピックをサブスクライブすると、BBO の変更がリアルタイムでプッシュされます。サブスクリプション後、板に変更があると、システムはリアルタイムのティッカー シンボル情報をプッシュします。タイムリーな情報のために新しいトピックの使用を推奨します。 |
| SubscribeSymbolTicker | 銘柄 | このトピックをサブスクライブして BBO 変更のリアルタイムプッシュを取得します。ティッカーチャンネルはマッチが発生するたびにリアルタイムの価格更新を提供します。複数の注文が同時にマッチされた場合、最後のマッチングイベントのみがプッシュされます。 |
| SubscribeLevel2MarketData | 銘柄 | レベル2のオーダーブックデータを取得するには、このトピックをサブスクライブします。 |
| SubscribeExecutionData | 銘柄 | 実行された各注文について、システムは以下の形式でマッチメッセージを送信します。 |
| SubscribeLevel2_5BestAskBid | 銘柄 | 最大でも100ミリ秒ごとに返されます。 |
| SubscribeLevel2_50BestAskBid | 銘柄 | 最大でも100ミリ秒ごとに返されます。 |
| SubscribeContractMarketData | 銘柄 | 契約のマーケットデータを取得するためにこのトピックにサブスクライブします。 |
| SubscribeSystemAnnouncements | 銘柄 | このトピックを購読してシステムのお知らせを受け取ります。 |
| SubscribeTransactionStatistics | 銘柄 | トランザクション統計は5秒ごとにユーザーにプッシュされます。 |
| SubscribeKlines | 銘柄 | 契約のKライン(ローソク足)データをサブスクライブします。 |
| SubscribeFundingFeeSettlement | 銘柄 | ファンディング手数料の精算通知にサブスクライブします。 |
ACK パラメータが True に設定されている場合、サブスクリプション/サブスクリプション解除が成功した後、クライアントはその旨のメッセージを受信します。
Kucoin アカウントから取得した有効な ApiKey が必要です。ApiKey、ApiSecret、Passphrase はクライアント API コンポーネントの Kucoin プロパティに設定する必要があります。
変化があるたびに次のデータがクライアントにプッシュされます。任意のメソッドをサブスクライブする必要はありません。有効な ApiKey が設定されていれば自動的に行われます。
| メソッド | 説明 |
| SubscribeTradeOrders | このトピックはお客様の注文のすべての変更イベントをプッシュします。 |
| SubscribeAccountBalance |
アカウント残高が変化したとき、このメッセージを受信します。メッセージには変化の詳細が含まれます。 |
| SubscribePositionChange | ポジションステータスが変化すると、システムは変更イベントをプッシュします。 |
| SubscribeStopOrder | システムがストップ注文を受け取ると、「open」タイプのメッセージを受信します。これは、この注文がシステムに入力され、トリガーされるのを待機していることを意味します。 |
| SubscribeMarginMode | マージンモードの変更をサブスクライブします。マージンモードが更新されると、システムが変更イベントをプッシュします。 |
| SubscribeCrossMarginLeverage | クロスマージンのレバレッジ変更をサブスクライブします。クロスマージンのレバレッジが更新されると、システムは変更イベントをプッシュします。 |
すべてのエンドポイントは JSON オブジェクトまたは配列を返します。
パブリック API エンドポイント
これらのエンドポイントには認証なしでアクセスできます。
汎用エンドポイント
| メソッド | パラメータ | 説明 |
| GetServiceStatus | Rest API への接続を確認し、サービスステータスを取得します。 | |
| GetServerTime | REST API への接続をテストして現在のサーバー時刻を取得します。 |
Market Data エンドポイント
| メソッド | パラメータ | 説明 |
| GetOpenContractList | すべてのオープンコントラクトの情報を取得するリクエストを送信します。 | |
| GetOrderInfoContract | 指定されたコントラクトの情報を取得するリクエストを送信します。 | |
| GetTicker | 銘柄 | リアルタイムティッカーには、最終取引価格、最終取引サイズ、トランザクション ID、流動性テイカー側、最良の買い値と数量、最良の売り値と数量、および注文のトランザクション時刻が含まれます。これらのメッセージは Websocket でも取得できます。シーケンス番号は Websocket によってプッシュされたメッセージが継続しているかどうかを判断するために使用されます。 |
| GetPartOrderBook20 | 銘柄 | シンボルの集約オープン注文のスナップショットを取得します。 |
| GetPartOrderBook100 | 銘柄 | シンボルの集約オープン注文のスナップショットを取得します。 |
| GetFullOrderBook | 銘柄 | シンボルの集約オープン注文のスナップショットを取得します。 |
| GetLevel2PullingMessages | 銘柄 | Websocketによってプッシュされるメッセージが連続していない場合は、次のリクエストを送信してデータを再取得し、シーケンスが欠落していないことを確認できます。リクエストにおいて、startパラメータは最後に受信したメッセージのシーケンス番号に1を加えたものであり、endパラメータは現在受信したメッセージのシーケンス番号から1を引いたものです。メッセージを再取得してローカルの取引所オーダーブックに適用した後、Websocketのインクリメンタルフィードを介してオーダーブックの更新を続けることができます。endパラメータとstartパラメータの差が500を超える場合は、このリクエストの使用を停止し、レベル2オーダーブックを再構築することをお勧めします。 |
| GetTradeHistory | 銘柄 | 銘柄の最新 100 件の取引を一覧表示します。 |
| GetInterestRateList | 銘柄 | 金利リストを確認します。 |
| GetIndexList | 銘柄 | インデックスリストを確認します。 |
| GetCurrentMarkPrice | 銘柄 | 現在のマーク価格を確認します。 |
| GetPremiumIndex | 銘柄 | プレミアムインデックスを取得するリクエストを送信します。 |
| GetCurrentFundingRate | 銘柄 | 現在のマーク価格を確認するリクエストを送信します。 |
| GetKLine | 銘柄 | コントラクトの K ラインデータを取得します |
プライベート API エンドポイント
サーバーによる認証を取得するために APIKey と APISecret が必要です。
User EndPoints
| メソッド | パラメータ | 説明 |
| GetAccountOverview | Get Account Overview | |
| GetTransactionHistory | 未決済ポジションがある場合、返される最初のページのステータスは Pending となり、現在の 8 時間決済期間の実現損益を示します。現在のページの最小オフセット番号を offset フィールドに指定してページを切り替えてください。 |
取引エンドポイント
| メソッド | パラメータ | 説明 |
| PlaceOrder | 注文には指値と成行の2種類があります。注文は口座に十分な資金がある場合にのみ発注できます。注文が発注されると、注文期間中は資金が保留されます。保留される資金の量は注文の種類と指定されたパラメーターによって異なります。 | |
| PlaceMarketOrder | 成行注文を発注します。 | |
| PlaceLimitOrder | 指値注文を発注します。 | |
| CancelOrder | 注文 ID で注文をキャンセルします。 | |
| LimitOrderMassCancellation | すべてのオープン注文をキャンセルします(ストップ注文を除く)。応答は、キャンセルされた注文のorderIDのリストです。 | |
| StopOrderMassCancellation | 未トリガーのストップ注文をすべてキャンセルします。レスポンスはキャンセルされたストップ注文の orderID のリストです。トリガー済みのストップ注文をキャンセルするには、「Limit Order Mass Cancelation」を使用してください。 | |
| GetOrderList | 現在の注文を一覧表示します。 | |
| GetUntriggeredStopOrderList | トリガーされていないストップ注文リストを取得します。 | |
| GetListOrdersCompleted24hr | 直近24時間における直近1000件の注文のリストを取得します。低レイテンシで直近の取引済み注文履歴を取得する必要がある場合は、このエンドポイントにクエリできます。 | |
| GetOrder | 注文 ID で単一の注文を取得します(逆指値注文を含む)。 | |
| GetOrderByClientOid | クライアント注文 ID で単一の注文を取得します(ストップ注文を含む)。 | |
| GetFills | 最近の約定のリストを取得します。 | |
| GetRecentFills | 過去24時間の最近1000件の約定履歴を取得します。低遅延で最近の取引注文履歴を取得する必要がある場合は、このエンドポイントを使用してください。 | |
| ActiveOrderValueCalculation | このエンドポイントを照会して、すべてのアクティブな注文の合計数と総額を取得できます。 | |
| GetPositionDetails | 指定したポジションの詳細情報を取得します。 | |
| GetPositionList | 指定したポジションの詳細情報を取得します。 | |
| AutoDepositMargin | 自動証拠金入金の有効化/無効化 | |
| AddMarginManually | マージンを手動で追加 | |
| ObtainFuturesRiskLimitLevel | このインターフェースを使用して特定の契約のリスク限度レベルに関する情報を取得できます | |
| AdjustRiskLimitLevel | このインターフェースはリスク制限レベルの調整用です。レベルを調整するとオープンオーダーがキャンセルされます。レスポンスは調整リクエストの送信が成功したかどうかのみを示します。 | |
| GetFundingHistory | 資金調達履歴の取得リクエストを送信します。 | |
| GetMaxOpenSize | コントラクトの最大建玉サイズを取得します。 | |
| SwitchMarginMode | cross marginモードとisolated marginモードを切り替えます。 | |
| GetMarginMode | 契約の現在のマージンモードを取得します。 |
Kucoin のメッセージは TsgcWebSocketClient コンポーネントで受信されます。以下のイベントを使用できます:
OnConnect
Kucoinサーバーへの接続が成功した後。
OnDisconnect
Kucoin サーバーからの切断後
OnMessage
サーバーからクライアントに送信されたメッセージは、このイベントで処理されます。
OnError
プロトコルにエラーがある場合、このイベントが呼び出されます。
OnException
未処理の例外がある場合、このイベントが呼び出されます。
さらに、Kucoin API コンポーネントには OnKucoinHTTPException という特定のイベントがあり、HTTP リクエスト(REST API または WebSocket フィード)の呼び出しでエラーが発生するたびに発生します。