使用多个DialogFlow的Webhooks查询Google Cloud外部的API端点

问题描述 投票:0回答:1

我需要一个Dialogflow代理才能在Google Cloud外部多次查询REST Web服务(端点)。

文档,教程,所有内容均指向启用完整填充,并且在将触发网络请求的意图上,启用“对此意图进行webhook调用”。

好,在实现面板上,启用Webhook,并粘贴自定义端点URL,并从上下文传递参数,auth参数(传递到端点,),标头...

但是,当调用此意图时,我没有发现与该Webhook相关的网络活动。因此,不会调用自定义Webhook。这是我的问题的第一点:如何成功匹配意图后触发或使之调用所需的Webhook。

我对后端,端点没有问题,没关系,可以通过Postman,curl等任何服务正常工作。

我的真正问题是为什么我的自定义Webhook没有被触发,没有网络活动,没有获取,没有Ajax,没有Nada。没有webhook请求。无论响应的类型或有效负载如何,我至少需要看到对自定义端点的网络请求,这与我的问题无关。只是如何发送自定义webhooks请求和发送许多(针对不同意图触发的)请求。据我所知,只有一个custo Webhook /端点可用。

是否应该通过事件调用?

dialogflow webhooks dialogflow-fulfillment
1个回答
0
投票

听起来您有几个问题。让我们尝试将它们分解。

为什么不给我的webhook打电话?

您没有显示您的Intent或您的配置的屏幕截图,但是未调用Webhook的最常见原因是,尽管您设置了实现URL,但尚未专门为Intent启用它。

请确保在Intent底部的“实现”部分中,已启用“为此意图启用Webhook调用”。

Callout to fulfillment webhook

这对一个Intent有好处。如何为每个Intent设置不同的Webhook?

您不。

每个Dialogflow代理只能调用一个webhook。发送到该Webhook的信息包括触发它的Intent名称,并且Webhook有望基于该名称采取适当的操作。 webhook调用的确切函数有时称为Intent Handler。

如果需要,该怎么办?

然后,您需要编写一个处理来自Dialogflow的实现分配的层,验证请求,从发送的JSON中提取Intent名称和其他参数,并根据需要对其他REST端点进行调用,获取返回结果,并可能将结果格式化回Dialogflow。

事件可以帮上忙吗?

我不知道如何。

由事件触发的意图与由用户短语触发的意图的工作方式相同。代理中的所有事件仍然调用相同的Webhook,传递相同的信息。

事件实际上是最准确地表示-用户action,而不是用户的口头或打字输入。

© www.soinside.com 2019 - 2024. All rights reserved.