Как изменить предложения чипа при предварительном просмотре заказа? - PullRequest
0 голосов
/ 13 июня 2018

Я хочу создать чат-бота с 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

Как вы видите, навнизу предварительного просмотра заказа: Оформить заказ , Изменить способ оплаты , Неважно .

Мой вопросследующее: Как я могу (программно) отредактировать эти рекомендации по фишкам и добавить мои (например, добавить одну рекомендацию по фишкам 'Изменить количество заказанных элементов' ?

1 Ответ

0 голосов
/ 15 июня 2018

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

...