发起请求
所有REST请求头都必须包含以下内容:(公共数据不需要)

OK-ACCESS-KEY字符串类型的APIKey。

OK-ACCESS-SIGN使用HMAC SHA256哈希函数获得哈希值,再使用Base-64编码(请参阅签名)。

OK-ACCESS-TIMESTAMP发起请求的时间(UTC),如:2020-12-08T09:08:57.715Z

OK-ACCESS-PASSPHRASE您在创建API密钥时指定的Passphrase。

所有请求都应该含有application/json类型内容,并且是有效的JSON。

签名
生成签名

OK-ACCESS-SIGN的请求头是对timestamp + method + requestPath + body字符串(+表示字符串连接),以及SecretKey,使用HMAC SHA256方法加密,通过Base-64编码输出而得到的。

如:sign=CryptoJS.enc.Base64.Stringify(CryptoJS.HmacSHA256(timestamp + ‘GET’ + ‘/users/self/verify’, SecretKey))

其中,timestamp的值与OK-ACCESS-TIMESTAMP请求头相同,为ISO格式,如2020-12-08T09:08:57.715Z。

method是请求方法,字母全部大写:GET/POST。

requestPath是请求接口路径。如:/api/v5/account/balance

body是指请求主体的字符串,如果请求没有主体(通常为GET请求)则body可省略。如:{“instId”:“BTC-USDT”,“lever”:“5”,“mgnMode”:“isolated”}

SecretKey为用户申请APIKey时所生成。如:22582BD0CFF14C41EDBF1AB98506286D

一、返回Bad Request

通过HTTP请求GET /api/v5/market/history-candles
获取历史数据
instId=BTC-USDT-210924
bar=5m
after=2021-08-03T01:14:22.934Z
max_len=100
返回:{‘code’: ‘-1’, ‘msg’: ‘Bad Request’, ‘data’: None}

原因:
时间戳格式错误
after String 否 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts
其中:ts String 成交明细产生时间,Unix 时间戳的毫秒数格式,如 1597026383085
修改即可
after=1597026383085

二、GET/POST方法签名
OK-ACCESS-SIGN的请求头是对timestamp + method + requestPath + body字符串(+表示字符串连接),以及SecretKey,使用HMAC SHA256方法加密,通过Base-64编码输出而得到的。
GET方法签名:
参数写在requestPath 里,?&分隔,没有body
/api/v5/trade/order?ordId=2510789768709120&instId=BTC-USDT

POST方法签名:
body是指请求主体的字符串,如果请求没有主体(通常为GET请求)则body可省略。如:{“instId”:“BTC-USDT”,“lever”:“5”,“mgnMode”:“isolated”}
即requestPath 不带参数,参数直接写成body的字符串
dict转字符串:json.dump(body)(不用去掉空格,如果去掉空格,下面请求data也要去掉空格)
同时POST请求的data,也要写成字符串格式(binan是直接传dict格式)
self.client.post(url, headers=headers, data=json.dumps(kwargs))
三、OK_ACCESS_KEY为空
{‘msg’: “Request header “OK_ACCESS_KEY“ can’t be empty.”, ‘code’: ‘50103’}
问题:请求头"OK_ACCESS_KEY"不能为空
必须用apikey才能获取的数据,private:1
‘get_trade_fee’: {‘url’: ‘/api/v5/account/trade-fee’, ‘method’: ‘get’, ‘private’: 1},

四、asset_withdrawal转账提示需要withdrawal地址
{‘code’: ‘58203’, ‘data’: [], ‘msg’: ‘Please add a withdrawal address.’} asset_withdrawal
ok内部账号,A向B转账
B要在A的地址簿里,而且必须是免验证
如果在地址簿,但需要验证,弹出:
{‘code’: ‘58207’, ‘data’: [], ‘msg’: ‘Withdrawal failed due to address error’} asset_withdrawal

五、同一个账户下,全仓逐仓都开仓过
getget_account_positions获取持仓时
即使逐仓已经平了
还是会一直显示
不要手贱,
全仓仓位排在逐仓仓位后面,过24小时看看会不会消失
s090账号
在这里插入图片描述

通用类

错误提示 HTTP 状态码 错误码 title 4
操作成功 200 0
操作全部失败 200 1
批量操作部分成功 200 2
body不能为空 400 50000
撮合引擎正在升级,请稍后重试 503 50001
非法的json数据 400 50002
接口请求超时(不代表请求成功或者失败,请检查请求结果) 504 50004
接口已下线或无法使用 410 50005
无效的Content_Type,请使用"application/json"格式 400 50006
用户被冻结 200 50007
用户不存在 200 50008
用户处于爆仓冻结 200 50009
用户ID为空 200 50010
用户请求频率过快,超过该接口允许的限额 429 50011
用户状态无效 200 50012
当前系统繁忙,请稍后重试 429 50013
必填参数{0}不能为空 400 50014
参数{0}和{1}不能同时为空 400 50015
参数{0}和{1}不匹配 400 50016
当前仓位处于ADL冻结中,无法进行相关操作 200 50017
{0}币种处于ADL冻结中,无法进行相关操作 200 50018
当前账户处于ADL冻结中,无法进行相关操作 200 50019
当前仓位处于强平冻结中,无法进行相关操作 200 50020
{0}币种处于强平冻结中,无法进行相关操作 200 50021
当前账户处于强平冻结中,无法进行相关操作 200 50022
资金费冻结,无法进行相关操作 200 50023
参数{0}和{1}不能同时存在 200 50024
参数{0}传值个数超过最大限制{1} 200 50025
系统错误 500 50026
当前账户已被限制交易 200 50027
账户异常无法下单 200 50028
你的账户已经触发风控体系,禁止该标的{0}交易,请联系客服进行处理 200 50029

API类

错误提示 HTTP 状态码 错误码 错误提示
Api 已被冻结,请联系客服处理 400 50100 Api 已被冻结,请联系客服处理
APIKey 与当前环境不匹配 401 50101 APIKey 与当前环境不匹配
请求时间戳过期 401 50102 请求时间戳过期
请求头"OK_ACCESS_KEY"不能为空 401 50103 请求头"OK_ACCESS_KEY"不能为空
请求头"OK_ACCESS_PASSPHRASE"不能为空 401 50104 请求头"OK_ACCESS_PASSPHRASE"不能为空
请求头"OK_ACCESS_PASSPHRASE"错误 401 50105 请求头"OK_ACCESS_PASSPHRASE"错误
请求头"OK_ACCESS_SIGN"不能为空 401 50106 请求头"OK_ACCESS_SIGN"不能为空
请求头"OK_ACCESS_TIMESTAMP"不能为空 401 50107 请求头"OK_ACCESS_TIMESTAMP"不能为空
券商ID不存在 401 50108 券商ID不存在
券商域名不存在 401 50109 券商域名不存在
无效的ip 401 50110 无效的ip
无效的OK_ACCESS_KEY 401 50111 无效的OK_ACCESS_KEY
无效的OK_ACCESS_TIMESTAMP 401 50112 无效的OK_ACCESS_TIMESTAMP
无效的签名 401 50113 无效的签名
无效的授权 401 50114 无效的授权
无效的请求类型 405 50115 无效的请求类型
错误提示 HTTP 状态码 错误码 错误提示
Api 已被冻结,请联系客服处理 400 50100 Api 已被冻结,请联系客服处理
APIKey 与当前环境不匹配 401 50101 APIKey 与当前环境不匹配
请求时间戳过期 401 50102 请求时间戳过期
请求头"OK_ACCESS_KEY"不能为空 401 50103 请求头"OK_ACCESS_KEY"不能为空
请求头"OK_ACCESS_PASSPHRASE"不能为空 401 50104 请求头"OK_ACCESS_PASSPHRASE"不能为空
请求头"OK_ACCESS_PASSPHRASE"错误 401 50105 请求头"OK_ACCESS_PASSPHRASE"错误
请求头"OK_ACCESS_SIGN"不能为空 401 50106 请求头"OK_ACCESS_SIGN"不能为空
请求头"OK_ACCESS_TIMESTAMP"不能为空 401 50107 请求头"OK_ACCESS_TIMESTAMP"不能为空
券商ID不存在 401 50108 券商ID不存在
券商域名不存在 401 50109 券商域名不存在
无效的ip 401 50110 无效的ip
无效的OK_ACCESS_KEY 401 50111 无效的OK_ACCESS_KEY
无效的OK_ACCESS_TIMESTAMP 401 50112 无效的OK_ACCESS_TIMESTAMP
无效的签名 401 50113 无效的签名
无效的授权 401 50114 无效的授权
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐