Перейти к содержимому
Справочник SDK

Типы TypeScript

Типы ответов, запросов и кадров стрима.

Decimal

type Decimal = string

Десятичное число в том виде, в каком его шлёт терминал: "67000.10" остаётся "67000.10". Никогда не преобразуйте его через Number() — для арифметики возьмите библиотеку десятичных чисел.

Timestamp

type Timestamp = number

Миллисекунды UTC от начала эпохи, целое число.

InstrumentAddress

type InstrumentAddress = string

Адрес инструмента: exchange:market:symbol, биржа строчными буквами.

Side

type Side = "buy" | "sell"

Сторона сделки.

Scope

type Scope = "market:read" | "connections:read" | "account:read" | "trading:write" | OpenString

Права токена, известные v1. Внутри v1 могут появляться новые права.

MarketTopic

type MarketTopic = "trades" | "ticker" | "mark_price" | "book.top" | "clusters"

Рыночные топики: при подписке обязателен instrument, connection_id выбирается по общему правилу.

AccountTopic

type AccountTopic = "account.orders" | "account.positions" | "account.balances" | "account.fills"

Топики счёта: при подписке обязателен connection_id, instrument не используется.

TerminalTopic

type TerminalTopic = "workspace" | "settings"

Собственные топики терминала: по одному на терминал, подписка без инструмента и подключения.

WorkspaceTopic

type WorkspaceTopic = "workspace"

Topic

type Topic = MarketTopic | AccountTopic | TerminalTopic

Топики стрима, известные v1.

ErrorCode

type ErrorCode = | "unauthorized"
  | "forbidden"
  | "forbidden_scope"
  | "not_found"
  | "invalid_request"
  | "unsupported"
  | "not_active"
  | "rate_limited"
  | "not_tradable"
  | "unavailable"
  | OpenString

Коды ошибок контракта. Внутри v1 могут появляться новые коды.

ConnectionState

type ConnectionState = "disabled" | "enabled" | "connecting" | "connected" | "failed"

status.state подключения.

OrderType

type OrderType = "limit" | "market"

Тип заявки: limit требует цену, market её не принимает.

OrderStatus

type OrderStatus = "pending" | "open" | "partially_filled"

Статус открытой заявки.

TriggerType

type TriggerType = "stop_loss" | "take_profit" | "stop"

Вид триггерной заявки.

TriggerRule

type TriggerRule = "price_above_or_equal" | "price_below_or_equal"

Когда срабатывает триггер.

TriggerStatus

type TriggerStatus = "open" | "finished" | "inactive" | "invalid"

Статус триггерной заявки.

PositionSide

type PositionSide = "long" | "short"

Сторона позиции.

TimeInForce

type TimeInForce = "gtc" | "ioc" | "fok" | "post_only"

Срок действия поставленной заявки; отсутствует — умолчание площадки.

ErrorEnvelope

Конверт ошибки, который несёт любой ответ не 2xx.

ПолеТипОписание
error{ code: ErrorCode; message: string; }

List

Списки оборачиваются в { data: [...] }.

ПолеТипОписание
dataT[]

Limits

Лимиты, которые печатает /v1/meta.

ПолеТипОписание
ws_connections_per_tokennumber
subscriptions_per_connectionnumber
api_only_instrumentsnumber
exchange_subscriptions_per_secondnumber
commands_per_secondнеобязательныйnumberТорговых команд в секунду на листенер. Отсутствует у терминалов старше этапа «Запись» Local API.
workspace_commands_per_secondнеобязательныйnumberКоманд рабочего пространства в секунду на листенер. Отсутствует до этапа «Окно».
settings_commands_per_secondнеобязательныйnumberЗаписей настроек в секунду на листенер. Отсутствует до этапа «Настройки».

Meta

GET /v1/meta.

ПолеТипОписание
api_versionstring"1" для этого контракта.
app_versionstring
build_hashstring
build_envstring
featuresstringВключённые фичи сборки одной строкой.
scopesScope[]Права, выданные токену, которым сделан запрос.
limitsLimits
topicsTopic[]Пусто, если терминал собран без отвода рыночных данных.

Health

GET /v1/health.

ПолеТипОписание
statusstring
uptime_msnumber
clientsnumberОткрытые соединения стрима.
streamsnumberПары, которые держит хаб.
api_only_instrumentsnumberПары, открытые только для API.
dropped_eventsnumberСобытия, которые хаб не принял из цикла рыночных данных.
dropped_framesnumberКадры, не поместившиеся в очереди клиентов.
overflow_closesnumberКлиенты, закрытые с кодом 4008.
stream_availablebooleanfalse, если в сборке нет отвода рыночных данных.

ConnectionEvent

Последняя запись истории подключения.

ПолеТипОписание
codestringКод из той же ленты, которую показывает Settings App.
tsTimestamp

ConnectionStatus

Статус подключения, выведенный из переключателя и ленты истории.

ПолеТипОписание
stateConnectionState
last_eventнеобязательныйConnectionEventОтсутствует, если у подключения нет записи истории в этой сессии.

Connection

Подключение терминала. Секретов не несёт: ни ключей, ни адреса, ни маски.

ПолеТипОписание
idnumber
exchangestringНазвание биржи строчными буквами, как в адресах инструментов.
marketstringspot, futures, …
labelstring
enabledboolean
read_onlybooleanПодключение без учётных данных, созданное терминалом для рыночных данных.
has_credentialsboolean
proxy_boundboolean
statusConnectionStatus

Instrument

Инструмент справочника биржи.

ПолеТипОписание
instrumentInstrumentAddress
exchangestring
marketstring
symbolstring
basestring
quotestring
statusstringКак сообщила биржа: active, inactive, …
tick_sizeDecimal | nullnull, если биржа его не сообщила.
lot_sizeDecimal | null
min_sizeDecimal | null
contract_valueDecimal | null

InstrumentsPage

Одна страница GET /v1/instruments.

ПолеТипОписание
exchangestring
marketstring
dataInstrument[]
next_cursorstring | nullПередаётся как cursor для следующей страницы; null на последней.

Candle

Свеча; ts — открытие бара, volume — в базовой монете.

ПолеТипОписание
tsTimestamp
openDecimal
highDecimal
lowDecimal
closeDecimal
volumeDecimal
quote_volumeDecimal
closedboolean

Candles

GET /v1/market/candles.

ПолеТипОписание
instrumentInstrumentAddress
connection_idnumber
intervalstring
dataCandle[]

Interval

Интервал, который знает терминал; duration_ms номинальный (30 дней для 1M).

ПолеТипОписание
idstring
duration_msnumber

Intervals

GET /v1/market/intervals.

ПолеТипОписание
candlesInterval[]
clustersInterval[]

Trade

Сделка. ts — когда она прошла через терминал.

ПолеТипОписание
idstring | nullБиржевой id сделки; в v1 всегда null.
priceDecimal
qtyDecimal
sideSide
tsTimestamp
exchange_tsTimestamp

Trades

GET /v1/market/trades, от старых к новым.

ПолеТипОписание
instrumentInstrumentAddress
connection_idnumber
dataTrade[]

Level

type Level = [price: Decimal, size: Decimal]

Уровень стакана как [price, size].

Ticker

Суточный тикер.

ПолеТипОписание
priceDecimal
change_24h_pctDecimal | null
volume_24hDecimal
high_24hDecimal | null
low_24hDecimal | null
best_bidDecimal | null
best_askDecimal | null
tsTimestamp

MarkPrice

Цена маркировки (mark), data события mark_price.

ПолеТипОписание
mark_priceDecimal
tsTimestamp

Snapshot

GET /v1/market/snapshot: последнее, что хаб знает о паре.

ПолеТипОписание
instrumentInstrumentAddress
connection_idnumber
tsTimestamp
best_bidLevel | nullИз стакана хаба; null, пока не пришёл снимок стакана.
best_askLevel | null
last_tradeTrade | null
mark_priceDecimal | null
tickerTicker | null

BookTop

Верхушка стакана: биды от лучшей цены вниз, аски от лучшей цены вверх.

ПолеТипОписание
tsTimestamp
depthnumber
bidsLevel[]
asksLevel[]

Orderbook

interface Orderbook extends BookTop

GET /v1/market/orderbook.

ПолеТипОписание
instrumentInstrumentAddress
connection_idnumber

ClusterLevel

Один ценовой уровень бакета кластеров.

ПолеТипОписание
priceDecimal
volumeDecimal
buy_volumeDecimal
sell_volumeDecimal
buy_tradesnumber
sell_tradesnumber

ClusterBucket

Бакет кластеров; levels идут от низшей цены к высшей.

ПолеТипОписание
intervalstring
tsTimestampНачало бакета.
end_tsTimestamp
volumeDecimal
buy_volumeDecimal
sell_volumeDecimal
tradesnumber
vwapDecimal | nullnull у бакета без сделок.
min_priceDecimal | null
max_priceDecimal | null
completedboolean
last_trade_tsTimestamp0 у бакета из истории без времени сделки.
levelsClusterLevel[]

Clusters

GET /v1/market/clusters, от старых к новым, не больше десяти бакетов.

ПолеТипОписание
instrumentInstrumentAddress
connection_idnumber
intervalstringИнтервал, выбранный для инструмента в терминале.
tsTimestamp
dataClusterBucket[]

Order

Открытая заявка подключения.

ПолеТипОписание
keystring | nullКлюч заявки в терминале (t-…); null, пока неизвестен.
exchange_idstring | nullБиржевой id заявки; null, пока неизвестен.
instrumentInstrumentAddress
sideSide
typeOrderType
priceDecimal
sizeDecimalВ базовой монете.
filledDecimal
remainingDecimal
notionalDecimal | nullСумма в валюте котировки, которую ввёл трейдер; null у заявки из снимка биржи.
statusOrderStatus
created_tsTimestamp

TriggerOrder

Триггерная заявка (стоп-лосс, тейк-профит, стоп) подключения.

ПолеТипОписание
idstring
instrumentInstrumentAddress
typeTriggerType
trigger_priceDecimal
ruleTriggerRule
sizeDecimal | null
notionalDecimal | null
statusTriggerStatus
order_typestring | nullЗаявка, которая ставится при срабатывании триггера; null, если неизвестна.
client_idstring | null
created_tsTimestamp | null

AccountOrders

GET /v1/account/orders: открытые заявки и триггерные заявки одного подключения.

ПолеТипОписание
connection_idnumber
dataOrder[]
triggersTriggerOrder[]

Position

Открытая позиция.

ПолеТипОписание
instrumentInstrumentAddress
sidePositionSide
sizeDecimalВ базовой монете; на MOEX — в лотах.
lot_sizeDecimalБазовых единиц в лоте.
entry_priceDecimal
notionalDecimalВ валюте котировки.
unrealized_pnlDecimalКак считает терминал.
mark_priceDecimal | nullMark терминала: лучший bid для лонга, лучший ask для шорта; null до первого тика стакана.

AccountPositions

GET /v1/account/positions.

ПолеТипОписание
connection_idnumber
dataPosition[]

Balance

Последний баланс одной валюты, как сообщила биржа.

ПолеТипОписание
currencystring
totalDecimal
availableDecimal | nullnull, если площадка его не сообщает.
lockedDecimal | null
tsTimestampВремя биржи, где оно есть, иначе время получения.

AccountBalances

GET /v1/account/balances: валюты, изменившиеся с момента включения API.

ПолеТипОписание
connection_idnumber
dataBalance[]

Fill

Исполнение собственной заявки подключения.

ПолеТипОписание
trade_idstring
order_idstring
instrumentInstrumentAddress
sideSide
priceDecimal
qtyDecimal
feeDecimal
fee_currencystring
position_sidePositionSide | nulllong / short на площадках с режимом хеджирования, иначе null.
tsTimestamp

AccountFills

GET /v1/account/fills, от старых к новым.

ПолеТипОписание
connection_idnumber
dataFill[]

PlaceOrderRequest

Тело POST /v1/orders, как оно уходит на провод.

ПолеТипОписание
connection_idnumber
instrumentInstrumentAddress
sideSide
typeOrderType
priceнеобязательныйDecimalОбязателен для limit, отсутствует для market.
sizeнеобязательныйDecimalКоличество в базовой монете; ровно одно из size и notional.
notionalнеобязательныйDecimalСумма в валюте котировки; ровно одно из size и notional.
reduce_onlyнеобязательныйboolean
post_onlyнеобязательныйboolean
time_in_forceнеобязательныйTimeInForce
client_keyнеобязательныйstringКлюч идемпотентности: повтор с тем же ключом возвращает прежний ответ.

InstrumentCommandRequest

Тело POST /v1/orders/cancel-all, POST /v1/orders/trigger/cancel-all и POST /v1/positions/close.

ПолеТипОписание
connection_idnumber
instrumentInstrumentAddress

PlaceTriggerRequest

Тело POST /v1/orders/trigger. stop_loss и take_profit ставятся на открытую позицию (сторона, размер и правило берутся из неё); stop несёт свои side, notional и необязательное rule.

ПолеТипОписание
connection_idnumber
instrumentInstrumentAddress
kindTriggerType
trigger_priceDecimal
sideнеобязательныйSideТолько для stop.
notionalнеобязательныйDecimalТолько для stop: сумма в валюте котировки.
ruleнеобязательныйTriggerRuleТолько для stop; без него — выше рынка для покупки, ниже для продажи.
client_keyнеобязательныйstringКлюч идемпотентности, как у POST /v1/orders.

AmendTriggerRequest

Тело PATCH /v1/orders/trigger/{id}: новая цена срабатывания.

ПолеТипОписание
connection_idnumber
instrumentInstrumentAddress
kindTriggerType
trigger_priceDecimal
sideнеобязательныйSideТолько для stop.
ruleнеобязательныйTriggerRuleТолько для stop.

LeverageMode

type LeverageMode = "manual" | "max" | "smart"

Режим плеча инструмента в терминале, а не на бирже.

MarginMode

type MarginMode = "cross" | "isolated"

Режим маржи фьючерсного инструмента.

Leverage

GET /v1/account/leverage: плечо и режим маржи одного фьючерсного инструмента из кэша терминала. Инструмент, которого терминал ещё не касался, отвечает 409 not_active.

ПолеТипОписание
connection_idnumber
instrumentInstrumentAddress
leveragenumber
max_leveragenumber
modeLeverageMode
margin_modeMarginMode

SetLeverageRequest

Тело POST /v1/account/leverage: ровно одно из leverage и mode.

ПолеТипОписание
connection_idnumber
instrumentInstrumentAddress
leverageнеобязательныйnumberЦелое число не меньше 1.
modeнеобязательный"max" | "smart"

SetMarginModeRequest

Тело POST /v1/account/margin-mode.

ПолеТипОписание
connection_idnumber
instrumentInstrumentAddress
margin_modeMarginMode

Accepted

Ответ любой торговой команды: принято терминалом, а не биржей. Подтверждение, исполнение или отказ биржи приходят через account.orders в стриме или GET /v1/account/orders.

ПолеТипОписание
acceptedboolean
operation_idstringОперация в файле операций терминала.
keystring | nullКлюч терминала, под которым заявка (t-…) или триггер (sl_…, tp_…, stop_…) появляется в account.orders; null у снятий, правок и плеча.
connection_idnumber
instrumentInstrumentAddress

CellPosition

Ячейка сетки вкладки: колонка слева направо, строка сверху вниз, ячейка внутри строки.

ПолеТипОписание
columnnumber
rownumber
cellnumber

Stack

Стек — стакан с его лентой сделок и кластерами — внутри вкладки. widget_id глобален для этого запуска терминала; instrument и connection_id равны null, пока стек empty; position равен null у стека, скрытого внутри группы стеков.

ПолеТипОписание
widget_idnumber
instrumentInstrumentAddress | null
connection_idnumber | null
emptyboolean
frozenboolean
positionCellPosition | null

Chart

График внутри вкладки; owner_widget_id — стек, за которым он следует, null у самостоятельного.

ПолеТипОписание
widget_idnumber
instrumentInstrumentAddress | null
connection_idnumber | null
intervalstringКод интервала свечей (1m, 5m, …).
owner_widget_idnumber | null
positionCellPosition | null

Tab

Вкладка окна: id нумеруется в каждом окне с 1; ровно одна вкладка окна active.

ПолеТипОписание
idnumber
namestring
activeboolean
stacksStack[]
chartsChart[]

WindowGeometry

Положение и размер окна в логических пикселях экрана.

ПолеТипОписание
xnumber
ynumber
widthnumber
heightnumber
maximizedboolean

Window

Окно терминала; main нельзя закрыть через API, chart_window — вынесенный график.

ПолеТипОписание
idnumber
mainboolean
chart_windowboolean
focusedboolean
geometryWindowGeometry
monitorstring | nullИмя монитора по данным ОС или null.
tabsTab[]

WorkspaceSnapshot

data ответа GET /v1/workspace и события workspace: все окна по возрастанию id.

ПолеТипОписание
windowsWindow[]

Workspace

GET /v1/workspace. Идентификаторы внутренние для этого запуска терминала.

ПолеТипОписание
dataWorkspaceSnapshot

WorkspaceWindow

GET /v1/workspace/windows/{id}.

ПолеТипОписание
dataWindow

OpenTarget

type OpenTarget = "new_tab" | "new_window"

Куда попадает открытие в рабочем пространстве.

OpenStackRequest

Тело POST /v1/workspace/stacks.

ПолеТипОписание
instrumentInstrumentAddress
connection_idнеобязательныйnumber
chartнеобязательныйbooleanГрафик того же инструмента над стеком.
targetнеобязательныйOpenTargetnew_tab (по умолчанию) или new_window.
window_idнеобязательныйnumberОкно для новой вкладки; без него — окно в фокусе.
activateнеобязательныйbooleanfalse открывает вкладку в фоне; новое окно всегда получает фокус.

OpenMultiviewRequest

Тело POST /v1/workspace/multiview.

ПолеТипОписание
basestringМонета (BTC) или пара (BTC/USDT).
targetнеобязательныйOpenTargetБез него решает настройка мультивью «Открывать».
window_idнеобязательныйnumber
activateнеобязательныйboolean

TabItemRequest

Одна колонка POST /v1/workspace/tabs и …/tabs/{tab}/stacks: стек и, с chart, график над ним.

ПолеТипОписание
instrumentInstrumentAddress
connection_idнеобязательныйnumber
chartнеобязательныйboolean

OpenTabRequest

Тело POST /v1/workspace/tabs: колонка на элемент, от одного до пятидесяти.

ПолеТипОписание
itemsTabItemRequest[]
nameнеобязательныйstringДо 64 символов; без него терминал называет вкладку по инструментам.
targetнеобязательныйOpenTarget
window_idнеобязательныйnumber
activateнеобязательныйboolean

AddStacksRequest

Тело POST /v1/workspace/windows/{id}/tabs/{tab}/stacks.

ПолеТипОписание
itemsTabItemRequest[]

StackInstrumentRequest

Тело PATCH /v1/workspace/stacks/{widget_id}.

ПолеТипОписание
instrumentInstrumentAddress
connection_idнеобязательныйnumber

WorkspaceOutcome

Что сделало окно по команде рабочего пространства. При открытии: окно, новая вкладка и её stacks и charts в порядке колонок. При закрытии и активации: затронутые идентификаторы, остальное — null или пусто.

ПолеТипОписание
window_idnumber | null
tab_idnumber | null
stacksnumber[]
chartsnumber[]

SettingRow

Одна строка таблицы настроек терминала, как она хранится. scope — global или order_book; scope_id — default, адрес инструмента или null у горячих клавиш; connection_id — подключение-владелец или null. value — декодированный JSON, числа как записаны. writable говорит, принимает ли PATCH /v1/settings этот ключ; кадр стрима settings такого флага не несёт.

ПолеТипОписание
scopestring
scope_idstring | null
connection_idnumber | null
categorystring
keystring
valueunknown
writableнеобязательныйboolean

Settings

GET /v1/settings: строки, как они хранятся, без лестницы умолчаний.

ПолеТипОписание
dataSettingRow[]

ResolvedFrom

type ResolvedFrom = "instrument" | "connection" | "app_instrument" | "global" | OpenString

Уровень, с которого взята настройка стека.

OrderbookSetting

Одна настройка стека с уровнем, с которого она взята.

ПолеТипОписание
valueunknown
resolved_fromResolvedFrom
writableboolean

OrderbookSettings

GET /v1/settings/orderbook: data[category][key], как их видит стек инструмента.

ПолеТипОписание
connection_idnumber
instrumentInstrumentAddress
dataRecord<string, Record<string, OrderbookSetting>>

SettingChange

Одно изменение PATCH /v1/settings. instrument адресует строку пары (область order_book); connection_id со scope: "order_book" и без инструмента адресует умолчание подключения; без обоих адресуется глобальное умолчание. Глобальные настройки подключения не принимают.

ПолеТипОписание
scopeнеобязательный"global" | "order_book"
instrumentнеобязательныйInstrumentAddress
connection_idнеобязательныйnumber
categorystring
keystring
valueunknown

UpdateSettingsRequest

Тело PATCH /v1/settings.

ПолеТипОписание
changesSettingChange[]

SettingsApplied

PATCH /v1/settings: сколько изменений применено (все, иначе вызов отклонён).

ПолеТипОписание
appliednumber

BookTopParams

Параметры подписки book.top; другие топики их не принимают. Имена как на проводе.

ПолеТипОписание
depthнеобязательныйnumber1–200, по умолчанию 50.
interval_msнеобязательныйnumberИнтервал конфляции, не меньше 50, по умолчанию 100.

SubscribeRequest

Запрос subscribe, как он уходит на провод.

ПолеТипОписание
type"subscribe"
request_idstring
topicTopic
instrumentнеобязательныйInstrumentAddressОбязателен для рыночных топиков, опускается для account.*.
connection_idнеобязательныйnumberДля рыночных топиков выбирается по общему правилу, для account.* обязателен.
paramsнеобязательныйBookTopParams

UnsubscribeRequest

Запрос unsubscribe, как он уходит на провод.

ПолеТипОписание
type"unsubscribe"
request_idstring
substring

SubscribedFrame

Ответ сервера на subscribe.

ПолеТипОписание
type"subscribed"
request_idнеобязательныйstring
substringИдентификатор подписки, "{stream}:{topic}" ("{connection}:account.<topic>", "workspace"); передаётся в unsubscribe.
connection_idнеобязательныйnumberПодключение, выбранное для рыночных топиков и топиков счёта; отсутствует у workspace.

UnsubscribedFrame

Ответ сервера на unsubscribe.

ПолеТипОписание
type"unsubscribed"
request_idнеобязательныйstring
substring

ErrorFrame

Кадр error: с request_id он отвечает на запрос, с sub и без request_id он говорит, что сервер снял эту подписку.

ПолеТипОписание
type"error"
request_idнеобязательныйstring
subнеобязательныйstring
codeErrorCode
messagestring

EventFrame

Кадр event, как он приходит, до того как клиент пометит его топиком.

ПолеТипОписание
type"event"
substring
seqnumberНомер события в подписке; у trades растёт на единицу.
tsTimestamp
dataT

Gap

Кадр gap: события from_seq..to_seq подписки trades потеряны.

ПолеТипОписание
type"gap"
substring
from_seqnumber
to_seqnumber
reasonstring

SubscriptionError

Сервер снял подписку (кадр error с sub, без request_id).

ПолеТипОписание
type"error"
substring
codeErrorCode
messagestring

Subscribed

interface Subscribed extends SubscribedFrame

Чем разрешается subscribe: кадр subscribed плюс то, что было запрошено.

ПолеТипОписание
topicTopic
instrumentнеобязательныйInstrumentAddressОтсутствует у подписок account.*.

OrdersUpdate

data события account.orders: заявки и триггеры одного инструмента после изменения.

ПолеТипОписание
instrumentInstrumentAddress
ordersOrder[]
triggersTriggerOrder[]

PositionUpdate

data события account.positions; закрытие приходит как position: null.

ПолеТипОписание
instrumentInstrumentAddress
positionPosition | null

TradesEvent

interface TradesEvent extends EventFrame<Trade[]>

Все события, которые клиент умеет помечать топиком; topic читается из sub (часть после первого двоеточия).

ПолеТипОписание
topic"trades"

TickerEvent

interface TickerEvent extends EventFrame<Ticker>
ПолеТипОписание
topic"ticker"

MarkPriceEvent

interface MarkPriceEvent extends EventFrame<MarkPrice>
ПолеТипОписание
topic"mark_price"

BookTopEvent

interface BookTopEvent extends EventFrame<BookTop>
ПолеТипОписание
topic"book.top"

ClustersEvent

interface ClustersEvent extends EventFrame<ClusterBucket>
ПолеТипОписание
topic"clusters"

AccountOrdersEvent

interface AccountOrdersEvent extends EventFrame<OrdersUpdate>
ПолеТипОписание
topic"account.orders"

AccountPositionsEvent

interface AccountPositionsEvent extends EventFrame<PositionUpdate>
ПолеТипОписание
topic"account.positions"

AccountBalancesEvent

interface AccountBalancesEvent extends EventFrame<Balance>
ПолеТипОписание
topic"account.balances"

AccountFillsEvent

interface AccountFillsEvent extends EventFrame<Fill>
ПолеТипОписание
topic"account.fills"

WorkspaceEvent

interface WorkspaceEvent extends EventFrame<WorkspaceSnapshot>

data события workspace: раскладка целиком; первый кадр — текущий снимок.

ПолеТипОписание
topic"workspace"

SettingsEvent

interface SettingsEvent extends EventFrame<SettingRow>

data события settings: одна записанная строка, без writable.

ПолеТипОписание
topic"settings"

UnknownTopicEvent

interface UnknownTopicEvent extends EventFrame<unknown>

Событие топика, которого эта версия клиента не знает (контракт может добавлять топики внутри v1). topic равен undefined; сырое имя топика — часть sub после двоеточия.

ПолеТипОписание
topicundefined

Event

type Event = | TradesEvent
  | TickerEvent
  | MarkPriceEvent
  | BookTopEvent
  | ClustersEvent
  | AccountOrdersEvent
  | AccountPositionsEvent
  | AccountBalancesEvent
  | AccountFillsEvent
  | WorkspaceEvent
  | SettingsEvent
  | UnknownTopicEvent

Кадр события, различаемый по topic.

StreamFrame

type StreamFrame = Event | Gap | SubscriptionError

Что отдаёт итерация по Stream, в порядке прихода.

Собрано из кода @spectre-trade/terminal, коммит 2d1c324.

На этой странице