Шаги подключения
1. Открытие WebSocket
Подключитесь к эндпоинту Exit Intelligence Stream с API ключом в заголовкеx-api-key:
2. Получение hello_ok
Сразу после открытия соединения сервер отправляет сообщение hello_ok:
limits отражает лимиты вашего тарифа. См. Лимиты и тарифы для деталей.
3. Отправка configure
После получения hello_ok отправьте сообщение configure с вашими кошельками и стратегией:
4. Получение подтверждения
Сервер отвечает начальными сообщениямиbalance_update для токенов, уже имеющихся в настроенных кошельках. Если обнаружена позиция, вы также получите position_opened.
Объект limits
| Поле | Тип | Описание |
|---|---|---|
hi_capacity | number | Максимум высокоприоритетных буферизованных сообщений. |
pnl_flush_ms | number | Интервал отправки обновлений PnL (мс). |
max_positions_per_session | number | Макс. отслеживаемых позиций на сессию. |
max_wallets_per_session | number | Макс. кошельков на сессию. |
max_positions_per_wallet | number | Макс. отслеживаемых позиций на кошелёк. |
max_sessions_per_api_key | number | Макс. одновременных сессий на API ключ. |
Переподключение
SDK автоматически обрабатывают переподключение. При разрыве WebSocket:- Клиент ждёт с экспоненциальной задержкой, начиная со 100 мс.
- Задержка удваивается при каждой попытке до максимума 2000 мс.
- При успешном переподключении клиент повторно отправляет сообщение
configure. - Сервер повторно отправляет события
balance_updateиposition_openedдля существующих активов.
Ping и Pong
Клиентский Ping
Отправьтеping для измерения задержки:
pong:
Серверный Ping
Сервер также может отправлять ping на уровне протокола WebSocket. SDK автоматически отвечают кадрами pong.StreamClient vs StreamSession
StreamClient
Низкоуровневый клиент управляет необработанным WebSocket-соединением:
- Обрабатывает подключение, переподключение и кадрирование сообщений.
- Возвращает необработанные объекты
ServerMessageизrecv(). - Предоставляет
StreamSenderдля отправки клиентских сообщений. - Поддерживает разделение каналов через
connectLanes(), которое разделяет высокоприоритетные сообщения (сигналы выхода, события позиций) от низкоприоритетных (pnl_update).
StreamSession
Высокоуровневая сессия обёртывает StreamClient:
- Отслеживание позиций: автоматически поддерживает карту открытых позиций по ID и токен-аккаунту.
- Типизированные события: возвращает объекты
StreamEventс прикреплённымPositionHandle. - Таймеры дедлайнов: автоматически запрашивает сигналы выхода после
deadline_timeout_sec. - Обновления стратегии: методы
updateStrategy()иupdateStrategyOptional().
StreamSession.
Каналы
Разделение каналов разбивает поток сообщений на два приёмника:- Высокоприоритетный канал:
hello_ok,error,balance_update,position_opened,position_closed,exit_signal_with_tx - Низкоприоритетный канал:
pnl_update
connectLanes():

