🙊 Дисклеймер по интеграции с банками
Как вы уже наверняка знаете, в MoneyKeeper реализована система интеграции с банками с возможностью полуавтоматической загрузки операций.
Это позволяет нашим пользователям в пару кликов и с вводом смс-кода от банка загрузить все операции по привязанным счетам.
Но не все так просто...
😡 Синхронизация опять не работает!
Мы периодически получаем подобные сообщения через канал поддержки пользователей и в большинстве случаев этот вопрос действительно актуален.
Первое что предполагает пользователь — что MoneyKeeper не работает так как нужно.
Поэтому мы решили написать этот дисклеймер, чтобы решить ситуацию с нерабочими выгрузками.
📖 Немного теории
Как работает выгрузка из банков?
Все банки можно условно поделить на 2 категории:
- с автоматизированной передачей информации по API
- не предполагающие передачи информации
Почти все банки России и стран восточной Европы не предполагают возможности передавать данные о счетах и операциях кому-либо, кроме непосредственных клиентов. Более того, многие из них считают что не обязаны это делать в принципе, а некоторые — что не должны ни в коем случае.
У таких банков нет никакого механизма передачи информации и единственным способом получить ее является эмуляция действий клиента:
- вход на страницу авторизации на сайте банка;
- ввод логина и пароля;
- подтверждение входа по СМС.
Тем, кто хотел бы наладить процесс выгрузки информации из банка это доставляет массу неудобств, однако позиция банка прозрачна:
- во-первых, ему не нужно ничего делать, так как незачем;
- во-вторых, отсуствием подобного функционала он защищает своих клиентов от случайных утечек финансовых данных.
Поэтому любой сервис, который заявляет, что он может автоматически выгружать операции из банков РФ, Украины, Казахстана и других восточно-европейских стран, вынужден воссоздавать действия обычного пользователя для авторизации в личном кабинете банка.
Для сервиса учета личных финансов есть 2 пути:
- самостоятельно писать модуль подключения к КАЖДОМУ банку и парсер личного кабинета банка;
- использовать сервис, в котором уже настроены все интерфейсы.
Путь 1. Самостоятельная интеграция с каждым банком
По этому пути пошли многие сервисы личных финансов, которые заявляли, что поддерживают интеграции с банками.
Они писали сервис, работащий на стороне сервера, который «как бы» осуществлял вход клиента из браузера:
- пользователь вводит свои логин и пароль от банка, которые сервис хранит у себя;
- далее пользователь получает СМС от банка и вводит его для подтверждения входа;
- сервис подключается к личному кабинету клиента и получает информацию об операциях.
И для каждого банка писался свой обработчик личного кабинета.
Значительными минусами такого решения можно назвать то, что:
- Ваши логины и пароли к банку хранились непосредственно в базе данных сервиса учета личных финансов!
Какова вероятная судьба этих данных можно только догадываться. - Поломка подключения к банку исправляется долго, так как обычно за такие интеграции отвечает 1-2 разработчика, а время на поиск и исправление проблемы не регламентирутся.
- У сервиса нет никакого интереса подключать новые, не самые популярные банки, типа Уралсиб или Юникредит.
- Разработчики сервиса имеют теоретическую возможность выполнять какие-либо действия в вашем кабинете после авторизации - вы никак не можете гарантировать безопасность вашего счета после ввода смс-кода.
Путь 2. Использование стороннего сервиса для интеграции с банками
Мы в MoneyKeeper предпочли этот вариант, выбрав надежного провайдера банковских сервисов. Провайдер работает по той же схеме подключения, однако имея значительно большую аудиторию, он решает проблемы с перебоями в подключении банков как правило оперативней.
Мы видим такие плюсы этого решения:
- Мы не храним у себя ваши логины и пароли к банку: данные хранятся у надежной компании-агрегатора, базирущейся в Канаде.
- Подключение к банку осуществляет эта же компания, наши разработчики не имеют доступа к личным кабинетам пользователей в банках.
- Наша команда не тратит время на разбор интерфейсов личных кабинетов банков и сосредоточена на ключевом функционале MoneyKeeper.
Почему возникают ошибки синхронизации?
Причина ошибок синхронизации может быть на одном из уровней:
- Причины на стороне банка
- Сайт банка не доступен
- Банк изменил страницу авторизации
- Банк изменил диалог после авторизации (запрос кодового слова, рекламное предложение и тп)
- Банк изменил ссылку перехода на раздел с операциями
- Банк изменил формат вывода операций
- Банковский агрегатор
- Ошибка подключения агрегатора к сайту банка
- Ошибка в базе данных при записи операций
- Ошибка при передаче данных в MoneyKeeper
- MoneyKeeper
- Ошибка интеграции
- Ошибка синхронизации
Все эти ошибки возможны и периодически возникают, но подавляющее большинство ошибок (более 95%) возникают на стороне банка.
Если вы захотите сравнить 3-4 сервиса, которые предоставляют возможность синхронизации с банками, то практически точно в одно и тоже время получите ошибку во всех по вашему банку.
Как быстро решается проблема синхронизации?
Если ошибка на стороне MoneyKeeper или агрегатора, то ошибки исправляются в течение 1-3 рабочих дней.
Если ошибка вызвана перебоями в работе сайта банка — то на время устранения перебоев на стороне банка.
Если ошибка связана с изменением интерфейса сайта, на адаптацию парсера требуется от 3 до 10 рабочих дней.
Но я же плачу за это?!
Оплатная политика MoneyKeeper предполагает единый платеж за ВЕСЬ функционал сервиса, включающий:
- учет финансов,
- контроль бюджета,
- создание целей,
- аналитику и отчеты,
- интеграции с банками,
- использование периодических операций и календаря,
- подключение тегов и контрагентов,
- возможность совместного семейного учета,
- контроль инвестиционных портфелей.
Мы не выделяем возможность интеграции с банками в отдельную услугу или подписку и предоставляем эту возможность как дополнительную, совместно со всеми другими.
Мы не гарантируем (и не можем) полноценой работоспособности сервиса интеграции с банками, но обещаем, что будем прикладывать все усилия, чтобы он работал.
И, собственно, дисклеймер:
- Команда проекта MoneyKeeper не гарантирует надежность и стабильность работы сервиса интеграции с банками по причинам, описанным выше.
- Если сервис интеграции с банками — единственное, почему вы готовы использовать MoneyKeeper, не используйте MoneyKeeper.
- MoneyKeeper не берет оплату за использования сервиса банковских выгрузок как за отдельную услугу.
- Наша команда принимает обращения по сбоям в работе интеграций с банками и будет делать все, чтобы эти сбои устранялись максимально быстро, однако мы не даем гарантий по срокам устранения таких сбоев.
Что делать если синхронизация с банком не сработала?
- Попробовать выполнить синхронизацию еще 2-3 раза с интервалом 3-5 минут. Очень часто это решает проблему.
- Написать тикет в службу поддержки MoneyKeeper с указанием банка и описанием ошибки.
- Проблема может быть решена независимо от запроса, поэтому можете попробовать еще раз через несколько часов или на следующий день.
Благодарим за терпение и понимание 😍