Hủy lệnh
curl --request DELETE \
--url https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId} \
--header 'X-API-Key: <x-api-key>' \
--header 'X-Aux-Date: <x-aux-date>' \
--header 'X-Signature: <x-signature>' \
--header 'trading-token: <trading-token>'import requests
url = "https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}"
headers = {
"X-API-Key": "<x-api-key>",
"X-Signature": "<x-signature>",
"X-Aux-Date": "<x-aux-date>",
"trading-token": "<trading-token>"
}
response = requests.delete(url, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {
'X-API-Key': '<x-api-key>',
'X-Signature': '<x-signature>',
'X-Aux-Date': '<x-aux-date>',
'trading-token': '<trading-token>'
}
};
fetch('https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>",
"X-Aux-Date: <x-aux-date>",
"X-Signature: <x-signature>",
"trading-token: <trading-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
req.Header.Add("X-Signature", "<x-signature>")
req.Header.Add("X-Aux-Date", "<x-aux-date>")
req.Header.Add("trading-token", "<trading-token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}")
.header("X-API-Key", "<x-api-key>")
.header("X-Signature", "<x-signature>")
.header("X-Aux-Date", "<x-aux-date>")
.header("trading-token", "<trading-token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<x-api-key>'
request["X-Signature"] = '<x-signature>'
request["X-Aux-Date"] = '<x-aux-date>'
request["trading-token"] = '<trading-token>'
response = http.request(request)
puts response.read_body{
"id": 1626,
"symbol": "41I1G4000",
"side": "NS",
"orderType": "LO",
"orderStatus": "PendingCancel",
"loanPackageId": "2278",
"price": 1851,
"averagePrice": 0,
"quantity": 3,
"fillQuantity": 0,
"canceledQuantity": 0,
"leaveQuantity": 3,
"accountNo": "0001179019",
"orderCategory": "NORMAL",
"marketType": "DERIVATIVE",
"transDate": "2026-03-16",
"createdDate": "2026-03-24T04:09:50.761146893Z",
"modifiedDate": "2026-03-24T04:16:12.469115348Z"
}{
"status": 400,
"code": "RESOURCE_NOT_FOUND",
"message": "OrderRepository: cannot find object with id: 1626"
}{
"code": "OA-009",
"message": "Lỗi hệ thống",
"status": 500
}trading
Hủy lệnh
Gửi yêu cầu hủy lệnh đã đặt theo orderId.
DELETE
/
accounts
/
{accountNo}
/
orders
/
{orderId}
Hủy lệnh
curl --request DELETE \
--url https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId} \
--header 'X-API-Key: <x-api-key>' \
--header 'X-Aux-Date: <x-aux-date>' \
--header 'X-Signature: <x-signature>' \
--header 'trading-token: <trading-token>'import requests
url = "https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}"
headers = {
"X-API-Key": "<x-api-key>",
"X-Signature": "<x-signature>",
"X-Aux-Date": "<x-aux-date>",
"trading-token": "<trading-token>"
}
response = requests.delete(url, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {
'X-API-Key': '<x-api-key>',
'X-Signature': '<x-signature>',
'X-Aux-Date': '<x-aux-date>',
'trading-token': '<trading-token>'
}
};
fetch('https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>",
"X-Aux-Date: <x-aux-date>",
"X-Signature: <x-signature>",
"trading-token: <trading-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
req.Header.Add("X-Signature", "<x-signature>")
req.Header.Add("X-Aux-Date", "<x-aux-date>")
req.Header.Add("trading-token", "<trading-token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}")
.header("X-API-Key", "<x-api-key>")
.header("X-Signature", "<x-signature>")
.header("X-Aux-Date", "<x-aux-date>")
.header("trading-token", "<trading-token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi-uat.dnse.com.vn/accounts/{accountNo}/orders/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<x-api-key>'
request["X-Signature"] = '<x-signature>'
request["X-Aux-Date"] = '<x-aux-date>'
request["trading-token"] = '<trading-token>'
response = http.request(request)
puts response.read_body{
"id": 1626,
"symbol": "41I1G4000",
"side": "NS",
"orderType": "LO",
"orderStatus": "PendingCancel",
"loanPackageId": "2278",
"price": 1851,
"averagePrice": 0,
"quantity": 3,
"fillQuantity": 0,
"canceledQuantity": 0,
"leaveQuantity": 3,
"accountNo": "0001179019",
"orderCategory": "NORMAL",
"marketType": "DERIVATIVE",
"transDate": "2026-03-16",
"createdDate": "2026-03-24T04:09:50.761146893Z",
"modifiedDate": "2026-03-24T04:16:12.469115348Z"
}{
"status": 400,
"code": "RESOURCE_NOT_FOUND",
"message": "OrderRepository: cannot find object with id: 1626"
}{
"code": "OA-009",
"message": "Lỗi hệ thống",
"status": 500
}Tiêu đề
API Key được cấp khi đăng ký dịch vụ
Chữ ký xác thực yêu cầu
Thời gian thực hiện yêu cầu
Token đặt lệnh
Phiên bản API
Tham số truy vấn
Loại thị trường
- STOCK: Đặt lệnh cơ sở
- DERIVATIVE: Đặt lệnh phái sinh
Phân loại lệnh thường, lệnh điều kiện (mặc định NORMAL)
Phản hồi
OK
Id lệnh giao dịch
Ví dụ:
1626
Mã chứng khoán
Ví dụ:
"41I1G4000"
Chiều đặt lệnh
- NB: Mua
- NS: Bán
Ví dụ:
"NS"
Loại lệnh
- LO: Lệnh giới hạn
- MOK/MAK/MTL: Lệnh thị trường
- ATO/ATC: Lệnh phiên định kỳ mở cửa/đóng cửa
- PLO: Lệnh khớp lệnh sau giờ
Ví dụ:
"LO"
Trạng thái lệnh
- PendingNew: Chờ gửi
- New: Chờ khớp
- PendingReplace: Chờ sửa
- PartiallyFilled: Khớp một phần
- Filled: Khớp toàn bộ
- Canceled: Đã hủy
- Rejected: Bị từ chối
- Expired: Hết hạn trong phiên
- DoneForDay: Giải tỏa trong phiên
Ví dụ:
"PendingCancel"
Mã gói vay
Ví dụ:
"2278"
Giá đặt
Ví dụ:
1851
Giá khớp trung bình
Ví dụ:
0
Khối lượng đặt
Ví dụ:
3
Khối lượng khớp
Ví dụ:
0
Khối lượng đã hủy
Ví dụ:
0
Khối lượng còn lại
Ví dụ:
3
Số tiểu khoản
Ví dụ:
"0001179019"
Phân loại lệnh thường (mặc định NORMAL)
Ví dụ:
"NORMAL"
Loại thị trường
- STOCK: Lệnh cơ sở
- DERIVATIVE: Lệnh phái sinh
Ví dụ:
"DERIVATIVE"
Ngày giao dịch
Ví dụ:
"2026-03-16"
Thời điểm tạo
Ví dụ:
"2026-03-24T04:09:50.761146893Z"
Thời điểm cập nhật
Ví dụ:
"2026-03-24T04:16:12.469115348Z"