2014-06-15 29 views
1

我们正在为实施Nexmo API创建Rails应用程序。在注册过程中,我们需要使用Nexmo API通过SMS将验证码从服务器端发送给用户。 但我们对此没有任何意见。我们只想为印度实施此功能。Rails - 如何使用nexmo api通过短信发送确认代码

我已经使用https://github.com/dotpromo/nexmos宝石和我的代码是:

# 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 

我用我的凭据“键”和“秘密”就地的“#”,并从并与我的电话号码替代。但它不起作用。即使在没有将SMS发送给其他号码之后,成功程序块也正在执行。

任何人都可以指导我们实现这一目标吗?

+0

显示你已经做了什么,你有什么样的麻烦,以及预期的结果。这看起来像你试图获得咨询,如何建立无中生有的东西,这不是本网站的目的。 –

+0

定义:“不起作用”:你有错误吗?或者:您没有收到错误,但是短信没有发送? “
”复制粘贴错误,还是实际存在于您的代码中? – nathanvda

+0

@nathanvda - 我没有得到任何错误,但我只能在我的Nexum档案中输入的号码上发送短信。 – Parthiv

回答

0

那么它看起来像你想使用的Ruby library built for Nexmo.

本质上讲,你会做的就是把这个示例代码:

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 

..inside在你的控制器动作。假设这是您的TextsController,并将其置于创建操作下。因此,在您config/routes.rb,放像:

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

然后,您只需点击mydomain.com/sendtext和命令应该火。

via varatis

+0

我已经使用https://github.com/timcraft/nexmo。但短信只发送到我的电话号码。我只是想发短信给所有的印度电话号码。谢谢 – Parthiv