我是Twilio的新手并且编码一般,而且我在使用Gather方法访问params时遇到了问题。我正在使用Sinatra来编写这个应用程序。基本上,我的应用程序正在尝试执行以下操作:
我想要一个显示在下面的历史记录日志,它显示表格中的电话号码和延迟,以及通话期间收集的号码参数。我可以在Twilio日志中看到数字,但不知道如何访问它。在index.erb文件中显示此信息的最佳方法是什么?
<% unless @calls.nil? %>
<% @calls[1..10].each do |call| %>
<tr>
<td><%= call.start_time %> </td>
<td><%= call.to_formatted %> </td>
<td><%= delay input %></td>
<td><%= number inputted %></td>
</tr>
<% end %>
<% end %>
提前致谢。
答案 0 :(得分:0)
Twilio开发者传道者在这里。
您只能访问来自呼叫中<Gather>
的输入数字,因此如果您想稍后阅读此内容,则需要将值保存在您自己的数据库中并自行协调数据。
您的应用看起来有点像这样:
<Gather>
数字的操作:
post "/calls" do
twiml = Twilio::TwiML::Response.new do |r|
r.Gather action: "/process_gather" do |g|
g.Say "Please enter a digit and I will count up to it."
end
end
twiml.to_xml
end
然后您可以收到Digits
,将它们与呼叫SID一起保存,然后读出这些数字。 (我想象一个CallRecord
模型在这里就像ActiveRecord一样。)
post "/process_gather" do
number = params["Digits"].to_i
call_record = CallRecord.new(call_sid: params["CallSid"], number: number)
call_record.save!
twiml = Twilio::TwiML::Response.new do |r|
twiml.Say "Here are your numbers."
twiml.Say (1..number).to_a.join(', ')
end
twiml.to_xml
end
然后,对于您的日志页面,您可以从API中检索调用,我假设您正在执行此操作。然后,您需要使用API中的CallRecord
从数据库返回CallSid
,您可以将两个记录压缩在一起并将结果读出到您的视图中。
这有帮助吗?