跳至主要内容

概覽

鑒權/認證

信息

請先生成測試網主網API KEY。

REST接口根URL:

選擇用於鑒權的API密鑰類型

  • 系統生產的API密鑰: Bybit 系統生成的 API 密鑰基於 HMAC 對稱加密算法運作。您將獲得一對公鑰和私鑰。請將這對密鑰視為密碼一樣妥善保管。

    跟隨HMAC簽名示例來完成加密過程。

  • 自動生成的API密鑰: 自動生成的 API 密鑰基於 RSA 非對稱加密算法運作。您必須通過軟件自行創建公鑰和私鑰,然後僅向 Bybit 提供公鑰。Bybit 不會替您保管私鑰。

    1.使用開源的RSA密鑰對創建器來創建出一組RSA密鑰對
    2.跟隨RSA簽名示例來完成加密過程。

公共參數

需要簽名的接口必須包含以下http頭參數:

  • X-BAPI-API-KEY - api密鑰
  • X-BAPI-TIMESTAMP - UTC毫秒時間戳
  • X-BAPI-SIGN - 請求參數簽名
  • X-Referer or Referer - 經紀商用戶專用的頭參數

另外我們提供可選的X-BAPI-RECV-WINDOW參數(單位是毫秒,默認值為5000),來指定請求在多長時間內有效,同時用來防止重放攻擊。

信息

註意,timestamp參數必須符合如下規則:
server_time - recv_window <= timestamp < server_time + 1000

構建請求

基本步驟:

  1. 時間戳 + api-key + [recv_window]+ [queryString(無需排序) | jsonBodyString]
  2. 使用HMAC_SHA256或者RSA_SHA256算法對第1步中拼接的string簽名,並轉換為16進製字符串(HMAC_SHA256) / Base64編碼 (RSA_SHA256),得出sign參數。
  3. 添加生成的簽名到HTTP頭當中 注意: GETPOST請求的加密明文是不相同,請參考以下示例.

對明文加密的示例

# 拼接規則:
timestamp+api_key+recv_window+queryString

# 明文
"1658384314791XXXXXXXXXX5000category=option&symbol=BTC-29JUL22-25000-C"

# 解析
timestamp = "1658384314791"
api_key = "XXXXXXXXXX"
recv_window = "5000"
queryString = "category=option&symbol=BTC-29JUL22-25000-C"

http請求示例

GET /unified/v3/private/order/list?category=option&symbol=BTC-29JUL22-25000-C HTTP/1.1
Host: api-testnet.bybit.com
-H 'X-BAPI-SIGN: XXXXXXXXXX' \
-H 'X-BAPI-API-KEY: XXXXXXXXXX' \
-H 'X-BAPI-TIMESTAMP: 1658384431891' \
-H 'X-BAPI-RECV-WINDOW: 5000'

外層通用數據結構

衍生品

參數類型說明
retCodenumber成功/錯誤碼
retMsgstring成功/錯誤消息. 成功消息可以是OK,success,SUCCESS
resultObject業務數據體
retExtInfoObject額外信息. 大部分場景下都是{}
timenumber當前時間戳 (毫秒)
{
"retCode": 0,
"retMsg": "OK",
"result": {
},
"retExtInfo": {},
"time": 1671017382656
}

{
"retCode": 0,
"retMsg": "success",
"result": {
},
"retExtInfo": {},
"time": 1671017473888
}

{
"retCode": 0,
"retMsg": "Success",
"result": {
},
"retExtInfo": {},
"time": 1671017572923
}

現貨

參數類型說明
retCodenumber成功/錯誤碼
retMsgstring成功/錯誤消息. 成功消息可以是OK,success,SUCCESS
resultObject業務數據體
retExtInfoObject額外信息. 大部分場景下都是{}
timenumber當前時間戳 (毫秒)
{
"retCode": 0,
"retMsg": "OK",
"result": {
},
"retExtInfo": {},
"time": 1671017382656
}

{
"retCode": 0,
"retMsg": "success",
"result": {
},
"retExtInfo": {},
"time": 1671017473888
}

{
"retCode": 0,
"retMsg": "Success",
"result": {
},
"retExtInfo": {},
"time": 1671017572923
}

帳戶資產

參數類型說明
retCodenumber成功/錯誤碼
retMsgstring成功/錯誤消息. 成功消息可以是OK,success,SUCCESS
resultObject業務數據體
retExtInfoObject額外信息. 大部分場景下都是{}
timenumber當前時間戳 (毫秒)
{
"retCode": 0,
"retMsg": "OK",
"result": {
},
"retExtInfo": {},
"time": 1671017382656
}

{
"retCode": 0,
"retMsg": "success",
"result": {
},
"retExtInfo": {},
"time": 1671017473888
}

{
"retCode": 0,
"retMsg": "Success",
"result": {
},
"retExtInfo": {},
"time": 1671017572923
}