4

我很难理解 Twilio。我已经阅读了文档,并计划再次阅读它们,但我希望得到一些指示。我正在为我的应用程序使用 Ruby on Rails。

我想要做的是能够接收来自用户的带有一些正文的文本消息。然后,我希望能够以某种方式将该文本保存在我的模型中。我该怎么做呢?

谢谢!

4

4 回答 4

5

Twilio 号码可以与回调 URL 相关联,当它接收到 SMS 时,它将向该回调 URL 发送 POST 请求。应自定义此回调 URL 以指向您的应用程序中将用于处理 SMS 的控制器。从那里,您可以阅读 params 哈希以了解收到的 SMS 消息的详细信息。注意:params['From']params['Body']。将这些参数中的文本存储到您喜欢的任何模型中!

Twilio 回调 URL

http<s>://<your domain.com>/sms

路线

resource :sms, only: :create

控制器

class SmsController < ApplicationController
  skip_before_filter :force_ssl # You may need this if your app uses https normally

  def create
    # Do something with params['From'] -- contains the phone number the SMS came from
    # Do something with params['Body'] -- contains the text sent in the SMS

    # <Reponse/> is the minimum to indicate a "no response" from Twilio
    render xml: "<Response/>"
  end
end
于 2013-09-02T01:36:50.650 回答
1

用户2515526,

最近我建立了我的第一个 Rails 应用程序,它利用了一些 Twilio 功能 - 主要是接收、处理和响应 SMS 消息的功能 - 我同意:从菜鸟的角度来看,Twillio 文档绝对可以清理 ^^。

我发现这个git repo非常有帮助。这个家伙基本上会引导你完成几乎所有你需要知道的起床和跑步。

于 2013-10-22T02:18:12.893 回答
0

您可以像从 Web 应用程序的文本框中获取内容一样获取短信正文。在python中,它将是

mybody = request.args.get('body')
于 2013-09-09T12:26:22.060 回答
0

如果您使用的是 Node Express,这里有一个对我有用的片段:

app.post('/respondToMessage', function(req, res) {
    var twiml = new twilio.TwimlResponse();
    console.log('sms message =', req.body.Body);
    twiml.message('respondToMessage');
    res.type('text/xml');
    res.send(twiml.toString());
});

您正在从通常如下所示的响应中解析 JSON 属性Body :

{
   "ToCountry": "",
   "ToState": "",
   "SmsMessageSid": "",
   "NumMedia": "",
   "ToCity": "",
   "FromZip": "",
   "SmsSid": "",
   "FromState": "",
   "SmsStatus": "",
   "FromCity": "",
   "Body": "The attribute you're parsing for",
   "FromCountry": "",
   "To": "",
   "MessagingServiceSid": "",
   "ToZip": "",
   "NumSegments": "",
   "MessageSid": "",
   "AccountSid": "",
   "From": "+",
   "ApiVersion": ""
}
于 2016-04-22T00:42:40.080 回答