Skip to content
Задание для сертификации партнеров JAICP
Share
Explore
Дизайн сценария

icon picker
Примечания для разработчиков

Справочники:
Справочник *.csv городов - для установки часового пояса и выяснения возможности доставки пиццы пользователя.
YAML-справочники:
Справочник пицц - виды и вариации пицц с id и ценой. Предлагается формировать номер id_pizza следующим образом: первая цифра - название пиццы (от 1 до 5), вторая цифра - размер (от 1 до 3), третья цифра кодирует вид теста: 1 - тонкое тесто; 2-толстое тесто; 3-толстое тесто с сырным бортом. id_pizza = 132 обозначает “Пицца 4 сыра, Большая, на толстом тесте без сырного борта”, цена - 700 руб
Справочник пиццерий - список городов, внутригородских районов, пиццерий с указанием user_id в Телеграм.
2. Онбординг.
При запуске навыка проверяется статус предыдущего заказа “завершен/незавершен” и время создания, если он незавершен и сделан в течение последних суток, то Бот предлагает продолжить с ним работать с места разрыва диалога. Реплика Алисы на этот случай: "Я заметил, что у Вас есть незавершенный заказ. Хотите продолжить его?" По ответу "Нет" - начало работы с новым заказом. По ответу "Да" - вход в точку остановки предыдущего диалога.
Вопрос о городе. После получения ответа, устанавливаем часовой пояс клиента. Текущее время используется в формировании номера заказа. Номер заказа формируется из User_Id и даты + время.
3. После активации навыка предусмотреть сбор следующих данных:
Дата и время начала текущей сессии
Количество срабатываний интентов.
Стейты, которые сработали при выполнении сценария заказа пиццы.
4. На случай отключения навыка (вылет сети, тайм-аут Алисы, прерывания работы вызовом на колонку и др. причины незапланированного прекращения процесса заказа) предусмотреть функцию записи незавершенного заказа с отметкой Шага, на котором остановился клиент для возможности восстановления при реактивации навыка с того же аккаунта. Также нужно предусмотреть проверку давности остановки процесса заказа. Если заказ не был завершен и навык реактивировали менее через через сутки с момента отключения - предлагать восстановить заказ, если больше суток - не предлагать.
5. Рекомендуется добавить отладочный стейт Reset для сброса клиентских и сессионных данных.
6. Предусмотреть старт и завершение сессии для корректного разделения сессий в аналитике JAICP.
7. Переменные:
Сессионные ($session):
Название пиццы: 5 видов
Размер пиццы: большая/средняя/маленькая
Тесто - тонкое/толстое
Сырный борт - есть/нет
Количество пицц
Оплата - наличные / карта
Потребуется ли сдача и с какой суммы
Способ доставки
Адрес самовывоза
Время доставки
Дата и время начала текущей сессии
Количество срабатываний интентов.
Стейты, которые сработали при выполнении сценария заказа пиццы.
Данные клиента ($client):
Номер заказа (присваивается в начале сессии в формате id_клиента+ММДДЧЧММ)
Статус заказа завершен (=-1)/номер выполненного шага в сценарии для восстановления прерванной сессии с этого момента
Имя Пользователя
Адрес доставки
Номер телефона
Любимая пицца
8. Функции.
По-возможности JS-код вынести в отдельный файл/файлы, повторяющиеся и громоздкие куски оформить в виде функций.
9. NoMatch
В схеме предусмотрены пояснительные карточки , а также карточка в субблоке схемы Комментарии разработчикам
10. Время готовности. Шаг 8 (на схеме). Необходимо проверять время доставки, указанное пользователем. Оно не должно быть меньше текущего + 1 час. Если пользователь выберет время меньше часа, Бот отвечает согласно карточке: "Время доставки пиццы составляет не менее часа, мы очень стараемся, но быстрее доставить не сможем"/”К сожалению, как бы я не старался, время доставки пиццы составит не менее часа” . Если время предполагаемого заказа уже в прошлом, то направлять диалог в Блок No match. Актуальное время доставки указывается в заказе, отправляемом в пиццерию.
Также стоит предусмотреть краевой случай, когда пользователь просит доставить пиццу через час, чтобы не возникало когнитивных несуразиц. Для этого стоит вынести интент “через | час” в список обрабатываемых (локальных) и по его срабатыванию добавить реплику “Хорошо. Среднее время приготовления как раз 1 час, но иногда бывают незначительные задержки до 15 минут.”
11. Передача Заказа. В ТГ- группу пиццерии передаются следующие данные о заказе:
Номер заказа (присваивается в начале сессии)
Пицца (состав ингредиентов по переменным)
Количество пицц (переменная количество)
Имя получателя
Адрес получателя
Способ доставки или самовывоз
Способ оплаты
Нужна ли сдача и сколько
Время доставки (если выбрана опция ко времени)
Подробнее о передаче заказа в разделе
12. В ответных фразах бота не использовать символы ^ ~ & \|/ " {} [] <> # % * и т.д. Также не использовать дробные числа и сокращения слов.
13. Предусмотреть счетчик попыток ввода телефона и адреса доставки. При 3 неверных попытках ввода бот извиняется перед пользователем, ссылается на техническую ошибку и завершает работу навыка.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.