什么是DialogFlow Webhook响应URL

时间:2019-01-30 03:22:47

标签: dialogflow actions-on-google

我创建了一个V2代理,该代理针对我的意图之一进行了 DialogFlow 网络挂接。我在服务器代码中收到了Webhook,但不确定如何响应。我找不到返回响应所需的URL,也找不到将响应与原始Webhook请求相关联的身份验证或其他信息。
我在自定义应用中使用Python进行响应。有人知道我在哪里可以找到此信息吗?

我已经阅读了以下文档以及更多内容:

1 个答案:

答案 0 :(得分:4)

您不需要端点来响应Webhook请求。您只需要以正确的格式从webhook返回响应,这就是您的dialogflow代理期望的格式。 Dialogflow代理将能够根据与请求一起发送的responseId将其映射到正确的请求。

假设您在python应用程序中收到一个Webhook请求:

  

req = {'responseId':'f8vaj49u-10i8-49c1-8491-8ac491e84918','queryResult':   {'queryText':'你好吗','parameters':{},   'allRequiredParamsPresent':True,'fulfillmentText':'很棒!   感谢您的询问。”,'fulfillmentMessages':[{'text':{'text':   ['精彩!感谢您提出询问。']}}],'意图':{'名称':   'projects / agent_name / agent / intents / ########','displayName':   'smalltalk.greetings.how_are_you'},'intentDetectionConfidence':1.0,   'languageCode':'en'},'originalDetectIntentRequest':{'payload':{}},   'session':'projects / agent_name-sit / agent / sessions / session-id'}

您想自己执行一些逻辑并构建响应,或者添加基于某些逻辑或其他任何内容的上下文。

response = json.dumps({
    'fulfillmentText': 'response from webhook'
    })
return response

您可以在诊断信息中检查履行请求和履行响应,当您从控制台发送测试请求时,可以从Dialogflow控制台的右下角访问该请求。