GETTING STARTED
Getting Started
SECURITY
API GENERAL INFO
RESTFUL API
WEBSOCKET
MORE
BitoPro Exchange
Open API
提供您更多元和便捷的方式接取 BitoPro 服務。 全站交易對 RESTful API 及 WebSocket 串流,自 2019/04 起全面開放。
V3
最新版本
600
requests / min
REST + WS
雙協議支援
2019
開放至今
BitoPro 已於 2019 年 04 月 02 日開放全站交易對 API 供用戶使用,提供更多元便捷的方式接取 BitoPro 服務。
BitoPro 有提供 API 服務嗎?
BitoPro 已開放全站交易對的應用程式界面(API,Application Programming Interface)供用戶使用,提供您更多元和便捷的方式來接取 BitoPro 的服務。
API 包含 公開 API(Public API)與 私人 API(Private API)兩大類型,涵蓋市場資料查詢、委託單管理、帳戶管理及出金操作。
API Library
依照以下步驟建立您的 BitoPro API 金鑰。
登入帳號
登入您的 BitoPro 帳號。若尚未註冊,請先完成帳號申請及身份驗證。
前往 API 管理
在右上角點選您的使用者名稱或頭像,從下拉選單中選擇「API」。進入「API 管理」頁面後,點選「新增 API」。
設定 API 名稱與權限
自訂名稱後,設定您需要的權限(如讀取資訊、進行交易等),然後點選「確認送出」。
信箱確認
前往您的註冊信箱收取確認信,點選「確認新增」以激活 API 金鑰。
妥善保管金鑰
您的公鑰(API Key)與私鑰(API Secret)通常只顯示一次,請立即複製並儲存於安全位置。任何擁有私鑰的人都可以以您的身份操作 BitoPro。
注意:若不慎遺失 API 金鑰,請在 API 管理頁面刪除舊金鑰並重新建立新的金鑰。
已建立的 API 金鑰可在「API 管理」頁面點選「顯示」,輸入登入密碼及 Google Authenticator 驗證碼後查詢完整資訊。
API Key 和 Secret 用來驗證您帳號的身份,並授權程式腳本進行帳號操作。 程式開發者必須遵循以下安全協議,以確保您的 API 請求安全。
注意:在使用程式腳本進行 API 操作前,請務必完整閱讀並理解以下所有細節。
安全協議流程
產生 API Key 和 Secret
依照 Web Create Api Key SOP 產生您的 API Key 和 Secret。
了解認證標頭參數
確認您已熟悉 Authentication Header Parameters 的組合方式。
產生 Payload
依照 Payload Generation SOP 產生 Payload。
產生 Signature
依照 Signature Generation SOP 使用 HMAC-SHA384 產生 Signature。
組合 HTTP 請求標頭
將 API Key、Payload 和 Signature 組合到 HTTP 請求標頭中並發送。
X-BITOPRO-APIKEY
X-BITOPRO-PAYLOAD
X-BITOPRO-SIGNATURE
將 JSON Body 編碼為 Base64 即為 Payload。GET / DELETE 請求使用{"identity": "USER_EMAIL", "nonce": TIMESTAMP} 作為 Body。
GET Payload 範例
JSON
{"identity": "support@bitoex.com",
"nonce": 1554380909131
}
Base64 Encoded Result
BASE64
eyJpZGVudGl0eSI6InN1cHBvcnRAYml0b2V4LmNvbSIsIm5vbmNlIjoxNTU0MzgwOTA5MTMxfQ==
POST 請求 Payload 範例(以 Create Order 為例)
JSON
{"action": "BUY",
"type": "limit",
"price": "1.123456789",
"amount": "666",
"timestamp": 1554380909131
}
Base64 Encoded Result
BASE64
eyJpZGVudGl0eSI6InN1cHBvcnRAYml0b2V4LmNvbSIsIm5vbmNlIjoxNTU0MzgwOTA5MTMxfQ==
以 HMAC-SHA384 簽名 Payload,將您的 API Secret 作為 key,產生十六進位摘要即為 Signature。
FORMULA
signature = HMAC-SHA384(payload, api-secret).digest('hex')API SECRET
SECRET
bitopro
PAYLOAD
PAYLOAD
eyJpZGVudGl0eSI6InN1cHBvcnRAYml0b2V4LmNvbSIsIm5vbmNlIjoxNTU0MzgwOTA5MTMxfQ==
SIGNATURE (HMAC-SHA384 HEX)
SIGNATURE
01a85a9083db47c20da7196380598f3feacd3c76a9077aaf7ffaf08ce0091abf65b61778792607b010921adfe1c2941a
API Endpoints
REST
https://api.bitopro.com/v3
WebSocket
wss://stream.bitopro.com:443/ws
API Versions
最新版本,支援所有交易對
舊版,建議遷移至 v3
Open API(每 IP)
600
requests / minute
Auth API(每 IP)
600
requests / minute
Auth API(每帳號)
600
requests / minute
部分 API 有各自獨立的流量限制(例如 Create-An-Order),請查閱對應的 API 文件說明。。
Prefix
HTTP Code
Error
原因
處理方式
原因
請求參數錯誤處理方式
檢查請求格式原因
API Key 已被刪除處理方式
使用有效的 API Key原因
無操作權限處理方式
確認 API Key 權限設定原因
路徑錯誤處理方式
確認請求路徑原因
請求時間過長處理方式
重試請求原因
本機時間不同步處理方式
校正系統時間原因
參數不符合規格處理方式
確認資料格式原因
請求頻率過高處理方式
降低請求頻率原因
伺服器錯誤處理方式
聯繫客服原因
路由錯誤處理方式
稍後重試公開 API 無需身份驗證,任何人皆可直接存取市場資料。
Method
Endpoint
Description
Market Data
私人 API 需要附上 API Key、Payload 及 Signature 進行身份驗證才可使用。
Method
Endpoint
Description
Order Endpoints
Trading
/orders/{pair}
Create An Order
/orders/batch
Create Batch Orders
/orders/batch
Cancel Batch Orders
/orders/all/{pair}
Cancel All Orders
/orders/{pair}/{id}
Cancel An Order
/orders/{pair}/{id}
Get An Order Data
/orders/all/{pair}
List Orders Data
/orders/trades/{pair}
List Trades
/orders/{pair}
List Open Orders Data
Account Endpoints
Account
/accounts/balance
Get User Balance
Wallet Endpoints
Wallet
/wallet/deposit/invoices/{currency}
List Deposit Invoices Data
/wallet/withdraw/invoices/{currency}
List Withdraw Invoices Data
/wallet/withdraw/invoices/{currency}/{id}
Get A Withdraw Invoice
/wallet/withdraw/invoices/{currency}
Create Withdraw Invoice
BitoPro WebSocket 服務支援即時市場資料及帳戶資料推播,基礎連線端點為:wss://stream.bitopro.com:443/ws
Public WebSocket Stream
公開串流無需身份驗證,任何人皆可訂閱市場資料。
OrderBook Stream
/pub/order-book/{pair}
Ticker Data Stream
/pub/ticker/{pair}
Trade Stream
/pub/trades/{pair}
Private WebSocket Stream
私人串流需要在連線請求中附上身份驗證資訊。
Open Orders Stream
/pri/open-orders/{pair}
History Orders Stream
/pri/orders/{pair}
Account Balance Stream
/pri/account-balance
User Trade Stream
/pri/trades/{pair}
目前帳戶餘額推播每次發送全部幣種資料,下次版本更新後將改為僅推播有變動的幣種。
以下為 BitoPro API 常見問題整理,若有其他問題歡迎聯繫客服。
如何透過 BitoPro API 進行身份驗證?
身份驗證需要在 HTTP 請求標頭中提供 X-BITOPRO-APIKEY、X-BITOPRO-PAYLOAD 和 X-BITOPRO-SIGNATURE。X-BITOPRO-APIKEY 是您的 API Key,而 X-BITOPRO-PAYLOAD 和 X-BITOPRO-SIGNATURE 是使用您的 API Secret 進行 HMAC SHA384 簽名的結果。
在哪裡可以找到 BitoPro API 的文件?
您可以在 BitoPro 的官方 API 文件中找到所有 API 的詳細說明:https://developer.bitopro.com
如何申請 BitoPro API 金鑰?
請前往 設定 > API > 新增API > 自訂名稱後送出 > 至註冊信箱收取確認信 > 點選「確認新增」完成申請。
BitoPro API 支援哪些功能?
BitoPro API 支援許多功能,包括但不限於:查看市場資料、管理委託單、查詢帳戶餘額,以及發起出金操作。具體功能取決於您的 API Key 的權限設定。
WebSocket 帳戶餘額每次都推播全部幣種,有辦法只推播變動?
目前每次推播全部幣種。下個版本更新後,將改為只推播有變動的幣種,請持續關注更新公告。
WebSocket 目前有推播使用者成交回報嗎?
已支援!WebSocket Private Stream 已於 2022 年 11 月新增 User Trade Stream,可即時接收使用者成交回報。
要如何用其他程式語言設定 BitoPro API 交易環境?
目前可參考 https://developer.bitopro.com 上的範例程式碼和環境設定說明,支援 Golang、Python 等多種語言。
在哪裡可以回報 API 問題或提出功能需求?
您可以加入 API Telegram 群組進行回報或討論,或寄信至 support@bitopro.com 聯繫客服。
BitoPro API 歷次重要更新紀錄。
V3 API 新增 List Trades、List OHLC Data 端點,提升市場資料查詢完整度。
新增 Cancel Batch Orders、Create Batch Orders 批次委託功能。
WebSocket Private Stream 新增 User Trade Stream,即時推播使用者成交回報。
新增 OTC Price 詢報價 API,支援大額場外交易報價查詢。
V2 API 正式宣告 deprecated,建議所有使用者遷移至 V3。
BitoPro API 正式對全站所有交易對開放,包含 RESTful API 及 WebSocket 串流。