«Столото» — диалоговое приложение для покупки и проверки билета через СберСалют

Создать приложение, которое позволит пользователям купить билет через СберСалют.
Задача
Столото — единственный распространитель государственных лотерей в России.
Клиент
У СберСалют есть несколько видов приложений, с помощью которых пользователь может взаимодействовать с ассистентом — так называемые смартапы.
01/
Что такое Chat App
Chat App — самый простой из них. Это диалоговое приложение, которым можно управлять голосом, касанием, пультом или текстовыми сообщениями.
Интересный факт
Это был наш первый Chat App, да ещё и с интеграцией оплаты — через Столото.
Трудности, с которыми мы столкнулись
02/
Сложная проверка синтеза речи
Мы написали отдельный навык для проверки речи. Отправляли текст в бот — и он возвращал его озвученный вариант.
Решение
На тестировании мы всегда проверяем, правильно ли ассистент говорит: не путает ли ударения, верно ли ставит паузы. Но в СберСалют такой возможности пока нет.
Проблема
Авторизация
Нам пришлось при каждой покупке уточнять у пользователя номер телефона. Мы доставали его из кеша и переспрашивали, верный ли номер.
Решение
На номер телефона в системе Столото выписывается токен, действительный в течение очень короткого времени. То есть пользователя нельзя держать авторизованным в системе.
Проблема
Интеграция системы оплаты
Мы предложили сделать оплату покупки с помощью номера телефона пользователя. Номер передавался в систему оплаты Столото, а мы получали уже готовый статус и связывали его с id клиента.
Решение
Клиент хотел, чтобы оплата производилась через инструменты СберБанка. Но их нельзя было интегрировать быстро.
Проблема
Сжатые сроки с чётким дедлайном
Чтобы сделать всё быстро, нам пришлось ограничить функционал. С помощью приложения можно только купить билет и проверить, выиграл ли он. Причём только одного типа лотереи — «Рапидо».
Решение
Приложение нужно было презентовать на конференции Digital Brand Day. У нас было всего 11 дней на работу.
Проблема
Как это работает
03/
Пользователь вызывает навык и говорит, сколько хочет купить билетов
Ассистент спрашивает номер телефона пользователя
На номер пользователя приходит смс с кодом для оплаты. Он отправляет код — и со счёта мобильного списывается сумма.
Связываемся с платёжной системой Столото. В ней генерируется код для оплаты
Пользователь подтверждает факт оплаты в ассистенте
Мы проверяем статус оплаты. Если статус пришёл, билет попадает в раздел «Мои билеты»
Пользователь может проверить билеты. Мы связываемся с базой Столото. Если билет выиграл, рассказываем, где и как получить приз. Если не выиграл, предлагаем попробовать ещё
Интересный факт
Пока мы тестировали навык, сами купили парочку лотерейных билетов. Теперь точно знаем, кто в нашей команде самый удачливый :)

Команда проекта

04/
Технический директор
Сергей Веренцов
Копирайтер
Татьяна Попова
Анна Михник
Дизайнер диалогов
Руководитель проекта
Сергей Пономаренко

А что дальше

Сейчас делаем для Столото приложение посложнее — Canvas App. В нём можно будет купить билет на любую лотерею.
05/

Инструменты

В работе мы использовали следующие сервисы:
Конструктор для создания комплексных диалоговых систем. Благодаря ему и рождаются наши боты.

zDialog

ИИ-сервис для аналитики чат-ботов. Благодаря ему мы понимаем, насколько успешен бот.

OneDash

zDialog фреймворк
OneDash сервис
06/
Напишите нам