REST клиент 1С для получения данных из личного кабинета Тинькофф Банка.
- Двухфакторная авторизация с использованием кода подтверждения по СМС.
- Получение данных по операциям за период в виде структуры(JSON) и в формате Excel.
ОткрытьСессию
-session
- создание новой сесии, получение идентификатора сессии, который используется для остальных методов.СессияАктивна
-session_status
- проверка активности сессии.ВыполнитьАвторизацию
-sign_up
- запрос на авторизацию.ПодтвердитьАвторизацию
-confirm
- подтверждение авторизации, при использовании кодов подтверждения по СМС.ПовыситьУровеньДоступа
-level_up
- повышение уровня доступа после авторизации.ПолучитьОперацииЗаПериод
-operations
- получение операций за период.ПолучитьОперацииЗаПериодВФорматеExcel
-export_operations
- получение операций за период в формате Excel.ПолучитьДанныеПоСчетамКартам
-accounts_flat
- получение данных по счетам и картам: баланс, реквизиты и прочее.ЗакрытьСессию
-sign_out
- закрытие текущей сессии.
- Платформа 8.3.10 и выше.
- Библиотека стандартных подсистем 2.4 и выше.
Установите расширение или скопируйте общие модули к себе в конфигурацию.
&НаКлиенте
Процедура ПолучитьОперации(Команда)
ПолучитьОперацииНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПолучитьОперацииНаСервере()
Перем Сессия;
НачалоПериода = НачалоМесяца(ТекущаяДатаСеанса());
КонецПериода = ТекущаяДатаСеанса();
ТинькоффApiСервер.ВыполнитьАвторизацию(Сессия, "Bazil1c", "MyPassword");
Результат = ТинькоффApiСервер.ПолучитьОперацииЗаПериод(Сессия,
НачалоПериода, КонецПериода);
КонецПроцедуры
Асинхронные вызовы используются, так как необходимо вводить код подтверждения.
&НаКлиенте
Процедура ПолучитьОперации(Команда)
Сессия = Неопределено;
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("НачалоПериода", НачалоМесяца(ОбщегоНазначенияКлиент.ДатаСеанса()));
ДополнительныеПараметры.Вставить("КонецПериода", ОбщегоНазначенияКлиент.ДатаСеанса());
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьОперацииПродолжение", ЭтотОбъект, ДополнительныеПараметры);
ТинькоффApiКлиент.Авторизация(ОписаниеОповещения, "Bazil1c", "MyPassword");
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьОперацииПродолжение(Сессия, ДополнительныеПараметры = Неопределено) Экспорт
Результат = ТинькоффApiВызовСервера.ПолучитьОперацииЗаПериодВФорматеExcel(Сессия,
ДополнительныеПараметры.НачалоПериода, ДополнительныеПараметры.КонецПериода);
Если Результат.Отказ Тогда
Возврат;
КонецЕсли;
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогВыбораФайла.Фильтр = НСтр("ru = 'Лист Excel(*.xls); Лист Excel2007-...(*.xlsx)|*.xls;*.xlsx'");
ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайла();
ПараметрыСохранения.Вставить("Диалог", ДиалогВыбораФайла);
ФайловаяСистемаКлиент.СохранитьФайл( , Результат.АдресВоВременномХранилище, "Операции" , ПараметрыСохранения);
КонецПроцедуры