Node.js SDK для работы с Alor Open API.
npm i alor-api
import { AlorApi } from 'alor-api';
// создать клиента с заданным токеном доступа
const api = new AlorApi({ token: '<your-token>', endpoint: Endpoint.PROD, wssEndpoint: WssEndpoint.PROD });
Как получить токен доступа описано тут.
import {Exchange} from "./types";
// Получение информации о портфеле
const summary = await api.clientInfo.getSummary({
portfolio: '<your-portfolio>',
exchange: Exchange.MOEX
});
// Получение информации о позициях
const positions = await api.clientInfo.getPositions({
portfolio: '<your-portfolio>',
exchange: Exchange.MOEX,
withoutCurrency: true,
});
Для работы со подписками сделана обертка api.subscriptions
:
// подписка на свечи
const unsubscribe = await api.subscriptions.candles({
code: 'SBER',
exchange: Exchange.MOEX,
from: startDateTime,
tf: Timeframe.Min5,
delayed: false,
}, candle => console.log(candle));
// отписаться
await unsubscribe();
// обработка дополнительных событий
api.subscriptions.on('error', error => console.log('stream error', error));
api.subscriptions.on('close', error => console.log('stream closed, reason:', error));
Стримы доступны по следующим сущностям:
.orderBook(request, handler)
.candles(request, handler)
.quotes(request, handler)
.alltrades(request, handler)
.positions(request, handler)
.summary(request, handler)
.risks(request, handler)
.spectraRisks(request, handler)
.trades(request, handler)
.orders(request, handler)
.instruments(request, handler)
.stoporders(request, handler)