You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dialogflow V2 Webhook调用失败:无法识别displayText字段求助

问题原因

这个问题我之前帮人排查过,核心就是Dialogflow V1和V2的Webhook响应格式有重大差异——你还在沿用V1里的displayText字段,但V2的协议结构里已经完全移除了这个字段,所以Dialogflow解析时才会报找不到字段的错误。

解决方案

根据你的需求,选对应的V2格式来调整PHP响应即可:

1. 返回简单文本(最常用场景)

直接用fulfillmentText字段替代原来的displayText,这是V2里用来返回基础文本的标准字段,PHP示例代码:

<?php
header('Content-Type: application/json');

$response = [
    'fulfillmentText' => '这是适配V2格式的响应内容'
];

echo json_encode($response);
?>

2. 返回复杂交互消息(比如卡片、按钮、多语言文本)

如果需要更丰富的回复类型,就用fulfillmentMessages数组,每个元素对应一种消息类型,比如文本消息的示例:

<?php
header('Content-Type: application/json');

$response = [
    'fulfillmentMessages' => [
        [
            'text' => [
                'text' => ['这是通过fulfillmentMessages返回的文本内容']
            ]
        ]
    ]
];

echo json_encode($response);
?>
额外注意事项
  • 严格遵守JSON格式规范:字段名的大小写必须和V2协议一致(比如fulfillmentText首字母是小写,别写成FulfillmentText)
  • 如果之前V1里用到了data字段传递自定义数据,V2里对应的是payload字段,也要同步修改
  • 务必确保响应的Content-Type设置为application/json,否则Dialogflow无法正确解析返回内容

内容的提问来源于stack exchange,提问作者Sebastian Zapata Garcia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:07:30