如何从Twilio Flow传递自定义参数至DialogFlow CX及双方捕获方法
在Twilio Studio与DialogFlow CX中传递并捕获参数的方法
一、Twilio Studio中捕获API传入参数并传递给DialogFlow CX
你通过Python API创建Studio Execution时传入的parameters会自动存入Studio的flow.data对象中,按以下步骤传递给DialogFlow CX:
- 打开你的Studio Flow,找到用于连接DialogFlow CX的DialogFlow CX节点(未添加则先新增该节点)。
- 进入节点设置,找到「Session Parameters」区域。
- 点击「Add Parameter」,逐个添加需要传递的参数:
- 键名填写要传递给DialogFlow CX的参数名(比如
name) - 值填写Studio中对应的变量引用:
{{flow.data.name}},同理处理date、time等参数,格式统一为{{flow.data.参数名}}
- 键名填写要传递给DialogFlow CX的参数名(比如
- 保存节点设置,确保Flow的逻辑链路正确连接到该DialogFlow CX节点。
二、DialogFlow CX中捕获来自Twilio的参数
1. 预定义对应参数
- 打开DialogFlow CX代理后台,进入「Manage」>「Parameters」页面。
- 创建与Twilio传递过来同名的参数(比如
name、date、time等),根据参数实际类型设置对应类型(如name选「String」,date选「Date」)。
2. 在会话中直接使用参数
- 在代理的Flow页面,打开启动页面(Start Page),可在响应中直接引用参数,比如文本响应写:
您好$name,您预约的是$date $time,共$numberOfGuests位客人。 - 如果需要在意图或路由中使用参数,直接用
$参数名的格式调用即可,比如路由条件判断$numberOfGuests > 2。
3. 在Webhook中获取参数
如果代理配置了Webhook处理逻辑,可通过会话信息对象获取参数:
# Python Webhook示例:获取参数 import json from flask import request @app.route('/webhook', methods=['POST']) def webhook(): req = request.get_json() parameters = req['sessionInfo']['parameters'] name = parameters.get('name') date = parameters.get('date') # 后续业务逻辑处理 return json.dumps({})
内容的提问来源于stack exchange,提问作者Suravi
相关产品推荐
相关产品推荐

