[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-158433683", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxbwd&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } } ]
{ "author_name": "Konstantin Panphilov", "author_type": "self", "tags": ["\u0431\u043e\u0442\u044b","\u0440\u043e\u043a\u0435\u0442\u0431\u0430\u043d\u043a","telegram","\u0440\u043e\u043a\u0435\u0442\u0431\u043e\u0442"], "comments": 63, "likes": 27, "favorites": 32, "is_advertisement": false, "section_name": "default", "id": "15182" }
Konstantin Panphilov
18 598

Письмо в редакцию: Как мы собрали Telegram-бота для «Рокетбанка» за 24 часа

История от команды AngryDevelopers

Поделиться

В избранное

В избранном

Одним из победителей 24-часового хакатона «Тинькофф банка», который прошёл в апреле 2016 года, стала команда AngryDevelopers, сделавшая полноценного Telegram-бота для работы с «Рокетбанком». Сейчас банковский сервис поддерживает его официально. Артем Косарев, менеджер по продуктам AngryDevelopers, прислал в редакцию vc.ru письмо о том, какой путь прошли команда и бот, и что их ждет впереди.

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

Идея

За три дня до хакатона Boosters «Эра ботов» мы нашли в интернете неафишируемый декомпилированный сторонним разработчиком код приложения «Рокетбанка» для Android. Возможность использования API из этого кода уже закрыта, поэтому давать ссылки не будем. Спустя два часа после находки мы смогли авторизоваться в «Рокетбанке», используя лишь Python-консоль. Идея бота была для нас очевидной.

Опыт создания и банковских сервисов, и ботов у нас есть, поэтому вызов представлялся интересным. Новый канал контакта сервиса с аудиторией, ускоренная работа с банкингом по сравнению с приложением и тестирование одного из вариантов развития UX современных сервисов — все это хотелось проверить в работе.

К тому же краткое исследование интернета показало, что до сих пор никто не опубликовал ни одного банковского бота для современных мессенджеров, который бы давал полный контроль над счетом и банковскими услугами. Максимум, что есть — это анонс похожего бота от Bank of America.

Выбор платформы для бота также очевиден — технологически Telegram опережает всех на два шага вперед.

Хакатон

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

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

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

Бот

Что вы можете сделать, используя «Рокетбота»?

Безопасно авторизоваться. Авторизация происходит аналогично авторизации в любом приложении «Рокетбанка».

С помощью inline-клавиатуры (отличное нововведение в Bot API 2.0) мы добились того, что вся конфиденциальная информация, влияющая на безопасность пользователя в банке, а именно коды авторизаций и пароли от приложения, не появляются в переписке с ботом.

Несмотря на то, что IP нашего сервера могли узнать только братья Дуровы и команда «Рокетбанка», мы все равно решили не хранить информацию, которая может угрожать безопасности банковских счетов наших пользователей. На сервере хранятся лишь авторизационные токены, которые действительны в течение нескольких минут, что заставляет нашего бота повторно запрашивать пароль от Рокета, аналогично тому, как это делает приложение.

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

Просмотреть историю операций. Бот покажет последние десять и предложит пролистать историю назад.

Перевести деньги. Вы указываете сумму и контакт получателя (можно выбрать из записной книги или ввести вручную). Если получатель — клиент «Рокетбанка», перевод пройдёт автоматически. Если нет, бот сгенерирует ссылку для операции.

Inline-режим работы

Используя inline-режим, вы можете делиться ссылками на свои страницы в «Рокетбанке», а также поделиться транзакцией, используя персонализированный поиск по вашей истории операций. Аналогично поиску в приложении «Рокетбанка».

Архитектура «Рокетбота»

Презентация перед жюри «Тинькофф банка»

Главным призом на хакатоне были 50 тысяч рублей и ускоренное собеседование в «Тинькофф банк». Победителем должен был стать бот, «который с минимумом ручного вмешательства максимально расширит спектр вопросов, на которые он умеет отвечать» — цитата из условий конкурса.

Мы хорошо понимали, что с нашей идеей написать «Рокетбота» выиграть хакатон было сложно, но и призы нас не очень интересовали. Мы считали, что бот для управления финансами намного нужнее и интереснее, чем техподдержка. И решили его показать.

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

К слову, это был первый хакатон, на котором жюри не поверило, что такой продукт можно реализовать за 24 часа — обычно в наших продуктах сомневались только участники.

Во время демонстрации, разумеется, посыпались вопросы в духе «а вы не из "Рокетбанка"?», «почему не сделали бота для "Тинькофф Банка"?» и прочие.

Особо порадовала дискуссия жюри на тему того, насколько проще и удобнее было бы управление ботом при помощи естественного языка. Мол, написать или произнести фразу «Сколько у меня денег» было бы быстрее. Но менее чем за секунду, нажав на две кнопки и моментально получив баланс, мы прервали жюри и заставили зал засмеяться.

В результате номинацию, в которой мы победили, переименовали в «Бунтари» с призом в виде нарезного батона и формулировкой «зрелище было, а хлеба — нет».

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

Сотрудничество с «Рокетбанком»

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

«Рокетбанк» заблокировал сервер бота от неожиданности и, конечно, в целях безопасности своих пользователей.

Однако мы были уверены в продукте и такой результат не устраивал. С утра мы связались с командой «Рокетбанка», предложив проверить код и безопасность бота и, если понадобится, совместно доработать. В компании согласились, перенесли бота на свои сервера, подправили тексты, и уже ночью мы продолжили тестирование.

Пользовательская безопасность и бизнес-логика не вызвала сомнений. Поэтому сейчас бот доступен всем пользователям «Рокетбанка» и Telegram практически в том же состоянии, до которого мы довели его на хакатоне, но уже с официального аккаунта компании.

Мы давно смотрели на ботплатформы как на площадку для реализации прикольных функций, которые можно было бы потестировать, а в случае удачи даже использовать в приложении. Чат и backend в «Рокетбанке» позволяет спокойно внедрять технологии ботов и даже больше. Да и потребность в боте у нас может быть только в развлекательных целях, так как наша поддержка знаменита своей человечностью.

Добавлять роботов в чат и тем самым рвать шаблоны в этом случае мы не планировали. Когда ребята запустили бота, мы быстро отреагировали и заблочили их сервер в целях безопасности. Разобравшись в вопросе, мы решили, что можно объединить усилия и сделать не только «первый банковский бот», но и самый крутой банковский бот. Во вселенной, наверное.

— «Рокетбанк»

Выводы

Все это время мы продолжали тестирование бота. С точки зрения юзабилити перенос сервиса «Рокетбанка» в интерфейс Телеграма показал себя замечательно: стандартные ежедневные операции (переводы друзьям, проверка баланса, запрос денег) занимают всего несколько секунд. Когда мы перенесем в бота возможность общаться с поддержкой, общение клиентов с банком станет еще ближе. И «Рокетбанк» отлично справится с такой «близостью» — их работа с клиентами давно стала образцовой.

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

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

#боты #рокетбанк #Telegram #рокетбот

Статьи по теме
Telegram объявил о первом масштабном обновлении бот-платформы
Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

0 новых

Популярные

По порядку

Прямой эфир

Хакеры смогли обойти двухфакторную
авторизацию с помощью уговоров
Подписаться на push-уведомления