Mục lục
Giới thiệu
Điều kiện tiên quyết
Testnet Key
Tải và cài đặt Postman
Tạo môi trường
Nhập bộ sưu tập
Đưa ra yêu cầu
Tóm tắt
Hiểu và sử dụng giao diện API cho giao dịch tiền kỹ thuật số có thể tạo ra nhiều cơ hội hơn để mua và bán hàng. Rất nhiều khả năng. Với một số kiến thức mã hóa đơn giản, bạn có thể sử dụng chương trình phụ trợ của nền tảng giao dịch để tự động thực hiện các chiến lược giao dịch của mình. Bằng cách bỏ qua trang web, các công cụ phù hợp có thể được tìm thấy nhanh hơn cho các ứng dụng hiệu suất cao.
Loạt bài viết này nhằm mục đích giới thiệu REST API do Binance triển khai và trình bày các phương thức tương tác cụ thể. Sau khi học, bạn sẽ có thể truy vấn thông tin về thị trường và vị thế một cách dễ dàng và đặt nhiều loại lệnh khác nhau.
Trong bài viết này, chúng tôi sẽ sử dụng Postman để liên lạc với nền tảng giao dịch. Đừng lo lắng, chúng tôi không đặt tiền thật vào rủi ro.
Quá trình trình diễn sẽ diễn ra trong quá trình thử nghiệm Hoàn thành trực tuyến, bạn có thể nhận trước tiền ảo mà không cần bất kỳ giá trị thực tế nào và chức năng của chúng hoàn toàn giống với tiền thật và mã thông báo. Khi bạn sử dụng thành thạo API này, bạn có thể giao dịch tiền thật thông qua nó.
Đầu tiên, hãy đăng nhập vào mạng thử nghiệm tại chỗ.
Để có quyền truy cập, bạn nên đăng nhập bằng tài khoản GitHub của mình. Nếu bạn là người dùng mới, trước tiên hãy tạo tài khoản GitHub.
Nhấp vào Xác minh và đăng nhập thông qua GitHub.
Trong thư mục API key, hệ thống sẽ thông báo cho bạn biết key chưa được đăng ký. Bấm vào Tạo khóa HMAC_SHA256 để tạo cặp khóa.
Trong màn hình tiếp theo, thêm nhãn cho khóa. Bạn có thể đặt tên bất cứ thứ gì bạn muốn và nhấp vào Tạo.
Bây giờ bạn sẽ thấy hai khóa: Khóa API và Khóa mã hóa. Hãy ghi lại hai mục quan trọng này nếu không bạn sẽ phải tạo một bộ chìa khóa mới. Chúng tôi khuyên bạn nên lưu trữ nó trong chương trình Notepad của máy tính để có thể dễ dàng sao chép và dán sau này.
Lưu ý: Trong giao dịch thực, khóa thẻ là Chìa khóa để quản lý các khóa khác nhau. Tài khoản của bạn có thể có nhiều khóa với các quyền khác nhau cùng một lúc. Nếu bạn chạy nhiều bot giao dịch, việc sử dụng các khóa có nhãn mô tả khác nhau sẽ giúp quản lý quyền hoặc xóa các khóa tương ứng dễ dàng hơn mà không cần phải điều chỉnh tất cả các bot giao dịch.
Postman là một nền tảng cộng tác API. Đối với chúng tôi, đó là điểm khởi đầu hoàn hảo - không cần viết bất kỳ mã nào, chúng tôi có thể truy cập vào bộ sưu tập các yêu cầu Binance mà chúng tôi cần để kiểm tra thông qua Postman.
Chương trình này có sẵn cho hệ thống Mac, Windows và Linux. Vui lòng truy cập trang tải xuống để tải xuống tệp ".zip".
Sau khi tải xuống, hãy tìm tệp trong trình duyệt tệp của bạn và cài đặt nó. Sau đó khởi chạy ứng dụng và bạn đã hoàn tất. Xin lưu ý rằng bạn có thể đăng nhập vào chương trình bằng cách tạo tài khoản, nhưng việc tạo tài khoản không phải là bước bắt buộc. Nếu bạn muốn bỏ qua bước này, chỉ cần chọn tùy chọn ở cuối cửa sổ.
Ở giai đoạn này, màn hình sẽ xuất hiện tương tự như hình ảnh bên dưới.
Đầu tiên, chúng ta cần tạo môi trường. Đây chỉ là một cách thêm biến vào hàm bạn sắp sử dụng. Để làm điều này, trước tiên bạn cần lấy một số thông tin từ kho lưu trữ Binance GitHub. Vui lòng vào đây để tải xuống tệp ".zip",
Quá trình tải xuống sẽ diễn ra nhanh chóng. Tìm tệp trong trình duyệt tệp và giải nén nó. Sau đó, bạn có thể quay lại Postman.
p>
Nhấp vào biểu tượng bánh răng ở góc trên bên phải (như hiển thị ở trên). Bạn sẽ thấy cửa sổ bật lên Quản lý môi trường.
Chọn Nhập và đi tới thư mục bạn vừa trích xuất ("binance -người đưa thư-api").
Vào thư mục và chọn thư mục môi trường.
Bạn sẽ thấy hai tệp (một cho mạng chính và một cho mạng thử nghiệm). Tại thời điểm này, chúng tôi chọn binance_com_spot_testnet_api.postman_environment.json. Phải nhập đúng mật khẩu vì hai mật khẩu không thể trộn lẫn.
Hoạt động gần như hoàn tất. Nhấp vào API thử nghiệm Binance Spot và các biến sau sẽ được hiển thị trên màn hình. Dán khóa đã lưu trước đó vào trường được viền bằng đường màu đỏ và chỉnh sửa hai tham số. Nhấp vào Cập nhật và thoát khỏi cửa sổ bật lên.
Trong màn hình này Các trường "Dấu thời gian" và "Chữ ký" trống và các giá trị cụ thể sẽ được tạo tự động theo từng yêu cầu.
Chỉ còn một bước cuối cùng - ở bên phải biểu tượng bánh răng nơi bạn đã thiết lập môi trường trước đó, bạn sẽ thấy một hình giọt nước -menu xuống, hiện đang Hiển thịKhông có môi trường. Nhấp vào menu và chọn API thử nghiệm Binance Spot.
Bây giờ chúng tôi nhập bộ sưu tập - chứa nhiều yêu cầu khác nhau thực hiện các tác vụ nặng nề và phức tạp khi chúng tôi gọi chúng. Để tải nó vào môi trường của chúng tôi:
Nhấp mạnh vào Nhập ở góc trên bên trái >.
Trong cửa sổ bật lên, dưới tab Tệp, hãy chọn Tải tệp lên.
Tìm lại thư mục binance-postman-api và mở nó.
Tại thời điểm này, hãy nhập bộ sưu tập vào thư mục con.
Hai tệp lại xuất hiện trên màn hình: một trong số đó dành cho API tương lai và chúng tôi cần sử dụng tệp giao ngay, vì vậy vui lòng chọn binance_spot_api_v1.postman_collection. jsonTệp.
Bây giờ, một màn hình xác nhận sẽ xuất hiện, cho biết bộ sưu tập đã nhập được xác định là định dạng bộ sưu tập của Người đưa thư. Chọn "Nhập".
Trong tab "Bộ sưu tập" ở bên trái cửa sổ, bạn có thể tìm thấy lưu trữ hơn 100 Thư mục được yêu cầu. Xin chúc mừng, quá trình nhập đã thành công! Trong phần tiếp theo, chúng tôi sẽ trình bày chi tiết các yêu cầu khác nhau có thể được thực hiện.
Nếu bạn mở rộng thư mục trong tab Bộ sưu tập, bạn có thể thấy nhiều yêu cầu khác nhau. Theo mã hóa màu, chúng ta thường có thể sử dụng ba phương pháp:
GET: Phương thức GET được sử dụng để truy xuất nội dung từ máy chủ. Chúng tôi sử dụng nó để truy vấn thông tin như số dư tài khoản và giá tài sản.
POST: Chúng tôi thường sử dụng phương thức POST để tạo thông tin trong máy chủ cho các hoạt động như đặt hàng và yêu cầu rút tiền.giúp đỡ.
DELETE: Phương thức DELETE yêu cầu máy chủ xóa thông tin và có thể đóng vai trò quan trọng khi hủy đơn hàng.
Bây giờ chúng tôi đưa ra yêu cầu đầu tiên! Chúng tôi sẽ có được các tài sản có thể giao dịch trên nền tảng giao dịch và các quy tắc giao dịch:
NHẬN/exchangeInfo
Yêu cầu này không yêu cầu bất kỳ tham số nào khác, sao chép và dán chúng vào thanh địa chỉ để nhận phản hồi. Nếu đó là một yêu cầu chứa nhiều tham số thì có thể dễ dàng xem và sửa đổi nó thông qua Postman.
Để tải yêu cầu này, hãy chọn Thị trường > Thông tin nền tảng giao dịch. Cửa sổ sau sẽ bật lên:
Chúng ta không cần phải làm gì khác, vì vậy hãy tiếp tục và nhấp vào Gửi. Sau đó, bạn có thể nhận được phản hồi:
Một số thông tin quan trọng sẽ được hiển thị ở phần được đánh dấu ở trên cùng:
Trạng thái phản hồi (200 nghĩa là thao tác thành công, 400-499 nghĩa là đã xảy ra sự cố)
Thời gian nhận được phản hồi (dưới 1 giây)
Kích thước văn bản phản hồi (khoảng 22 KB).
Hộp thứ hai là khả năng phản hồi. Chúng tôi đã sắp xếp nó cẩn thận để dễ đọc và học hỏi - nó chứa thông tin về nền tảng giao dịch, các cặp tiền tệ có thể được giao dịch và số tiền tối thiểu/tối đa của chúng.
Có vẻ như có nhiều thông tin nhưng định dạng này rất dễ xử lý theo chương trình. Khi viết kịch bản tương tác, bạn sẽ có thể dễ dàng chọn các thuộc tính cụ thể của các thành phần cụ thể từ phản hồi.
Tại đây bạn có thể xem tài sản đang nắm giữ và số tiền tương ứng:
NHẬN/tài khoản
tạiGiao dịch>Thông tin tài khoản. Nhấp vào sẽ hiển thị bố cục tương tự như tùy chọn trước đó nhưng lưu ý hai biến mới xuất hiện: Dấu thời gian và Chữ ký. Chữ ký là một biện pháp an ninh. Vì chúng tôi yêu cầu quyền truy cập vào thông tin nhạy cảm nên chữ ký chứng minh rằng chúng tôi thực sự là chủ tài khoản.
Dấu thời gian cho máy chủ biết thời điểm yêu cầu được gửi. Xét thấy trạng thái mạng không ổn định hoặc sắp ngừng hoạt động, máy chủ có thể nhận được yêu cầu muộn hơn nhiều so với dự kiến. Nếu mất quá nhiều thời gian, nó sẽ từ chối yêu cầu. Thời gian chờ có thể được đặt thông qua tham số recvWindow và giá trị mặc định là 5000 mili giây.
Giá trị của hai trường này được tạo bởi Postman. Bấm vào "Gửi" để nhận được phản hồi. Trong phần “Số dư”, bạn sẽ thấy sáu tài sản – BNB, BTC, BUSD, ETH, LTC và TRX. Số dư sẽ được chia thành hai phần: Miễn phí và Bị khóa. Chúng tôi chưa khóa bất kỳ tài sản nào, tất cả tài sản của bạn đều được sử dụng miễn phí.
Xin chúc mừng tài sản mới của bạn! (Nhưng nó không thực sự tồn tại)
Chúng ta có thể nhận được giá hiện tại của một tài sản tài sản theo những cách khác nhau. Đơn giản nhất có lẽ là thông qua yêu cầu sau:
GET /api/v3/ticker/24hr
Như bạn mong đợi, với yêu cầu trên, chúng tôi có thể lấy thông tin về giá tài sản trong 24 giờ qua. Bạn có thể tìm thấy yêu cầu này trong Thị trường > Thống kê chỉ báo chênh lệch giá trong 24 giờ. Cặp giao dịch mặc định cho biến thể tài sản này là BTCUSDT.
Bạn có thể gửi trực tiếp yêu cầu này để xem chi tiết thông tin về giá. Bạn cũng có thể thay đổi nội dung (thành BNBBUSD, LTCUSDT, v.v.) hoặc hủy biến đã chọn và trả về 40 cặp dữ liệu.
Ngoài ra còn có một phương thức gọi đơn giản hơn: (Thị trường> Chỉ báo giá tài sản), có thể trả về giá giao dịch hiện tại của tài sản:
GET /api/v3/price
Như trước đây, bạn có thể thay đổi hoặc xóa hoàn toàn các biến nội dung để nhận giá mới nhất cho tất cả nội dung.
Độ sâu sổ lệnh (còn được gọi là Độ sâu thị trường hoặc DOM) chứa rất nhiều thông tin thị trường. Chúng tôi có thể gọi yêu cầu sau để có được thông tin hợp lệ này:
NHẬN api/v3/de sâu
pre>Khi chúng tôi gửi yêu cầu này với giá trị mặc định (Thị trường > Sổ đặt hàng), nó sẽ cho chúng tôi biết về giá thầu và nhu cầu đối với BTCUSDT . Lượng dữ liệu do máy chủ testnet tạo ra thấp hơn thực tế, vì vậy đây là ảnh chụp màn hình những gì sẽ xuất hiện trong môi trường thực:
Trong phần được đánh dấu ở trên, bạn có thể thấy giá thầu đầu tiên. Chúng ta đang xem sổ đặt hàng BTCUSDT. Con số trên là giá mà một nhà giao dịch sẵn sàng trả cho Bitcoin và con số bên dưới là số tiền anh ta sẵn sàng mua. Do đó, dữ liệu này chỉ ra rằng lệnh này yêu cầu mua 0,999 BTC với đơn giá là 9704,65 USDT. Tiếp tục nhìn xuống, bạn có thể thấy giá được sắp xếp từ cao đến thấp, nghĩa là giá thầu của người mua giảm dần.
Nếu bạn muốn tài sản của mình xứng đáng với số tiền bỏ ra thì ưu đãi cao nhất đương nhiên là hấp dẫn nhất. Nghĩa là, nếu bán 3 BTC trên thị trường thì chỉ có 0,999 BTC có thể được bán với giá cao nhất. Phần còn lại cần được bán với giá thấp hơn tiếp theo cho đến khi toàn bộ đơn hàng được hoàn thành.
Tiếp tục cuộn xuống để xem các yêu cầu khác. Chúng tương tự như giá thầu, ngoại trừ việc chúng đại diện cho lệnh bán BTC lấy USDT.
Xuất bản đơn hàng thử nghiệm
Bây giờ chúng tôi xuất bản đơn hàng thử nghiệm.
ĐĂNG api/v3/order/test
Ngay cả khi chỉ sử dụng tiền từ testnet, yêu cầu sẽ không thực sự đưa ra lệnh. Yêu cầu này có tác dụng rất tốt trong việc kiểm tra các đơn đặt hàng trước khi thực sự cam kết chúng. Bạn có thể tìm thấy yêu cầu này trong Giao dịch > Kiểm tra đơn hàng mới (TRADE).
Bạn có thể xem thêm thông số. Hãy duyệt qua các tham số đã chọn:
biểu tượng – đã được giới thiệu ở trên và đại diện cho cặp tiền tệ cần được giao dịch.
bên – Chỉ định MUA hoặc BÁN tại đây. Đối với cặp giao dịch BTCUSDT, MUA có nghĩa là mua BTC bằng USDT và BÁN có nghĩa là bán USDT để đổi lấy BTC.
loại – Loại đơn đặt hàng cần được gửi. Các giá trị có thể có (bấm vào đây để biết chi tiết):
LIMIT
THỊ TRƯỜNG
STOP_LOSS
STOP_LOSS_LIMIT p>
TAKE_PROFIT
TAKE_PROFIT_LIMIT
LIMIT_MAKER
timeInForce– Tham số này thể hiện kết quả mong đợi Phương thức thực thi lệnh:
GTC (Tốt cho đến khi bị hủy) – Đây là cài đặt phổ biến nhất. GTC sẽ đảm bảo rằng đơn hàng luôn có hiệu lực cho đến khi được khớp hoặc bị hủy.
FOK (Đầy đủ hoặc Hủy) – FOK hướng dẫn nền tảng giao dịch thực hiện toàn bộ lệnh ngay lập tức. Nếu thao tác không thể được thực hiện, lệnh sẽ bị hủy ngay lập tức.
IOC (Thực hiện ngay lập tức hoặc bị hủy) – Lệnh sẽ được thực hiện ngay lập tức toàn bộ hoặc một phần, nếu không lệnh sẽ bị hủy. Không giống như FOK, nếu lệnh có thể được thực hiện một phần thì nó sẽ không bị hủy.
Số lượng – đề cập đến số lượng tài sản cần mua hoặc bán.
giá – Giá bán mục tiêu. Trong cặp giao dịch BTCUSDT, giá được biểu thị bằng USDT.
newClientOrderId – ID đơn hàng. Đây không phải là trường bắt buộc nhưng nó có thể được đặt thành ID cho các truy vấn sau này. Nếu không, nó sẽ được tạo ngẫu nhiên bởi nền tảng giao dịch.
Được rồi! Hãy tạo một đơn hàng thử nghiệm ngay bây giờ. Chúng tôi sử dụng giá trị được tạo tự động: lệnh giới hạn để bán 0,1 BTC để đổi lấy USDT với đơn giá là 9.000 USD. Nhấp vào Gửi. Nếu thao tác thành công, phản hồi chúng tôi sẽ nhận được là {.
Bây giờ chúng tôi phát hành các đơn đặt hàng ảo thực sự.
POST /api/v3/order
Đi tới Giao dịch>Lệnh mới. Bây giờ bạn đã quen với các lệnh kiểm tra nên các thông số ở đây sẽ không còn xa lạ với bạn. Chúng tôi giữ nguyên tất cả các giá trị nhưng thay đổi giá bán thành 40.000 đô la vì chúng tôi đã có một thời gian dài. Điều chỉnh giá trị giá để nó được phản ánh trong hệ thống. Sau đó nhấp vào Gửi.
Nếu giao dịch thành công, phản hồi của bạn sẽ trả về một loạt thông tin chi tiết về đơn đặt hàng.
Ở chương trước, chúng tôi đã nhận được xác nhận rằng đơn hàng đã được phát hành thành công, vậy nếu chúng tôi nên làm gì Tôi làm gì nếu tôi muốn kiểm tra đơn hàng sau? Có một số yêu cầu có sẵn cho chúng tôi.
NHẬN /api/v3/openOrders
Bạn có thể tìm thấy các yêu cầu liên quan trong Giao dịch> Lệnh mở hiện tại (USER_DATA). BTCUSDT là tùy chọn mặc định. Nếu bạn nhấp vào Gửi, bạn sẽ thấy tất cả các lệnh BTCUSDT đang mở (hiện chỉ có các lệnh chúng tôi đã thiết lập trước đó). Bạn không thể chỉ định nội dung và hệ thống sẽ phản hồi tất cả các lệnh mở.
NHẬN /api/v3/allOrders
Giao dịch> Tất cả đơn hàng (USER_DATA) cung cấp cái nhìn tổng quan về tất cả các đơn hàng, không chỉ các đơn hàng đang mở. Ở đây bạn phải chỉ định một tài sản. orderId, startTime, endTime và limit là tất cả các tham số tùy chọn có thể giúp tối ưu hóa tìm kiếm của bạn nhưng chúng tôi không chọn chúng vào lúc này, vì vậy xin vui lòng Nó vẫn không được chọn. Nhấp vào Gửi và phản hồi tương tự như trước sẽ xuất hiện. Các đơn đặt hàng đã đóng hoặc bị hủy cũng có thể được xem tại đây.
Cuối cùng, một đơn hàng cụ thể có thể được truy vấn bằng yêu cầu sau:
GET /api/v3/order code>
Bạn có thể nhận được yêu cầu theo Giao dịch> Lệnh truy vấn (USER_DATA). Bạn cần cung cấp orderId hoặc origClientOrderId (thẻ "newClientOrderId" tùy chọn được thêm vào trong đơn hàng). Bỏ chọn orderId. Đối với origClientOrderId, bạn phải cung cấp nhãn mặc định đã thêm trước đó "my_order_id_1". Điền vào trường bằng nhãn này và nhấp vào Gửi để nhận phản hồi.
Theo thời gian, chúng tôi có thể quyết định rằng mục tiêu 40.000 USD là quá lạc quan và muốn hủy đơn đặt hàng. Trong trường hợp này, bạn cần sử dụng:
DELETE /api/v3/order
Tìm yêu cầu này trong Giao dịch> Hủy đơn hàng và chọn đơn hàng bạn muốn hủy. Bỏ chọn orderId và newClientOrderId rồi đặt "my_order_id_1" thành giá trị của origClientOrderId.
Sau khi gửi yêu cầu này, đơn hàng sẽ được trả lại. Nếu bạn cuộn xuống "Trạng thái", bạn có thể thấy rằng đơn hàng thực sự đã bị hủy. Để xác nhận, hãy sử dụng lại điểm cuối GET /api/v3/openOrders (danh sách trống sẽ được hiển thị) hoặc GET /api/ với origClientOrderId v3/order .
Lệnh trước đó của chúng tôi không thể được thực thi vì đó là lệnh giới hạn và sẽ chỉ được thực hiện khi Giá BTC đạt được Kích hoạt khi cần có 40.000 USD. Đối với lệnh thị trường, về cơ bản nó tương đương với việc "mua/bán ở mức giá giao dịch hiện tại của tài sản". Lệnh sẽ được điền ngay lập tức.
Để thực hiện việc này, hãy quay lại Giao dịch > Lệnh mới. Chúng tôi sẽ minh họa loại phản hồi (newOrderRespType), đây là một tham số có thể được điều chỉnh tùy thuộc vào loại phản hồi mà chúng tôi muốn máy chủ cung cấp. Có ba tùy chọn: ACK, RESULT hoặc FULL – bạn có thể xem ví dụ về từng phản hồi tại đây. Chúng tôi sử dụng ACK, cho phép chúng tôi xác nhận trực tiếp các đơn đặt hàng đã nhận.
Dưới đây, bạn có thể thấy rằng chúng tôi sắp gửi lệnh thị trường để bán BNB theo giá thị trường hiện tại để đổi lấy BUSD .
Xin lưu ý rằng phản hồi này chỉ cung cấp cho chúng tôi thông tin ngắn gọn nhất:
Bạn có thể xác minh xem đơn hàng đã được hoàn thành hay chưa thông qua điểm cuối /api/v3/allOrders.
Cuối cùng, chúng ta hãy hãy xem điểm cuối để kiểm tra giao dịch:
GET /api/v3/myTrades
pre>Yêu cầu này nằm trong Giao dịch>Danh sách giao dịch tài khoản (USER_DATA). Thông qua điểm cuối này, mỗi giao dịch cho một tài sản cụ thể có thể được kiểm tra. Để xem tất cả các giao dịch cho tài sản mặc định (BTCUSDT), chỉ cần bỏ chọn startTime, endTime và fromId. Phản hồi này có thể trả về tối đa 500 giao dịch - để xem thêm, chỉ cần điều chỉnh giới hạn.
Sử dụng Postman để gỡ lỗi
Người đưa thư có thể hiển thị chi tiết yêu cầu và phản hồi HTTP gốc.
Menu này cho phép bạn mở bảng điều khiển Postman và in ra thông tin chi tiết cho từng yêu cầu.
p>
Tóm tắt
Hướng dẫn này nhằm mục đích giới thiệu ngắn gọn về cách sử dụng API Binance mà không cần viết mã. Nếu bạn đã đọc chi tiết bài viết này, bây giờ bạn sẽ biết cách yêu cầu và gửi thông tin.
Các bài viết tiếp theo trong loạt bài này sẽ giới thiệu một số khái niệm mã hóa cơ bản. Bằng cách nắm vững các khái niệm này, chúng ta có thể tự động mua và bán tiền kỹ thuật số và các tài sản kỹ thuật số khác.
Bạn có câu hỏi nào khác không? Hãy truy cập diễn đàn Cộng đồng nhà phát triển Binance đang phát triển của chúng tôi hoặc xem tài liệu.