简体中文

一、API简介

欢迎使用API,此API文档将描述資管合作账户资金调拨关联API接口详情以及接入、验签说明。

二、接入说明

2.1 接入URLs

REST API

2.2 限频规则

限频规则针对接口进行限频,目前每个接口访问限制为1s内10次

用户可根据Http Header中的信息调整访问策略

三、签名认证

3.1 签名说明

API 请求在通过 internet 传输的过程中极有可能被篡改,为了确保请求未被更改,除公共接口(基础信息,行情数据)外的私有接口均必须使用您的 API Key 做签名认证,以校验参数或参数值在传输途中是否发生了更改。(编码集统一 "UTF-8")

一个合法的请求由以下几部分组成:

3.2 签名步骤

规范要计算签名的请求因为使用 HmacSHA256进行签名计算时,使用不同内容计算得到的结果会完全不同。所以在进行签名计算前,请先对请求进行规范化处理。下面以发起资金调拨请求为例进行说明:

请求的API key与密钥对参考如下:

AccessKeyId: e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx

AccessSecret: 1KFjiTRVlGSyzoNIEXIx8boXe7njFmjeHwiK4kKkEOY=

资金调拨发起请求的URL如下:

1. 请求方法(GET 或 POST),后面添加换行符 “\n”

POST\n

2. 添加小写的访问地址,后面添加换行符 “\n”

api.satsresearch.com\n

3. 访问方法的路径,后面添加换行符 “\n”

/api/v1/broker/transferFunds\n

4. 按照ASCII码的顺序对参数名进行排序。例如,下面是请求参数的原始顺序,进行过编码后

AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxxSignatureMethod=HmacSHA256SignatureVersion=1Timestamp=1662022581951

使用 UTF-8 编码,且进行了 URI 编码,十六进制字符必须大写,如 “:” 会被编码为 “%3A” ,空格被编码为 “%20”。

经过排序之后

AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx

SignatureMethod=HmacSHA256

SignatureVersion=1

Timestamp=1662022581951

5. 按照以上顺序,将各参数使用字符 “&” 连接

AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=1&Timestamp=16620225819511

6. 组成最终的要进行签名计算的字符串如下

POST\n

api.satsresearch.com\n

/api/v1/broker/transferFunds\n

AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=1&Timestamp=1662022581951

7. 用上一步里生成的 “请求字符串” 和你的密钥 (Secret Key) 生成一个数字签名

1KFjiTRVlGSyzoNIEXIx8boXe7njFmjeHwiK4kKkEOY=

  1. 将上一步得到的请求字符串和密钥作为两个参数,调用HmacSHA256验签函数获得验签信息。
  2. 将此验签信息用base-64编码,得到的值作为此次接口调用的数字签名。

8. 将生成的数字签名加入到请求的路径参数里

最终,发送到服务器的 API 请求应该为

https://api.satsresearch.com/api/v1/broker/transferFunds?AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=1&Timestamp=1662022581951&Signature=NFbf79FpjrKxJzXkswTW5NG/mKtTTlXZU2/BBHHnqzI=

四、业务枚举

交易所枚举(ExchangeEnum)

枚举值 说明 备注
binance 币安交易所
bybit bybit交易所
okx okx交易所
gate gate交易所

账户类型枚举(AccountTypeEnum)

交易所 枚举值 备注
binance 经典账户: Spot, Margin, USDT-M, Coin-M 统一账户: Spot, Margin 默认为Spot,托管子账户暂不支持
bybit 经典账户: Spot, Funding, USDT-M, Coin-M 统一账户: Funding, Trading, Coin-M 默认为Funding
okx Funding, Trading 默认为Funding
gate Spot,USDT-M,USDT-M-Futures 默认为Spot

五、接口明细

5.1 资金调拨

HTTP 请求

请求参数

Name Type Required Description
clientTransferId String Y 客户自定义划转id
asset String Y 划转资产名称
fromExchange String Y 源交易所,参考交易所枚举
fromSubAccount String Y 源子账户,参考交易所枚举
fromAccountType String N 出金账户类型,参考账户类型枚举
toExchange String Y 目的交易所,参考交易所枚举
toSubAccount String Y 目的子账户,参考交易所枚举
toAccountType String N 入金账户类型,参考账户类型枚举
applyAmount Number Y 发起金额,大于10U

备注

Response:

{
  "msg"
:
  "success",
      "code"
:
  200,
      "data"
:
  [
    {
      "clientTransferId": "4e8c51b7-97ac-4ef1-864f-7869f13c0c6f",
      "transferId": "4e8c51b797ac4ef1864f7869f13c0c6f"
    }
  ],
      "ts"
:
  1679903538458
}

响应数据

Name Type Required Description
clientTransferId String Y 客户自定义划转id
transferId String Y 划转记录id

5.2 查询资金调拨记录

HTTP 请求

请求参数

Name Type Required Description
clientTransferId String N 客户自定义划转id,与transferId二选一
transferId String N

Response:

{
  "msg"
:
  "success",
      "code"
:
  200,
      "data"
:
  [
    {
      "clientTransferId": "4e8c51b7-97ac-4ef1-864f-7869f13c0c7f",
      "asset": "USDT",
      "fromExchange": "bybit",
      "fromSubAccount": "4665179554",
      "toExchange": "binance",
      "toSubAccount": "someacccount@binance.com",
      "applyAmount": "20",
      "realAmount": "19",
      "feeAmount": "1",
      "externalStatus": "done",
      "applyTime": 1715305243482,
      "arriveTime": null,
      "failReason": "exchange internal error."
    }
  ],
      "ts"
:
  1715306224948
}

响应数据

Name Type Required Description
clientTransferId String Y 客户自定义划转id
transferId String Y 划转记录id
asset String Y 划转资产名称
fromExchange String Y 源交易所
fromSubAccount String Y 源账户
fromAccountType String N 出金账户类型
toExchange String Y 目的交易所
toSubAccount String Y 目的账户
toAccountType String N 入金账户类型
applyAmount String Y 发起金额
realAmount String N 实际到账金额
feeAmount String N 提币手续费金额
externalStatus String Y 状态,pending:已提交,done:已完成,fail:失败
applyTime Long Y 提交时间
arriveTime Long N 到账时间
failReason String N 失败原因

5.3 查询资金调拨记录列表

HTTP 请求

请求参数

Name Type Required Description
clientTransferId String N 客户自定义划转id,与transferId二选一
transferId String N
asset String N 划转资产名称
fromExchange String N 源交易所,参考交易所枚举
fromSubAccount String N 源子账户,参考交易所枚举
fromAccountType String N 出金账户类型,参考账户类型枚举
toExchange String N 目的交易所,参考交易所枚举
toSubAccount String N 目的子账户,参考交易所枚举
toAccountType String N 入金账户类型,参考账户类型枚举
pageSize Number N 起始页,默认:1
pageNum Number N 分页数据长度,默认:10,最大:1000

Response:

{
  "msg"
:
  "success",
      "code"
:
  200,
      "data"
:
  [
    {
      "clientTransferId": "4e8c51b7-97ac-4ef1-864f-7869f13c0c7f",
      "asset": "USDT",
      "fromExchange": "bybit",
      "fromSubAccount": "4665179554",
      "toExchange": "binance",
      "toSubAccount": "someacccount@binance.com",
      "applyAmount": "20",
      "realAmount": "19",
      "feeAmount": "1",
      "externalStatus": "done",
      "applyTime": 1715305243482,
      "arriveTime": null,
      "failReason": "exchange internal error."
    }
  ],
      "ts"
:
  1715306224948
}

响应数据

Name Type Required Description
clientTransferId String Y 客户自定义划转id
transferId String Y 划转记录id
asset String Y 划转资产名称
fromExchange String Y 源交易所
fromSubAccount String Y 源账户
fromAccountType String N 出金账户类型
toExchange String Y 目的交易所
toSubAccount String Y 目的账户
toAccountType String N 入金账户类型
applyAmount String Y 发起金额
realAmount String N 实际到账金额
feeAmount String N 提币手续费金额
externalStatus String Y 状态,pending:已提交,done:已完成,fail:失败
applyTime Long Y 提交时间
arriveTime Long N 到账时间
failReason String N 失败原因

六、错误码

错误码 状态码 描述
200 200 成功
40000 400 通用请求错误
40002 400 {0}参数非法,请检查后重试
45164 400 资金调拨记录已存在
45165 400 资金调拨accessKeyId参数非法
45166 400 不支持的资金调拨币种
45169 400 跨所资金调拨记录正在处理中
50000 500 服务端错误

七、更新说明

20240716