Skip to content

gitgetgotgat/TinvestSDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

T-Invest API FPC (Free Pascal) SDK

pascal

Данный проект представляет собой инструментарий на языке Free Pascal (FPC) для работы с REST-интерфейсом торговой платформы Т Инвестиции.

Ключевые особенности

  • Реализованы только унарные запросы. Поддержка стрим-соединений отсутствует .
  • Предусмотрена работа как в продовом контуре, так и в песочнице.
  • В передаваемых и возвращаемых параметрах предусмотрено автоматическое конвертирование типов данных units/nano в double и обратно.
  • Во всех методах присутствует проверка на превышение лимитов.
  • В ответах всех методов есть служебное поле x-tracking-id, которое может пригодится при обращении в службу поддержки.

Описание

Исходный код написан на FPC. Компиляция и тестирование проводились в среде разработки Lazarus. Модуль tinvest_api_unit.pas содержит все необходимые структуры и методы API. Каждое поле структур для удобства дополнительно прокомментировано в соответствии с официальной документацией. Все названия структур и их полей имеют префиксы по первым буквам соответствующих методов. Общая схема вызова любого метода: Метод_API (входные параметры; выходные параметры). Пример вызова:

var
   ga_in  : ga_request;
   ga_out : ga_response;

begin

   // код инициализации входной структуры  
   
   ga_in.ga_token := 'ваш_токен';
   ga_in.ga_status := 'ACCOUNT_STATUS_ALL'; // в данном случае выведутся все счета клиента
   ga_in.ga_is_sandbox_flag := true;        // опциональное поле для переключения на песочницу
   
   GetAccounts(ga_in, ga_out);
   
   // в ga_out будет массив счетов (в зависимости от выбранного контура)
   

При этом, в запросе для каждого метода необходимо обязательно передавать токен.

В модуле additional_unit.pas содержатся дополнительные структуры и процедуры для облегчения разработки робота, такие как:

  • функция генерирования UUID (применяется в некоторых методах, например в PostOrder);
  • функция-фильтр для получения только биржевых свечек;
  • функции перевода времени из московского в UTC и обратно;
  • функции некоторых индикаторов (некоторые из них присутствуют в методе GetTechAnalysis);

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

Подробную документацию по T-Invest API можно найти по ссылке.

Начало работы

Для работы с T-Invest API необходимо выпустить соответствующий токен. В новых версиях API есть поддержка перевода средств между счетами, поэтому необходим токен с поддержкой торговли и переводов.

Все методы API работают по безопасному соединению через HTTPS, поэтому необходимо скачать самую актуальную версию библиотеки для работы с SSL в соответствии с разряднойстью рабочей платформы и поместить все .dll-файлы в папку с проектом.

Использование SDK

Для работы с SDK необходимо добавить модули в раздел uses своего проекта.

При необходимости работы с песочницей используются методы OpenSandboxAccount, CloseSandboxAccount и SandboxPayIn для создания и пополнения счета, а также его закрытия. Кроме указанных методов работу с песочницей поддерживают некоторые другие методы, например, PostOrder. Для явной смены контура в request-структурах предусмотрено опциональное поле is_sandbox_flag. По умолчанию все методы работают в продовом контуре.

Пример работы с SDK

В каталоге example находится графический пример для работы с SDK в среде Lazarus. Кроме графического, в каталоге example_console представлен консольный пример простейшего приложения для получения свечек.

Releases

No releases published

Packages

 
 
 

Contributors

Languages