主要要點
API 是允許應用程式共享資訊的程式碼片段,可用於增強加密貨幣交易策略。
Postman 是一個 API 平台,可以簡化 API 的建置和使用流程。
了解有關在 Binance API 生態系統中使用 Postman 進行現貨交易的更多資訊。
介紹
了解並使用用於加密貨幣交易的 API 可以為進入和退出頭寸打開一個充滿可能性的世界。憑藉一些簡單的編碼知識,您可以插入交易所的後端以自動化您的交易策略。透過繞過網站,您可以更快地存取高效能應用程式的匹配引擎。
在本文中,我們將使用 Postman(一個簡化的 API 平台)與交易所進行通訊。別擔心—我們不會讓任何真實資金面臨風險。
先決條件
測試網密鑰
我們將使用測試網來實現當前的目的。這種模擬功能將為我們提供一些沒有現實價值的資金可供使用。它們的功能與真實硬幣和代幣相同,因此一旦您熟悉 API,您就可以開始使用它來交易真實資金。
首先前往現場測試網路。
若要取得存取權限,請使用 GitHub 帳戶登入。如果您還沒有建立一個,則需要建立一個。
按一下“身份驗證”,然後透過 GitHub 登入。
在 API 金鑰下,您將被告知您沒有註冊金鑰。按一下「產生 HMAC_SHA256 金鑰」以建立一對。
在下一個畫面上,為按鍵新增標籤。隨意命名它們,然後點擊“生成”。
您會看到兩個金鑰:API 金鑰和秘密金鑰。現在記錄這些很重要。如果不這樣做,您將需要重新開始金鑰建立過程。我們建議將它們儲存在電腦的筆記應用程式中,以便以後輕鬆複製貼上。
注意:當使用真正的交換來管理不同的密鑰時,標記你的密鑰是值得的。您的帳戶可以擁有多個具有不同權限的金鑰。如果您正在執行多個交易機器人,使用帶有描述性標籤的單獨金鑰可以更輕鬆地管理權限或刪除單個金鑰,而無需更改所有機器人。
下載並安裝 Postman
Postman 是一個 API 協作平台。這對我們來說是一個完美的起點——我們將可以訪問幣安請求的集合,我們將對其進行測試,而無需編寫任何程式碼。
該程式適用於 Mac、Windows 和 Linux。前往下載頁面並下載 .zip 檔案。
完成後,在檔案總管中找到它並安裝它。啟動應用程序,我們就可以開始了!您可以建立一個帳戶來登錄,但這不是必需的。如果您想跳過此步驟,只需選擇視窗底部的選項即可。
創造環境
在此階段,您應該有一個類似於以下內容的介面。
首先,我們要創造我們的環境。此步驟只是向我們將要處理的請求添加變數的一種方法。我們首先需要從 Binance GitHub 儲存庫中取得一些資訊。前往此處下載 .zip 檔案。
下載應該不會花很長時間。您可以在檔案總管中找到它並解壓縮。然後,我們可以回到 Postman。
點擊右上角的齒輪圖示(如上圖所示)。您將看到“管理環境”彈出視窗。
選擇“導入”,然後導航到提取的資料夾 (binance-postman-api)。
輸入它,然後進入環境資料夾。
現在您將看到兩個檔案(一個用於主網,一個用於測試網)。我們要找的是 binance_com_spot_testnet_api.postman_environment.json。確保您擁有正確的鑰匙,因為我們的鑰匙無法與另一把鑰匙一起使用。
差不多了。按一下 Binance Spot Testnet API 查看以下變數。透過貼上您先前儲存的金鑰來編輯紅色框出的兩個參數。點擊更新並退出彈出視窗。
在此畫面上,將時間戳記和簽名欄位留空。這兩個值將根據每個請求自動建立。
還有最後一件事要做。在我們之前點擊以設定環境的齒輪圖示的右側,您將看到一個下拉式選單,目前顯示「無環境」。點擊它並選擇 Binance Spot Testnet API。
導入集合
現在我們將導入該集合 - 這是各種各樣的請求,在撥打電話時為我們帶來繁重的工作。要將其加載到我們的環境中:
點選左上角的導入。
在彈出視窗中的「檔案」標籤下,選擇「上傳檔案」。
我們再次尋找 binance-postman-api 資料夾。找到並打開它。
這次,在子目錄中輸入集合。
這裡又出現了兩個文件。一種是用於使用 future API。但我們正在使用 Spot ,因此您必須選擇 Binance Spot API.postman_collection.json 檔案。
現在您應該會看到一個確認畫面,將匯入標識為 Postman Collection 格式。選擇導入。
在視窗左側的「集合」標籤下,您現在會注意到我們有一個包含超過 100 個請求的資料夾。恭喜!我們可以出發了。在下一節中,我們將了解可以提出的請求類型。
發出請求
如果您展開「集合」標籤下的資料夾,您會發現我們可以提出許多不同的請求。從顏色編碼中,您可能會注意到我們可以使用三種類型的方法:
GET:GET 方法用於從伺服器檢索內容。我們將用它來查找有關您的帳戶餘額、資產價格等的資訊。
POST:我們通常會使用 POST 方法在伺服器上建立資訊。下訂單、請求提款等操作都需要此方法。
DELETE:DELETE方法請求伺服器刪除資訊。取消訂單時它會派上用場。
尋找交易品種清單和交易規則
是時候提出我們的第一個請求了!我們將獲得可以在交易所交易的符號和交易規則:
取得 /api/v3/exchangeInfo
這個不需要任何額外的參數——你可以將其複製並貼上到網址列中,然後你就會得到回應。但是 Postman 可以輕鬆地查看和修改包含多個參數的請求。
若要載入此請求,請選擇市場 > 交易所資訊。將彈出如下選項卡:
我們不需要在這裡做任何其他事情,所以繼續點擊發送。然後你會得到回覆:
在最上方突出顯示的部分中,您將看到一些重要資訊:
回應的狀態(200 表示我們已成功,400-499 表示我們遇到了問題)。
接收回應所花費的時間(不到一秒)。
響應的大小 (~22KB)。
第二個框中是大部分響應。此方塊包含有關交易所、您可以交易的貨幣對及其最小/最大金額的資訊。
它看起來有很多訊息,但這種格式使得以程式設計方式使用變得很容易。當編寫腳本與之互動時,您將能夠輕鬆地從回應中挑選出特定元素的特定屬性。
檢查帳戶餘額
讓我們檢查一下我們擁有哪些資產以及每種資產的數量:
取得/api/v3/帳戶
您可以在「交易」>「帳戶資訊」下找到此資訊。單擊它可以看到與前一個類似的佈局。不過,您也會注意到,我們有兩個新變數:時間戳記和簽名。簽名是一種安全措施。因為我們現在要求提供敏感信息,這將證明我們是帳戶持有人。
時間戳告訴伺服器請求何時發送。由於網路可能不可靠或面臨停機,伺服器可能會比預期晚得多收到我們的請求。如果超過了太多時間,它將拒絕該請求。您可以使用recvWindow參數指定要等待的時間,預設為5000毫秒。
Postman 為我們處理這兩個欄位的產生。點擊發送,您將收到回覆。在餘額下,您應該會看到六種資產——BNB、BTC、BUSD、ETH、LTC 和 TRX。餘額將分為免費資產和鎖定資產。我們還沒有鎖定任何資產,所以你的資產應該都是免費的。
取得交易品種的當前價格
我們可以透過不同的方式取得資產的當前價格。也許最簡單的是以下請求:
取得 /api/v3/ticker/24 小時
正如您可能猜到的,這將為我們提供過去二十四小時內資產價格的資訊。您可以在市場 > 24 小時股票價格變化統計中找到它。我們看到的作為符號變數的預設貨幣對是 BTC/USDT。
您可以立即發送此資訊以查看價格資訊的詳細資訊。您也可以變更符號(變更為 BNB/USDT、LTC/USDT 等)或取消選取該變數以傳回 40 個貨幣對的資料。
我們還有一個更簡單的呼叫(市場 > 符號價格行情),它會傳回資產交易的當前價格:
取得/api/v3/價格
與之前一樣,您可以更改交易品種變數或完全刪除它並獲得所有交易品種的最新價格。
查看目前訂單簿深度
訂單簿深度(也稱為市場深度 (DOM))可以告訴我們很多關於市場的資訊。我們將進行一個調用,該調用將返回一些有用的信息:
取得 /api/v3/深度
當我們使用預設值(市場 > 訂單簿)發送此資訊時,我們會收到一條回應,告訴我們出價並詢問 BTC/USDT。測試網伺服器不會產生與實際一樣多的數據,因此以下是您期望在真實環境中看到的螢幕截圖:
在上面突出顯示的部分中,我們可以看到第一個出價。由於我們正在查看 BTC/USDT 的書籍,因此上面的數字是某人願意為您的 BTC 支付的價格。以下是他們願意購買的數量。因此,這表示該訂單要求 0.999 BTC,價格為每 BTC 9704.65 USDT。如果我們繼續向下滾動,我們會看到報價下降——代表買家支付的費用會減少。
如果您想物有所值,那麼頂級報價自然是最具吸引力的。不過,例如,如果您嘗試出售 3 BTC,則只能以最優惠的價格出售 0.999 BTC。您需要接受後續(更便宜的)報價,直到您的訂單被填滿。
繼續滾動,您會看到詢問。它們在功能上與出價類似,只不過它們代表以 USDT 出售 BTC 的訂單。
下測試訂單
現在我們要發布測試訂單。
POST /api/v3/order/test
儘管我們只是使用測試網資金,但此請求實際上不會下訂單。它對於在實際提交訂單之前測試訂單很有幫助。在交易 > 測試新訂單 (TRADE) 下找到它。
您可以看到我們涉及更多參數。讓我們看一下已檢查的內容:
符號——我們之前已經遇到過這個符號。這是您想要交易的貨幣對。
side – 在這裡,您將規定是要買入還是賣出。對於 BTC/USDT 貨幣對,BUY 表示您想用 USDT 購買 BTC,而 sell 則表示您要出售 BTC 換取 USDT。
類型 – 您要提交的訂單類型。可能的值(詳細資訊請參閱此處):
限制
市場
停損
STOP_LOSS_LIMIT
從中受益
TAKE_PROFIT_LIMIT
LIMIT_MAKER
timeInForce – 此參數表示您希望訂單如何執行:
GTC(取消前有效)—也許是最受歡迎的設置,GTC 將確保您的訂單在執行或取消之前一直有效。
FOK(成交或取消)-FOK 指示交易所立即執行全部訂單。如果交易所不能這樣做,訂單將立即取消。
IOC(立即或取消)-全部或部分訂單必須立即執行,否則將被取消。與 FOK 不同的是,如果訂單可以部分成交,則不會被取消。
數量 – 您想要購買或出售的資產數量。
價格 – 您想要出售的價格。對於 BTC/USDT 貨幣對,以 USDT 表示。
newClientOrderId – 訂單的識別碼。這不是必填字段,但您可以將其設定為標識符,以便以後查詢。否則,它是由交易所隨機產生的。
好的!現在讓我們建立一個測試訂單。我們將繼續處理自動產生的價值:以 9000 美元的價格出售 0.1 BTC 換取 USDT 的限價訂單。點擊發送。如果成功,我們將收到 {} 作為回應。
下真實訂單
是時候下真正的訂單了。
POST /api/v3/訂單
導覽至交易 > 新訂單。您現在已經熟悉了測試訂單,因此這裡的參數並不奇怪。讓我們保留所有值不變,但將銷售價格更改為 40,000 美元。調整價格值以反映這一點。然後,點擊發送。
如果成功,您的回應將傳回一系列有關訂單的詳細資訊。
檢查未結訂單的狀態
我們已確認訂單已在上一部分下達,但如果我們想稍後重新檢查怎麼辦?我們有一些請求可供處理。
取得 /api/v3/openOrders
您可以在交易 > 目前未結訂單 (USER_DATA) 中找到它。預設選擇BTC/USDT。如果您點擊“發送”,您將收到所有未平倉的 BTC/USDT 訂單(到目前為止,您應該只能看到我們之前設定的訂單)。您也可以選擇不指定代碼,這將傳回所有未結訂單。
取得 /api/v3/allOrders
交易 > 所有訂單 (USER_DATA) 為您提供所有訂單的概覽,而不僅僅是未結帳訂單。在這裡,您必須提供一個符號。 orderId、startTime、endTime 和 limit 是選用參數,可協助您最佳化搜尋。我們將把它們留在這裡,所以取消選中它們。點擊發送,您將看到與之前相同的回應。如果您有任何已關閉或取消的訂單,您也會在這裡看到它們。
最後,我們可以使用以下命令查詢特定訂單:
取得/api/v3/訂單
在交易 > 查詢訂單 (USER_DATA) 下取得此資訊。您需要提供 orderId 或 origClientOrderId(可以新增至訂單的可選標籤「newClientOrderId」)。取消選取 orderId。對於 origClientOrderId,我們將提供先前的預設標籤 - “my_order_id_1”。填寫該欄位並點擊“發送”以獲取回應。
取消訂單
一段時間後,我們可能會認為 40,000 美元的目標過於樂觀,因此我們想取消它。在這種情況下,我們將使用以下內容:
刪除/api/v3/訂單
在「交易」>「取消訂單」下方是一個請求,讓我們可以挑選要取消的訂單。取消選取 orderId 和 newClientOrderId 並傳遞「my_order_id_1」為 origClientOrderId 的值。
當您發送此請求時,訂單將被退回。如果您向下捲動到“狀態”,您會看到它確實已取消。若要確認這一點,請再次使用 GET /api/v3/openOrders 端點(為您提供一個空白清單)或使用 origClientOrderId 取得 /api/v3/order。
下訂單立即成交
我們之前的訂單沒有被執行,因為它是限價訂單,只有當 BTC 價格達到 40,000 美元時才會觸發。對於市價單,我們本質上是說:“以資產當前交易的任何價格買入或賣出。”這將立即充滿。
為此,讓我們返回“交易”>“新訂單”。我們將示範回應類型 (newOrderRespType),這是我們可以根據我們想要從伺服器獲得的回應進行調整的參數。這裡有三個選項:ACK、RESULT 或 FULL – 您可以在此處查看每個回應的範例。我們將使用 ACK,它向我們提供了訂單已收到的簡單確認。
下面,您可以看到我們即將提交市價訂單,以當前市場價格出售 BNB 換取 BUSD。
請注意,回應給我們提供的資訊很少:
您可以透過 /api/v3/allOrders 端點驗證訂單是否已填寫。
檢查您的交易
最後讓我們來看看檢查交易的端點:
取得 /api/v3/myTrades
它位於交易 > 帳戶交易清單 (USER_DATA) 下。它允許您檢查每筆交易的特定交易品種。如果您想要查看預設交易品種 (BTC/USDT) 的所有交易,只需取消選取 startTime、endTime 和 fromId 即可。回應將返回最多 500 筆交易 – 如果您想查看更多,只需調整限制即可。
使用郵差調試
在 Postman 中,可以進一步揭示原始 HTTP 請求和回應。
此功能表將開啟 Postman 控制台,該控制台會列印每個請求的詳細資訊。
開始使用幣安 API
本指南的目的是向您介紹 Binance API,而無需編寫任何程式碼。如果您已經跟進,您現在應該了解我們如何要求和提交資訊。
在此期間有疑問嗎?前往我們不斷發展的幣安開發者社群論壇或查看文件。
進一步閱讀
術語表:應用程式介面 (API)
什麼是 API 金鑰以及如何安全使用它?
如何安全地使用 API 金鑰:幣安的 5 個提示

