Dialogflow Webhook接收请求与文档示例不符,求排查原因
为啥你收到的Dialogflow Webhook请求和文档示例不一样?
嘿,这事儿我熟!你看到的文档里的是简化后的核心请求结构,而实际触发Webhook时,Dialogflow会给你发包含完整上下文的全量请求Payload——毕竟要让你的Webhook能处理更复杂的逻辑,总得给足信息对吧?
你收到的这个请求其实是Dialogflow Webhook的标准完整格式,里面的字段和你看到的简化版是对应的:
- 简化版里的
lang→ 全量请求顶级的lang字段 - 简化版的
query→ 全量请求result下的resolvedQuery(也就是用户实际输入的内容) - 简化版的
sessionId→ 全量请求顶级的sessionId - 简化版的
contexts→ 全量请求result下的contexts数组
除此之外,这个全量请求还多了一堆实用信息:
result.metadata里能看到匹配到的意图ID、意图名称,还有是否启用了Webhook的标记result.parameters是从用户输入里提取出来的实体参数,比如你这里的Nummer字段status字段直接告诉你这次Webhook请求的状态(比如有没有超时、是否成功)timestamp记录了请求发送的精确时间戳
大概率你看的文档是为了快速入门,只展示了最核心的几个字段,实际生产环境里Dialogflow都会发这种全量结构的请求。要是想确认的话,去Dialogflow官方文档里找“Webhook Request Format”的完整章节,里面会把所有字段都列得明明白白。
内容的提问来源于stack exchange,提问作者Shamshiel
相关产品推荐
相关产品推荐

