【问题标题】:How to change the chip suggestions at the order preview?如何在订单预览中更改芯片建议?
【发布时间】:2018-06-13 14:37:31
【问题描述】:

我想用Dialogflow 和Google 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 操作来呈现订单预览(订购巧克力盒时)。出于这个原因,按照谷歌文档,当Int1 被触发时,我正在使用一个将谷歌助手连接到以下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 文档指定的所需方式形成用户的顺序。

当intent == 'Int1' 时,这将向用户(在手机谷歌助手上)呈现订单预览,如下所示(示例来自谷歌文档):

如您所见,在订单预览的底部有三个筹码建议:下订单、更改付款方式、没关系.

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

【问题讨论】:

  • 在平台的订单中,您无法额外控制用户看到的选项。您可能希望添加一个中间步骤来进行最终检查。
  • 感谢您的评论@NickFelker。因此,您的意思是说我根本无法修改订单预览(actions.intent.TRANSACTION_REQUIREMENTS_CHECK)的所有筹码建议,因此我应该简单地检查例如数字项目,而不是订单预览(actions.intent)。 TRANSACTION_REQUIREMENTS_CHECK) 在中间步骤?
  • P.S.我的语气可能看起来很严肃,但事实并非如此……哈哈……我只想对这个问题有一个明确的答案,这样我就不会再花时间在上面了:)
  • 是的。交易意图完全由平台处理。您想要做的任何定制都需要在此意图之前完成。
  • 好的@Nick,谢谢你的回答!你可以写在下面,如果你愿意,我可以接受:)

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多