如何在订单预览中更改芯片建议?

时间:2018-06-13 14:37:31

标签: python python-3.x actions-on-google

我想创建一个包含DialogflowGoogle Assistant以及Google Transactions API的聊天机器人,以便用户订购巧克力盒。现在我的代理包含以下四个意图:

  • Default Welcome Intent(文字回复:你好,你想买一个巧克力盒吗?)
  • Default Fallback Intent
  • Int1(培训短语:是的,我想要,履行:启用webhook通话)
  • Int2(事件:actions_intent_TRANSACTION_REQUIREMENTS_CHECK

我使用Dialogflow Json代替Node.js将我的代理与Transactions API连接起来。我想使用Google操作的actions.intent.TRANSACTION_REQUIREMENTS_CHECK操作来展示订单预览(在订购巧克力盒时)。出于这个原因,在Google文档之后,当Int1被触发时,我正在使用将Google智能助理连接到以下python脚本(后端)的webhook:

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文档指定的所需方式形成用户的订单。

intent == 'Int1'时,这将向用户(在手机Google智能助理上)显示订单预览,如下所示(示例来自Google文档):

enter image description here

正如您所看到的,订单预览底部有三个芯片建议:下订单更改付款方式没关系< / em>的

我的问题如下:我如何(以编程方式)编辑这些芯片建议并添加我的(例如添加一个芯片建议'更改订购的商品数量

1 个答案:

答案 0 :(得分:1)

在平台的订单表单中,您无法控制用户看到的选项。您希望在发送交易意图之前添加对话的中间步骤,以便对其进行最终检查。