Показано с 1 по 10 из 11
Тема: API Tinkoff
Комбинированный просмотр
-
24.07.2022, 20:12 #1
- Регистрация
- 07.06.2012
- Сообщений
- 13
- Сказал(а) спасибо
- 9
- Поблагодарили 2 раз(а) в 2 сообщениях
API Tinkoff
Есть потребность в связи по API с этим банком. Опыта такого не имел. Не знаю даже, с чего начать. Может кто-нибудь что-нибудь посоветовать?
-
24.07.2022, 20:54 #2
- Регистрация
- 08.09.2019
- Сообщений
- 8
- Сказал(а) спасибо
- 23
- Поблагодарили 3 раз(а) в 3 сообщениях
Re: API Tinkoff
Начинайте сразу с API2
-
26.07.2022, 12:28 #3
- Регистрация
- 07.06.2012
- Сообщений
- 13
- Сказал(а) спасибо
- 9
- Поблагодарили 2 раз(а) в 2 сообщениях
Re: API Tinkoff
Каким образом?
-
26.07.2022, 20:33 #4
- Регистрация
- 08.09.2019
- Сообщений
- 8
- Сказал(а) спасибо
- 23
- Поблагодарили 3 раз(а) в 3 сообщениях
Re: API Tinkoff
У Тиньков есть как минимум API с личным кабинетом и 2 API для торговли. Это совершенно разные вещи. Вам какой надо?
Когда я говорил про API 2 я имел в виду API-инвест
Вот начало
https://tinkoff.github.io/investAPI/
Вот все методы API 2
https://tinkoff.github.io/investAPI/swagger-ui/
Зная как в 1с послать HTTP запрос с помощью вышеуказанных страниц
можно получить все что необходимо для анализа и торговли
-
Пользователь сказал cпасибо:
aabbam (27.07.2022)
-
27.07.2022, 11:12 #5
- Регистрация
- 07.06.2012
- Сообщений
- 13
- Сказал(а) спасибо
- 9
- Поблагодарили 2 раз(а) в 2 сообщениях
Re: API Tinkoff
Так вроде и знаю, курсы валют с сайта центробанка получаю, но тут что-то никак.
Задача такова, чтобы не столько торговать пока, сколько графики получать или хотя бы котировки на момент данный. Достаточно для этого просто API с кабинетом личным?
-
27.07.2022, 20:21 #6
- Регистрация
- 08.09.2019
- Сообщений
- 8
- Сказал(а) спасибо
- 23
- Поблагодарили 3 раз(а) в 3 сообщениях
Re: API Tinkoff
Тогда вышеописанных ссылок должно хватить. Я использовал вот эту библиотекуhttps://infostart.ru/1c/articles/709325/
Попоробовать с чего- то легкого . Например получить список валют .
Вот URL = "https://invest-public-api.tinkoff.ru";
Вот метод = "/rest/tinkoff.public.invest.api.contract.v1.InstrumentsS ervice/Currencies" .
Найди этот метод на страницеhttps://tinkoff.github.io/investAPI/swagger-ui/ и посмотри требования к запросу и как будет выглядеть ответ.
Вот данные = "{""instrumentStatus"": INSTRUMENT_STATUS_UNSPECIFIED}" которые нужно передать
Также нужно передать следующие заголовки
Заголовки.Вставить("Authorization ","Bearer " + Токен);
Заголовки.Вставить("accept", "application/json");
Заголовки.Вставить("Content-Type", "application/json");
где Токен - это токен -полученный в личном кабинете инвестиций
Мне хватило несколько дней чтобы с нуля во всем разобраться. Я даже не знал что такое HTTP запрос
-
Пользователь сказал cпасибо:
aabbam (28.07.2022)
-
28.07.2022, 10:33 #7
- Регистрация
- 07.06.2012
- Сообщений
- 13
- Сказал(а) спасибо
- 9
- Поблагодарили 2 раз(а) в 2 сообщениях
Re: API Tinkoff
Я вот такое сочинил, но не работает. Причина в чём, пока мне не понятно.
-
28.07.2022, 21:07 #8
- Регистрация
- 16.02.2019
- Сообщений
- 77
- Сказал(а) спасибо
- 187
- Поблагодарили 1096 раз(а) в 179 сообщениях
Re: API Tinkoff
Ух ты, прикольно. В предыдущем сообщении в цитате больше, чем в оригинале, причем я ничего не дописывал. Когда жмешь "ответить с цитированием" в цитате появляется дополнительный текст, который не виден в оригинале, по крайней мере в моем браузере )
Короче, Сервер должен быть без https, просто Новый HTTPСоединение("invest-public-api.tinkoff.ru" ...
А тело и его тип вообще бессмысленно устанавливать.
Заголовки.Вставить("Content-Type", "application/json");
ЗапросHTTP.УстановитьТелоИз� �троки("{}", КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИсп ользовать);
Потому что когда делаешь ГЕТ, то 1С тело вообще не отправляет:
Результат = СоединениеHTTP.ВызватьHTTPМет� �д("GET", ЗапросHTTP);Последний раз редактировалось borodаn; 28.07.2022 в 21:20.
-
28.07.2022, 10:33 #9
- Регистрация
- 07.06.2012
- Сообщений
- 13
- Сказал(а) спасибо
- 9
- Поблагодарили 2 раз(а) в 2 сообщениях
Re: API Tinkoff
Процедура FormНаСервере()
Сервер = "https://invest-public-api.tinkoff.ru";
Порт = 443;
Логин = "";
Пароль = "";
Прокси = Новый ИнтернетПрокси(Ложь);
ЗащищенноеСоединениеOpenSSL = Новый ЗащищенноеСоединениеOpenSSL(Н еопределено,Неопределено);
СоединениеHTTP = Новый HTTPСоединение(Сервер, Порт, Логин, Пароль,Прокси,,ЗащищенноеС� �единениеOpenSSL);
Токен = "токен";
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization ", "Bearer " + Токен);
Заголовки.Вставить("accept", "application/json");
Заголовки.Вставить("Content-Type", "application/json");
Сервис = "rest/tinkoff.public.invest.api.contract.v1.UsersService/GetAccounts";
ЗапросHTTP = Новый HTTPЗапрос(Сервис, Заголовки);
ЗапросHTTP.УстановитьТелоИз� �троки("{}", КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИсп ользовать);
Результат = СоединениеHTTP.ВызватьHTTPМет� �д("GET", ЗапросHTTP);
Если Результат.КодСостояния <> 200 Тогда
Сообщить("Ошибка выполнения запроса. Код состояния "+Результат.КодСостояния) ;
Возврат;
КонецЕсли;
Данные = Результат.ПолучитьТелоКак� �троку();
Сообщить(Данные);
КонецПроцедуры
-
-
28.07.2022, 21:05 #10
- Регистрация
- 16.02.2019
- Сообщений
- 77
- Сказал(а) спасибо
- 187
- Поблагодарили 1096 раз(а) в 179 сообщениях
Социальные закладки