Models
TypeScript interfaces and streaming message types in Node.js SDK
Models are TypeScript interfaces (Token and OTPResponse are classes). Import from the main package.
Module Structure
@ssi.developer/ssi-sdk
├── Auth, Data, Trading, Stream (client classes)
├── Config (configuration)
├── models/
│ ├── auth → Token, OTPResponse
│ ├── account → Account
│ ├── marketData → OHLCData, MarketIndexes, MarketIndexSummary, SecuritiesInfo, SecuritiesSummary, MasterData,
│ │ CorporateAction
│ ├── trading → PlaceOrderResponse, ModifyOrderResponse, CancelOrderResponse, MaxBuySellResponse,
│ │ BatchPlaceOrderItem, BatchCancelOrderItem, BatchOrderResponse, BatchOrderResult
│ ├── portfolio → EquityAccountBalance, DerivativeAccountBalance, EquityPosition, DerivativePosition,
│ │ AllDerivativePosition, Order
│ ├── streaming → DataMessage, TradingMessage, HeartbeatMessage, IndexTickMessage, IntervalMessage,
│ │ IndexSummaryMessage, FCOOrderUpdateMessage, ...
│ └── fco → FCOInfo, FCOParams, FCOListResponse, FCOOrder, FCOOrderBookResponse, FCOPlaceResponse,
│ FCOCancelResponse, FCOStatusHistoryItem
├── enums/ → OrderSide, OrderType, Board, Timeframe, FCOType, FCOOperator, FCOStatus, ...
├── exceptions → SSIError, APIError, AuthenticationError, ...
└── Trading WebSocket
→ asyncTradingWs, tradingWs, TradingWSClient, TradingWSService, MUTATING_METHODS,
TradingWSResponse, FcoParamsKind, FcoListOptions, OrderBookQueryThe feature groups below all point back to API Services, which describes how to use them:
- Batch Orders:
BatchPlaceOrderItem,BatchCancelOrderItem,BatchOrderResponse,BatchOrderResult. - Real-time Index Data:
IndexTickMessage,IntervalMessage,IndexSummaryMessage. - Trading WebSocket:
TradingWSResponse,FcoParamsKind,FcoListOptionsandOrderBookQuery.
Authentication
Token
| Field | Type | Description |
|---|---|---|
accessToken | string | Access token |
tokenType | string | Token type (default "Bearer") |
expiresAt | number | When the access token expires, epoch seconds (0 = unknown, treated as expired) |
refreshToken | string | Refresh token |
refreshExpiresAt | number | When the refresh token expires, epoch seconds. Formerly named refreshTokenExpiresAt |
Besides the fields, Token has:
| Member | Type | Description |
|---|---|---|
effectiveExpiresAt | number (getter) | Epoch seconds after which this token set cannot be used without a new OTP: the earlier of the two expiries, ignoring an unknown one. 0 when both are unknown |
canRefresh | boolean (getter) | A refresh token is present and not (about to be) expired. If the refresh expiry is unknown it still returns true, and the server rejects the token if it is dead |
toDict() | Record<string, unknown> | The raw token values (use it only when you really need to persist them) |
toString(), console.log and JSON.stringify of a Token mask accessToken and refreshToken. Only toDict() returns the real values, so do not log its result.
OTPResponse
Result of requestOtpTyped() (see Client Classes). OTPResponse is also a class and masks transactionId under JSON.stringify.
| Field | Type | Description |
|---|---|---|
message | string | Server message ("" if none) |
transactionId | string? | Only present for Smart OTP (push approval). SMS/e-mail OTP responses carry just message |
Account
Account
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
accountType | AccountType | string | number | undefined | Account type. An AccountType when the SDK knows it, the raw value when it does not, undefined when the server omits it |
Market Data
OHLCData
| Field | Type | Description |
|---|---|---|
symbol | string | Security symbol |
tradingDate | string | Trading date |
openPrice | number | Open price |
highPrice | number | High price |
lowPrice | number | Low price |
closePrice | number | Close price |
volume | number | Volume |
value | number | Trade value |
MarketIndexes
| Field | Type | Description |
|---|---|---|
index | string | Index code |
indexName | string | Index name |
board | Board | string | undefined | Board. A Board when the SDK knows it, the raw string when it does not |
boardRaw | string? | The board exactly as the server sent it |
MarketIndexSummary
| Field | Type | Description |
|---|---|---|
tradingDate | string | Trading date |
indexValue | number | Index value |
indexChange | number | Change |
indexChangePercent | number | Change (%) |
totalTrade | number | Total trade volume |
totalTradeValue | number | Total trade value |
totalAdvanceStock | number | Advancing stocks |
totalDeclineStock | number | Declining stocks |
totalSteadyStock | number | Unchanged stocks |
totalMatch | number | Total matched volume |
totalMatchValue | number | Total matched value |
totalDeal | number | Total deal volume |
totalDealValue | number | Total deal value |
totalCeilingStock | number | Ceiling stocks |
totalFloorStock | number | Floor stocks |
totalPropBuy | number | Total proprietary buy volume |
totalPropBuyValue | number | Total proprietary buy value |
totalPropSell | number | Total proprietary sell volume |
totalPropSellValue | number | Total proprietary sell value |
totalBuyForeign | number? | Foreign buy volume |
totalBuyForeignValue | number? | Foreign buy value |
totalSellForeign | number? | Foreign sell volume |
totalSellForeignValue | number? | Foreign sell value |
netPurchasesForeignVolume | number? | Net foreign purchase volume |
netPurchasesForeignValue | number? | Net foreign purchase value |
The foreign fields are undefined when the server omits them.
SecuritiesInfo
A numeric field that the server omits or leaves empty is undefined (not 0). An empty string also becomes undefined.
| Field | Type | Description |
|---|---|---|
symbol | string | Security symbol |
board | Board | string? | Board |
index | string? | Index |
symbolNameVi | string? | Vietnamese name |
symbolNameEn | string? | English name |
lotSize | number? | Trading lot size |
listedShares | number? | Listed shares |
icbCode | string? | ICB code |
icbName | string? | ICB name |
maturityDate | string? | Maturity date |
firstTradingDate | string? | First trading date |
lastTradingDate | string? | Last trading date |
cwUnderlyingSymbol | string? | CW underlying symbol |
cwExercisePrice | number? | CW exercise price |
cwExecutionRatio | number? | CW execution ratio |
iIndex | number? | I index |
iNav | number? | iNAV value |
openInterest | number? | Open interest (OI) |
settlementPrice | number? | Settlement price |
stockType | string? | Security type code |
SecuritiesSummary
| Field | Type | Description |
|---|---|---|
symbol | string | Security symbol |
tradingDate | string | Trading date |
priceChange | number | Price change |
priceChangePercent | number | Price change (%) |
openPrice | number | Open price |
highPrice | number | High price |
lowPrice | number | Low price |
closePrice | number | Close price |
totalMatch | number | Total matched volume |
totalMatchValue | number | Total matched value |
averagePrice | number | Average price |
totalBuy | number | Total buy volume |
totalTradeBuy | number | Total buy value |
totalSell | number | Total sell volume |
totalTradeSell | number | Total sell value |
totalForeignBuy | number | Foreign buy volume |
totalForeignBuyValue | number | Foreign buy value |
totalForeignSell | number | Foreign sell volume |
totalForeignSellValue | number | Foreign sell value |
remainForeignRoom | number | Remaining foreign room |
totalForeignRoom | number | Total foreign room |
totalDeal | number | Total deal volume |
totalDealValue | number | Total deal value |
openInterest | number | Open interest (OI) |
settlementPrice | number | Settlement price |
ceiling / floor / refPrice | number? | Ceiling / floor / reference price. securitiesSummary does not send these, so they are always undefined: use getMasterData() (see MasterData) |
MasterData
Ceiling, floor and reference price of a symbol, from getMasterData() (see API Services, section 3.6).
| Field | Type | Description |
|---|---|---|
board | Board | string? | Board |
symbol | string | Security symbol |
tradingDate | string | Trading date |
ceiling | number | Ceiling price |
floor | number | Floor price |
refPrice | number | Reference price |
CorporateAction
One corporate action (dividend, bonus shares, rights issue, ...) of a security, from getCorporateActions() and getCorporateActionsHistorical() (see API Services, section 3.7). Every field is the string the server sends: dates stay YYYY/MM/DD text and ratio is not parsed, because its meaning depends on the event type. A field the server leaves blank (for example a newly announced event with no ex-right date or ratio yet) is "".
| Field | Type | Description |
|---|---|---|
symbol | string | Security symbol |
eventTitle | string | Event title |
exrightDate | string | Ex-right date |
recordDate | string | Record date |
issueDate | string | Issue date |
exchange | string | Exchange code, e.g. "HOSE" |
ratio | string | Event ratio as text, e.g. "0.9388" |
Portfolio
EquityAccountBalance
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
accountBalance | number | Account balance |
totalDebt | number | Total debt |
interestLoan | number | Loan interest |
overdueFeeLoan | number | Overdue fee |
withdrawable | number | Withdrawable amount |
onHoldCash | number | On-hold cash |
sellUnmatched | number | Sell unmatched |
sellT0 | number | Sell T+0 |
sellT1 | number | Sell T+1 |
sellT2 | number | Sell T+2 |
buyUnmatched | number | Buy unmatched |
buyT0 | number | Buy T+0 |
buyT1 | number | Buy T+1 |
buyT2 | number | Buy T+2 |
advanceCashT0 | number | Advance cash T+0 |
advanceCashT1 | number | Advance cash T+1 |
holdSubscription | number | Hold subscription |
dividend | number | Dividend |
DerivativeAccountBalance
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
accountBalance | number | Account balance |
fee | number | Fee |
commission | number | Commission |
interest | number | Interest |
extInterest | number | Extended interest |
loan | number | Loan |
deliveryAmount | number | Delivery amount |
floatingPl | number | Unrealized P/L |
tradingPl | number | Trading P/L |
totalPl | number | Total P/L |
withdrawable | number | Withdrawable |
cashSsi | number | Cash at SSI |
validNonCashSsi | number | Valid non-cash at SSI |
withdrawableSsi | number | Withdrawable at SSI |
cashVsdc | number | Cash at VSDC |
validNonCashVsdc | number | Valid non-cash at VSDC |
withdrawableVsdc | number | Withdrawable at VSDC |
cashWithdrawableSsi and cashWithdrawableVsdc can still be read but are deprecated: use withdrawableSsi and withdrawableVsdc.
EquityPosition
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
symbol | string | Security symbol |
quantity | number | Total quantity |
sellableQuantity | number | Sellable quantity |
costPrice | number | Cost price |
buyingQuantity | number | Buying quantity |
sellingQuantity | number | Selling quantity |
mortgageQuantity | number | Mortgage quantity |
blockQuantity | number | Blocked quantity |
dividendQuantity | number | Dividend quantity |
boughtQuantity | number | Bought quantity |
soldQuantity | number | Sold quantity |
t1SellQuantity | number | T+1 sell quantity |
t2SellQuantity | number | T+2 sell quantity |
t1BuyQuantity | number | T+1 buy quantity |
t2BuyQuantity | number | T+2 buy quantity |
restrictedQuantity | number | Restricted quantity |
DerivativePosition
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
symbol | string | Contract symbol |
long / short / net | number | Long / Short / Net position (net may be negative) |
bidAvgPrice / askAvgPrice | number | Avg bid / ask price |
floatingPl / tradingPl | number | P/L |
tradePrice | number | Trade price |
AllDerivativePosition
Derivative positions of one account, split into open and closed. It lives in Position.derivative; Position.equity is an EquityPosition[]. Both are undefined when the account has no such section (see how the positions methods return undefined in API Services).
| Field | Type | Description |
|---|---|---|
openPositions | DerivativePosition[] | Open positions |
closedPositions | DerivativePosition[] | Closed positions |
accountNo | string | Account number |
Order
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
clientRequestId | string | Client request ID (at most 20 characters) |
orderId | string | Order ID |
symbol | string | Security symbol |
side | OrderSide | string | undefined | Buy/Sell. The raw string if the SDK does not know it |
orderType | OrderType | string | undefined | Order type |
price | number | OrderType | string | Order price. A market-priced order carries a word such as "ATO" |
avgPrice | number | Avg fill price |
quantity | number | Order quantity |
osQuantity | number? | Outstanding quantity. The REST order book does not send it, so it is undefined there |
filledQuantity | number | Filled quantity |
cancelQuantity | number | Cancelled quantity |
status | OrderStatus | string | undefined | Order status |
inputTime / modifyTime | string | Input / Modify time (yyyy/MM/dd HH:mm:ss) |
message | string | Server message (the reason, for a rejected order) |
Trading Responses
PlaceOrderResponse
orderId, clientRequestId, status
ModifyOrderResponse
clientModifyId, orderId, clientRequestId, status
CancelOrderResponse
clientCancelId, orderId, clientRequestId, status
MaxBuySellResponse
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
symbol | string | Security symbol (upper-cased) |
maxBuyQuantity | number | Maximum buy quantity |
maxSellQuantity | number | Maximum sell quantity |
marginRatio | string? | Margin ratio, kept as the string the server sent |
purchasingPower | number? | Purchasing power |
Derivative accounts get only the two quantities. For them marginRatio and purchasingPower are undefined, which is not the same as 0. purchasePower (a string, "" when absent) can still be read but is deprecated: use purchasingPower.
Batch Orders
Types for placeBatchOrders and cancelBatchOrders. Usage, signing, idempotency and retry are in API Services, section 5.6. For the batch size limit see Configuration, and for errors see Error Handling.
BatchPlaceOrderItem
One order of placeBatchOrders, with the same arguments as placeOrder.
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
symbol | string | Security symbol |
side | OrderSide | Buy/Sell |
quantity | number | Quantity |
price | PriceLike | null? | Price (number or a decimal string). May be omitted for market-priced types (ATO/ATC/MP...) |
orderType | OrderType | Order type |
clientRequestId | string? | Idempotency key, at most 20 characters. Generated by the SDK when omitted |
BatchCancelOrderItem
One order of cancelBatchOrders: accountNo plus exactly one of the two ids.
| Field | Type | Description |
|---|---|---|
accountNo | string | Account number |
orderId | string? | Order ID to cancel |
clientRequestId | string? | Client request ID of the order to cancel |
BatchOrderResponse
| Field | Type | Description |
|---|---|---|
batchRequestId | string | Batch id (generated by the SDK) |
results | BatchOrderResult[] | One result per order, in request order. A missing or non-array value is an empty list |
BatchOrderResult
| Field | Type | Description |
|---|---|---|
clientRequestId | string | Client request ID of the order |
orderId | string | Order ID ("" if none) |
status | OrderStatus | string | Order status |
success | boolean | Whether this order was accepted |
errorCode | string | Error code ("" if none) |
errorMessage | string | Error message ("" if none) |
clientCancelId | string | Cancel id ("" if none) |
Not confirmed
How the response really behaves when only some orders of a batch fail has not been confirmed from source. According to the SDK's description the server accepts or rejects the whole batch, yet the response always carries one BatchOrderResult per order. Walk results and check success, errorCode and errorMessage for each order instead of treating the whole batch as successful. The batch size limit is also not reconciled (SDK default 20, API reference states a maximum of 50): see Configuration.
Conditional Orders (FCO)
FCOPlaceResponse
Result of placing a conditional order — fcoId
FCOCancelResponse
Result of cancelling a conditional order — fcoId
FCOListResponse
List of conditional orders (paginated).
| Field | Type | Description |
|---|---|---|
pageIndex | number | Current page |
pageSize | number | Page size |
itemsCount | number | Total records |
pagesCount | number | Total pages |
fcoList | FCOInfo[] | List of FCO orders |
FCOInfo
Detailed information of a conditional order.
| Field | Type | Description |
|---|---|---|
fcoId | string | FCO order ID |
clientId | string | Username / Client ID |
accountNo | string | Account number |
quantity | number | Order quantity |
price | string | Order price, or a word such as "MP" for market-priced orders |
priceSlip | number? | Price slippage |
symbol | string | Security symbol |
type | FCOType? | Conditional order type |
orderType | OrderType | string? | Order type placed when the condition triggers |
fromDate | string | Effective start date |
toDate | string | Effective end date |
matchedQuantity | number | Matched quantity |
isPlaceOrder | boolean | Whether the order has been placed into the order book |
status | FCOStatus? | FCO order status |
detail | string | Status detail |
params | FCOParams? | Trigger parameters of the FCO order |
FCOParams
Trigger parameters of a conditional order.
| Field | Type | Description |
|---|---|---|
stopPrice | number? | Stop / trigger price |
side | OrderSide? | Order side (Buy/Sell) |
activePrice | number? | Trigger price (Trailing Stop) |
trailingAmount | number? | Trailing amount |
tpActivePrice | number? | Take Profit trigger price |
slActivePrice | number? | Stop Loss trigger price |
tpPrice | string? | Take profit price |
slPrice | string? | Stop loss price |
tpSlip | number? | Take profit slippage |
slSlip | number? | Stop loss slippage |
operator | FCOOperator? | Trigger comparison operator |
FCOOrderBookResponse
Execution log of an FCO order (paginated).
| Field | Type | Description |
|---|---|---|
pageIndex | number | Current page |
pageSize | number | Page size |
itemsCount | number | Total records |
pagesCount | number | Total pages |
orderBook | FCOOrder[] | List of FCO order book entries |
FCOOrder
A trade / execution entry of an FCO order.
| Field | Type | Description |
|---|---|---|
fcoId | string | Parent FCO order ID |
accountNo | string | Account number |
quantity | number | Quantity |
price | string | Order price |
symbol | string | Security symbol |
side | OrderSide? | Order side |
orderType | OrderType? | Child order type |
isMainOrder | boolean | Is the main order |
isAttachedOrder | boolean | Is an attached order |
createdTime / updatedTime | string | Created / updated time |
uniqueId | string | Unique ID |
orderId | string | Exchange order ID |
matchedQuantity | number | Matched quantity |
osQuantity | number | Outstanding quantity |
avgPrice | number | Average matched price |
status | OrderStatus? | Child order status |
detail | string | Detail |
FCOStatusHistoryItem
One status transition of an FCO order, returned by getFcoStatusHistory(fcoId) (see API Services, section 5.5). An empty list when the server returns 204.
| Field | Type | Description |
|---|---|---|
state | string | State |
time | string | When the transition happened |
code | string? | Code (if the server sent one) |
detail | string | Detail |
Streaming Messages
DataMessage
Market data received via the onData callback. DataMessage is a union of the types below (a frame whose topic the SDK has no model for arrives as a raw object):
TradeMessage— trades of one symbol (type: 'trade')IndexTickMessage— tick of the index itself (see below)IntervalMessage— 1-minute / 5-minute candle (see below)QuoteMessage— bid/ask (type: 'quote')ForeignRoomMessage— foreign room (type: 'room')MarketFlagMessage— market session flag (ATO, LO, ATC...), topicmarket.flagIndexSummaryMessage— index summary (see below)MarketDataMessage— ceiling / floor / reference price of one symbol, topicmarket.<symbol>MarketStatusMessage— market status (market,status,tradingDate)PutMessage— put-through (type: 'put')OddLotMessage— odd lot (type: 'oddlot')
TradingMessage
Trading events received via the onTrading callback. TradingMessage is a union of:
OrderStatusMessage— regular order status updates (type: 'orderEvent')OrderMatchMessage— order match events (type: 'orderMatchEvent')PortfolioMessage— portfolio changes, derivative accounts only (type: 'clientPortfolioEvent')FCOOrderUpdateMessage— conditional (FCO) order status updates (eventType: 'fcoEvent')
An unknown event type arrives as a raw object.
FCOOrderUpdateMessage
Conditional (FCO) order status update (streaming, received via onTrading). This message does not carry type: 'fcoOrderEvent': recognise it by eventType (for example "fcoEvent") or by fcoId.
| Field | Type | Description |
|---|---|---|
fcoId | string | FCO order ID |
processStatus | FCOStatus? | FCO processing status (INIT, WAIT, WC, TER, ...) |
matchedQuantity | number | Matched quantity |
isPlaceOrder | boolean | Whether the order has been placed into the order book |
symbol | string | Security symbol |
quantity | number | Order quantity |
price | string | Order price |
accountNo | string | Account number |
updatedTime | string | Update time |
status | string | Status code |
message | string | Detail message / trigger or disconnect reason |
username | string | Username that placed the order |
eventType | string | Event type (e.g. "fcoEvent") |
type | FCOType | string? | Conditional order type (GTD, STOP, ...) |
HeartbeatMessage
method, channel, status, message
ConnectionEvent
Connection event passed to the Stream onConnection handler (see API Services, section 6.8). Import from the main package.
| Field | Type | Description |
|---|---|---|
state | 'connected' | 'reconnected' | 'disconnected' | 'failed' | Connection state |
reconnectCount | number | How many times it has reconnected |
error | Error? | The accompanying error, if any |
Real-time Index Data
Types for the index topics (trade.index.<code> and indexsummary.<code>). How to subscribe, and the rules for index codes and intervals, are in API Services, section 6.7. These types arrive through onData (IndexSummaryMessage can also be received through onIndexSummary).
IndexTickMessage
Tick of the index itself (not its constituent stocks), from subscribeIndexTrade.
Field meanings are not confirmed
The server sends abbreviations only. The SDK field names follow the abbreviations, but the meaning was inferred from the abbreviation and has not been confirmed on a real frame. If you need certainty, check against raw (the original data object) before using a field in critical logic.
| Field | Type | Source key | Description (inferred from the abbreviation) |
|---|---|---|---|
type | DataType | Message type ('trade') | |
symbol | string | s | Index code, for example "VN30" |
board | string | b | Board |
status | string | ss | Status |
tradingTime | string | t | Trading time |
value | number? | v | Index value |
change | number? | c | Change |
changePercent | number? | cr | Change (%) |
advances | number? | adv | Advancing stocks |
declines | number? | dec | Declining stocks |
noChange | number? | nc | Unchanged stocks |
ceilings | number? | ce | Ceiling stocks |
floors | number? | fl | Floor stocks |
totalMatchValue | number? | tmv | Total matched value |
totalMatchQuantity | number? | tmq | Total matched volume |
totalPutValue | number? | tvp | Total put-through value |
totalPutQuantity | number? | tqp | Total put-through volume |
totalQuantity | number? | tq | Total volume |
totalValue | number? | tv | Total value |
raw | Record<string, unknown> | The frame's data object, untouched |
A numeric field is undefined (not 0) when the server does not send it. Among the DataMessage types only IndexTickMessage has a raw field, so 'raw' in msg is a simple way to recognise it (see the example in section 6.7).
IntervalMessage
1-minute / 5-minute candle, received when you subscribe with an interval of 1m or 5m.
| Field | Type | Source key | Description |
|---|---|---|---|
type | DataType | Message type ('trade') | |
intervalTime | string | st | Start time of the candle |
tradingTime | string | t | Trading time |
symbol | string | s | Security symbol or index code |
open | number | o | Open price |
high | number | h | High price |
low | number | l | Low price |
close | number | c | Close price |
volume | number | v | Volume |
IndexSummaryMessage
Summary of one index, from indexsummary.<code>.
| Field | Type | Description |
|---|---|---|
index | string | Index code taken from the topic, upper-case ("" if unknown) |
data | Record<string, unknown> | The payload the server sent, untouched |
The public API documentation does not list the fields of this payload, so the SDK guesses none and has no typed fields. Read values with indexSummaryGet(message, keys, defaultValue?): it returns the value of the first key in keys that is present in message.data, or defaultValue if none is.
import { indexSummaryGet } from '@ssi.developer/ssi-sdk';
s.onIndexSummary = (msg) => {
// 'someField' is an example: replace it with a key you see in msg.data
const value = indexSummaryGet<number>(msg, ['someField'], 0);
console.log(`${msg.index}: ${value}`);
};Trading WebSocket
The types below are imported from the main package @ssi.developer/ssi-sdk. For usage see API Services, section 7.
TradingWSResponse
Result of each command sent over the Trading WebSocket.
| Field | Type | Description |
|---|---|---|
id | string | Request id |
method | string | Command name |
status | number | Response status (defaults to 200 when the frame has none) |
result | unknown | The result body, as the server sent it |
rateLimit | Record<string, unknown> | Rate limit info the server sent along ({} if none) |
receivedTime | number? | When the server received it, if the frame carries it |
An error frame does not return a TradingWSResponse; it throws TradingWSError (see Error Handling).
FcoParamsKind, FcoListOptions, OrderBookQuery
Parameter types of the FCO and order book commands on the Trading WebSocket.
| Type | Description |
|---|---|
FcoParamsKind | A union with a kind that selects the FCO type: 'gtd', 'stop', 'trailingStop', 'oco', 'bullBear', with the matching params |
FcoListOptions | FCO list filter, all fields optional: fcoId, type, processStatus, symbol, side, fromDate, toDate, pageIndex, pageSize |
OrderBookQuery | Order book filter, all fields optional: fromDate, toDate, symbol, orderStatus, pageIndex, pageSize |