Я хочу создать чат-бота с Dialogflow
и Google Assistant
вместе с Google Transactions API
, чтобы пользователь мог заказать шоколадную коробку.На данный момент мой агент содержит следующие четыре намерения:
Default Welcome Intent
(текстовый ответ: Здравствуйте, вы хотите купить шоколадную коробку?) Default Fallback Intent
Int1
(обучающая фраза: да, я хочу, выполнение: включен вызов через веб-крючок) Int2
(событие: actions_intent_TRANSACTION_REQUIREMENTS_CHECK
)
Я использую Dialogflow Json
вместо Node.js
для подключения моего агента с API транзакций.Я хочу представить предварительный просмотр заказа (при заказе шоколадной коробки) с помощью действия actions.intent.TRANSACTION_REQUIREMENTS_CHECK
действий Google.По этой причине, следуя документам Google, при срабатывании Int1
я использую веб-крючок, который подключает Google Assistant к следующему скрипту Python (серверная часть):
from flask import Flask, render_template, request, jsonify
import requests
app = Flask(__name__)
@app.route("/", methods=['POST'])
def index():
data = request.get_json()
intent = data["queryResult"]["intent"]["displayName"]
if (intent == 'Int1'):
proposedOrder = order.proposed_order(location)
return jsonify({
"fulfillmentText": "This is your order preview:",
"payload": {
"google": {
"expectUserResponse": True,
"isSsml": False,
"noInputPrompts": [],
"systemIntent": {
"data": {
"@type": "type.googleapis.com/google.actions.v2.TransactionDecisionValueSpec",
"orderOptions": {
"requestDeliveryAddress": True,
},
"paymentOptions": {
"actionProvidedOptions": {
"displayName": "VISA **** **** **** 3235",
"paymentType": "PAYMENT_CARD"
}
},
"proposedOrder": proposedOrder
},
"intent": "actions.intent.TRANSACTION_DECISION"
}
}
}
})
if __name__== "__main__":
app.run(debug=True)
, где proposed_order
- функциякоторый я написал в модуле order
, который формирует заказ пользователя требуемым способом, указанным Google docs.
Когда intent == 'Int1'
, то это представит пользователю предварительный просмотр заказа (на мобильном телефоне GoogleПомощник), который выглядит следующим образом (пример взят из документации Google):
![enter image description here](https://i.stack.imgur.com/1gXTt.png)
Как вы видите, навнизу предварительного просмотра заказа: Оформить заказ , Изменить способ оплаты , Неважно .
Мой вопросследующее: Как я могу (программно) отредактировать эти рекомендации по фишкам и добавить мои (например, добавить одну рекомендацию по фишкам 'Изменить количество заказанных элементов' ?