我正在构建一个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应用,请随时分享相关文档。谢谢!
答案 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。
向印度号码发送消息
如果您在向印度号码发送短信时遇到问题,请查看该号码是否已在National Do Not Call Registry上注册。
如果电话号码的所有者希望开始接收来自Twilio的短信,他们可以按照here的说明更新DNC设置。
请注意,上述限制是由以下规定制定的 印度政府。