Naughty Platypus Memorabilia

    @tinkoff/invest-openapi-js-sdk
    TypeScript icon, indicating that this package has built-in type declarations

    1.5.0 • Public • Published

    Trading Open API - JS SDK

    SDK для работы с OpenAPI Тинькофф Инвестиции, который можно использовать для создания торговых роботов.

    npm i @tinkoff/invest-openapi-js-sdk --save

    Документация

    Доступна по ссылке

    Swagger

    Авторизация

    Более полную информацию можно просмотреть в документации

    1. Перейдите в настройки блок "Токен для OpenAPI"
    2. Функция "Подтверждение сделок кодом" должна быть отключена
    3. Выпустите токен OpenApi для биржи и Sandbox. Возможно система попросит вас авторизоваться еще раз, не беспокойтесь, это необходимо для подключения робота к торговой платформе.
    4. Скопируйте токен и сохраните, токен отображается только один раз, просмотреть его позже не получится, тем не менее вы можете выпускать неограниченное количество токенов.

    Пример

    см. более сложный пример в example

    import OpenAPI from '@tinkoff/invest-openapi-js-sdk';
    
    const apiURL = 'https://api-invest.tinkoff.ru/openapi/sandbox'; // Для Production-окружения будет https://api-invest.tinkoff.ru/openapi
    const socketURL = 'wss://api-invest.tinkoff.ru/openapi/md/v1/md-openapi/ws';
    const secretToken = 'xxx'; // токен для сандбокса
    const api = new OpenAPI({ apiURL, secretToken, socketURL });
    
    !(async function run() {
      const { figi } = await api.searchOne({ ticker: 'AAPL' });
      const { commission, orderId } = await api.limitOrder({
        operation: 'Buy',
        figi,
        lots: 1,
        price: 100,
      }); // Покупаем AAPL
      console.log(commission); // Комиссия за сделку
      await api.cancelOrder({ orderId }); // Отменяем заявку
    })();

    Sandbox

    Для использования Sandbox необходимо передать в apiURL и в secretToken url эндпоинта с апи sandbox'а и токен для песочницы. Более подробно в документации

    await api.sandboxClear(); // очищаем песочницу 
    const { figi } = await api.searchOne({ ticker: 'AAPL' });
    await api.setCurrenciesBalance({ currency: 'USD', balance: 1000 }); // 1000$ на счет
    await api.instrumentPortfolio({ figi }); // В портфеле ничего нет
    await api.limitOrder({ operation: 'Buy', figi, lots: 1, price: 100 }); // Покупаем AAPL
    await api.instrumentPortfolio({ figi }); // Сделка прошла моментально

    Ограничения

    На данный момент доступно только 6 TCP соединений на аккаунт

    Install

    npm i @tinkoff/invest-openapi-js-sdk

    DownloadsWeekly Downloads

    159

    Version

    1.5.0

    License

    Apache-2.0

    Unpacked Size

    158 kB

    Total Files

    14

    Last publish

    Collaborators

    • makar_l
    • tinkoffbank
    • tom910
    • dmitry-korolev
    • rouland
    • ishivan
    • ytsareva
    • shoom3301
    • waterplea
    • meskill
    • marsibarsi
    • zig-green
    • defenderbass
    • super_oleg
    • dersizes
    • alexkvak