1.5.0 • Published 3 years ago

@tinkoff/invest-openapi-js-sdk v1.5.0

Weekly downloads
134
License
Apache-2.0
Repository
github
Last release
3 years ago

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 соединений на аккаунт

1.5.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.2.20

3 years ago

1.2.18

3 years ago

1.2.19

3 years ago

1.2.17

3 years ago

1.2.16

4 years ago

1.2.15

4 years ago

1.2.14

4 years ago

1.2.13

4 years ago

1.2.12

4 years ago

1.2.11

4 years ago

1.2.9

4 years ago

1.2.10

4 years ago

1.2.8

4 years ago

1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago