跳到主要内容
版本:Next (V2.0)

认证

请求头

所有请求必须包含以下 HTTP Header:

Header说明
ACCESS-KEYAPI Key(在平台申请)
ACCESS-SIGN签名字符串
ACCESS-TIMESTAMP请求时间戳(毫秒)

签名算法

使用 HMAC-SHA256 签名 + Base64 编码(业内标准),签名字符串生成规则:

POST 请求签名

  1. 将时间戳(毫秒)转为字符串
  2. 拼接签名字符串:timestamp + method + requestPath + body
  3. 使用 secretKey 对拼接字符串进行 HMAC-SHA256 签名
  4. 将签名结果进行 Base64 编码

GET 请求签名

  1. 将 Query 参数按 key 字母序排序
  2. 拼接成 ?key1=value1&key2=value2 格式
  3. 拼接签名字符串:timestamp + method + requestPath + queryString
  4. 使用 secretKey 对拼接字符串进行 HMAC-SHA256 签名
  5. 将签名结果进行 Base64 编码

签名示例

POST 请求示例

请求体: {"symbol":"AAPL","side":"buy","type":"limit","price":"185.50","quantity":"1000"}
时间戳: 1705737600000
请求路径: /api/v1/stock/open-api/order
方法: POST

签名字符串 = "1705737600000" + "POST" + "/api/v1/stock/open-api/order" + '{"symbol":"AAPL","side":"buy","type":"limit","price":"185.50","quantity":"1000"}'
签名 = Base64(HMAC-SHA256(签名字符串, secretKey))

GET 请求示例

参数: symbol=XSM, limit=20
时间戳: 1705737600000
请求路径: /api/v1/stock/open-api/depth
方法: GET

queryString = "?limit=20&symbol=XSM" (按key排序)
签名字符串 = "1705737600000" + "GET" + "/api/v1/stock/open-api/depth" + "?limit=20&symbol=XSM"
签名 = Base64(HMAC-SHA256(签名字符串, secretKey))

时间戳校验

  • 时间戳必须在服务器时间 ±30秒 范围内
  • 超出范围将返回 401 Unauthorized