Kucoin API 文档详解
概述
KuCoin API 是一套为开发者量身定制的应用程序编程接口,旨在提供对 KuCoin 加密货币交易所全面功能的编程化访问。它允许开发者以自动化方式与 KuCoin 平台进行交互,从而实现多种复杂的任务,例如执行交易策略、监控市场动态、管理账户资金以及集成 KuCoin 数据到第三方应用程序。
通过 KuCoin API,开发者可以构建定制化的交易机器人,这些机器人能够根据预设的算法和市场信号自动买卖加密货币。API 提供的实时市场数据流使开发者能够追踪最新的价格、交易量和其他关键指标,以便做出明智的交易决策。API 还支持账户管理功能,允许用户查询账户余额、查看交易历史以及进行资金划转操作。
KuCoin API 的设计充分考虑了安全性,采用了严格的身份验证和授权机制,以保护用户的账户和数据安全。API 文档详细描述了可用的端点、请求参数和响应格式,并提供了代码示例,以帮助开发者快速上手。开发者可以使用各种编程语言(如 Python、Java 和 JavaScript)来调用 KuCoin API,从而构建灵活且强大的加密货币交易和管理解决方案。
身份验证
要使用 Kucoin API 进行交易、获取账户信息或其他操作,必须首先进行身份验证。Kucoin 使用 API Key 和 Secret Key 这两个凭证来验证用户的身份并授权访问其 API 接口。
这两个密钥至关重要,可以视为访问您 Kucoin 账户的通行证。您可以在 Kucoin 账户的 API 管理页面生成和管理这些密钥。请务必妥善保管您的 Secret Key,切勿泄露给他人,因为它与您的 API Key 共同用于生成签名,以验证 API 请求的真实性和完整性。
在 API 管理页面,您可以创建新的 API Key,并设置其权限,例如只读访问、交易权限、提现权限等。强烈建议您根据实际需求设置最小权限原则,避免因 API Key 泄露而导致的安全风险。 例如,如果您的应用程序只需要获取市场数据,则只需授予只读权限即可,无需授予交易权限。创建 API Key 时,Kucoin 还会要求您设置一个 API Passphrase(可选),这可以作为额外的安全层,用于某些需要更高安全级别的 API 调用。
步骤:
- 登录 KuCoin 账户。 确保您拥有一个有效的 KuCoin 账户。使用您的用户名/邮箱和密码,通过 KuCoin 官方网站或移动应用程序安全地登录。 务必启用双重验证 (2FA) 以提高账户安全性。
- 导航至 API 管理页面。 登录后,将鼠标悬停在您的个人资料图标上,通常位于页面的右上角。在下拉菜单中找到并点击 "API 管理" 或类似的选项。这将带您进入 API 密钥的管理界面。如果找不到,请查阅 KuCoin 帮助中心获取最新的导航路径。
- 创建新的 API Key,并设置相应的权限。 在 API 管理页面,点击 "创建 API" 按钮(或类似的按钮)。 为您的 API 密钥指定一个名称,以便于您将来识别和管理它。 接下来,务必仔细设置 API 密钥的权限。KuCoin 提供了细粒度的权限控制,例如交易(允许 API 密钥进行交易操作)、提现(允许 API 密钥发起提现请求)、查看账户(允许 API 密钥查询账户余额和交易历史)。 根据您的应用程序的需求,谨慎选择所需的权限。 为了安全起见,请仅授予 API 密钥所需的最低权限。 您还可以设置IP限制来进一步限制API Key的使用。
- 安全地保存 API Key 和 Secret Key。 创建 API 密钥后,KuCoin 将生成 API Key 和 Secret Key。 API Key 类似于用户名,用于标识您的 API 密钥。 Secret Key 类似于密码,用于对 API 请求进行签名。 将 API Key 和 Secret Key 安全地存储在安全的地方,例如密码管理器或加密的文本文件。 切勿 将 Secret Key 透露给任何人。 如果您怀疑 API Key 或 Secret Key 泄露,请立即删除该 API 密钥并创建一个新的。 请注意,Secret Key 只会显示一次,请务必妥善保存。
安全注意事项:
- Secret Key(私钥)务必严格保密: 私钥是访问和管理您的加密货币资产的关键。请务必将其视为高度机密信息,切勿以任何形式泄露给任何人,包括朋友、家人,甚至交易所工作人员。私钥一旦泄露,您的资产将面临被盗风险,且通常无法追回。建议采用硬件钱包、离线存储等安全措施来保护您的私钥。备份私钥时,务必选择安全可靠的方式,例如使用加密存储设备或将其记录在不联网的介质上。
- API Key 权限精细化管理: API Key 允许第三方应用程序访问您的交易所账户。为了降低安全风险,务必根据实际需求精确设置 API Key 的权限。例如,如果某个应用程序只需要读取账户信息,则不要授予其交易权限或提币权限。定期审查并更新您的 API Key 权限,移除不再使用的 API Key,或限制其访问范围。部分交易所提供IP白名单功能,您可以限制API Key只能从特定的IP地址访问,进一步提升安全性。
API Endpoint
KuCoin API 的基础 URL 为
https://api.kucoin.com
。 这是所有 API 请求的入口点。您需要将此 URL 作为前缀添加到所有 API 路径,才能成功访问 KuCoin 的各种交易和市场数据服务。
在构建 API 请求时,请务必使用 HTTPS 协议以确保数据传输的安全性。 使用 HTTP 协议可能会导致您的API密钥和其他敏感信息暴露的风险。
请注意,KuCoin 可能会在未来更新其 API 基础 URL。 因此,建议您定期检查 KuCoin 官方文档,以确保您使用的 URL 是最新的,并且您的应用程序能够正常运行。 如果有任何更改,KuCoin 通常会提前通知开发者,以便进行必要的调整。
正确的 API Endpoint 结构如下例所示:
https://api.kucoin.com/api/v1/market/allTickers
。 其中
/api/v1/market/allTickers
是具体的 API 路径,用于获取所有交易对的最新价格信息。 每个API Endpoint都对应着KuCoin提供的不同功能和数据,需要根据实际需求选择合适的Endpoint进行调用。
通用请求头
与 KuCoin API 交互时,几乎所有请求都需要包含一组特定的 HTTP 请求头。这些请求头用于身份验证、授权和确保数据传输的安全性。
-
KC-API-KEY
: 这是您的 API 密钥,用于标识您的 KuCoin 账户。务必妥善保管您的 API 密钥,避免泄露,因为它允许访问您的账户。请将其视为您的用户名,用于标识您的请求来源。 -
KC-API-SECRET
: 这是您的 API 密钥对应的密钥。它与KC-API-SIGN
头部结合使用,以加密方式验证请求的真实性和完整性。如同密码一样,请极其小心地保护您的 Secret Key,切勿与他人分享。 -
KC-API-PASSPHRASE
: 这是一个可选的安全层,在创建 API 密钥时您可以设置一个 passphrase。如果设置了 passphrase,则必须在每个请求中包含它。这就像是双重验证,为您的 API 密钥增加了一层额外的保护。如果没有设置passphrase,则不需要此头部。 -
KC-API-TIMESTAMP
: 当前时间戳,以毫秒为单位表示。KuCoin 使用时间戳来防止重放攻击。时间戳必须在服务器时间的一定范围内,通常是几分钟。您可以使用编程语言中的时间函数(如 JavaScript 的Date.now()
或 Python 的time.time() * 1000
)来生成时间戳。 -
KC-API-SIGN
: 请求的数字签名,用于验证请求的完整性和真实性。签名是使用您的KC-API-SECRET
、请求的 HTTP 方法(例如 GET、POST、PUT、DELETE)、请求路径、时间戳以及请求体(如果存在)计算得出的哈希值。KuCoin 服务器使用相同的参数和您的 Secret Key 计算签名,并将其与您提供的签名进行比较,以验证请求是否未被篡改。请参考 KuCoin 官方文档,了解如何正确计算签名,确保您的请求能够通过验证。签名算法通常为 HMAC-SHA256。
签名生成
KuCoin API 为了保证交易安全和数据完整性,采用 HMAC SHA256 算法生成签名。所有 API 请求都需要有效的签名才能被服务器接受。签名生成过程涉及多个步骤,需要严格按照规范执行:
- 构建签名字符串:
-
对于
GET
请求,签名字符串由以下部分组成,并按照顺序拼接:[Endpoint][Timestamp][Request Path][Query Parameters]
。 各部分需进行URL编码,确保特殊字符被正确转义。 -
对于
POST
/PUT
/DELETE
请求,签名字符串的组成为:[Endpoint][Timestamp][Request Path][JSON Payload]
。同样,所有组成部分在拼接前都需要进行 URL 编码,尤其注意 JSON Payload 中可能包含的特殊字符。 -
Endpoint:
指的是KuCoin API的域名,例如:
api.kucoin.com
。 - Timestamp: 是指发起请求时的 Unix 时间戳,精确到毫秒。
-
Request Path:
是请求的 API 路径,例如:
/api/v1/orders
。 - Query Parameters: 对于 GET 请求,需要包含 URL 中的所有查询参数,并按照参数名进行字典排序后再进行URL编码。
- JSON Payload: 对于 POST/PUT/DELETE 请求,需要包含请求体的 JSON 字符串。在计算签名之前,需要将 JSON 对象序列化为字符串,并且确保序列化后的字符串是规范化的,避免因键值对顺序不同导致签名不一致。
- 所有字段都需要进行 URL 编码,使用 UTF-8 编码格式。URL 编码是为了确保特殊字符(例如空格、斜杠等)能够被正确地传输和解析。
- 计算 HMAC SHA256 签名:
-
使用您的
Secret Key
作为密钥,对上一步构建的签名字符串进行 HMAC SHA256 加密。请务必保管好您的 Secret Key,防止泄露。 - 将 HMAC SHA256 加密后的结果转换为 Base64 编码。Base64 编码是一种将二进制数据转换为 ASCII 字符串的编码方式,以便在网络上传输。得到的 Base64 编码后的字符串就是最终的签名。
-
在发送 API 请求时,需要将生成的签名包含在请求头中,通常使用
KC-SIGN
头部字段。同时,还需要包含KC-API-KEY
(API Key) 和KC-API-TIMESTAMP
(时间戳) 头部字段。
示例 (Python):
为了安全地与 KuCoin API 交互,你需要生成签名来验证你的请求。 以下 Python 代码片段展示了如何创建合法的 KuCoin API 签名,该签名用于认证你的身份并确保请求的完整性。
你需要引入以下 Python 模块:
hmac
用于生成哈希消息认证码,
hashlib
提供多种哈希算法,
base64
用于编码,
time
获取当前时间戳,
urllib.parse
用于处理 URL 参数。
import hmac
import hashlib
import base64
import time
import urllib.parse
generate_signature
函数接受多个参数:你的 KuCoin 账户的
secret_key
、请求的
timestamp
(以毫秒为单位),
endpoint
(请求方法,如 GET, POST, PUT, DELETE),请求的
request_path
(API 端点路径,例如
/api/v1/orders
),可选的查询参数
params
和请求体
body
。该函数根据这些输入生成最终的 API 签名。
def generate_signature(secret_key, timestamp, endpoint, request_path, params=None, body=None):
"""生成 Kucoin API 签名."""
函数内部首先构造签名字符串
sign_string
。 如果请求包含查询参数,它将使用
urllib.parse.urlencode(params)
对其进行 URL 编码,然后将时间戳、endpoint、request_path 以及编码后的查询字符串连接起来。 如果请求包含请求体
body
,则将时间戳、endpoint、request_path 和 body 连接起来。 如果两者都没有,则仅连接时间戳、endpoint 和 request_path。
if params:
query_string = urllib.parse.urlencode(params)
sign_string = str(timestamp) + endpoint + request_path + "?" + query_string
elif body:
sign_string = str(timestamp) + endpoint + request_path + body
else:
sign_string = str(timestamp) + endpoint + request_path
接下来,将
sign_string
和
secret_key
编码为 UTF-8 格式。
sign_string = sign_string.encode('utf-8')
secret_key = secret_key.encode('utf-8')
然后,使用
hmac.new
函数,使用 SHA256 算法生成 HMAC 签名。 此处
secret_key
用作密钥,而
sign_string
是消息。
digest()
方法返回二进制格式的签名。
signature = hmac.new(secret_key, sign_string, hashlib.sha256).digest()
使用 Base64 编码对二进制签名进行编码,并将其解码为 UTF-8 字符串。 此字符串就是最终的 KuCoin API 签名,需要将其包含在请求的头部中。
signature = base64.b64encode(signature).decode('utf-8')
return signature
示例用法
为了安全地与加密货币交易所的API交互,你需要生成一个签名来验证你的请求。以下示例展示了如何使用你的密钥(
secret_key
)和请求的各种参数来生成签名。
secret_key
应该保密,切勿泄露。
secret_key = "YOUR_SECRET_KEY"
将
YOUR_SECRET_KEY
替换为你从交易所获得的真实密钥。该密钥用于对请求进行签名,确保请求的完整性和真实性。
timestamp = str(int(time.time() * 1000))
时间戳 (
timestamp
) 是请求发送时的 Unix 时间,以毫秒为单位。时间戳用于防止重放攻击,即攻击者截获并重复发送之前的有效请求。确保你的系统时间与交易所服务器时间同步,否则请求可能会因时间戳无效而被拒绝。
endpoint = "POST"
endpoint
定义了HTTP请求的方法,例如
POST
,
GET
,
PUT
,
DELETE
等。交易所的 API 文档会明确指定每个接口所使用的 HTTP 方法。
request_path = "/api/v1/orders"
request_path
是API的请求路径,指定了你要访问的具体资源或执行的操作。此示例中,
/api/v1/orders
表示创建订单的 API 端点。请务必查阅交易所的API文档以获取正确的请求路径。
body = '{"symbol": "BTC-USDT", "type": "market", "side": "buy", "size": "0.01"}'
body
是请求的主体,包含了要发送给服务器的数据。对于创建订单的请求,
body
通常包含交易对 (
symbol
), 订单类型 (
type
), 买卖方向 (
side
) 和数量 (
size
) 等信息。
symbol
指定了交易对,例如 "BTC-USDT" 表示比特币兑换USDT。
type
指定了订单类型,"market" 表示市价单。
side
指定了交易方向,"buy" 表示买入。
size
指定了交易数量, "0.01" 表示购买 0.01 个比特币。 请根据交易所 API 文档调整
body
的内容。
signature = generate_signature(secret_key, timestamp, endpoint, request_path, body=body)
调用
generate_signature
函数,使用
secret_key
,
timestamp
,
endpoint
,
request_path
和
body
作为参数生成签名。具体的签名算法由交易所定义,通常涉及到哈希函数 (例如 SHA256) 和密钥加密。请确保
generate_signature
函数的实现与交易所 API 文档中描述的签名算法一致。
print(f"Signature: {signature}")
打印生成的签名。该签名需要添加到 HTTP 请求的头部 (Header) 中,以便交易所验证请求的真实性。具体的头部名称和格式请参考交易所的API文档。
常用 API 接口
以下是一些常用的 Kucoin API 接口,可以用于访问 Kucoin 交易所的各种数据和功能:
-
获取服务器时间:
GET /api/v1/timestamp
- 此接口返回 Kucoin 服务器的当前 Unix 时间戳,以毫秒为单位。可以使用此时间戳同步本地系统时间,或作为其他 API 请求的参考时间。
-
获取可用交易对:
GET /api/v1/symbols
- 此接口返回 Kucoin 上所有可用的交易对及其详细信息,包括交易对名称、基础货币、报价货币、最小交易数量、价格精度等。是构建交易策略和监控市场的基础。
-
获取市场行情:
GET /api/v1/market/stats?symbol=BTC-USDT
-
此接口返回指定交易对的 24 小时行情数据,包括开盘价、最高价、最低价、收盘价、成交量、成交额、涨跌幅等。 例如,
BTC-USDT
交易对。 该接口为投资者提供快速了解市场表现的途径。
-
此接口返回指定交易对的 24 小时行情数据,包括开盘价、最高价、最低价、收盘价、成交量、成交额、涨跌幅等。 例如,
-
获取深度数据:
GET /api/v1/market/orderbook/level2_20?symbol=BTC-USDT
- 此接口返回指定交易对的深度数据,通常是买一到买二十,卖一到卖二十的挂单信息。信息包含价格和数量。深度数据是进行高频交易和算法交易的重要参考,可以帮助分析市场供需关系。
-
下单:
POST /api/v1/orders
-
此接口用于创建新的订单。必须提供交易对 (
symbol
)、订单类型 (type
, 例如limit
或market
)、订单方向 (side
, 例如buy
或sell
)、订单数量 (size
) 等参数。对于限价单,还需要提供价格 (price
)。成功下单后,会返回订单 ID。
-
此接口用于创建新的订单。必须提供交易对 (
-
取消订单:
DELETE /api/v1/orders/
-
此接口用于取消指定的订单。需要提供订单 ID (
orderId
)。只有未成交的订单才能被取消。成功取消后,会返回取消结果。
-
此接口用于取消指定的订单。需要提供订单 ID (
-
获取账户信息:
GET /api/v1/accounts
-
此接口返回用户的账户信息,包括可用余额 (
available
)、冻结余额 (holds
) 等。可以指定账户类型 (type
, 例如trade
)。账户信息是进行交易和资金管理的基础。
-
此接口返回用户的账户信息,包括可用余额 (
Websocket API
KuCoin提供强大的WebSocket API,专为需要实时市场数据和交易更新的开发者设计。该API通过推送模式提供低延迟的数据流,确保用户能够第一时间获取最新的市场信息和订单状态。与传统的REST API相比,WebSocket API避免了频繁的请求,从而显著降低了延迟并提高了效率。
KuCoin WebSocket API 使用不同的Endpoint,每个Endpoint对应不同的数据频道。例如,有专门的Endpoint用于接收实时ticker数据、深度数据(Order Book)、交易数据以及K线数据(Candlestick data)。选择合适的Endpoint对于获取所需数据至关重要。详细的Endpoint列表和数据格式可以在KuCoin官方API文档中找到。
为了保护用户资产和数据安全,KuCoin WebSocket API需要进行身份验证才能访问私人频道,例如用户订单状态更新。身份验证过程通常涉及生成一个签名,该签名基于用户的API密钥和密钥(Secret Key)以及当前时间戳。正确的身份验证是成功连接WebSocket API并接收私人数据的关键。用户需要在请求头中包含签名和其他必要的参数,具体认证方式请参考官方文档。
通过KuCoin的WebSocket API,用户可以构建各种实时交易应用程序,例如自动交易机器人、实时市场监控仪表盘和交易信号生成器。合理利用该API,可以帮助用户更快地响应市场变化,提高交易效率。
Endpoint:wss://ws-api.kucoin.com/endpoint
身份验证:
成功建立 WebSocket 连接后,为了确保安全通信并访问 KuCoin 的数据流,需要立即执行身份验证流程。此流程的核心是发送一个经过精心设计的
ping
消息。
ping
消息本质上是一个 JSON 对象,它必须包含以下关键字段:
-
id
:这是一个至关重要的唯一字符串,用于区分不同的ping
消息。建议采用 UUID (Universally Unique Identifier) 或其他保证唯一性的方法生成此 ID。它允许客户端将接收到的pong
响应与特定的ping
请求关联起来,从而实现可靠的请求/响应匹配。 -
type
:该字段的值必须严格设置为"ping"
,它清晰地指示消息的类型,表明这是一条身份验证请求。任何其他值都将被 KuCoin 服务器拒绝。 -
topic
:这是一个可选字段,允许客户端在身份验证的同时订阅特定的频道。频道代表了特定的数据流,例如特定交易对的实时价格更新或订单簿变化。如果客户端希望立即接收特定频道的数据,可以在ping
消息中包含topic
字段,指定要订阅的频道名称。
有效的
ping
消息示例:
{
"id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"type": "ping"
}
或者,如果客户端希望立即订阅
trade.BTC-USDT
频道:
{
"id": "f1e2d3c4-b5a6-7890-1234-567890fedcba",
"type": "ping",
"topic": "/market/trade:BTC-USDT"
}
一旦 KuCoin 服务器接收到有效的
ping
消息,它将返回一个
pong
消息作为确认。
pong
消息表明服务器已成功验证连接并准备好处理后续的请求。客户端应确保在发送任何其他请求之前接收到
pong
消息,以避免数据丢失或连接问题。
请注意,如果未在指定的时间内收到
pong
消息,客户端应立即断开连接并重新建立连接,重新执行身份验证流程。这有助于确保连接的稳定性和安全性。
订阅频道:
为了接收特定频道的数据流,你需要向WebSocket服务器发送一个精心构造的
subscribe
消息。这个
subscribe
消息本质上是一个JSON对象,它告诉服务器你希望监听哪个频道的数据更新。
该消息的结构必须严格按照以下定义:
-
id
: 一个唯一的标识符,用于区分不同的订阅请求。你可以使用任何字符串或数字作为id
,只要确保每个订阅请求的id
都是唯一的即可。这个id
在服务器返回响应时也会被包含,方便你将响应与相应的订阅请求关联起来。 -
type
: 必须设置为字符串"subscribe"
。这个字段明确地告诉服务器这是一个订阅请求,而不是其他类型的请求。 -
topic
: 指定你要订阅的频道名称。例如,要订阅比特币/美元交易对的价格更新,topic
可能设置为"BTC-USD.trades"
或类似的格式,具体取决于交易所的API定义。请务必查阅交易所的API文档,以确定正确的topic
名称。 -
response
: 一个布尔值,决定你是否需要服务器返回该频道最近的历史数据。如果设置为true
,服务器将在成功订阅后立即发送该频道的一些历史消息。如果设置为false
,服务器只会在订阅成功后发送新的消息。历史数据的数量和格式同样取决于交易所的API定义。 -
privateChannel
: 一个布尔值,用于指示该频道是否为私有频道。私有频道通常用于用户特定的数据,例如订单更新或账户信息。如果设置为true
,则需要提供有效的apiKey
才能成功订阅。 -
apiKey
: 如果privateChannel
设置为true
,则必须提供一个有效的API Key。API Key用于验证你的身份,并确保你具有访问该私有频道的权限。API Key通常由交易所提供,你需要在使用前进行申请和配置。请注意保护你的API Key,不要将其泄露给他人。
简而言之,
subscribe
消息的完整JSON结构可能如下所示:
{
"id": "12345",
"type": "subscribe",
"topic": "BTC-USD.trades",
"response": true,
"privateChannel": false
}
或者,对于私有频道:
{
"id": "67890",
"type": "subscribe",
"topic": "user.orders",
"response": false,
"privateChannel": true,
"apiKey": "YOUR_API_KEY"
}
请务必将
YOUR_API_KEY
替换为你自己的API Key。正确的
subscribe
消息是成功订阅频道并接收数据的关键。
常用频道:
-
/market/ticker:
:实时推送指定交易对的最新成交价。该频道提供特定交易对(例如BTCUSDT
)的即时价格更新,使交易者能够快速响应市场波动。用户可以通过订阅此频道,获得毫秒级的价格变动通知,从而优化交易策略和执行效率。成交价信息对于高频交易和套利策略至关重要。 -
/market/level2:
:实时推送指定交易对的深度数据。此频道提供订单簿的第二层深度信息,包括买单和卖单的挂单价格和数量。level2
数据比仅显示最佳买卖价格的level1
数据更详细,有助于交易者了解市场供需关系、支撑位和阻力位。通过分析订单簿的深度,交易者可以更好地评估市场流动性,并制定更明智的交易决策,减少滑点风险。 -
/spotMarket/tradeOrders
:实时推送用户的订单状态更新(需要身份验证)。此频道专门为用户提供个性化的订单状态更新,包括订单的创建、成交、取消等。由于涉及用户隐私和交易安全,访问此频道需要进行身份验证,确保只有授权用户才能接收到相关的订单信息。通过实时接收订单状态更新,用户可以随时掌握自己的交易情况,及时调整交易策略,并有效管理风险。身份验证通常采用API密钥或OAuth等安全机制。
错误处理
Kucoin API 使用标准的 HTTP 状态码来表示请求处理的结果,以便开发者能够快速识别请求的状态。以下列出一些常见的 HTTP 状态码及其含义:
-
200 OK
: 请求成功。这表明服务器已成功接收、处理请求,并返回了预期的结果。 -
400 Bad Request
: 请求参数错误。通常,这意味着客户端提交的请求缺少必要的参数,或者参数格式不正确,服务器无法解析。开发者应检查请求的参数是否符合 API 文档的要求。 -
401 Unauthorized
: 身份验证失败。客户端需要提供有效的 API 密钥和密钥,或者提供的密钥已过期或无效。请确保正确配置 API 密钥,并检查是否启用了必要的 API 访问权限。 -
403 Forbidden
: 没有权限访问该接口。即便身份验证成功,用户也可能因为权限不足而无法访问某些特定的 API 端点。检查 API 密钥是否具有访问目标接口所需的权限。 -
429 Too Many Requests
: 请求过于频繁,已被限流。为了保护服务器的稳定性,Kucoin API 对请求频率进行了限制。当请求超过限制时,服务器会返回此状态码。开发者应采取措施,例如实施请求队列或使用指数退避算法来减少请求频率。 -
500 Internal Server Error
: 服务器内部错误。此状态码表示服务器在处理请求时遇到了未知的错误。这通常不是客户端的问题,开发者可以稍后重试,或者联系 Kucoin 技术支持。
除了 HTTP 状态码,Kucoin API 还会返回 JSON 格式的错误信息,其中包含了更详细的错误码(code)和错误描述(msg)。通过分析这些信息,开发者可以更精确地定位问题根源,并采取相应的处理措施,例如重构请求参数、重试请求或联系技术支持。详细的错误码列表及其含义可在 Kucoin API 的官方文档中查阅,以便更好地进行错误调试和处理。