Skip to content

Latest commit

 

History

History
79 lines (66 loc) · 2.5 KB

README.md

File metadata and controls

79 lines (66 loc) · 2.5 KB

alor-api

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 });

Как получить токен доступа описано тут.

API-запросы

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)