2014-03-06 61 views
0

我使用ruby 2.0.0和Rails 4.0。twilio發佈到網址與params [:text_response]和params [:phone_number]

我通過我的導軌應用程序向我的最終用戶發送短信。

當他們反應,我想將它們重定向到一個API調用:

www.myapp.com/api/verify_text_response

在這一API調用,我想看到從最終用戶發送給我的網址的短信是什麼。理想情況下,我會收到一個「text_response」的參數,然後我可以做我想要的東西。

我該如何將來自我的end_user的回覆重定向到上面的url,並捕獲它所來的電話號碼以及發送給我的消息?如果這是不可能的,我該如何使用TwiML來做類似的事情?

最終目標

對於它的價值,這就是我要完成的:

  1. 我發了一條短信出去 - 「Would you like to subscribe?
  2. 最終用戶響應「Yes 「或」No「。
  3. 我將subscription模型上的subscribed屬性更改爲true或false。
  4. 我發送另一條短信,說「You are subscribed.」或「You are not subscribed.」。

項目#3和#4是基於用戶對項目#2中的「是」或「否」作出響應。

回答

1

Ruby的twilio指南here是那裏最有用的文檔。他們建議在您的Rails應用程序中使用Twilio Gem,在您的Gemfile中添加twilio-ruby gem。

所有你需要做的就是將下面的代碼添加到您的控制器的動作之一(由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發現:

複製和服務器的URL粘貼到您的Twilio帳戶的數頁上的一些 的「SMS」 URL在該 編號的頁面,更改從「POST」到「GET」的方法。

我從看其參數保存用戶的響應文件不完全確定(我認爲這是可能params[:Body]),而是要找出最好的方式是通過簡單的打印出的控制器接收參數當你發送短信給你的Twilio號碼。