2014-06-15 30 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