Thông báo lỗi: "Lệnh Order không tồn tại" - "Order does not exist"

Câu hỏi: Sau khi tôi đặt lệnh order, với endpoint

GET /api/v3/order

lệnh trả lại

{"code":-2013,"msg":"Order does not exist."}

Nhưng tôi chắc chắn mình chỉ tạo 1 order.

Trả lời: Nếu đơn hàng được đặt thành công và trả về số order. Nhưng bạn không thể tìm thấy thông tin đặt hàng qua lệnh GET / api / v3 / order.

Quá trình đặt hàng của Binance trước tiên là chạm vào công cụ khớp và sau đó thông tin đặt hàng sẽ được gửi đến các kênh hạ lưu, bao gồm lớp lưu giữ, máy chủ Websocket, v.v. Ưu điểm lớn nhất của thiết kế này là toàn bộ hệ thống giao dịch có khả năng mở rộng và sẽ không bị giới hạn bởi các hạn chế phổ biến, như IO, v.v.

Endpoint GET / api / v3 / order này lấy dữ liệu từ persistence layer. Theo thông tin trên, sẽ có một khoảng thời gian cách biệt từ công cụ khớp lệnh tới điểm persistence cuối cùng. Thời gian chênh lệch hiện giờ là 10s tại thời điểm giá thị trường biến động rất lớn. Hệ thống của chúng tôi liên tục được tối ưu hóa để giữ độ trễ trong vòng 1 giây.

Để đảm bảo rằng người dùng có các bản cập nhật mới nhất của lệnh order càng sớm càng tốt, chúng tôi khuyên người dùng nên nhận thông báo qua kết nối Websocket. Ví dụ: sau khi người dùng đặt order, máy chủ websocket sẽ đẩy dữ liệu đơn hàng hoàn chỉnh được đặt cho người dùng thông qua loại sự kiện executionReport trong thời gian nhanh nhất.

Câu hỏi: Tại sao Binance không có tính năng giới thiệu các order mới như các sàn khác? Tôi gọi chúng là “submitted” và “pendingcancel”. Binance có tính năng “PENDING_CANCEL”, nhưng trong documentation lại đánh dấu là “unused”- không sử dụng.
Submitted có nghĩa là "chúng tôi đã nhận yêu cầu của bạn, nhưng hiện tại công cụ không thực hiện thao tác (khớp hoặc đặt lệnh). Pendingcancel có nghĩa là “chúng tôi đã nhận được yêu cầu huỷ lệnh, nhưng order chưa được thao tác huỷ”.
Tôi nghĩ thông tin như vậy sẽ hữu ích hơn là thông báo “not found”.

Trả lời:
Binance không có các lệnh như thế. Như tôi đã đề cập, GET /api/v3/order tìm hiếm lịch sử ghi nhận từ layer persistence. Cho dù chúng tôi có tính năng “submitted”, nhưng trước khi đạt tới DB, endpoint vẫn có thông báo lỗi “Order doesn’t exist”.

Nếu đơn hàng được đặt thành công và trả về số order. Nhưng bạn không thể tìm thấy thông tin đặt hàng qua lệnh GET / api / v3 / order.

Quá trình đặt hàng của Binance trước tiên là chạm vào công cụ khớp và sau đó thông tin đặt hàng sẽ được gửi đến các kênh hạ lưu, bao gồm lớp lưu giữ, máy chủ Websocket, v.v. Ưu điểm lớn nhất của thiết kế này là toàn bộ hệ thống giao dịch có khả năng mở rộng và sẽ không bị giới hạn bởi các hạn chế phổ biến, như IO, v.v.

Endpoint GET / api / v3 / order này lấy dữ liệu từ persistence layer. Theo thông tin trên, sẽ có một khoảng thời gian cách biệt từ công cụ khớp lệnh tới điểm persistence cuối cùng. Thời gian chênh lệch hiện giờ là 10s tại thời điểm giá thị trường biến động rất lớn. Hệ thống của chúng tôi liên tục được tối ưu hóa để giữ độ trễ trong vòng 1 giây.

Để đảm bảo rằng người dùng có các bản cập nhật mới nhất của lệnh order càng sớm càng tốt, chúng tôi khuyên người dùng nên nhận thông báo qua kết nối Websocket. Ví dụ: sau khi người dùng đặt order, máy chủ websocket sẽ đẩy dữ liệu đơn hàng hoàn chỉnh được đặt cho người dùng thông qua loại sự kiện executionReport trong thời gian nhanh nhất.

1 Like