All
筛选:
如何将法定货币存入我的账户?
我需要帮助进行账户验证
为什么无法访问我的账户?
是否有加密货币取款手续费?
我需要帮助登录我的账户
大多数 API 请求都能成功完成,但有时也会出错,并返回错误消息而非预期响应。
我们的 API 提供各种描述性错误消息,旨在说明错误原因并提供适当的解决方案建议。
API 错误消息可分为几个不同的组(取决于错误类型、根本原因和最佳解决方案),但 API 错误消息的格式是一致的,如下所示:
“严重级别”“错误类别”:“错误消息”
“严重级别”可以是 E(表示错误)或 W(表示警告)。“错误类别”可以是 General、API、Query、Order、Trade、Funding 或 Service 之一。“错误消息”可以是描述错误原因的任何文本字符串(例如“无效参数”)。
例如,指示在行情查询中使用了无效货币对的错误如下所示:
EQuery:Unknown asset pair
请注意,某些第三方软件(移动应用程序、交易机器人等)选择隐藏原始 API 错误并显示自定义错误,因此可能会根据所使用的软件提供替代的错误格式或内容。
一般使用错误
速率限制错误
交易(下单/取消订单)错误
资金(充值/提现)错误
服务状态错误
内部错误
Cloudflare(网络)错误
当 API 客户端尝试执行 API 密钥没有权限的任务时,会返回“权限拒绝”错误。例如,如果 API 客户端尝试使用配置为允许交易访问但未允许账户管理访问的 API 密钥来检索账户余额,则会返回“权限拒绝”错误。您可以通过账户管理中的“设置”->“API”选项卡查看您的 API 密钥及其设置(例如其权限)。您需要确保您的第三方应用程序使用的 API 密钥具有您的应用程序所需的所有设置和权限。
当用于调用的 API 密钥已过期或被禁用时,会返回此错误,请在您的账户管理“设置”->“API”选项卡中查看 API 密钥,或生成新密钥并更新您的应用程序。
您可以从 AssetPairs 公共调用中获取我们资产对的完整列表,并查找作为 Json 标头条目或通过参数 "altname" 的对名称:https://api.kraken.com/0/public/AssetPairs
当调用方法时未提供所需参数时,会返回此错误。例如,在未指定有效交易 ID (txid) 参数的情况下调用 QueryOrders 方法将导致返回无效参数错误。调用方法时即使包含不必要的参数,也不会返回无效参数错误,因为不必要的参数将被直接忽略。
如果您的 API 密钥或 API 密匙在程序中写入不正确,或者用于身份验证的 POST 数据与发送到 API 的 POST 数据不匹配,则会发生无效签名错误。作为额外参考,以下是实现 API 签名算法的 Python 代码示例。应从账户管理中复制并粘贴相应的 API 公钥,并相应地更新 API 方法和 POST 数据。输出值可直接用作 API-Sign HTTP 标头的值。#!/usr/bin/env python
# Import required Python libraries
import time
import base64
import hashlib
import hmac
# Decode API private key from base64 format displayed in account management
api_secret = base64.b64decode("nmlrD83t1J+yVWKUBx9vD6j26C5zhC11tFfXpN+Ww+8oOVuGgse5AeADcvl95jYaD+UAi3D5CrVfFr8GfQ7zhA==")
# Variables (API method, nonce, and POST data)
api_path = "/0/private/TradeBalance"
api_nonce = str(int(time.time()*1000))
api_post = "nonce=" + api_nonce + "&asset=xxbt"
# Cryptographic hash algorithms
api_sha256 = hashlib.sha256(api_nonce + api_post).digest()
api_hmac = hmac.new(api_secret, api_path + api_sha256, hashlib.sha512)
# Encode signature into base64 format used in API-Sign value
api_signature = base64.b64encode(api_hmac.digest())
# API authentication signature for use in API-Sign HTTP header
print(api_signature)SHA256 是使用 nonce 值本身和 API 方法的 POST 数据计算的,POST 数据由 nonce(再次)和 API 方法参数的名称/值对组成。例如,应传递给 TradeBalance 方法的 SHA256 数据如下:SHA256 = SHA256 of "1541933977000nonce=1541933977000&asset=xxbt"传递给 SHA256 的字符串值不应包含任何额外的空值 (\0),并且字符串值不应编码为 base64 或十六进制(即,字符串值应为纯文本字符串)。URI 路径是 API 方法的整个 URL,除了 "https://api.kraken.com" 前缀,因此 TradeBalance 方法的 URI 路径(例如)将是字符串值 "/0/private/TradeBalance",不包含任何额外的空值。HMAC SHA512 是使用 URI 路径和先前计算的 SHA256 摘要以及 base64 解码的 API 私钥作为 HMAC 密钥计算的。例如,应传递给 HMAC 的数据如下:HMAC SHA512 using base64 decoded private key = HMAC of "/0/private/TradeBalanceSHA256"API-Key 和 API-Sign HTTP 标头是仅有的两个必需的自定义 HTTP 标头。API-Key 标头是账户管理中 API 公钥的精确副本。API-Sign 标头是使用 base64 编码的 HMAC SHA512 摘要。
您可以在此处找到有关此错误的更多信息:https://support.kraken.com/hc/en-us/articles/360001148063有关 Nonce 和 Nonce Window 的更多信息,请参见此处:https://support.kraken.com/hc/en-us/articles/360000906023https://support.kraken.com/hc/en-us/articles/360001148023
当尝试使用不再有效(例如已过期)的身份验证令牌订阅经过身份验证的(私有)源时,WebSocket API 会返回无效会话错误。
解决方案很简单,只需通过 REST API GetWebSocketsToken 端点请求新的身份验证令牌,并使用新令牌进行所有后续的经过身份验证的(私有)订阅请求。
错误请求错误表示底层 HTTP 请求(而非后续 API 请求)存在问题,例如 REST/WebSocket 之间的 URL 不匹配,或未正确包含 HTTP POST 数据:
% curl --data "" https://api.kraken.com/0/private/GetWebSocketsToken
{"error":["EAPI:Bad request"]}
当调用的端点不是有效端点时,会返回此错误。
虽然添加和取消订单不计入我们的标准 API 计数器限制,但这些操作有其自己的添加和取消订单计数器。此计数器的工作方式是,订单在订单簿上停留的时间越长,客户能够添加或取消的订单就越多。
如果您在短时间内有太多失败的 API 调用、太多无效的 nonce 错误或无效签名,则可能会出现临时锁定错误消息。即使这些调用返回错误,该错误仍计入您的 API 限制,并可能导致临时锁定。
临时锁定大约持续 15 分钟。收到临时锁定错误后,请等待 15 分钟再发送任何新的 API 请求。如果您触发了多个无效的 nonce 错误,请增加 nonce 窗口,这有助于减少这些错误的发生频率。也请尝试减少您的私有 API 调用频率。
由于交易引擎维护,开立新的现货杠杆头寸已暂时暂停。此功能将很快恢复,您可以在 status.kraken.com 上关注更新。
另一个原因可能是,某些国家/地区的客户目前无法使用现货杠杆头寸。
在 Kraken 上,您不能为同一交易对开立多头和空头头寸。
如果希望为同一种货币开立多头和空头头寸,请选择以该货币作为基础货币或报价货币的不同交易对。例如:做空 XBT/USD,做多 XBT/EUR。
当您超出当前验证级别的保证金限额时,会发生此错误。每种货币的保证金限额因您的当前验证级别而异。
我们可用于保证金展期的资金有限。“保证金不足”消息表示我们目前在适用的保证金池中没有足够的资金。这种情况随时可能改变。您可能在几秒钟或几分钟后就能成功下单,但大额订单和在高交易量时段下的订单可能需要更长时间。对于由此带来的任何不便,我们深表歉意。
当账户中没有足够的可用保证金来开立新头寸,或者当前开立头寸的尝试会导致账户的可用保证金降至 100% 以下时,会发生此错误。
您没有足够的资金来下此订单。请检查您的未平仓头寸和订单,看是否有占用您资金的项目。
您未达到此资产的最低订单量。
您已超出账户可用的最大未平仓订单数量。
这些限制基于您的验证级别。请关闭部分未平仓订单或将您的账户验证至更高级别。
您已超出账户可用的最大未平仓头寸数量。
这些限制取决于您的验证级别。请平仓或结算部分或全部未平仓头寸,或者如果可能,将您的账户验证到更高级别。
尝试编辑现有(未结)订单,但修改未能成功完成。可能的原因包括新订单资金不足、部分成交情况以及某些杠杆订单。
新数量小于已执行/已成交的数量。
订单规模超出了交易对的保证金头寸规模限制。
显示数量未达到最低订单数量。
显示数量必须小于订单数量。
冰山订单不兼容除限价订单之外的任何其他订单类型。
每种加密货币最多有5个新的(未使用的)充值地址,在此之后,任何创建第6个新地址的尝试都将返回错误。
当调用资金端点时,如果“method”参数无效或缺失,则会返回此错误。
“key”输入参数与账户管理(通过资金 -> 提现)中设置的地址描述不符。
每种货币的最低提现金额各不相同,任何低于最低金额的提现尝试都将导致此错误。
这是一个通用错误,表示资金请求无法完成(例如,来自某些地区的客户尝试进行链上质押请求会导致此错误)。
请求的提现无法完成,因为目标地址缺少所需的受益人/收款人信息(请注意,这目前仅适用于加拿大账户的特定提现)。
您遇到的服务错误应仅是暂时的。如果您的请求失败,您可以选择重新提交。我们将监控这些问题并更新我们的页面:
https://status.kraken.com/
当我们面临API降级问题时,这些问题可能会以服务不可用消息和网站中断的形式给Kraken带来麻烦。
此问题与您的账户安全可能已受损有关。请更改您的密码和双重身份验证,并联系我们的支持中心。
当某个标志或输入参数被暂时或永久禁用时,会发生此错误。错误应来自所传递的输入之一,请联系我们的支持部门,并发送包含用于生成该错误的调用的完整信息的日志。
这些 5xx 和 10xx 错误并非实际的 API 错误,而是来自 Cloudflare 的 Web 服务器错误。
API 错误始终以 JSON 格式返回,例如“error”:[“ErrorType:ErrorMessage”],因此,任何时候收到不同格式的错误(例如 HTTP 状态码 520、504、502、1020 等),临时解决方案是稍后再次尝试 API 调用,希望该调用能够成功。