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

如何在Dialogflow CX灵活Webhook中获取session_id与caller_id?

解决Dialogflow CX灵活Webhook传递session_id和caller_id的问题

问题原因与修正方案

1. session_id的正确获取方式

你当前用$session获取的是完整会话资源路径,而非纯session_id。Dialogflow CX提供了$session.id变量,直接返回会话的ID部分,替换配置里的$session即可。

2. caller_id的正确变量名

caller_id属于Dialogflow CX的系统参数,并非自定义的会话参数,所以不能用$session.params.caller_id,正确的变量是$sys.caller_id。

修正后的Webhook配置

{
  "doctor_name": "$session.params.doctor_name",
  "patient_name": "$session.params.patient_name",
  "caller_id": "$sys.caller_id",
  "session_id": "$session.id"
}

额外注意事项

  • $sys.caller_id仅在电话类渠道(如Google Voice、第三方电话网关集成)中存在值,若使用其他渠道(如网页、APP),该参数会为空,需确认你的集成渠道类型。
  • 可以在Flask接口中打印完整请求Payload,确认参数是否正确传入:
    @app.route('/api/test', methods=['POST'])
    def test():
        import json
        payload = json.loads(request.get_data())
        print(f"Full Payload: {json.dumps(payload, indent=2)}")
        return make_fulfillment_message('some dummy response here'), 200
    

内容的提问来源于stack exchange,提问作者Dilip Badal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:42:34