На чем написано приложение тинькофф

Обновлено: 13.08.2022

Всем привет, как и у многих отрицательных отзывов, у меня 17.05.22 началась проверка по 115 ФЗ, все документы предоставил которые требовали, но видимо им было этого мало, как итог закрыли счета пользоваться ими нельзя, хорошо что почитал здесь отзывы и вовремя снял все средства.

Отдел который занимался проверкой, максимально не компетентный, все операции все суммы были подтверждены, но почему то решили закрыть, видимо вам не выгодно то что. Читать далее

Всем привет, как и у многих отрицательных отзывов, у меня 17.05.22 началась проверка по 115 ФЗ, все документы предоставил которые требовали, но видимо им было этого мало, как итог закрыли счета пользоваться ими нельзя, хорошо что почитал здесь отзывы и вовремя снял все средства.

Отдел который занимался проверкой, максимально не компетентный, все операции все суммы были подтверждены, но почему то решили закрыть, видимо вам не выгодно то что я пользуясь вашими продуктами получал выгоду.

Ужасный именно банк, и отношение к своим клиентам!
Заблокировали все счета, ну я и попросил пускай вернут деньги за подписку Тинькофф про, а они говорят я сам подключал, все верно списание, хотя по сути ей подпиской, пользоваться не могу.

Надеюсь что мой отзыв каким то образом повлияет на вашу работу, и работу этого отдела, который ущемляет права людей!

Мы не ограничиваем обслуживание без веской причины. Детально все проверим и вернемся с полноценным ответом на отзыв.

Спасибо Тиньков Банк за то, что Вы есть. Считаю, что Тинькофф один из самых удобных банков. Понятное приложение. Очень оперативное и качественное онлайн обслуживание. Операторы всегда помогут решить проблему и ответят на любой вопрос. Очень много магазинов с повышенным кешбеком из-за чего очень выгодно пользоваться картой Tinkoff Black, а так же можно выбрать нужную категорию повышенного кешбека каждый месяц.

Доставкой занимался представитель банка,всё прошло предельно быстро и комфортно. Доставка поведена была на дом, оформляли карту в машине. Представитель не торопил, но сам действовал предельно быстро и профессионально, рассказал про все условия и полезную информацию!Доволен отзывчивостью и работой сотрудников банка

Хотел бы выразить огромную благодарность менеджеру поддержки клиентов Фёдору, за оперативное решение вопроса. К сожалению, не все менеджеры достаточно компетентные…((( Вопрос по заявке рассматривался в течение 2х недель, по нему работало несколько менеджеров, но только Федор смог за один вечер предложить решение спорного вопроса - передать его в работу нужному человеку! Возврат денег по ошибочной операции был произведёт в течение. Читать далее

Хотел бы выразить огромную благодарность менеджеру поддержки клиентов Фёдору, за оперативное решение вопроса. К сожалению, не все менеджеры достаточно компетентные&hellip(( Вопрос по заявке рассматривался в течение 2х недель, по нему работало несколько менеджеров, но только Федор смог за один вечер предложить решение спорного вопроса - передать его в работу нужному человеку! Возврат денег по ошибочной операции был произведёт в течение нескольких часов!Очень бы хотелось пожелать вашему банку процветания, лояльных клиентов и профессиональных кадров! Спасибо!

Будучи владельцем сезонного бизнеса и имея на руках два терминала эквайринга,получил долг по расчетному счету в периоды без работы,то есть проценты капали ,а бизнес стоял.Обратился в банк,с просьбой помочь и списать задолжности в моменты бездействия,попал в итоге на личного менеджера Алину(6802214),которая в кратчайшие сроки смогла помочь решить этот вопрос.Долг был частично списан.В итоге все остались в плюсе и с хорошим настроением.Надеюсь. Читать далее

Будучи владельцем сезонного бизнеса и имея на руках два терминала эквайринга,получил долг по расчетному счету в периоды без работы,то есть проценты капали ,а бизнес стоял.Обратился в банк,с просьбой помочь и списать задолжности в моменты бездействия,попал в итоге на личного менеджера Алину(6802214),которая в кратчайшие сроки смогла помочь решить этот вопрос.Долг был частично списан.В итоге все остались в плюсе и с хорошим настроением.Надеюсь Алина в том числе

24 апреля 2022 года дочь из РФ отправила перевод матери в Турцию через Тинькофф банк.
Через неделю деньги так и не поступили на счёт. Долго добивались ответа от сотрудников техподдержки Тинькофф Банка. Просьбу предоставить GPI tracker перевода игнорировали. Только через месяц 22 мая 2022 пришел ответ, что деньги находятся в Райфайзен банке.
По состоянию на 24 мая 2022 года деньги на счет матери так и не поступили.
Для этого. Читать далее

24 апреля 2022 года дочь из РФ отправила перевод матери в Турцию через Тинькофф банк.
Через неделю деньги так и не поступили на счёт. Долго добивались ответа от сотрудников техподдержки Тинькофф Банка. Просьбу предоставить GPI tracker перевода игнорировали. Только через месяц 22 мая 2022 пришел ответ, что деньги находятся в Райфайзен банке.
По состоянию на 24 мая 2022 года деньги на счет матери так и не поступили.
Для этого перевода были сняты деньги со вклада, потеряны большие проценты при снятии, а кто-то пользуется нашими деньгами уже месяц.
У кого была такая же ситуация, подскажите куда эффективнее обратиться? Написать жалобу в ЦБ или с разу в прокуратуру?

Сейчас сроки проведения валютных переводов увеличены из-за большого количества подобных операций. Мы проверим вашу ситуацию и дополним ответ.

Оформил ОСАГО через мобильное приложение Тинькофф за две минуты. Это фантастически удобно! Очень доволен.
Иной раз в других банках приходилось мучится, что бы оформить страховку онлайн. И часто по невидимым причинам оформление без приезда в офис вовсе не удавалось.
С банком Тинькофф все иначе. Такой проблемы больше нет.
Рекомендую!

Хочу рассказать об отзывчивом Тинькофф банке, в котором работают столь понимающие люди.
Не так давно я хотела перечислить сумму денег другу, но по своей вине перечислила их на его другой номер, и так получилось, что этот номер принадлежал его брату, который был в армии. Я сразу же написала в поддержку, с просьбой вернуть платёж, ведь ждать целый год чтобы вернуть свои деньги не хотелось. В поддержке ответили, что платёж вернуть можно. Читать далее

Хочу рассказать об отзывчивом Тинькофф банке, в котором работают столь понимающие люди.
Не так давно я хотела перечислить сумму денег другу, но по своей вине перечислила их на его другой номер, и так получилось, что этот номер принадлежал его брату, который был в армии. Я сразу же написала в поддержку, с просьбой вернуть платёж, ведь ждать целый год чтобы вернуть свои деньги не хотелось. В поддержке ответили, что платёж вернуть можно только если получатель сам напишет в чат поддержки, согласившись с возвратом платежа, но он этого сделать не мог. И тогда, понимающие сотрудники чата начислили мне эту сумму со счета банка.) было очень приятно, ведь в этой ситуации была виновата только я. Ещё раз выражаю большую благодарность этому банку ♥️

Карта Тинькофф black одна из лучших на данный момент на рынке. Доставка в любое удобное время и место, всегда на связи онлайн, хороший кеш-бэк, бесплатное обслуживание, клиентоориентированность у сотрудников, удобное приложение.
по сравнению с другими картами других банков это самое выгодное предложение

25 апреля сделал перевод в США своему другу, деньги не дошли и пропали. Банк полностью бездействует.
Просил начать розыск денег, получал каждый день ответы - Ваше обращение продлевается еще на 1 день, и так уже почти месяц.
Попросил предоставить копию заявления на розыск моих денег - получил очередной ответ подождать день, теперь подождать еще 6 дней.
Раз банк не смог предоставить копию заявления, соответственно никакого розыска. Читать далее

25 апреля сделал перевод в США своему другу, деньги не дошли и пропали. Банк полностью бездействует.
Просил начать розыск денег, получал каждый день ответы - Ваше обращение продлевается еще на 1 день, и так уже почти месяц.
Попросил предоставить копию заявления на розыск моих денег - получил очередной ответ подождать день, теперь подождать еще 6 дней.
Раз банк не смог предоставить копию заявления, соответственно никакого розыска денег нет. Банк тянет время.
3100$ выбросил в помойку, воспользовавшись услугами SWIFT перевода в Тиньков Банке.

Сроки проведения swift-переводов увеличены из-за большого количества подобных операций. Обязательно разберемся в вашей ситуации и вернемся.

Детально разберемся в ситуации и дополним ответ на отзыв.

Обожаю этот банк. Пока что за 5 лет обслуживания только Тинькофф зарекомендовал себя как надёжный, удобный, оперативный банк с хорошим подбором сотрудников. Любое обращение к поддержке тут же приносить положительные результаты, так как Тинькофф Банк ориентирован на потребности клиентов! Спасибо за Ваш труд!

Пользуюсь картой тинькофф уже более полугода и очень ей доволен. Хотелось бы отметить замечательный дизай, а также, то как быстро отвечает тех поддержка. Также очень хорошие категории кэшбека. Еще хотелось бы отметить, что зарегистрировать карту тинькофф куда проще чем карту других банков, так как не надо идти в отделение. У меня есть несколько дебетовых карт, но тинькофф однозначно лучший.

Для меня как и для многих держателей карты очень важен хороший кэшбек и недорогое обслуживание.
А ещё я люблю "Рика и Морти".
Так совпало, что один известный банк в синюю полоску решил изменить условия начисления кэшбека, исключив возможность переводить кэшбек в рубли, и оставив право довольствоваться бонусами в специальном приложении.
И в это же время у Сыендука вышел новый выпуск с рекламой дебетовой карты от Tinkoff Black с. Читать далее

Для меня как и для многих держателей карты очень важен хороший кэшбек и недорогое обслуживание.
А ещё я люблю "Рика и Морти".
Так совпало, что один известный банк в синюю полоску решил изменить условия начисления кэшбека, исключив возможность переводить кэшбек в рубли, и оставив право довольствоваться бонусами в специальном приложении.
И в это же время у Сыендука вышел новый выпуск с рекламой дебетовой карты от Tinkoff Black с вечным бесплатным обслуживанием, широкими возможностями начисления кэшбека в живых рублях.
Долго думать не пришлось - был оформлен быстрый заказ карты через сайт, уже через 2 дня приятная женщина привезла мне крутую карту с ярким дизайном, набором стикеров и фирменным кошельком.
Процесс взаимодействия максимально открытый и ненавязчивый. Порадовало отсутствие агрессивного маркетинга и доброжелательность.
Надеюсь, что карта будет радовать меня долгие годы - по крайней мере, первое впечатление положительное.
P.S. главное не забудьте отключить оповещения по карте в формате смс - эта услуга по карте платная.

Tinkoff.ru

Наш стэк для фронтенда хорошо себя показал. Теперь мы решаем проблемы и адаптируемся к новым требованиям в рамках концепции архитектуры.

Мы объединили функции предыдущих интернет-банков, портала и кошелька. Поэтому я сначала опишу исходные стэки, а потом расскажу, как мы пришли к текущему стэку.

Портал и интернет-банк 2011

Первую версию мы разрабатывали внутренними ресурсами на основе коммерческого решения от голландской компании. Бекенд крутился на базе тяжелого Java/Spring приложения. На фронте из-за недостатка гибкости и подробной документации сформировался стэк из jQuery, Backbone, Handlebars.


Maven собирал фронт с бэком. Было катастрофически мало плагинов для фронта, так как Maven не подходил для сборки клиентских пакетов. Это привело нас в тупик. Благо нашли как отделить клиентскую сборку от серверной с помощью Grunt.

Использовать шаблоны на сервере и несвязанные шаблоны на клиенте со своей логикой и архитектурой считалось нормой. Приходилось поддерживать два UI-слоя: серверный UI и клиентский UI. Когда мы имеем крупное RIA – дублируется много логики, которая написана на разных языках программирования. Например: маршрутизация по страницам, логика получения данных или шаблоны с одинаковой разметкой.

В конце 2013 года стал развиваться изоморфный подход к созданию веб-приложений. И решение с дублированием шаблонов на сервере и на клиенте стало считаться концептуально неверным.

Кошелек 2014

Этот проект интересен по двум причинам:

  1. «Тинькофф Мобильный Кошелек» — первое приложение, которое использовали все, не только клиенты банка.
  2. Мы попробовали изоморфный подход на базе архитектуры MVC. Отправная точка — статья от Airbnb.

Стэк был схож с интернет-банком: Backbone и Handlebars, сервер на Node.js. Часть вью рендерилось на сервере. Приложение решало свои задачи и даже получился один UI-слой. Но стало ясно, что на большом приложении подобная архитектура принесет сложности. Появились проблемы с обогащением моделей данных в браузере. Приходилось писать отдельные контроллеры для серверной и клиентской стороны.

Следующий проект разработали по другой парадигме.

Интернет-банк 2015

Интернет-банк был отделен от внешнего сайта и представлял из себя Single Page Application. Для интернет-банка использовали фреймворк Angular.js. В итоге мы получили современный интерфейс интернет-банка.

В 2015 году бизнес изменил стратегию развития и предъявил новые требования к веб-приложению. Нам предстояло:


Новый интернет-банк имел UI-слой только на клиенте. Поисковые роботы пока не научились хорошо индексировать подобные приложения. И непонятно, когда это произойдет. Не получилось отказаться от серверного слоя. Мы видели несколько путей развития существовавших стэков:

  1. Объединить старый портал и новый интернет-банк. Портал выступал бы в качестве серверного UI-слоя, а Angular.js в качестве клиентского. Этот вариант не решил бы наши фундаментальные проблемы.
  2. Заменить Java приложение Node.js приложением. Это могло бы упростить поддержку, но оставалось два UI-слоя.
  3. Убрать Java, оставить только Angular.js. И рендерить SPA с помощью развернутых серверов с headless браузером Phantom.js. Такую схему сложно отлаживать, поэтому этот вариант не подходит для большого количества страниц.

Мы проанализировали пути развития существовавших стэков и поняли, что они не решают наших задач. В итоге выбрали кардинально другой подход.

Платформа 2016

За основу этой системы мы выбрали архитектуру Flux, которую предложили инженеры Facebook в 2014 году. Flux отличается от MV* тем, что в нем отсутствуют разнонаправленные потоки данных, что легче ложится на изоморфную парадигму и всё это помогает быстрее отлаживать приложение. Архитектура Flux взяла за основу модель работы с базой данных CQRS.


Мы реализовали идею изоморфного приложения с одним UI-слоем. В качестве шаблонизатора выбрали библиотеку React.js с поддержкой виртуального DOM. Благодаря которому шаблоны легко рендерятся на сервере.

Fluxible

В качестве реализации Flux выбрали фреймворк Fluxible от инженеров Yahoo. Эта реализация ориентирована на изоморфный рендер. Выбранное решение полностью удовлетворяет нашим требованиям.

Мы стараемся не связывать приложение крупными зависимостями, поэтому используем только две библиотеки из набора:

    – маршрутизация по страницам. Библиотека поддерживает express-подобные пути. Она изоморфная и быстрая: сейчас роутимся по 2000 страницам. – Flux диспетчер.

Распределение по слоям

image

Действия. Flux action creators, содержат часть UI и бизнес логики. Имеют доступ к сервисам.

Сторы. Модели данных, которые содержат UI логику.

Компоненты. Рендер данных из сторов в HTML.

Прогрессивная загрузка

Благодаря серверному рендеру мы получаем эффект прогрессивной загрузки и сокращение time to glass. Средний пользователь видит работающую страницу через 600 мс после запроса сайта. Через пару секунд инициализируется динамика и загружаются персональные данные.

image

Мы можем рендерить все данные на сервере, можем ренедрить часть. А можем полностью отключить серверную часть и использовать приложение как SPA. Чтобы сократить нагрузку на сервера, рендерим только общие данные для всех пользователей, а работу с персональными данными выполняем в браузере.

image

Пример кода

Что выполнять на сервере или что позволить запустить пользователю с определенными ролями, мы определяем на уровне функции создания действия:

В остальном коде приложения нет условий для определения окружения. Все решается на уровне контекста, который наследуется от базового класса контекста.

Переиспользование

Компоненты приходилось использовать с разными моделями данных. Их стало сложно поддерживать, тестировать и переиспользовать. Поэтому мы разделили компоненты на коннекторы и чистые компоненты:

image

Такой подход упростил переиспользование компонентов и тестирование.

Пример коннектора

Используем утилиту connect (схожа с коннектором из redux), которую можно использовать в виде декоратора. Первый аргумент – список сторов, в которых мы заинтересованы. Второй аргумент – функция маппинга, которая принимает состояние всех сторов и возвращает только нужные чистому компоненту данные.

Higher-order Components

Следующий подход, который мы изначально не использовали для наследования кода — компоненты высокого порядка. Переиспользовать код между компонентами помогали миксины, которые поддерживает React.createClass.

Миксины не гарантируют свое окружение. Если на компоненте использовать более трех миксинов и если они становятся зависимы, то поддержка такого компонента становится проблемой. Подробнее об этом в статье Mixins Are Dead. Long Live Composition.

Оптимизация универсального приложения находится на двух сторонах: клиентской и серверной. Расскажу о наших подходах к разработке быстрого приложения.

Оптимизация на клиенте

Первое правило быстрых компонентов – как можно реже вызывать метод render. Для этого мы используем подход pure-render. Он вызывет render через переопределение метода shouldComponentUpdate, если только исходные данные изменились (props или state).

Иногда в компонент передается больше данных, чем ему нужно. Иногда меняются поля модели, данные не меняются, а ссылка на модель данных изменилась. В этом случае проверка pure-render не срабатывает. Чтобы определить количество вызовов render того или иного компонента, мы используем модуль react-perf. С его помощью получаем статистику в удобном виде:

image

Если находим компонент с неоправданно большим количеством ререндеров, то диагностируем его подробней с помощью нашей утилиты render-logger. Она позволяет увидеть измененные данные, которые повлекли вызов render:

image

Рендер произошел из-за изменения функции, переданной в свойство onClick. Это происходит при использовании bind или определении функции внутри render родительского компонента, когда при каждом вызове render создается новая функция. И из-за этого не срабатывает защита pure-render дочернего компонента.

Чтобы запретить bind в render, используем линтинг Eslint с плагином eslint-plugin-react и опцией jsx-no-bind.

Batched updates

React поддерживает изменение стратегии рендера в runtime. Мы используем стратегию пакетного обновления при первоначальной инициализации. Или при переходах между страницами, когда происходит повышенная активность приложения. Это уменьшает итоговое время рендера.

Визуальное ускорение

Следующий способ, который мы используем для ускорения клиентского экземпляра приложения, это визуальное ускорение. Считаю этот способ лучшим по соотношению затрат к результату.

image
image

В первых версиях логотипы появлялись только после загрузки клиентского пакета JS. На медленном мобильном интернете это приводило к неприятному эффекту долгой загрузки страницы. Пользователь ждал, когда серый блок будет наполнен.

Мы решили изменить стили и код компонента, чтобы отрисовывать логотипы на сервере. Благодаря отказу от ожидания инициализации клиентской части, уменьшилось время до появления логотипов.

Оптимизация на сервере

Серверный рендер компонентов React медленней простых строковых шаблонизаторов. Я расскажу о том, как мы ускоряем рендер на сервере.

  1. Используем ES6 Class, а не React.createClass (он медленней из-за autobinding) и не забываем NODE_ENV=production, который отключает код для отладки. Это приводит к 4х кратному ускорению.
  2. Минифицированная версия React. Код для профайлинга удален полностью. +2% (здесь и далее прирост относительно первого пункта)
  3. Трансформация кода на уровне Babel. Используем два плагина:
    1. transform-react-constant-elements поднимает инициализацию компонентов в верхний скоуп модуля
    2. и transform-react-inline-elements преобразует вызов createElement к оптимизированному виду. +10%

    На данный момент мы кэшируем всю страницу. Благодаря отсутствию персональных данных в HTML, нам это далось легко.

    Кэширование в приложении реализовано на нескольких уровнях:

    1. Nginx кэширует на короткий промежуток времени результат генерации всей страницы. страховка от потока однотипных запросов. библиотеку используем для кэширования результатов сервисов.

    С lru-cache мы используем нестандартную схему удаления данных из кэша. Любые данные при достижении TTL не удаляются из памяти, а запрашиваются у источника. Если источник ответил новым результатом – кладем значение в кэш. Такой подход повышает отказоустойчивость, когда внешние системы недоступны. Если мы единожды получили данные из внешнего сервиса, то уже не потеряем.

    Есть библиотека, которая реализует похожую схему:

    image

    Для сборки и деплоя используем CI Teamcity. Делаем два отдельных артефакта для клиента и сервера. На сборке клиентского пакета обычная конфигурация Webpack. Со сборкой серверного пакета интересней.

    Сначала мы просто собирали пакет tar из исходников и распаковывали его на сервере. Когда модулей для компиляции Babel стало много, первые запросы на сервер стали проходить долго – Babel компилировал все при первых запросах.

    Первое реализованное решение – процесс прогрева перед стартом, компиляция.
    Затем настроили прекомпиляцию Babel при сборке артефакта, что сократило время прогрева до пары секунд.
    Сейчас в момент прогрева происходит только наполнение кэшей данными из внешних сервисов. Такой подход экономит время на сборке с помощью переиспользования времени, затраченного на компиляцию Babel в клиентской сборке.

    Второе решение, которое можно использовать – компиляция серверного пакета с помощью Webpack. Этот подход более функциональный, но влечет увелечение общего времени сборки.
    В артефакты мы не записываем переменные окружения, а передаем их только при старте серверного экземпляра приложения. Значения переменных окружения записываются в стор и передаются на клиент через стандартный процесс передачи состояния приложения с сервера на клиент.

    Для запуска и мониторинга приложения на сервере используем application runner PM2. PM2 имеет богатую функциональность.

    1. Для запуска приложения используем команду pm2 startOrGracefulReload processes.json, что позволяет перезапускать приложение с минимальным временем недоступности.
      processes.json:
    2. Если ваше приложение запускается более чем на одном сервере, то между ними есть балансировка. И в этом случае балансировка между форками с помощью Node.js кластера становится ненужной. Мы убрали балансировку балансировки и переложили эту ответственность на единую точку – Nginx. Каждый экземпляр приложения на всех серверах запускается на отдельном порту и Nginx знает о всех экземплярах. Благодаря PM2 сделать это просто. При выборе порта нужно учитывать переменную окружения NODE_APP_INSTANCE: PORT: process.env.PORT + process.env.NODE_APP_INSTANCE

    image

    Универсальное веб-приложение решает выставляемые задачи, объединяет одну ответственность в одну кодовую базу. React.js заставил переосмыслить сложившиеся практики в разработке веб-интерфейсов. Виртуальный DOM становится стандартом де-факто для шаблонизаторов. Flux упрощает разработку и отладку сложных приложений. Node.js продолжает завоевывать свое законное место на корпоративных серверах.

    Если вы не разрабатывали приложения на схожем стэке, то, надеюсь, прочтение статьи сподвигнет вас на смелые эксперименты в этом направлении. Думаю, в ближайшие несколько лет не появится кардинально новых подходов и инструментов для разработки приложений, которые бы на порядок упрощали разработку. Есть смысл вложить немного своего времени в изучение React.js, Flux и присоединиться к нашей Dream Team.

    Делюсь фотографиями с одного планирования и обычной пятничной тусовки:

    image

    image

    Спасибо и до новых встреч!

    PS: Если вы хотите получить навык промышленной разработки веб-приложений, а также навыки создания конечных продуктов, то добро пожаловать в нашу летнюю школу FinTech. Курсы ведут наши специалисты и по итогу вы научитесь создавать финансовые продукты.

    Tinkoff invest api

    Tinkoff invest api

    Введение

    Количество физических лиц, имеющих брокерские счета на Московской бирже, за июль 2021 года увеличилось на 446 тыс. человек, достигнув 13,2 млн. Ими открыто 21,6 млн брокерских счетов. В июле 2021 года сделки на бирже совершали более 1,9 млн человек. (Московская биржа)

    На фоне снижения ключевой ставки и ввода налога на доходы с депозитов физических лиц, у Россиян появился нешуточный интерес к инвестициям. Не обошел данный тренд и меня, не могу назвать себя новичком в торговле на фондовом рынке, в различные периоды своей жизни мне довелось воспользоваться услугами таких брокеров, как АТОН, ВТБ, ОТКРЫТИЕ, РСХБ, и наконец, ТИНЬКОФФ.

    Иррациональный выбор

    Суть отношения состоятельных людей к деньгам — отнюдь не в экономии или рациональном использовании. На одной «экономии» состояния не построишь. (Дмитрий Васильевич Брейтенбихер – российский банкир и финансист)

    Сравнивая тарифы брокеров, несложно прийти к заключению, что с точки зрения экономической рациональности, ТИНЬКОФФ нам совсем не бро и если вы не относите себя к премиальным клиентам (на счетах от 3 млн.), то тарифы могут заставить плакать и смеяться одновременно. Так почему многие выбирают ТИНЬКОФФ? За всю Одессу Россию говорить не буду, лично мне, программисту по специальности, было очень интересно узнать что же за зверь такой TINKOFF INVEST API и насколько он подходит для автоматизации торговли и анализа данных. Ну ведь не допотопными QUIK и MetaQuote с их конструкциями из костылей на LUA и MQL пользоваться в 21 веке?

    Задачи и инструменты

    Дайте маленькому мальчику молоток, и он обнаружит, что по всем окружающим предметам просто необходимо стукнуть. (Авраам Каплан – американский философ)

    Самое время определиться с инструментарием. Изначально была мысль создать SPRING-проект с API, СУБД, планировщиком, и прочим. Да что идея? Большую часть из этого я реализовал, но быстро пришел к заключению, что описание готового проекта – это не совсем то, чего ждет аудитория хабра. Пришла идея идти от простого – к сложному, от малого – к великому. Публикуя информацию о проделанной работе частями, можно анализировать мнения читателей и притворять в жизнь их пожелания. И как только я сформулировал все это в голове, пришел к выводу, что я "изобрел" Agile-манифест, уж больно похоже. Об Agile и моем отношению к нему читайте чуть ниже.

    TINKOFF INVEST API – получение информации, торговые операции;

    POSTGRE SQL – СУБД для хранения информации;

    SPRING – фреймворк для формирования API взаимодействия с внешними системами, разграничения прав доступа к ресурсам, манипулирования данными;

    TA4J – библиотека для анализа данных;

    JFREECHART – библиотека для построения графиков и диаграмм;

    JSOUP – библиотека парсинга сторонних сайтов для получения дополнительной информации (календари, отчеты, графики выплаты дивидендов, и т.п.);

    Как я упоминал ранее, данный список не будем принимать за константу, все может измениться в ходе реализации проекта и получения обратной связи от читателей. Гибкий подход.

    Гибкий подход (Agile)

    Нет времени объяснять! Суй в жопу ананас! (Интернет-фольклор)

    Что будет из себя представлять готовый продукт? Какие требования мы выставляем к приложению? Эти вопросы задет себе каждый владелец продукта, менеджер, архитектор, тимлид или разработчик. И иногда случается так, что общая концепция вроде бы и понятна, но нет никакой конкретики, и что делать? В этом случае на помощь могут прийти, так называемые, "гибкие" (Agile) методологиями разработки, де-факто данный подход стал одним из отраслевых стандартов проектного управления и разработки программного обеспечения. Если коротко, то суть заключается в том, что заказчик может внести новые требования на любом этапе реализации проекта. Насколько этот метод универсален можно и нужно спорить.

    Моя профессиональная область – это разработка программного обеспечения для банков, где Agile, с легкой подачи Германа Оскаревича прописался всерьез, и похоже, надолго. Если читатель спросит мое личное отношение к данному явлению, то скажу, что словом "Agile" хорошо прикрывать недостаток вовлеченности заинтересованных лиц при подготовке к реализации проекта, а именно формировании требований и проектирования. Agile'ом вполне обоснованно можно замаскировать любой бардак, в том числе, творящийся в головах участников команды :).

    Дочитав до этого абзаца, любители Agile , должно было, успели на меня обидеться. Не не стоит! Моя характеристика - это всего лишь выводы из личного травмирующего опыта, при этом жизнь гораздо богаче. Сходу могу привести несколько примеров, когда именно Agile позволяет решать задачи, получая ощутимое преимущество в сравнении с традиционными методами управления проектами, минимизируя при этом временные, трудовые и денежные затраты. Внедрение новых программных комплексов в существующую среду, прототипирование и проверка теорий, разработка новых продуктов с нечетко сформулированными требованиями, вывод продукта на рынок в кратчайшие сроки, в решении подобных задач использование гибких методологий может гораздо быстрее привести команду к финальному результату. Попытка же использовать Agile просто по причине инновационности подхода, сравнима с желанием сунуть в жопу ананас, не задаваясь при этом вопросом "нафига, а главное, зачем?".

    Как вы поняли, концепция обрисована крупными мазками. Я говорю: "перед нами", ожидая, что аудитория хабра поможет с формулированием требований к системе и в выборе оптимальных инструментов для реализации задуманных идей. Если есть мысли по теме статьи или конструктивная критика, пишите в комментариях, ваше мнение окажет неоценимую поддержку в развитии проекта.

    На этом про Agile все, если вы зашли только ради этого, то ничего интересного для вас, увы, в данной статье больше не будет.

    Подготовительный этап

    Только тот, кто тщательно подготовился, имеет возможность импровизировать. (Эрнст Ингмар Бергман – шведский режиссёр театра и кино, сценарист, писатель)

    Не имея ни малейшего желания в очередной раз пересказывать то, о чем много раз говорено, приведу ссылки, по которым вы найдете исчерпывающую информацию о возможностях API, остается немного сожалеть о том, что в TINKOFF упорно не замечают, что на их ресурсах размещена ссылка на нерабочий ресурс, тревожный звоночек.

    Краткая история крупнейшего в мире онлайн-банка: от инновационной идеи «банка без отделений» до продажи «Интерросу».

    Тинькофф представляет собой полноценную экосистему из финансовых услуг и полезных сервисов, в которой обслуживается более 19 млн человек по всей России. Это третий банк страны по количеству активных клиентов, благодаря чему в 2021 году он был включен в перечень системно значимых кредитных организаций. С чего началась история Тинькофф 15 лет назад, как банк рос и развивался — расскажу в статье далее.

    В 2006 году Олег Тиньков купил небольшой кэптивный банк «Химмашбанк» и создал на его базе «Тинькофф Кредитные Системы» (далее «ТКС»), вложив в открытие около 70 млн долларов. Во время учёбы в штатах Олег заинтересовался моделью дистанционного обслуживания американского банка Wells Fargo и монолайнера Capital One. Он решил, что сумма технологий активного директ-маркетинга и дистанционного кредитного банка может отлично прижиться в России.

    Несмотря на кризисные годы, которые пришлись на период становления бизнеса, «ТКС» продемонстрировал 50-кратный рост чистой прибыли – на фоне убытков большинства других банков, специализировавшихся на розничном кредитовании. В 2009 году «ТКС» начал приём вкладов и выпуск дебетовых карт, а также запустил программу по привлечению новых клиентов. Помимо всего прочего в 2011 году «ТКС» представил мобильный банк для смартфонов на iOS и Android.

    «ТКС» завоевал 5 место в рейтинге популярности кредитных карт по версии российского Forbes, а в 2011 года эксперты оценивали банк в 300 млн долларов.

    Развитая технологическая платформа сыграла большую роль в проведении IPO на лондонской бирже в октябре 2013 года. Стоимость акций «ТКС» перед торгами была оценена с мультипликатором в 6 собственных капиталов. Успешное IPO увеличило состояние Тинькова до 1,4 млрд долларов, благодаря чему предприниматель оказался на 1210 месте в мировом списке Forbes. Его доля акций «ТКС» составляла 50,9%.

    В ноябре 2013 года «ТКС» получил удар, обваливший стоимость акций на 26,86%. В Госдуме были предложены поправки к закону «О потребительском кредитовании» с запретом на дистанционную выдачу банковских карт, что полностью противоречило концепции банка. В тот же день эту поправку назвали ошибкой и убрали из итогового текста, однако за короткий промежуток времени банк понес убытки в размере 1 млрд долларов. Некоторые считают это происшествие заказным.

    Кризис 2014 года привел к просадке акций на фоне общих негативных ожиданий, но своевременно принятые меры в управлении и кредитной политике, а также развитие собственной службы взыскания, позволили банку увеличить объем кредитного портфеля на 12,8% и нарастить объем вкладов. В марте этого же года банк стал объектами DDoS-атаки c целью вымогательства. Олег Тиньков публично отказался платить хакерам и пообещал привлечь их к ответственности. Благодаря данным службы безопасности банка в ноябре хакера задержали.

    С начала 2015 года «ТКС» сменил название на АО «Тинькофф банк». Олег Тиньков объяснил, что считает новое название проще и лаконичнее, лучше отражающее концепцию.

    2016 год ознаменовался рядом событий, выведших банк на новый уровень. В начале года Тинькофф запустил долгосрочную программу удержания и стимулирования менеджмента. Банк выкупил для своей штаб-квартиры 3 этажа комплекса «Водный» в Москве общей площадью свыше 8000 м2, став крупнейшим резидентом бизнес-центра. Затем среди 50 сотрудников были распределены 4% TCS Group в качестве вознаграждения за добросовестную работу. За период 2016-2017 гг. были запущены следующие проекты:

    • выпущена совместно с Google карта с кэшбеком за покупки в Google Play;
    • внедрение NFC;
    • запущено приложение быстрых переводов с карты на карту;
    • под Telegram масштабирована технология MoneyTalk для перевода денег между участниками диалога;
    • запущен онлайн-банк для предпринимателей;
    • создан консорциум по изучению блокчейн-технологий совместно с другими банками, а также компаниями Accenture и Qiwi;
    • открыта брокерская площадка для частных лиц «Тинькофф Инвестиции».

    Чистая прибыль банка в 2016 году выросла до рекордных 4,4 млрд рублей. В 2017 году банк открыл первый собственный банкомат, что позволило клиентам не зависеть от комиссий сторонних банков при пополнении и снятии денег с карт Тинькофф.

    В 2018 году Банк России выдал «Тинькофф Банку» лицензию профучастника рынка, что дало право оказывать брокерские и депозитарные услуги, расширить линейку продуктов предложениями для частных инвесторов. В июне 2019 года было объявлено о создании управляющей компании под названием «Тинькофф Капитал» для продвижения собственных биржевых фондов.

    В апреле 2020 года Олег Тиньков покинул пост председателя совета директоров банка из-за проблем со здоровьем. Однако в качестве основателя «Тинькофф» предприниматель продолжает определять ключевые направления развития. Так, в октябре 2020 года он отменил сделку о покупке банка и группы TCS Group интернет-компанией «Яндекс», аргументировав решение тем, что предполагал объединение и синергию двух компаний, а не просто продажу холдинга.

    28 апреля 2022 года группа «Интеррос» приобрела 35% акций TCS Group Holding, которой владел Олег Тиньков. По его заявлению, сделка была проведена под давлением властей, а сам бизнесмен получил 3% реальной стоимости доли.

    В переписке банк подтвердил, что для активации рассрочки клиенту достаточно посмотреть спецпредложение. «Очень большое количество клиентов забывали активировать спецпредложения, из-за чего теряли возможность в них поучаствовать. Мы сделали автоматическое подключение после просмотра», — сообщил представитель службы поддержки банка.

    Об аналогичных проблемах клиенты Тинькофф Банка пишут и в «Народном рейтинге банков» на Банки.ру.

    «Зашел сегодня в приложение, и увидел что у меня подключена какая-то рассрочка на целых 233 рубля, я ничего не подключал, следовательно Тиньков почему то решил за меня, что она мне нужна, можете все таки клиент сам будет выбирать, что ему надо а что нет?!», — написал пользователь Uralgeo из Челябинска (авторская стилистика и орфография сохранены).

    «Пользуюсь кредитной картой тинькоф, посмотрела один раз в целях ознакомления раздел «рассрочки» чтобы быть в курсе какие партнеры предоставляют рассрочку. Посмотрела называется, накликала себе беду. Тинькоф в одностороннем порядке, без дополнительного смс или пуш информирования подключает мне рассрочку. Внимание! На пятерочке с транзакцией в 200 рублей, где он отработал с меня 70 рублей комиссии за эту рассрочку, хотя я ее не подключала. Следующее, сделала покупку уже в ленте на 300 рублей и тут мне в одностороннем порядке врубают рассрочку», — рассказала aliya.ya из Казани.

    «Банком Тинькофф внедрена система автоматического подключения рассрочек при совершении покупок. Согласие клиента при этом не требуется, и он ставится перед фактом, что вместо обычной транзакции на него оформлена рассрочка. Преподносится, как партнерское соглашение. Кроме того, в явном виде об этом неизвестно и по умолчанию всем клиентам Тинькофф подключена эта система, где рассрочка включается лишь от просмотра имеющихся предложений, независимо от того, нужна ли рассрочка клиенту или нет», — сообщил user-89378012922 из Екатеринбурга.

    В самом Тинькофф Банке подтверждают, что для активации спецпредложений достаточно просмотреть их. И для их отключений рекомендуют обратиться в банк по горячей линии или написав в чат.

    Автор статьи

    Куприянов Денис Юрьевич

    Куприянов Денис Юрьевич

    Юрист частного права

    Страница автора

    Читайте также: