Я создаю прототип приложения для заказа еды, используя Dialogflow (Chatbot maker), и застрял с этой проблемой.Технически, я хочу сохранить собранные данные из Intent
после того, как пользователь решил «добавить больше товаров в свой заказ» и удовлетворяет всем необходимым параметрам, таким как (itemName, quantity, [variants], [sauceType], ...)
.
Бот-чатдолжен быть в состоянии обработать запрос, который состоит из нескольких элементов с их соответствующими количествами, но я не уверен, возможно ли моделировать данные, в которых они состоят из массива Entities
, поэтому моей первой мыслью было использование постоянного Fulfillment
использование основанного на сеансе Webhook с нашей пользовательской веб-службой, например: foodorder/api/order/123/items/add
и 123
в качестве идентификатора сеанса.Но этот подход требует больше работы, и сгенерированную модель может быть трудно перевести в Dialoflow Console.
Второе решение, которое мне приходит в голову, заключается в использовании свойства Intent, называемого Action and Parameters
, где мы отмечаем Entity
как List
, но при использовании этого подхода количество не привязывается к самому элементу.
Мой вопрос заключается в том, как я могу моделировать данные, используя Dialogflow, который напоминает что-то вроде ниже:
{
"givenName": "Dummy User",
"order": [
{
"itemName": "Burger",
"quantity": 2
},
{
"itemName": "6 piece Chicken Nuggets",
"quantity": 1,
"sauceType": "Tangy Barbeque"
},
{
"itemName": "Coke",
"quantity": 1,
"size": "Small"
}
]
}