fco.place
Đặt lệnh điều kiện (Conditional Order) — response trả về ngay kết quả tạo lệnh, không theo luồng
xác nhận nhanh như order.*. Nếu bị từ chối, response trả về lỗi kèm error.code: "FCO_ERROR".
Yêu cầu chữ ký signature. Tham khảo thêm Tham khảo đặt lệnh điều kiện.
Scope bắt buộc: tradingws:fco:post.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Mã chứng khoán cơ sở/phái sinh.
Chiều mua/bán.
Loại lệnh điều kiện. Tham khảo phụ lục Tham khảo đặt lệnh điều kiện.
Giá đặt lệnh điều kiện. Bắt buộc và phải > 0.
Biên độ trượt giá cho phép.
Khối lượng đặt lệnh.
Số tài khoản giao dịch.
Thời gian hiệu lực bắt đầu, định dạng `yyyy/MM/dd HH:mm:ss`. Nếu có `to`, `from` phải <= `to`.
Thời gian hiệu lực kết thúc, định dạng `yyyy/MM/dd HH:mm:ss`.
Giá kích hoạt (stop price).
Giá kích hoạt lệnh điều kiện.
Biên độ trailing stop.
Giá kích hoạt Take Profit.
Giá kích hoạt Stop Loss.
Giá chốt lời (Take Profit).
Giá cắt lỗ (Stop Loss).
Biên độ trượt giá cho Take Profit.
Biên độ trượt giá cho Stop Loss.
Toán tử so sánh điều kiện kích hoạt.
Mã OTP xác thực giao dịch (bắt buộc nếu tài khoản có bật xác thực OTP).
Định danh thiết bị gửi yêu cầu.
Thông tin trình duyệt/ứng dụng gửi yêu cầu.
Chữ ký RSA+SHA256 (base64). Bắt buộc.
Response Body
application/json
application/json
Sample Request
wscat -c wss://api.ssi.com.vn/ws/v3/trading -x '{
"id": "req-0004",
"method": "fco.place",
"params": {
"symbol": "SSI",
"side": "B",
"type": "TS",
"price": "45.00",
"quantity": 4000,
"accountNo": "1231496",
"deviceId": "MAC-AABBCCDDEEFF"
},
"signature": "base64(RSA-SHA256(...))",
"timestamp": 1755000003000
}'Sample Response
{
"id": "req-0004",
"method": "fco.place",
"status": 200,
"result": {
"fcoId": "7528ac20-a340-4233-8bb7-a2379fc3c638"
},
"rateLimit": {
"limit": 50,
"remaining": 44,
"resetMs": 840
}
}order.batchCancelWS
Hủy nhiều lệnh trong một message (Batch Order). Mỗi lệnh trong `params.orders` có cấu trúc và quy tắc như `order.cancel` (xác định lệnh qua `orderId` HOẶC `clientRequestId`). Áp dụng cùng quy tắc chung và cùng luồng ack nhanh `PD` như `order.batchNew` (tối đa 50 lệnh, validation all-or-nothing, chống replay 30 giây, idempotency theo `batchRequestId`, chữ ký trên toàn bộ `params`). Kết quả thật của từng yêu cầu hủy đến sau qua kênh thông báo `order.{accountNo}`. Scope bắt buộc: `tradingws:order:delete`.
fco.cancelWS
Hủy lệnh điều kiện theo `fcoId`. Nếu bị từ chối, response trả về `error.code: "FCO_ERROR"`. Yêu cầu chữ ký `signature`. Scope bắt buộc: `tradingws:fco:delete`.