0

我正在从事YRS 2013项目,并想使用 Twilio。我已经设置了一个 Twilio 帐户,上面有超过 100 美元的资金。我正在开发一个使用外部 API 并查找位置和日期附近的事件的项目。该项目是使用 Sinatra 用 Ruby 编写的(将部署到 Heroku)。

我想知道你们是否可以指导我如何处理这种情况:用户向我的 Twilio 帐户的号码发短信(该消息将包含位置和日期数据),我们处理该短信的正文,然后发回结果到要求他们的号码。我不知道从哪里开始;例如,如果 Twilio 将处理其中的一些任务,或者我将只使用 Twilio 的 API 并检查 smss 并返回结果。我在考虑不使用数据库。

你能指导我如何完成这项任务吗?

我需要在星期五展示这个项目;所以我的期限很紧!感谢我们的帮助。

4

1 回答 1

0

他们有一些关于如何完成大部分工作的很棒的文档。

当您收到文本时,您应该将其解析为您需要的格式

将它放入您现有的项目中,当它返回该区域中的一个或多个事件时,您需要检查字符串的长度,这是由于 twilio 将消息限制为 160 个字符或更少。

确保您优雅地拆分消息,而不是在事件中间。如果你被退回“波士顿凯尔特人队比赛”,“胡桃夹子比赛”。你想确保如果两个事件都不能放在一条消息中,第一条消息是“波士顿凯尔特人队比赛,1 秒后有另一条短信”或类似的东西。


为了从移动设备接收文本消息,您必须公开 Twilio 可访问的端点。这是一个例子

class ReceiveTextController < ActionController
  def index 
    # let's pretend that we've mapped this action to 
    # http://localhost:3000/sms in the routes.rb file

    message_body = params["Body"]
    from_number = params["From"]

    SMSLogger.log_text_message from_number, message_body
  end
end

在此示例中,索引操作从 Twilio 接收 POST。它获取消息正文和发件人的电话号码并将其记录下来。从 Twilio POST 检索信息就像查看 params 哈希一样简单

{
  "AccountSid"=>"asdf876a87f87a6sdf876876asd8f76a8sdf595asdD",
  "Body"=> body,
  "ToZip"=>"94949",
  "FromState"=>"MI",
  "ToCity"=>"NOVATO",
  "SmsSid"=>"asd8676585a78sd5f548a64sd4f64a467sg4g858",
  "ToState"=>"CA",
  "To"=>"5555992673",
  "ToCountry"=>"US",
  "FromCountry"=>"US",
  "SmsMessageSid"=>"hjk87h9j8k79hj8k7h97j7k9hj8k7",
  "ApiVersion"=>"2008-08-01",
  "FromCity"=>"GRAND RAPIDS",
  "SmsStatus"=>"received",
  "From"=>"5555992673",
  "FromZip"=>"49507"
}

资源

于 2013-08-07T19:49:37.403 回答