Dialogflow CX转接人工坐席时如何在JSON负载中传递所有参数
Dialogflow CX人工坐席转接传递会话参数的实现方法
在进行Dialogflow CX人工坐席转接时,支持通过发送JSON传递额外信息。我希望传入Dialogflow CX的
$session.params内容,但该输入框仅支持输入字面量,写入变量会触发警告且无法保存。请问是否可将存储在req.body.sessionInfo.parameters和$session.params中的参数值传入转接的JSON输入框?
可行解决方案
通过Webhook动态生成转接配置
这是最可靠的方案,完全绕过输入框仅支持字面量的限制:- 在触发人工转接的节点配置Webhook调用;
- 在Webhook代码中直接读取
req.body.sessionInfo.parameters(对应Dialogflow CX中的$session.params),构造包含这些参数的转接元数据; - 通过
fulfillment_response返回live_agent_handoff配置。
示例Node.js代码:
exports.dialogflowWebhook = (req, res) => { const sessionParams = req.body.sessionInfo.parameters; const handoffMetadata = { userInfo: sessionParams, // 可添加其他自定义字段 }; res.json({ fulfillment_response: { live_agent_handoff: { metadata: handoffMetadata } } }); };尝试参数占位符替换(需验证兼容性)
部分场景下,Dialogflow CX允许在JSON字面量中使用参数占位符,格式为{{$session.params.参数名}}。如果输入框支持这种语法,可直接写入类似如下的JSON:{ "userName": "{{$session.params.userName}}", "orderNumber": "{{$session.params.orderNumber}}" }注意:这种方式的兼容性需要测试,若输入框不识别占位符则无法生效,此时优先使用Webhook方案。
内容的提问来源于stack exchange,提问作者Ahmad Rehan
相关产品推荐
相关产品推荐

