python-3.x - 是否可以使用 Twilio IVR 收集多个值?
问题描述
我有一个视图函数,需要在一个呼叫中收集多条信息(这是一个快速的呼出呼叫 - 用户回答并立即提示这些数据点),基于从数据库中提取的数据。我希望视图函数执行以下操作:
group_id = <get group id>
params = data_element_select_params.DataElementSelectParams(group_id=group_id)
data_elements = worker.select(params) # function I wrote which returns a list of objects, in this case objects called DataElements
vr = VoiceResponse()
say_msg = 'Enter {element}, then press star.'
for element in data_elements:
say_message = say_msg.format(element=element.name)
<Gather input with say_message and save it>
如果不一遍又一遍地路由到同一个 URL,这可以实现吗?我还没有看到任何其他解决方案,我宁愿不要不断地重定向到同一个 URL,因为我们必须为每个元素再次从数据库中提取元素列表。
抱歉,如果有任何不清楚的地方 - 请指出,我会尽快澄清。
解决方案
Twilio 开发人员布道者在这里。
每个 TwiML 文档只能使用一个<Gather>
,所以不,您不能在一个 webhook 中提出多个问题并接受多个输入。
您需要路由到一个 URL,该 URL 从每个接收输入<Gather>
,然后询问下一个问题。
为了避免每次都从数据库中提取所有元素,您可以研究将元素保存到 HTTP 会话并将它们从那里拉回。Twilio 是一个表现良好的 HTTP 客户端,因此您可以使用 cookie 之类的东西来存储有关当前呼叫/对话的信息。
推荐阅读
- php - aws ubuntu 实例 php 最大文件上传不变
- tableau-api - 从长字符串中提取特定关键字
- c# - Windows.AI.MachineLearning.Preview - 从流中加载模型引发异常
- android - 在工具栏项目菜单中使用标题对项目进行分组
- android - Android微调器弹出下拉位置和大小
- javascript - 单击仍带有 $ 符号的按钮时增加数字
- apache-spark - 通过 API 访问 Spark 结果
- android - Android:可打包异常
- php - MySQL在where子句中多次查询同一字段
- .htaccess - htaccess 将 -{dynamic_id}.html 替换为 _i{dynamic_id}