我正在使用ruby 2.0.0和Rails 4.0。
我正在通过我的rails应用程序向我的最终用户发送短信。
当他们回复时,我想将他们重定向到api电话:
www.myapp.com/api/verify_text_response
在该API调用中,我想查看从最终用户发送到我的URL的文本消息是什么。理想情况下,我会收到一个“text_response
”的参数,然后我可以按照自己的意愿行事。
如何将我的end_user的回复重定向到上面的网址,并捕获它来自的电话号码以及我的参数中发送给我的消息?如果无法做到这一点,我如何使用TwiML做类似的事情呢?
对于它的价值,这就是我想要实现的目标:
Would you like to subscribe?
”Yes
”或“No
”。subscribed
模型上的subscription
属性更改为true或false。You are subscribed.
”或“You are not subscribed.
”。项目#3和#4基于用户在第2项中回答“是”或“否”。
答案 0 :(得分:1)
Ruby的twilio指南here是最有用的文档。他们建议在您的Rails应用程序中使用Twilio gem,方法是将twilio-ruby
gem添加到您的Gemfile中。
您需要做的就是将以下代码添加到您的控制器操作之一(由www.myapp.com/api/verify_text_response
路由到的操作:
def receive_text
# Not exactly sure this is the right parameter, but it's easy to test
sender_message = params[:Body]
response = if (sender_message == "Yes")
"You are subscribed."
else
"You are not subscribed."
end
twiml = Twilio::TwiML::Response.new do |r|
r.Message(response)
end
twiml.text
end
要使您的Rails应用程序可供Twilio访问,请按照this page上的说明进行操作:
将服务器的网址复制并粘贴到某个号码的“短信”网址中 在Twilio帐户的Numbers页面上。在页面上 编号,将方法从“POST”更改为“GET”。
我不完全确定从文档中查看哪个参数保存了用户的响应(我认为它可能是params[:Body]
),但最好的方法就是打印出控制器的参数当您向Twilio号码发送短信时收到。