DialogFlow连接到RESTAPI

DialogFlow连接到RESTAPI,rest,dialogflow-es,fulfillment,Rest,Dialogflow Es,Fulfillment,我想使用Dialogflow实现连接到外部webservice/API。一种方法是使用自定义webhook特性(而不是内联web hook)。然而,当使用自定义web钩子时,您似乎仅限于创建一个钩子,即使您可能有许多意图,并且可能希望调用多个端点。有没有办法链接到更多自定义Webhook(API端点) 如果您只能设置一个web钩子,那么您的webserivce将始终收到来自Dialogflow的Post请求,然后需要根据intent参数解释请求主体。只是想知道有没有更好的方法可以使用Dialog

我想使用Dialogflow实现连接到外部webservice/API。一种方法是使用自定义webhook特性(而不是内联web hook)。然而,当使用自定义web钩子时,您似乎仅限于创建一个钩子,即使您可能有许多意图,并且可能希望调用多个端点。有没有办法链接到更多自定义Webhook(API端点)

如果您只能设置一个web钩子,那么您的webserivce将始终收到来自Dialogflow的Post请求,然后需要根据intent参数解释请求主体。只是想知道有没有更好的方法可以使用Dialogflow处理RESTWebServices


另一种可能的选择是使用内联web钩子,然后将逻辑放入其中以调用特定的端点,但是,这可能会有点混乱。

您只能设置一个实现来处理您启用的所有意图的处理。这可以是通过实现编辑器内置的,也可以是您指定的webhook URL

webhook应该将实际处理委托给某种类型的意图处理程序。Dialogflow node.js实现库可以为每个意图名称注册所需的处理程序,也可以打开代码中提供的意图名称、操作名称或任何其他字段

在库中,您通常会从适当的意图处理程序进行REST调用,该处理程序将接受提供的参数并精心设计调用。如果您使用的是Javascript,请确保异步处理调用并返回承诺

我推荐webhook,因为它比内联编辑器提供更多的控制。内联编辑器实际上只是一个使用Firebase云函数的webhook。甚至把它自己放在一个云函数中也能让你更好地控制它


可能会有成本,这取决于您托管它的位置,但是Firebase有一个免费层,足以进行测试和轻操作。一旦您的行为发布,您还可以每月从谷歌获得云积分。

好的,谢谢。那么,在这两个选项中,您是否会推荐内置的实现编辑器,因为它可以利用实现库,然后调用特定的REST端点?此外,此选项是否会产生额外的成本影响?