将请求发送到完全填充端点之前,先在JS中编辑请求

时间:2019-06-12 11:29:27

标签: dialogflow dialogflow-fulfillment

我需要先编辑请求,然后再将其发送到端点。

使用Web Demo集成,我可以将请求发送到端点。 但是我无法编辑请求以提供一些额外的数据来请求。额外的数据存储在localStorage中,所以我需要使用javascript。

我已经将代理连接到使用完全填充处理请求的端点。问题是请求丢失了我只能从浏览器检索的数据。通过完全填充,我可以设置标头和基本身份验证,但是可以静态设置,这还不够。

所以我需要在请求建立/发送中添加一个步骤:

  1. 用户编写或告知嵌入式聊天(Web演示集成)
  2. Dialogflow识别意图,参数并生成请求。
  3. 其他步骤:使用javascript更新请求
  4. 将定制化请求转发给端点

也许无法使用Web Demo集成。在Documentation中找不到一种仅发送字符串或音频以接收生成的请求的方法。

1 个答案:

答案 0 :(得分:0)

首先,您将需要自定义聊天集成,而不是默认的Dialogflow。诸如Smooch或Kommunicate之类的东西。默认的Web演示仅应用于测试您的机器人。您不可能在生产环境中使用它。

我会将本地存储中的任何内容保存在Firestore之类的数据库中。将这些数据存储在数据库中后,您就可以使用它来修改您的请求以实现您的需求。

那我该怎么做:

  1. 有一种方法可以识别用户并将其本地存储保存到数据库中(只要有人单击您的聊天窗口或打开聊天窗口)
  2. 一旦触发了意图,您将检查哪个用户正在与您联系(通过您识别用户的方式)并从数据库中获取所有数据
  3. 在您的履行服务器中请求数据

没有其他方法可以做到这一点。您无法在查询达到Dialogflow之前更改请求。