# @tinkoff/invest-openapi-js-sdk

> Tinkoff Invest OpenAPI Client

Latest version **1.5.0** (published 2021-06-25) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @tinkoff/invest-openapi-js-sdk
pnpm add @tinkoff/invest-openapi-js-sdk
yarn add @tinkoff/invest-openapi-js-sdk
bun add @tinkoff/invest-openapi-js-sdk
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.5.0 |
| Published | 2021-06-25 |
| First published | 2019-11-05 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=10.0.0 |
| Dependencies | 2 |
| Unpacked size | 154.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 207 |
| Maintainers | alexkvak, dersizes, tinkoffbank, tom910, dmitry-korolev, rouland, ishivan, ytsareva, shoom3301, waterplea, meskill, marsibarsi, zig-green, defenderbass, super_oleg |
| Keywords | trading, investment, strategy, bot |

## Links

- npm: https://www.npmjs.com/package/@tinkoff/invest-openapi-js-sdk
- Repository: https://github.com/TinkoffCreditSystems/invest-openapi-js-sdk
- Homepage: https://github.com/TinkoffCreditSystems/invest-openapi-js-sdk#readme
- Issues: https://github.com/TinkoffCreditSystems/invest-openapi-js-sdk/issues
- npm.io page: https://npm.io/package/@tinkoff/invest-openapi-js-sdk

## Dependencies (2)

- [ws](https://npm.io/package/ws.md) ^7.3.0
- [isomorphic-fetch](https://npm.io/package/isomorphic-fetch.md) ^3.0.0

## Recent versions

- 1.5.0 (latest) — 2021-06-25
- 1.4.1 — 2021-06-24
- 1.4.0 — 2021-06-24
- 1.3.0 — 2021-05-31
- 1.2.20 — 2021-05-31
- 1.2.19 — 2021-05-17
- 1.2.18 — 2021-05-05
- 1.2.17 — 2021-03-16
- 1.2.16 — 2020-07-17
- 1.2.15 — 2020-06-29
- 1.2.14 — 2020-06-29
- 1.2.13 — 2020-06-23
- 1.2.12 — 2020-06-05
- 1.2.11 — 2020-05-11
- 1.2.10 — 2020-05-09
- … 19 more at https://npm.io/package/@tinkoff/invest-openapi-js-sdk/versions

## README

# Trading Open API - JS SDK

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

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


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

Доступна по [ссылке](./doc/classes/openapi.md)

[Swagger](https://tinkoffcreditsystems.github.io/invest-openapi/swagger-ui/)


## Авторизация

Более полную информацию можно просмотреть в [документации](https://tinkoffcreditsystems.github.io/invest-openapi/auth/)

1. Перейдите в [настройки](https://www.tinkoff.ru/invest/settings/) блок "Токен для OpenAPI"
2. Функция "Подтверждение сделок кодом" должна быть отключена
3. Выпустите токен OpenApi для биржи и Sandbox. Возможно система
   попросит вас авторизоваться еще раз, не беспокойтесь, это необходимо
   для подключения робота к торговой платформе.
4. Скопируйте токен и сохраните, токен отображается только один раз, просмотреть
   его позже не получится, тем не менее вы можете выпускать неограниченное количество токенов.

## Пример

см. более сложный пример в [example](./example)

```typescript
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'а и токен для песочницы.
Более подробно в [документации](https://tinkoffcreditsystems.github.io/invest-openapi/env/)

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

---
_Source: https://npm.io/package/@tinkoff/invest-openapi-js-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
