Skip to content

Bazil1c/tinkoff-api-1c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

REST API клиент Тинькофф Банк для 1С

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Сервер.ПолучитьОперацииЗаПериод(Сессия, 
		НачалоПериода, КонецПериода); 
	
КонецПроцедуры

Получение операций в формате Excel при двухфакторной авторизации

Асинхронные вызовы используются, так как необходимо вводить код подтверждения.

&НаКлиенте
Процедура ПолучитьОперации(Команда)
	
	Сессия = Неопределено;
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("НачалоПериода", НачалоМесяца(ОбщегоНазначенияКлиент.ДатаСеанса()));
	ДополнительныеПараметры.Вставить("КонецПериода", ОбщегоНазначенияКлиент.ДатаСеанса());
	ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьОперацииПродолжение", ЭтотОбъект, ДополнительныеПараметры);
	
	ТинькоффApiКлиент.Авторизация(ОписаниеОповещения, "Bazil1c", "MyPassword");
	
КонецПроцедуры

&НаКлиенте
Процедура ПолучитьОперацииПродолжение(Сессия, ДополнительныеПараметры = Неопределено) Экспорт
	
	Результат = ТинькоффApiВызовСервера.ПолучитьОперацииЗаПериодВФорматеExcel(Сессия, 
		ДополнительныеПараметры.НачалоПериода, ДополнительныеПараметры.КонецПериода); 
		
	Если Результат.Отказ Тогда
		Возврат;
	КонецЕсли; 	
		
	ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
	ДиалогВыбораФайла.Фильтр = НСтр("ru = 'Лист Excel(*.xls); Лист Excel2007-...(*.xlsx)|*.xls;*.xlsx'");
		
	ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайла();	
	
	ПараметрыСохранения.Вставить("Диалог", ДиалогВыбораФайла);
	
	ФайловаяСистемаКлиент.СохранитьФайл( , Результат.АдресВоВременномХранилище, "Операции" , ПараметрыСохранения);	
	
КонецПроцедуры

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published