问题描述
对于我的dialogflow项目,我想在对话框流以适当的意图响应之前拦截用户请求。
我的目标:
-用户发送带有输入消息的请求
-我访问此消息,对其进行转换(我对其应用了一个函数),然后将其传递到dialogflow(即dialogflow)。
我正在使用链接到特定意图的Webhook。 我正在使用云功能来处理Webhook 。
我想使用此Webhook访问请求,修改原始请求,并允许对话框流根据此新修改的请求响应。
我希望我已经说清楚了。 提前非常感谢您!
解决方法
我认为无法使用Webhook,建议您看一下Dialogflow fulfillment documentation。如您在架构表示中所见,您的Webhook位于匹配的意图之后,因此Dialogflow已处理了用户请求,并且实现将基于匹配的意图执行操作,因此您只能在您在实现及其响应中定义的服务。
您可以根据您的用例进行此操作,如果您正在使用自定义开发来调用Dialogflow API,则可以在最终用户和Dialogflow之间添加一个附加步骤,在其中可以拦截用户请求,对其进行修改,然后将其发送到Dialogflow API。
如果您正在使用任何集成,例如Google上的Action或Dialogflow环聊,则将无法实现,因为这些服务是管理Dialogflow API调用的服务。