Kucoin 是一家国际多语言加密货币交易所。它提供一些 API 以访问 Kucoin 数据。以下 API 受支持:
Kucoin API 有 2 种类型的方法:公共方法和私有方法。公共方法无需身份验证即可访问,例如获取 Ticker 价格。与用户数据相关的私有方法需要使用 Kucoin API 密钥。
REST API
要从特定服务器订阅通道消息,客户端应向服务器发送订阅消息。
如果订阅成功,当响应设置为 true 时,系统将向您发送 ack 消息。
{
"id":"1545910660739",
"type":"ack"
}
当有主题消息产生时,系统将向客户端发送相应的消息。
支持以下订阅/取消订阅方法。
| 方法 | 参数 | 描述 |
| SubscribeSymbolTickerV2 | 交易对 | 订阅本主题以获取 BBO 变化的实时推送。订阅后,当订单簿发生变化时,系统将向您实时推送行情标的信息。建议使用新主题以获取及时信息。 |
| SubscribeSymbolTicker | 交易对 | 订阅此主题以获取 BBO 变化的实时推送。行情频道在每次撮合时提供实时价格更新。如果同时撮合多个订单,只推送最后一次撮合事件。 |
| SubscribeLevel2MarketData | 交易对 | 订阅此主题以获取 Level 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 的连接性并获取当前服务器时间。 |
市场数据端点
| 方法 | 参数 | 描述 |
| GetOpenContractList | 提交请求以获取所有未结合约的信息。 | |
| GetOrderInfoContract | 提交请求以获取指定合约的信息。 | |
| GetTicker | 交易对 | 实时行情包含最新成交价、最新成交量、交易 ID、流动性方、最优买卖价格和数量,以及订单的成交时间。这些消息也可通过 Websocket 获取。序列号用于判断 Websocket 推送的消息是否连续。 |
| GetPartOrderBook20 | 交易对 | 获取某个交易对的聚合未平仓订单快照。 |
| GetPartOrderBook100 | 交易对 | 获取某个交易对的聚合未平仓订单快照。 |
| GetFullOrderBook | 交易对 | 获取某个交易对的聚合未平仓订单快照。 |
| GetLevel2PullingMessages | 交易对 | 如果 WebSocket 推送的消息不连续,您可以提交以下请求并重新拉取数据,以确保序列号不缺失。在请求中,start 参数是您最后收到消息的序列号加 1,end 参数是您当前收到消息的序列号减 1。重新拉取消息并将其应用到本地交易所订单簿后,您可以继续通过 WebSocket 增量订阅来更新订单簿。如果 end 与 start 参数之差超过 500,请停止使用此请求,建议您重新构建 Level 2 订单簿。 |
| GetTradeHistory | 交易对 | 列出某交易对的最近 100 笔成交。 |
| GetInterestRateList | 交易对 | 查询利率列表。 |
| GetIndexList | 交易对 | 检查索引列表 |
| GetCurrentMarkPrice | 交易对 | 检查当前标记价格。 |
| GetPremiumIndex | 交易对 | 提交获取溢价指数的请求。 |
| GetCurrentFundingRate | 交易对 | 提交请求以检查当前标记价格。 |
| GetKLine | 交易对 | 获取合约 K 线数据 |
私有 API 端点
需要 APIKey 和 APISecret 才能获得服务器授权。
用户端点
| 方法 | 参数 | 描述 |
| GetAccountOverview | 获取账户概览 | |
| GetTransactionHistory | 如果存在未平仓头寸,则返回的第一页状态为 Pending,表示当前 8 小时结算周期内的已实现盈亏。请在 offset 字段中指定当前页的最小偏移量以翻页。 |
交易端点
| 方法 | 参数 | 描述 |
| PlaceOrder | 您可以下两种类型的订单:限价单和市价单。仅当账户有足够资金时才能下单。订单提交后,相应资金将在订单有效期间被冻结。冻结资金的数量取决于订单类型和指定的参数。 | |
| PlaceMarketOrder | 下市价单。 | |
| PlaceLimitOrder | 下一个限价单。 | |
| CancelOrder | 通过订单 ID 取消订单。 | |
| LimitOrderMassCancellation | 取消所有未结订单(不包括止损订单)。响应是已取消订单的 orderID 列表。 | |
| StopOrderMassCancellation | 取消所有未触发的止损单。响应为已取消止损单的订单 ID 列表。若要取消已触发的止损单,请使用"限价单批量撤销"。 | |
| GetOrderList | 列出您当前的订单。 | |
| GetUntriggeredStopOrderList | 获取未触发的止损订单列表。 | |
| GetListOrdersCompleted24hr | 获取最近 24 小时内的 1000 条最新订单列表。如果您需要以低延迟获取最近的已成交订单历史,可以查询此端点。 | |
| GetOrder | 按订单 ID 获取单个订单(包括止损订单)。 | |
| GetOrderByClientOid | 通过客户端订单 id 获取单个订单(包括止损单)。 | |
| GetFills | 获取最近成交记录列表。 | |
| GetRecentFills | 获取过去 24 小时内最近 1000 条成交记录。如果您需要以低延迟获取最近的成交订单历史记录,可以查询此端点。 | |
| ActiveOrderValueCalculation | 您可以查询此端点以获取所有活跃订单的总数量和总价值。 | |
| GetPositionDetails | 获取指定仓位的详细信息。 | |
| GetPositionList | 获取指定仓位的详细信息。 | |
| AutoDepositMargin | 启用/禁用自动存入保证金 | |
| AddMarginManually | 手动添加保证金 | |
| ObtainFuturesRiskLimitLevel | 此接口可用于获取特定合约的风险限额信息 | |
| AdjustRiskLimitLevel | 此接口用于调整风险限额等级。调整等级将取消未结订单,响应仅能指示调整请求的提交是否成功。 | |
| GetFundingHistory | 提交请求以获取资金费率历史。 | |
| GetMaxOpenSize | 获取合约的最大可开仓大小。 | |
| SwitchMarginMode | 在全仓保证金和逐仓保证金模式之间切换。 | |
| GetMarginMode | 获取合约的当前保证金模式。 |
Kucoin 消息在 TsgcWebSocketClient 组件中接收,您可以使用以下事件:
OnConnect
成功连接到 Kucoin 服务器后。
OnDisconnect
从 KuCoin 服务器断开连接后
OnMessage
服务器发送给客户端的消息在此事件中处理。
OnError
如果协议出现任何错误,将调用此事件。
OnException
如果存在未处理的异常,将调用此事件。
此外,Kucoin API 组件中有一个名为 OnKucoinHTTPException 的特定事件,每次调用 HTTP 请求(REST API 或 WebSocket Feeds)出错时都会触发。