Tổng quan
- Phiên bản API được truyền thông qua Request Header
version - Định dạng ngày: YYYY-MM-DD (VD: 2026-05-07)
- Một API Version mới chỉ được tạo khi hệ thống có các breaking changes ảnh hưởng đến backward compatibility với các clients đang tích hợp.
- Version được xác định tại thời điểm xử lý từng request và không gắn cố định với API Key, tài khoản hoặc ứng dụng của người dùng.
- Các request khác nhau hoàn toàn có thể sử dụng các version khác nhau trong cùng một hệ thống tích hợp.
- Trường hợp giá trị
versiontruyền lên sai định dạngYYYY-MM-DDhoặc không tồn tại, hệ thống trả về lỗi:
Quy tắc hoạt động
Cơ chế nhất quán phiên bản (Global Versioning)
Hệ thống áp dụng một phiên bản duy nhất cho toàn bộ nền tảng OpenAPI. Khi người dùng chỉ định Header version cụ thể (VDversion: 2027-05-07)
- Đối với API có Breaking Changes tại ngày đó: Hệ thống kích hoạt xử lý theo logic mới.
- Đối với API không có thay đổi: Logic được giữ nguyên. Việc client truyền version cũ hay mới không làm ảnh hưởng đến hành vi của các API này.
Quy tắc Mapping phiên bản
Hệ thống tự động điều hướng Request dựa trên hai quy tắc sau:- Phiên bản mặc định (Default version):
- Áp dụng khi request không truyền Header
version. - Hệ thống sẽ tự động fallback về version phát hành đầu tiên của nền tảng (mặc định là 2026-05-07) để đảm bảo backward compatibility cho các client hiện hữu.
- Version này là cố định cho toàn bộ hệ thống và hoàn toàn không phụ thuộc vào thời điểm tài khoản của khách hàng được khởi tạo.
- Áp dụng khi request không truyền Header
- Chỉ định phiên bản:
- Áp dụng khi request có truyền Header
version. - Hệ thống sẽ mapping về phiên bản chính thức có ngày phát hành gần nhất trước đó hoặc bằng phiên bản client gửi lên.
Quản lý tương thích ngược (Backward Compatibility)
Để giúp người dùng chủ động lên kế hoạch nâng cấp source code, DNSE phân loại hai dạng thay đổi của hệ thống:Client nên triển khai parser theo hướng forward-compatible và bỏ qua các field không nhận diện trong response payload để đảm bảo khả năng tương thích với các thay đổi non-breaking trong tương lai.:::warning[Khuyến nghị tích hợp]
- Mặc dù hệ thống luôn fallback về bản phát hành đầu tiên, DNSE vẫn khuyến khích người dùng luôn ghim (Pin) một giá trị ngày phiên bản cụ thể thay vì để trống Header, nhằm kiểm soát source code một cách tường minh nhất.
- Việc không truyền
versioncó thể khiến người dùng bỏ lỡ các tính năng mới hoặc hành vi cập nhật của hệ thống. - Theo dõi và cập nhật các thay đổi mới nhất của chúng tôi tại Changelog.
Chính sách API Version
- Hiện tại DNSE chưa áp dụng cơ chế sunset version tự động.
- Các API version cũ vẫn tiếp tục được hỗ trợ nhằm đảm bảo tính ổn định cho các hệ thống đang tích hợp.
- Trong trường hợp có thay đổi về chính sách hỗ trợ version trong tương lai, DNSE sẽ thông báo chính thức thông qua Changelog và các kênh truyền thông kỹ thuật liên quan.
API Versions
Danh sách dưới đây bao gồm các API version của DNSE OpenAPI.2026-07-23
Phiên bản mở rộng hỗ trợ lệnh điều kiện (orderCategory=STOP, OCO) và lệnh thường Trái phiếu (marketType=BOND)
Non-breaking updates (áp dụng ngay, không cần nâng cấp version):
Breaking Changes (áp dụng từ version này):
DELETE /accounts/:accountNo/orders/:orderId (Hủy lệnh)
- Hỗ trợ thêm hủy lệnh thường Trái phiếu (
marketType=BOND) - Hỗ trợ thêm hủy lệnh STOP Cơ sở/ Phái sinh (
orderCategory=STOP) - Hỗ trợ thêm hủy lệnh OCO Phái sinh (
orderCategory=OCO) - Breaking: Trường
orderIdtrong path params và response thay đổi kiểu dữ liệu từinteger→string
GET /accounts/:accountNo/orders (Sổ lệnh)
- Hỗ trợ phân trang
- Hỗ trợ thêm sổ lệnh Trái phiếu (
marketType=BOND) - Hỗ trợ thêm sổ lệnh STOP Cơ sở/ Phái sinh (
orderCategory=STOP) - Hỗ trợ thêm sổ lệnh OCO Phái sinh (
orderCategory=OCO) - Breaking: Trường
orderIdtrong response thay đổi kiểu dữ liệu từinteger→string
GET /accounts/:accountNo/orders/:orderId (Chi tiết lệnh theo ID)
- Hỗ trợ truy vấn chi tiết lệnh thường Trái phiếu (
marketType=BOND) - Breaking: Response bỏ trường
reports
Lưu ý: Lệnh thường (orderCategory=NORMAL) vẫn sử dụngorderIddạng integer. Tuy nhiên, do cùng tích hợp trên một Endpoint với STOP/OCO, kiểu dữ liệu được thống nhất sangstringđể đảm bảo tính nhất quán.
Client giữ nguyên hoặc không truyền HeaderSupported SDKs: DNSE sample SDK phiên bản 2.0.0 trở lên. Resources: 💎 dnse-openapi-2026-05-07.yamlversionsẽ không bị ảnh hưởng bởi breaking changes, nhưng không thể sử dụng các tính năng mới. Để sử dụng, nâng cấp lênversion: 2027-07-23và cập nhật logic parseorderIdtừintegersangstring.
2026-05-07
Phiên bản đầu tiên triển khai cơ chế API Versioning. Giữ nguyên cấu trúc và logic của toàn bộ API đã được phát hành trước đây, đảm bảo các hệ thống hiện tại tiếp tục hoạt động mà không cần thay đổi tích hợp.- Các request không truyền Header
versionsẽ sử dụng phiên bản mặc định - Hỗ trợ tương thích ngược (backward compatibility) giữa các phiên bản API
- Hỗ trợ mapping version theo ngày phát hành (release date)