Инициализация класса
import { SandboxService } from '@tomasevich/tinkoff'
// Для работы с реальными данными
const realServer = new SandboxService('<REAL_TOKEN>', false)
// Для работы с данными в тестовом режиме
const sandboxServer = new SandboxService('<SANDBOX_TOKEN>', true)
Токен приложения
Флаг включения режима Песочницы
Метод отмены торгового поручения в песочнице
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const { orders } = await sandboxService.CancelSandboxOrder({
accountId: '<ACCOUNT_ID>',
orderId: '<ORDER_ID>'
})
console.log(orders)
Метод закрытия счёта в песочнице
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const result = await sandboxService.OpenSandboxAccount({
accountId: 'ad49188f-6d97-4493-8a68-c9adcd15db42'
})
console.log(result)
Метод получения счетов в песочнице
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const { accounts } = await sandboxService.GetSandboxAccounts({})
console.log(accounts)
Метод получения операций в песочнице по номеру счёта
import { SandboxService, OperationState } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const { operations } = await sandboxService.GetSandboxOperations({
accountId: '<ACCOUNT_ID>',
from: '2023-07-18T00:00:00:000Z',
to: '2023-08-19T00:00:00:000Z',
state: OperationState.OPERATION_STATE_EXECUTED
})
console.log(operations)
Метод получения операций в песочнице по номеру счета с пагинацией
import { SandboxService, OperationState, OperationType } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const operationsByCursor = await sandboxService.GetSandboxOperationsByCursor({
accountId: '<ACCOUNT_ID>',
instrumentId: '6afa6f80-03a7-4d83-9cf0-c19d7d021f76',
from: '2023-07-18T00:00:00:000Z',
to: '2023-08-19T00:00:00:000Z',
cursor: '',
limit: 10,
state: OperationState.OPERATION_STATE_CANCELED,
operationTypes: [
OperationType.OPERATION_TYPE_BUY,
OperationType.OPERATION_TYPE_SELL
],
withoutCommissions: false,
withoutTrades: false,
withoutOvernights: false
})
console.log(operationsByCursor)
Метод получения статуса заявки в песочнице
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const { orders } = await sandboxService.GetSandboxOrderState({
accountId: '<ACCOUNT_ID>',
orderId: '<ORDER_ID>'
})
console.log(orders)
Заявки хранятся в таблице 7 дней
https://tinkoff.github.io/investAPI/sandbox/#getsandboxorderstate
Метод получения списка активных заявок по счёту в песочнице
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const { orders } = await sandboxService.GetSandboxOrders({
accountId: '<ACCOUNT_ID>'
})
console.log(orders)
Метод получения портфолио в песочнице
import { SandboxService, PortfolioRequestCurrencyRequest } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const portfolio = await sandboxService.GetPortfolio({
accountId: '<ACCOUNT_ID>',
currency: PortfolioRequestCurrencyRequest.RUB
})
console.log(portfolio)
Метод получения позиций по виртуальному счёту
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const sandboxPositions = await sandboxService.GetSandboxPositions({
accountId: '<ACCOUNT_ID>'
})
console.log(sandboxPositions)
Метод получения доступного остатка для вывода средств в песочнице
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const withdrawLimits = await sandboxService.GetWithdrawLimits({
accountId: '<ACCOUNT_ID>'
})
console.log(withdrawLimits)
Метод регистрации счёта в песочнице
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const result = await sandboxService.OpenSandboxAccount({})
console.log(result)
Метод выставления торгового поручения в песочнице
import { SandboxService, OrderDirection, OrderType } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const result = await sandboxService.PostSandboxOrder({
quantity: '1',
price: SandboxService.StringToQuotation('1.0'),
direction: OrderDirection.ORDER_DIRECTION_BUY,
accountId: '<ACCOUNT_ID>',
orderType: OrderType.ORDER_TYPE_MARKET,
orderId: '',
instrumentId: '6afa6f80-03a7-4d83-9cf0-c19d7d021f76'
})
console.log(result)
Метод изменения выставленной заявки
import { SandboxService, PriceType } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const result = await sandboxService.ReplaceSandboxOrder({
quantity: '1',
price: SandboxService.StringToQuotation('1.0'),
accountId: '<ACCOUNT_ID>',
orderId: '',
idempotencyKey: '',
priceType: PriceType.PRICE_TYPE_CURRENCY
})
console.log(result)
Метод пополнения счёта в песочнице
import { SandboxService } from '@tomasevich/tinkoff'
const sandboxService = new SandboxService('<TOKEN>', true)
const { orders } = await sandboxService.SandboxPayIn({
accountId: '<ACCOUNT_ID>',
amount: SandboxService.StringToMoneyValue('114,25 rub')
})
console.log(orders)
Protected
requestМетод HTTP
запроса к серверу Tinkoff Invest API
import { Common } from '@tomasevich/tinkoff'
class Application extends Common {
public SandboxService(body) {
return this.request('SandboxService', 'GetSandboxOrders', body)
}
}
const app = new Application('<TOKEN>', true)
const { orders } = await app.SandboxService({
accountId: '<ACCOUNT_ID>'
})
console.log(orders)
Имя сервиса
Имя операции
Тело запроса
Static
MoneyСтатичный метод конвертирования денежной суммы в определенной валюте в строку
import { Common } from '@tomasevich/tinkoff'
console.log(Common.MoneyValueToString({ units: '114', nano: 250000000, currency: 'rub' })) // '114.25 rub'
console.log(Common.MoneyValueToString({ units: '-200', nano: -200000000, currency: 'usd' })) // '-200.20 usd'
console.log(Common.MoneyValueToString({ units: '-0', nano: -10000000, currency: 'eur' })) // '-0.01 eur'
Static
QuotationСтатичный метод конвертирования котировки в строку
import { Common } from '@tomasevich/tinkoff'
console.log(Common.QuotationToString({ units: '114', nano: 250000000 })) // '114.25'
console.log(Common.QuotationToString({ units: '-200', nano: -200000000 })) // '-200.20'
console.log(Common.QuotationToString({ units: '-0', nano: -10000000 })) // '-0.01'
Static
StringСтатичный метод конвертирования строки в денежную сумму в определенной валюте
import { Common } from '@tomasevich/tinkoff'
console.log(Common.StringToMoneyValue('114.25 rub')) // { units: '114', nano: 250000000, currency: 'rub' }
console.log(Common.StringToMoneyValue('-200.20 usd')) // { units: '-200', nano: -200000000, currency: 'usd' }
console.log(Common.StringToMoneyValue('-0.01 eur')) // { units: '-0', nano: -10000000, currency: 'eur' }
Static
StringСтатичный метод конвертирования строки в котировку
import { Common } from '@tomasevich/tinkoff'
console.log(Common.StringToQuotation('114.25')) // { units: '114', nano: 250000000 }
console.log(Common.StringToQuotation('-200.20')) // { units: '-200', nano: -200000000 }
console.log(Common.StringToQuotation('-0.01')) // { units: '-0', nano: -10000000 }
Generated using TypeDoc
Сервис для работы с песочницей TINKOFF INVEST API
See
https://tinkoff.github.io/investAPI/sandbox/#sandboxservice