2014-06-15 4 views
1

우리는 Nexmo API 구현을위한 레일스 애플리케이션을 만들고 있습니다. 등록 과정에서 Nexmo API를 사용하여 SMS를 통해 서버 측 사용자에게 확인 코드를 보내야합니다. 그러나 우리는 이것에 대해 전혀 모른다. 인도에 대해서만이 기능을 구현하려고했습니다.레일스 - nexmo API를 사용하여 SMS를 통해 확인 코드를 보내는 방법

나는 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

정의 : "작동하지 않음": 오류가 있습니까? 또는 : 오류가 발생하지 않지만 SMS가 배달되지 않았습니까? '
'복사 - 붙여 넣기 오류입니까, 아니면 실제로 코드에 있습니까? – nathanvda

+0

@nathanvda - 어떤 오류도 발생하지 않지만 내 Nexmo 프로필에 입력 한 번호에만 SMS를 전송할 수 있습니다. – 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를 사용했다. 하지만 SMS는 내 번호로 배달됩니다. 인도의 모든 전화 번호로 문자 메시지를 보내고 싶었어. 고마워. – Parthiv