Barfinex

Как работает Barfinex

Справочник API Provider

REST и WebSocket API Barfinex Provider: счета, ордера, свечи, коннекторы, прокси к Advisor/Inspector/Detector и события в реальном времени.

Обзор

Provider — единая точка входа платформы Barfinex. Весь REST и WebSocket трафик от фронтенда или интеграторов идёт через Provider.

  • REST: {baseUrl}/api (например http://localhost:8080/api)
  • WebSocket: {baseUrl}/ws (Socket.IO, path /ws)
  • Аутентификация: Authorization: Bearer <token> или заголовок x-api-token: <token>

Интерактивная документация: {baseUrl}/docs. OpenAPI JSON: {baseUrl}/docs-json.


Основные области REST

ОбластьЭндпоинты (примеры)
OptionsGET /options — метаданные Provider, коннекторы, детекторы, счета
AccountsGET /accounts, GET /accounts/:connectorType/:marketType, PUT /accounts/leverage
AssetsGET /assets/:connectorType/:marketType
SymbolsGET /symbols/:connectorType/:marketType
CandlesGET /candles/:connectorType/:marketType/:symbol/:interval (query: from, to, days)
OrdersPOST /orders, GET /orders/:orderId, PUT /orders/close, PUT /orders/:orderId, а также эндпоинты ордеров по детектору
ConnectorsGET /connectors, GET /connectors/:connectorType/:marketType
DetectorsGET /detectors, GET /detectors/:key, POST /detectors, PUT /detectors/:key, DELETE /detectors/:key
InspectorsGET /inspectors, GET /inspectors/:sysname, POST /inspectors, PUT /inspectors/:sysname, DELETE /inspectors/:sysname
SubscriptionsGET /subscriptions
ReplayPOST /replay/start, POST /replay/stop (body: from, to, speed, symbols)
Контекст сигналовGET /signals/context/:symbol (query: connectorType, marketType, daysD1, daysH4, daysH1, candlesMode, candlesKey)
EventSinkGET /eventsink (query: page, limit, category, symbol, from, to, search)
DashboardGET /dashboard/overview (query: windowMinutes)

Прокси к Advisor, Inspector, Detector

Provider проксирует запросы к зарегистрированным приложениям. Один базовый URL и шаблон пути:

ЦельМетодПуть ProviderОписание
AdvisorALL/advisors/:appKey/*Прокси в API Advisor
InspectorALL/inspectors/:appKey/*Прокси в API Inspector
DetectorALL/detectors/:appKey/*Прокси в API Detector
DiscoveryGET/proxy/targetsСписок доступных proxy target по типам

Пример: GET /api/inspectors/inspector/inspector/risk/dashboard → Provider перенаправляет на эндпоинт дашборда риска Inspector. appKey (например inspector, advisor, detector) — ключ, с которым приложение зарегистрировалось.


Реестр приложений (App Registry)

Приложения регистрируются в Provider для прокси и отображения в Studio:

МетодПутьНазначение
POST/apps/registry/registerРегистрация приложения (advisor/inspector/detector)
POST/apps/registry/heartbeatОбновление активности
POST/apps/registry/unregisterСнятие с учёта
GET/apps/registryСписок зарегистрированных (query: appType, includeInactive)
GET/apps/registry/:appType/:appKeyОдна запись

WebSocket API

  • URL: {baseUrl}/ws, path /ws
  • Пространства имён: default (основные события), /eventsink (поток аудита/аналитики)

Каталог событий: GET /api/ws/events/catalog возвращает все имена WS-событий с краткими описаниями (EN/RU).

Пространство по умолчанию: подписка по именам событий (как на шине). Примеры:

  • PROVIDER_MARKETDATA_TRADE, PROVIDER_MARKETDATA_ORDERBOOK, PROVIDER_MARKETDATA_CANDLE
  • PROVIDER_ACCOUNT_EVENT, PROVIDER_ORDER_CREATE, PROVIDER_ORDER_CLOSE
  • PROVIDER_SYMBOLS, PROVIDER_SYMBOL_PRICES
  • INSPECTOR_RISK_LIMIT_BREACH, INSPECTOR_RISK_KILL_SWITCH
  • DETECTOR_SIGNAL_GENERATED, DETECTOR_SIGNAL_UPDATED, DETECTOR_SIGNAL_INVALIDATED
  • DETECTOR_POSITION_OPEN_REQUEST, DETECTOR_POSITION_CLOSE_REQUEST, …
  • ADVISOR_DECISION_RESPONSE, ADVISOR_DECISION_CONTEXT_SNAPSHOT

Клиент → сервер: health (ответ health:ok), message (пример).

Пространство eventsink: подписка на event для потока аудита/аналитики в реальном времени.


Частые перечисления

  • ConnectorType: например binance, alpaca, testnetBinanceFutures
  • MarketType: spot, futures, margin
  • TimeFrame (свечи): min1, min5, min15, min30, h1, h2, h4, day, week, month
  • OrderSide: BUY, SELL
  • OrderType: MARKET, LIMIT, STOP_MARKET, TAKE_PROFIT_MARKET, …

Дальше

Давайте свяжемся

Есть вопросы или хотите узнать больше о Barfinex? Напишите нам.