在我的rails应用程序中使用twilio发送短信的问题

时间:2014-12-16 09:42:24

标签: ruby-on-rails ruby-on-rails-4 sms twilio bulksms

我正在构建一个rails应用程序(基于印度),其中我需要向预订确认的用户发送短信。我为此目的在Twilio上使用试用帐户。但是,当我尝试发送短信时,状态始终显示为“待定”,并且我没有收到短信到我想要的目的地号码。可能是什么原因?

我创建了一个带有以下代码的notification_controller:

class NotificationController < ApplicationController

  skip_before_action :verify_authenticity_token

  def notify
    client = Twilio::REST::Client.new 'my_account_SID', 'my_account_Token'
    message = client.account.messages.create from: 'twilio_number_assigned', to: 'my_number', body: 'Learning to send SMS you are.'
    render plain: message.status
  end

end

并向/ notifications / notify发出POST请求。

更新

如果其他批量短信服务提供商服务适用于您的rails应用,请随时分享相关文档。谢谢!

1 个答案:

答案 0 :(得分:2)

尝试将其作为哈希发送,这就是Twilio所建议的,这就是我在我的应用中使用它的方式:

client = Twilio::REST::Client.new account_sid, auth_token 
client.account.messages.create({
    :from => 'twilio_number_assigned', 
    :to => 'my_number', 
    :body => 'Learning to send SMS you are.',  
})

您还可以测试邮件发送请求:

https://www.twilio.com/user/account/developer-tools/api-explorer/message-create

您将填写所需的字段,然后您将会在请求下面找到您应在应用中使用的代码示例。

关于邮件的状态

您在控制器中执行的操作是在传递时返回消息的当前状态,通常这将是pending。您需要设置一个回调,Twilio将在发送邮件时通知您。

https://www.twilio.com/docs/api/rest/sending-sms

<强> StatusCallback

  

处理邮件时Twilio将POST的URL。 Twilio   将POST SmsSid以及SmsStatus = sent或SmsStatus = failed。

向印度号码发送消息

https://www.twilio.com/help/faq/sms/are-there-limitations-on-sending-sms-messages-to-indian-mobile-devices

  1. 他们无法发送到印度的Do Not Call Registry
  2. 中的任何电话号码

    如果您在向印度号码发送短信时遇到问题,请查看该号码是否已在National Do Not Call Registry上注册。

    如果电话号码的所有者希望开始接收来自Twilio的短信,他们可以按照here的说明更新DNC设置。

      

    请注意,上述限制是由以下规定制定的   印度政府。