1

我们正在创建一个 Rails 应用程序来实现 Nexmo API。在注册过程中,我们需要使用 Nexmo API 从服务器端通过短信向用户发送确认码。但我们对此一无所知。我们只想为印度实施此功能。

我使用了https://github.com/dotpromo/nexmos gem,我的代码是:

# Gemfile
gem 'nexmos'


#sms_controller.rb:

class SmsController < ApplicationController
  def new
    @sms = Sms.new
  end
  def createclient = ::Nexmos::Message.new('#', '#')
    res = client.send_text(from: '+910000000000', to: '+910000000000', text: 'Hello world!') 
    if res.success?
      puts "ok"
    else
      puts "fail"
    end
  end 
end

我已将我的凭据用于“密钥”和“秘密”来代替“#”,并将 from 和 to 替换为我的电话号码。但它不起作用。即使没有将 SMS 发送到其他号码,成功块也正在执行。

任何人都可以指导我们实施这个吗?

4

1 回答 1

0

好吧,您似乎想要使用为 Nexmo 构建的 Ruby 库。

基本上你要做的是把这个示例代码:

nexmo = Nexmo::Client.new('...API KEY...', '...API SECRET...')

response = nexmo.send_message({
  from: 'RUBY',
  to: '...NUMBER...',
  text: 'Hello world'
})

if response.success?
  puts "Sent message: #{response.message_id}"
elsif response.failure?
  raise response.error
end

..在你的控制器中的一个动作中。假设它是你的TextsController,你把它放在 create 动作下。因此,在您的 中,输入config/routes.rb如下内容:

match "/sendtext" => "texts#create"

然后,您只需点击mydomain.com/sendtext,命令就会触发。

通过 varatis

于 2014-06-16T08:36:03.167 回答