Skip to main content
Tài liệu này hướng dẫn cách thiết lập kết nối đến DNSE WebSocket để nhận dữ liệu giao dịch theo thời gian thực.

Thông tin kết nối chung

  • Base URL: wss://ws-openapi.dnse.com.vn
  • DNSE cung cấp sẵn bộ SDK đã phân tách theo từng loại dữ liệu để khách hàng có thể sẵn sử dụng. Chi tiết xem sample SDKs tại đây.
  • Định dạng dữ liệu trong SDKs:
    • msgpack: Tốc độ xử lý nhanh, tiết kiệm băng thông
    • json: Phổ biến và dễ đọc trong quá trình phát triển
  • Cơ chế kết nối:
    • Một kết nối WebSocket có hiệu lực tối đa 8 giờ, WebSocket Server sẽ chủ động ngắt kết nối sau thời gian này.
    • Cơ chế để các clients duy trì kết nối ổn định tới WebSocket server DNSE:
      • WebSocket Server sẽ định kỳ gửi 1 PING message sau mỗi 3 phút.
      • Mỗi PING message được gửi từ WebSocket đều yêu cầu nhận PONG message phản hồi từ các client trong thời gian tối đa là 1 phút kể từ lúc Server gửi PING. Nếu quá thời hạn 1 phút này, Server sẽ chủ động ngắt kết nối với Client không đáp ứng.
      • Client được phép gửi PONG message ngay cả khi không nhận được PING từ Server, để chủ động duy trì kết nối. Cách này giúp client giữ kết nối trong các trường hợp PING message bị miss do network issue hoặc các gián đoạn tạm thời khác.

Tổng quan các kênh dữ liệu


Các kênh dữ liệu giao dịch

Dữ liệu lệnh thời gian thực (Order Event)

Cung cấp thông tin chi tiết về lệnh giao dịch trên tài khoản người dùng theo thời gian thực. Hệ thống sẽ đẩy dữ liệu ngay khi có sự thay đổi liên quan đến: lệnh mới, thay đổi trạng thái, hoặc thay đổi giá khớp, khối lượng khớp.

Channel

order.{market_type}.{encoding}
  • market_type: Phân loại thị trường
    • STOCK: Lệnh giao dịch cơ sở
    • DERIVATIVE: Lệnh giao dịch phái sinh
  • encoding: Định dạng dữ liệu msgpack hoặc json

Payload

Để có thêm thông tin về vòng đời lệnh, các trạng thái của lệnh, người dùng tham khảo tại đây.

Dữ liệu vị thế thời gian thực (Position Event)

Cung cấp thông tin chi tiết về vị thế giao dịch trên tài khoản người dùng theo thời gian thực. Hệ thống sẽ đẩy dữ liệu ngay khi có sự thay đổi liên quan đến: mở vị thế, đóng vị thế, thay đổi khối lượng, giá vốn, giá đóng, giá thị trường hoặc trạng thái vị thế.

Channel

position.{market_type}.{encoding}
  • market_type: Phân loại thị trường
    • STOCK: Vị thế nắm giữ thị trường cơ sở
    • DERIVATIVE: Vị thế nắm giữ thị trường phái sinh
  • encoding: Định dạng dữ liệu msgpack hoặc json

Payload

Vị thế phái sinh
Vị thế cơ sở