Как работает 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
| Область | Эндпоинты (примеры) |
|---|---|
| Options | GET /options — метаданные Provider, коннекторы, детекторы, счета |
| Accounts | GET /accounts, GET /accounts/:connectorType/:marketType, PUT /accounts/leverage |
| Assets | GET /assets/:connectorType/:marketType |
| Symbols | GET /symbols/:connectorType/:marketType |
| Candles | GET /candles/:connectorType/:marketType/:symbol/:interval (query: from, to, days) |
| Orders | POST /orders, GET /orders/:orderId, PUT /orders/close, PUT /orders/:orderId, а также эндпоинты ордеров по детектору |
| Connectors | GET /connectors, GET /connectors/:connectorType/:marketType |
| Detectors | GET /detectors, GET /detectors/:key, POST /detectors, PUT /detectors/:key, DELETE /detectors/:key |
| Inspectors | GET /inspectors, GET /inspectors/:sysname, POST /inspectors, PUT /inspectors/:sysname, DELETE /inspectors/:sysname |
| Subscriptions | GET /subscriptions |
| Replay | POST /replay/start, POST /replay/stop (body: from, to, speed, symbols) |
| Контекст сигналов | GET /signals/context/:symbol (query: connectorType, marketType, daysD1, daysH4, daysH1, candlesMode, candlesKey) |
| EventSink | GET /eventsink (query: page, limit, category, symbol, from, to, search) |
| Dashboard | GET /dashboard/overview (query: windowMinutes) |
Прокси к Advisor, Inspector, Detector
Provider проксирует запросы к зарегистрированным приложениям. Один базовый URL и шаблон пути:
| Цель | Метод | Путь Provider | Описание |
|---|---|---|---|
| Advisor | ALL | /advisors/:appKey/* | Прокси в API Advisor |
| Inspector | ALL | /inspectors/:appKey/* | Прокси в API Inspector |
| Detector | ALL | /detectors/:appKey/* | Прокси в API Detector |
| Discovery | GET | /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_CANDLEPROVIDER_ACCOUNT_EVENT,PROVIDER_ORDER_CREATE,PROVIDER_ORDER_CLOSEPROVIDER_SYMBOLS,PROVIDER_SYMBOL_PRICESINSPECTOR_RISK_LIMIT_BREACH,INSPECTOR_RISK_KILL_SWITCHDETECTOR_SIGNAL_GENERATED,DETECTOR_SIGNAL_UPDATED,DETECTOR_SIGNAL_INVALIDATEDDETECTOR_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, …
Дальше
- Работа с API — Provider как единый шлюз
- API Detector, API Inspector, API Advisor — Проксируемые эндпоинты