Go

Models

Các model dữ liệu và message streaming trong Go SDK

Tất cả model là Go struct. Import từ package tương ứng.

Field kiểu con trỏ (*float64, *int, *string) là nil khi server không gửi giá trị đó; điều này khác với giá trị 0. Hãy kiểm tra nil trước khi đọc.

Cấu trúc Package

ssi-sdk-go/v3/
├── ssi/          → Auth, Data, Trading, Stream (import chính)
├── auth/         → Token, OTPResponse
├── account/      → Account, AccountType
├── market/       → OHLCData, MarketIndexes, MarketIndexSummary, SecuritiesInfo, SecuritiesSummary, MasterData, CorporateAction
├── trading/      → PlaceOrderResponse, ModifyOrderResponse, CancelOrderResponse, MaxBuySellResponse, Batch*, FCOInfo, FCOListResponse, FCOOrder, ...
├── portfolio/    → EquityAccountBalance, DerivativeAccountBalance, EquityPosition, DerivativePosition, Order
├── stream/       → TradeMessage, QuoteMessage, IndexTickMessage, OrderStatusMessage, PortfolioMessage, FCOOrderUpdateMessage, ...
├── tradingws/    → Service (Trading WebSocket), Response, OrderBookQuery
└── (root)        → SSIError, APIError, AuthenticationError, ...

Xác thực

Token

FieldKiểuMô tả
AccessTokenstringAccess token
TokenTypestringLoại token (mặc định "Bearer")
ExpiresAtint64Thời điểm hết hạn, Unix epoch tính bằng giây
RefreshTokenstringRefresh token
RefreshTokenExpiresAtint64Thời điểm hết hạn refresh token, Unix epoch giây (key server refreshExpiresAt)

Method: EffectiveExpiresAt(), CanRefresh(). String() / GoString() không bao giờ in token.

OTPResponse

Trả về bởi RequestOTPTyped().

FieldKiểuMô tả
MessagestringThông báo từ server
TransactionIDstringMã giao dịch, chỉ dùng cho Smart OTP. Truyền vào Authenticate / EnsureAuthenticated

Tài khoản

Account

FieldKiểuMô tả
AccountNostringSố tài khoản
AccountType*account.AccountType"Cash", "Margin" hoặc "Derivative". nil khi thiếu; giá trị lạ được giữ nguyên dạng chuỗi (xem Enums)

Dữ liệu thị trường

OHLCData

FieldKiểuMô tả
SymbolstringMã chứng khoán
TradingDatestringNgày giao dịch
OpenPricefloat64Giá mở
HighPricefloat64Giá cao
LowPricefloat64Giá thấp
ClosePricefloat64Giá đóng
VolumeintKhối lượng
Valuefloat64Giá trị giao dịch

MarketIndexes

FieldKiểuMô tả
IndexstringMã chỉ số
IndexNamestringTên chỉ số
Board*market.BoardSàn, nil nếu giá trị không phải sàn đã biết
BoardRaw*stringSàn đúng như server gửi

MarketIndexSummary

FieldKiểuMô tả
TradingDatestringNgày giao dịch
IndexValuefloat64Giá trị chỉ số
IndexChangefloat64Thay đổi
IndexChangePercentfloat64Thay đổi (%)
TotalTradeintTổng khối lượng giao dịch
TotalTradeValuefloat64Tổng giá trị giao dịch
TotalAdvanceStockintSố CP tăng
TotalDeclineStockintSố CP giảm
TotalSteadyStockintSố CP không đổi (key server totalNoChangeStock)
TotalMatchintTổng khối lượng khớp
TotalMatchValuefloat64Tổng giá trị khớp
TotalDealintTổng khối lượng thoả thuận
TotalDealValuefloat64Tổng giá trị thoả thuận
TotalCeilingStockintSố CP trần
TotalFloorStockintSố CP sàn
TotalPropBuyintTổng KL mua tự doanh
TotalPropBuyValuefloat64Tổng GT mua tự doanh
TotalPropSellintTổng KL bán tự doanh
TotalPropSellValuefloat64Tổng GT bán tự doanh
TotalBuyForeign / TotalBuyForeignValue*float64KL / GT mua của khối ngoại
TotalSellForeign / TotalSellForeignValue*float64KL / GT bán của khối ngoại
NetPurchasesForeignVolume / NetPurchasesForeignValue*float64KL / GT mua ròng của khối ngoại

Lưu ý: MarketIndexSummary không có field Index/Board riêng — dùng tham số truy vấn của method (GetIndexSummary(index) / GetBoardSummary(board)) để xác định phạm vi kết quả.

SecuritiesInfo

Giá trị thiếu là nil, không phải 0 / chuỗi rỗng.

FieldKiểuMô tả
SymbolstringMã chứng khoán
Board*market.BoardSàn
IndexstringChỉ số
SymbolNameVistringTên tiếng Việt
SymbolNameEnstringTên tiếng Anh
LotSize*intLô giao dịch
ListedShares*intSố CP niêm yết
ICBCode*stringMã ICB
ICBName*stringTên ICB
MaturityDate*stringNgày đáo hạn
FirstTradingDate*stringNgày GD đầu tiên
LastTradingDate*stringNgày GD cuối cùng
CWUnderlyingSymbol*stringMã CK cơ sở CW
CWExercisePrice*float64Giá thực hiện CW
CWExecutionRatio*float64Tỷ lệ thực hiện CW
IIndex*float64Chỉ số I
INAV*float64Giá trị iNAV
OpenInterest*float64Khối lượng mở (phái sinh)
SettlementPrice*float64Giá thanh toán (phái sinh)
StockType*stringLoại chứng khoán

SecuritiesSummary

FieldKiểuMô tả
SymbolstringMã chứng khoán
TradingDatestringNgày giao dịch
PriceChangefloat64Thay đổi giá
PriceChangePercentfloat64Thay đổi giá (%)
OpenPricefloat64Giá mở
HighPricefloat64Giá cao
LowPricefloat64Giá thấp
ClosePricefloat64Giá đóng
AveragePricefloat64Giá trung bình
TotalMatchintTổng khối lượng khớp
TotalMatchValuefloat64Tổng giá trị khớp
TotalBuyintTổng KL mua
TotalTradeBuyfloat64Tổng GT mua
TotalSellintTổng KL bán
TotalTradeSellfloat64Tổng GT bán
TotalForeignBuy / TotalForeignBuyValueint / float64KL / GT mua của khối ngoại
TotalForeignSell / TotalForeignSellValueint / float64KL / GT bán của khối ngoại
RemainForeignRoom / TotalForeignRoomintRoom ngoại còn lại / tổng room ngoại
TotalDeal / TotalDealValueint / float64KL / GT thoả thuận
OpenInterest / SettlementPricefloat64Khối lượng mở / giá thanh toán (phái sinh)
Ceiling / Floor / RefPrice*float64Luôn là nil ở đây vì endpoint này không gửi các giá trị đó. Dùng GetMasterData

MasterData

Trả về bởi GetMasterData() và GetMasterDataHistorical(from, to).

FieldKiểuMô tả
Boardmarket.BoardSàn (chuỗi thô nếu SDK không biết sàn đó)
SymbolstringMã chứng khoán
TradingDatestringNgày giao dịch
Ceilingfloat64Giá trần
Floorfloat64Giá sàn
RefPricefloat64Giá tham chiếu

CorporateAction

Trả về bởi GetCorporateActions(opts...) và GetCorporateActionsHistorical(from, to, opts...) (xem 3.7. Sự kiện quyền). Mọi field là string đúng như server gửi; field trống, null hoặc không có là "".

FieldKiểuMô tả
SymbolstringMã chứng khoán
EventTitlestringTiêu đề sự kiện (theo ngôn ngữ yêu cầu, "vn" hoặc "en")
ExrightDatestringNgày ex-right, dạng text YYYY/MM/DD
RecordDatestringNgày chốt quyền, dạng text YYYY/MM/DD
IssueDatestringNgày phát hành, dạng text YYYY/MM/DD
ExchangestringSàn giao dịch
RatiostringTỷ lệ, không được parse (ý nghĩa tuỳ loại sự kiện)

Danh mục

Method không tìm thấy dữ liệu sẽ trả về nil (không phải struct rỗng): các method số dư, PPMMR và vị thế phái sinh trả con trỏ nil, còn GetEquityPositions trả slice nil. Hãy kiểm tra nil / len(...) == 0.

EquityAccountBalance

FieldKiểuMô tả
AccountNostringSố tài khoản
AccountBalancefloat64Số dư tài khoản (tiền mặt khả dụng)
TotalDebtfloat64Tổng nợ
InterestLoanfloat64Lãi vay
OverdueFeeLoanfloat64Phí quá hạn
Withdrawablefloat64Tiền có thể rút
OnHoldCashfloat64Tiền giữ
SellUnmatchedfloat64Bán chưa khớp
SellT0float64Tiền bán T+0
SellT1float64Tiền bán T+1
SellT2float64Tiền bán T+2
BuyUnmatchedfloat64Mua chưa khớp
BuyT0float64Tiền mua T+0
BuyT1float64Tiền mua T+1
BuyT2float64Tiền mua T+2
AdvanceCashT0float64Ứng trước T+0
AdvanceCashT1float64Ứng trước T+1
HoldSubscriptionfloat64Giữ đăng ký mua
Dividendfloat64Cổ tức

DerivativeAccountBalance

FieldKiểuMô tả
AccountNostringSố tài khoản
AccountBalancefloat64Số dư tài khoản
Feefloat64Phí
Commissionfloat64Hoa hồng
Interestfloat64Lãi
ExtInterestfloat64Lãi mở rộng
Loanfloat64Khoản vay
DeliveryAmountfloat64Giá trị giao hàng
FloatingPLfloat64Lãi/lỗ chưa thực hiện
TradingPLfloat64Lãi/lỗ giao dịch
TotalPLfloat64Tổng lãi/lỗ
Withdrawablefloat64Có thể rút
CashSSIfloat64Tiền tại SSI
ValidNonCashSSIfloat64Tài sản phi tiền mặt hợp lệ tại SSI
WithdrawableSSIfloat64Tiền có thể rút tại SSI (trước 3.3.0 là CashWithdrawableSSI; tên cũ còn lại dưới dạng method deprecated)
CashVSDCfloat64Tiền tại VSDC
ValidNonCashVSDCfloat64Tài sản phi tiền mặt hợp lệ tại VSDC
WithdrawableVSDCfloat64Tiền có thể rút tại VSDC (trước 3.3.0 là CashWithdrawableVSDC; tên cũ còn lại dưới dạng method deprecated)

EquityPosition

FieldKiểuMô tả
AccountNostringSố tài khoản
SymbolstringMã chứng khoán
QuantityintTổng khối lượng
SellableQuantityintKhối lượng bán được
CostPricefloat64Giá vốn
BuyingQuantityintKhối lượng đang mua
SellingQuantityintKhối lượng đang bán
MortgageQuantityintKhối lượng cầm cố
BlockQuantityintKhối lượng phong toả
DividendQuantityintKhối lượng cổ tức
BoughtQuantityintKhối lượng đã mua
SoldQuantityintKhối lượng đã bán
T1BuyQuantityintKhối lượng mua T+1
T2BuyQuantityintKhối lượng mua T+2
T1SellQuantityintKhối lượng bán T+1
T2SellQuantityintKhối lượng bán T+2
RestrictedQuantityintKhối lượng hạn chế

DerivativePosition

FieldKiểuMô tả
AccountNostringSố tài khoản
SymbolstringMã hợp đồng
Long / Short / NetintVị thế Long / Short / Net
BidAvgPrice / AskAvgPricefloat64Giá TB mua / bán
FloatingPL / TradingPLfloat64Lãi/lỗ
TradePricefloat64Giá giao dịch

Order

FieldKiểuMô tả
AccountNostringSố tài khoản
ClientRequestIDstringClient request ID
OrderIDstringOrder ID
SymbolstringMã chứng khoán
Sidetrading.OrderSideMua/Bán
OrderTypetrading.OrderTypeLoại lệnh
Price / AvgPricefloat64Giá đặt / Giá khớp TB
PriceTextstringGiá dạng chữ (ví dụ ATO, ATC)
QuantityintKhối lượng đặt
OSQuantity*intKhối lượng chờ. nil với lệnh từ sổ lệnh REST (server không gửi ở đó)
FilledQuantityintKhối lượng khớp
CancelQuantityintKhối lượng huỷ
Statustrading.OrderStatusTrạng thái lệnh
InputTime / ModifyTimestringThời gian đặt / sửa, định dạng yyyy/MM/dd HH:mm:ss
MessagestringThông báo

Response giao dịch

PlaceOrderResponse

OrderID, ClientRequestID, Status (trading.OrderStatus)

ModifyOrderResponse

ClientModifyID, OrderID, ClientRequestID, Status

CancelOrderResponse

ClientCancelID, OrderID, ClientRequestID, Status

MaxBuySellResponse

FieldKiểuMô tả
AccountNostringSố tài khoản
SymbolstringMã chứng khoán
MaxBuyQuantityintKhối lượng mua tối đa
MaxSellQuantityintKhối lượng bán tối đa
MarginRatio*stringTỷ lệ margin. nil với tài khoản phái sinh
PurchasingPower*intSức mua. nil với tài khoản phái sinh. Method cũ PurchasePower() đã deprecated và trả về string

Order options

PlaceOrder và các hàm Place*Order nhận opts ...trading.OrderOption; trading.WithClientRequestID(id) đặt idempotency key của riêng bạn (tối đa 20 ký tự). Các method đặt và huỷ FCO nhận opts ...trading.FCOOption; trading.WithOTPCode(code) truyền mã dùng một lần khi tài khoản yêu cầu (tuỳ chọn).

Batch Orders

Các kiểu dùng bởi PlaceBatchOrders / CancelBatchOrders và các method batch của Trading WebSocket. Method, hành vi và ví dụ: Batch Orders.

BatchPlaceOrderItem (một lệnh cần đặt)

Các field tương ứng với tham số của PlaceOrder.

FieldKiểuMô tả
AccountNostringSố tài khoản (bắt buộc)
SymbolstringMã chứng khoán (bắt buộc)
Sidetrading.OrderSidetrading.OrderSideBuy ("B") hoặc trading.OrderSideSell ("S")
QuantityintKhối lượng, phải lớn hơn 0
Pricefloat64Giá (VND). Phải lớn hơn 0 với LO và PLO; các loại lệnh khác là lệnh giá thị trường
OrderTypetrading.OrderTypeATO, ATC, LO, MTL, MP, MOK, MAK, PLO
ClientRequestIDstringIdempotency key của lệnh, tối đa 20 ký tự. Nếu để trống, SDK tự sinh

BatchCancelOrderItem (một lệnh cần huỷ)

FieldKiểuMô tả
AccountNostringSố tài khoản (bắt buộc)
OrderIDstringOrder ID do server cấp
ClientRequestIDstringClientRequestID bạn đã dùng khi đặt lệnh

Mỗi item huỷ cần đúng một trong hai: OrderID hoặc ClientRequestID. Nếu có cả hai hoặc không có cái nào, SDK trả *ValidationError.

BatchOrderResponse

FieldKiểuMô tả
BatchRequestIDstringID của batch, đúng như server trả về
Results[]BatchOrderResultMột kết quả cho mỗi lệnh. Comment trong code SDK ghi "in request order"; điều này chưa được server xác nhận, nên hãy đối chiếu kết quả theo ClientRequestID / OrderID nếu cần chắc chắn

Nếu server không gửi results, hoặc results không phải danh sách, Results là slice rỗng.

BatchOrderResult

FieldKiểuMô tả
ClientRequestIDstringIdempotency key của lệnh
OrderIDstringOrder ID do server cấp
Statustrading.OrderStatusTrạng thái lệnh (giá trị lạ được giữ nguyên dạng chuỗi)
Successbooltrue nếu lệnh này được chấp nhận
ErrorCodestringMã lỗi chỉ của lệnh này (khi Success == false)
ErrorMessagestringThông báo lỗi chỉ của lệnh này
ClientCancelIDstringCancel ID (clientCancelId) do server trả về, thường thấy trong kết quả của CancelBatchOrders

BatchOrderRequest (body gửi đi)

Do SDK dựng, thường bạn không tự tạo. Gồm BatchRequestID (chuỗi ngẫu nhiên), BatchRequestTime (int64, epoch mili giây) và Orders. Body JSON là {"batchRequestId", "batchRequestTime", "orders": [...]} và được ký toàn bộ.

Lệnh điều kiện (FCO)

FCOPlaceResponse

Kết quả đặt lệnh điều kiện — FCOID string

FCOCancelResponse

Kết quả huỷ lệnh điều kiện — FCOID string

FCOListResponse

Danh sách lệnh điều kiện (phân trang).

FieldKiểuMô tả
PageIndexintTrang hiện tại
PageSizeintKích thước trang
ItemsCountintTổng số bản ghi
PagesCountintTổng số trang. Có thể bỏ sót trang cuối chưa đầy: hãy phân trang đến khi gặp trang rỗng, hoặc tính từ ItemsCount
FCOList[]*FCOInfoDanh sách lệnh FCO

FCOInfo

Thông tin chi tiết một lệnh điều kiện.

FieldKiểuMô tả
FCOIDstringMã lệnh FCO
ClientIDstringUsername / Client ID
AccountNostringSố tài khoản
QuantityintKhối lượng đặt
PricestringGiá đặt
PriceSlip*float64Độ trượt giá
SymbolstringMã chứng khoán
TypeFCOTypeLoại lệnh điều kiện
FromDatestringNgày bắt đầu hiệu lực
ToDatestringNgày kết thúc hiệu lực
MatchedQuantityintKhối lượng đã khớp
IsPlaceOrderboolĐã đẩy lệnh vào sổ hay chưa
StatusFCOStatusTrạng thái lệnh FCO
DetailstringChi tiết trạng thái
Params*FCOParamsTham số kích hoạt. nil khi server không gửi
OrderTypeOrderTypeLoại lệnh con

FCOParams

Tham số kích hoạt của lệnh điều kiện.

FieldKiểuMô tả
StopPrice*float64Giá dừng / giá kích hoạt
SideOrderSideChiều lệnh (Mua/Bán)
ActivePrice*float64Giá kích hoạt (Trailing Stop)
TrailingAmount*float64Khoảng bám sát (Trailing Amount)
TPActivePrice*float64Giá kích hoạt chốt lời (Take Profit)
SLActivePrice*float64Giá kích hoạt cắt lỗ (Stop Loss)
TPPricestringGiá chốt lời
SLPricestringGiá cắt lỗ
TPSlip*float64Trượt giá chốt lời
SLSlip*float64Trượt giá cắt lỗ
OperatorFCOOperatorToán tử so sánh kích hoạt (server có thể gửi số 0-4; xem ParseFCOOperator)

FCOStatusHistoryItem

Trả về bởi GetFcoStatusHistory(fcoID) dưới dạng []FCOStatusHistoryItem. Lịch sử rỗng (HTTP 204) cho ra danh sách rỗng.

FieldKiểuMô tả
StatestringTrạng thái
TimestringThời điểm chuyển trạng thái
Code*stringMã, nil nếu server không gửi
DetailstringChi tiết

FCOOrderBookResponse

Nhật ký khớp lệnh FCO (phân trang).

FieldKiểuMô tả
PageIndexintTrang hiện tại
PageSizeintKích thước trang
ItemsCountintTổng số bản ghi
PagesCountintTổng số trang
OrderBook[]*FCOOrderDanh sách nhật ký lệnh FCO

FCOOrder

Nhật ký giao dịch / thực thi của lệnh FCO.

FieldKiểuMô tả
FCOIDstringMã lệnh FCO gốc
AccountNostringSố tài khoản
QuantityintKhối lượng
PricestringGiá đặt
SymbolstringMã chứng khoán
SideOrderSideChiều lệnh
OrderTypeOrderTypeLoại lệnh con
IsMainOrderboolLà lệnh chính
IsAttachedOrderboolLà lệnh kèm theo
CreatedTime / UpdatedTimestringThời gian tạo / cập nhật
UniqueIDstringID duy nhất
OrderIDstringMã lệnh trên sàn
MatchedQuantityintKhối lượng đã khớp
OSQuantityintKhối lượng chờ khớp
AvgPricefloat64Giá khớp trung bình
StatusOrderStatusTrạng thái lệnh con
DetailstringChi tiết
TypeFCOTypeLoại lệnh điều kiện

Message Streaming

Nhận qua SetOnData / SetOnTrading, hoặc qua các handler theo kiểu (SetOnOrder, SetOnIndexSummary, ...). Xem Streaming.

TradeMessage

Type, TradingTime, Symbol, Price, Quantity, Side (string, "U" khi server không gửi), TotalVolume, và các field con trỏ Open, High, Low, Avg (*float64, nil khi không gửi).

QuoteMessage

Type, TradingTime, Symbol, BidPrices, BidVolumes, AskPrices, AskVolumes

ForeignRoomMessage

Type, TradingTime, Symbol, TotalRoom, CurrentRoom, BuyQuantity, BuyValue, SellQuantity, SellValue

PutMessage

Type, TradingTime, Symbol, Price (float64), Quantity, TotalQuantity, TotalValue (int)

OddLotMessage

Type, TradingTime, Symbol, Price, Quantity, BidPrices, BidVolumes, AskPrices, AskVolumes

MarketStatusMessage

Market, Status, TradingDate

MarketDataMessage

Dữ liệu tham chiếu / trần / sàn từ topic market.<symbol> (SubscribeMarket, alias SubscribeMasterData).

Symbol, Board, TradingTime, và các field con trỏ Ceiling, Floor, RefPrice (*float64).

OrderStatusMessage

Sự kiện trạng thái lệnh (order.<account>, eventType orderEvent).

FieldKiểu
Type, AccountNo, ClientRequestID, OrderID, Symbolstring / id có kiểu
Side, OrderType, Statuscó kiểu (trading.OrderSide, OrderType, OrderStatus)
Pricefloat64
PriceText, AvgPriceTextstring
AvgPricefloat64
Quantity, OSQuantity, FilledQuantity, CancelQuantitysố
InputTime, ModifiedTime, Messagestring
RejectReason, ErrorCode, ErrorMessagestring
SystemRequestID, NotifyID, ConnectionIDstring

Chú ý đúng tên: OSQuantity (không phải OsQuantity) và ModifiedTime (không phải ModifyTime).

OrderMatchMessage

Sự kiện khớp lệnh (eventType orderMatchEvent; handler SetOnOrderMatch).

Type, NotifyID, ConnectionID, ClientRequestID, OrderID, Symbol, Side, AccountNo, MatchPrice (float64), MatchPriceText, MatchQty (int), MatchTime

PortfolioMessage

Cập nhật vị thế, chỉ cho tài khoản phái sinh (eventType clientPortfolioEvent; handler SetOnPortfolio).

FieldKiểuMô tả
Type, AccountNo, Symbol, PositionTypestringĐịnh danh
LongQty, ShortQty, Net, BidAvgPrice, AskAvgPrice, TradePrice, MarketPrice, FloatingPL, TradingPL*float64Giá trị vị thế, nil khi không gửi
TotalAsset, CashBalance, StockValue*float64Luôn là nil: server không bao giờ gửi. Đừng dựa vào chúng

FCOOrderUpdateMessage

Cập nhật realtime trạng thái lệnh điều kiện FCO (nhận qua SetOnTrading hoặc SetOnOrder, khi EventType == "fcoEvent").

FieldKiểuMô tả
FCOIDstringMã lệnh FCO
ProcessStatusFCOStatusTrạng thái xử lý lệnh FCO (INIT, WAIT, WC, TER, ...)
MatchedQuantityintKhối lượng đã khớp
IsPlaceOrderboolĐã đẩy lệnh vào sổ hay chưa
SymbolstringMã chứng khoán
QuantityintKhối lượng đặt
PricestringGiá đặt
AccountNostringSố tài khoản
UpdatedTimestringThời gian cập nhật
StatusstringMã trạng thái
MessagestringThông báo chi tiết
UsernamestringUsername đặt lệnh
EventTypestringLoại sự kiện ("fcoEvent")
Typetrading.FCOTypeLoại lệnh điều kiện (GTD, Stop, ...). Field tên là Type, không phải FCOType

IntervalMessage

Nến cho trade.<symbol>@1m|@5m và trade.index.<code>@1m|@5m.

FieldKiểuMô tả
Typestream.DataTypetrade
IntervalTimestringThời điểm bắt đầu nến (key st)
TradingTimestringThời gian giao dịch (key t)
SymbolstringMã
Openfloat64Giá mở
Highfloat64Giá cao
Lowfloat64Giá thấp
Closefloat64Giá đóng
VolumeintKhối lượng

IndexTickMessage

Tick của chính chỉ số (trade.index.<CODE>, cũng có hậu tố @tick). Xem index subscriptions.

Chưa xác minh. Server chỉ gửi key viết tắt; ý nghĩa từng field do SDK suy ra từ chữ viết tắt, chưa được tài liệu của server xác nhận. Nếu cần chắc chắn, hãy đọc Raw (bản sao của object gốc).

FieldKiểuKey nguồnGhi chú (suy ra)
Typestream.DataType—Luôn là trade
SymbolstringsMã chỉ số
BoardstringbSàn
StatusstringssTrạng thái
TradingTimestringtThời gian giao dịch
Value*float64vGiá trị chỉ số
Change*float64cThay đổi
ChangePercent*float64crThay đổi (%)
Advances / Declines / NoChange*float64adv / dec / ncSố mã tăng / giảm / không đổi
Ceilings / Floors*float64ce / flSố mã trần / sàn
TotalMatchValue / TotalMatchQuantity*float64tmv / tmqTổng giá trị / khối lượng khớp
TotalPutValue / TotalPutQuantity*float64tvp / tqpTổng giá trị / khối lượng thoả thuận
TotalQuantity / TotalValue*float64tq / tvTổng khối lượng / giá trị
Rawmap[string]interface{}—Object gốc server đã gửi

IndexSummaryMessage

Tổng hợp chỉ số (indexsummary.<CODE>; handler SetOnIndexSummary).

Field / methodKiểuMô tả
IndexstringMã chỉ số, lấy từ topic, viết hoa
Datamap[string]interface{}Nội dung server gửi, giữ nguyên. Tài liệu công khai không liệt kê các field, nên SDK không đoán
Get(keys ...string)interface{}Trả giá trị của key đầu tiên có trong Data, hoặc nil

MarketFlagMessage

Cờ phiên (market.flag; handler SetOnMarketFlag).

FieldKiểuMô tả
BoardstringHOSE, HNX, UPCOM hoặc DER (phái sinh), đúng như server gửi
TradingTimestringThời gian
FlagstringCờ phiên (ATO, LO, ATC...)

HeartbeatMessage

Method, Channel, Status, Message

ConnectionEvent

Package transport. Truyền vào SetOnConnection.

FieldKiểuMô tả
Statestring"connected", "reconnected", "disconnected" hoặc "failed"
ReconnectCountintSố lần kết nối được thiết lập lại
ErrerrorLý do, nếu có

Model Trading WebSocket

Xem Trading WebSocket. Các lệnh đặt order, đặt và huỷ FCO dùng lại kiểu REST (PlaceOrderResponse, ModifyOrderResponse, CancelOrderResponse, FCOPlaceResponse, FCOCancelResponse, BatchPlaceOrderItem, BatchCancelOrderItem).

tradingws.Response

Trả về bởi các method batch, list và query.

FieldKiểuMô tả
IDstringId của lệnh
MethodstringTên method, ví dụ query.orderBook
StatusintStatus của frame
Resultinterface{}Kết quả, thường là map[string]interface{}
RateLimitmap[string]interface{}Hạn mức server báo (remaining, resetMs, ...)
ReceivedTimeinterface{}Giá trị key receivedTime của frame, nếu có

tradingws.OrderBookQuery

FieldKiểuMô tả
AccountNostringSố tài khoản
FromDate / ToDatestringĐịnh dạng YYYY/MM/DD, ToDate không nhỏ hơn FromDate
SymbolstringMã chứng khoán
OrderStatustrading.OrderStatusLọc theo trạng thái
PageIndexintTrang, bắt đầu từ 1
PageSizeintKích thước trang

Field rỗng hoặc bằng 0 sẽ bị bỏ khỏi request.

Event từ socket đến Client().SetOnEvent(...) dưới dạng frame map[string]interface{} có channel, topic và data (data.eventType: orderEvent, orderMatchEvent, clientPortfolioEvent).

Wrapper Types

AccountBalance

FieldKiểuMô tả
Equity*EquityAccountBalanceSố dư tài khoản cổ phiếu
Derivative*DerivativeAccountBalanceSố dư tài khoản phái sinh

Position

FieldKiểuMô tả
Equity[]EquityPositionDanh sách vị thế cổ phiếu
Derivative*AllDerivativePositionTất cả vị thế phái sinh

AllDerivativePosition

FieldKiểuMô tả
OpenPositions[]DerivativePositionVị thế đang mở
ClosedPositions[]DerivativePositionVị thế đã đóng
AccountNostringSố tài khoản

PPMMR

FieldKiểuMô tả
Equity*EquityPPMMRPPMMR cổ phiếu
Derivative*DerivativePPMMRPPMMR phái sinh

Trên trang này