Rails - Как отправить код подтверждения через SMS с помощью nexmo api
Мы создаем приложение Rails для реализации API Nexmo. В процессе регистрации нам необходимо отправить код подтверждения через SMS пользователю со стороны сервера, используя 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
Я использовал свои учетные данные для "ключа" и "Секрета" вместо "#" и заменял их и на свои номера телефонов. но это не работает. Даже после того, как SMS не доставлено на другие номера, блокировка успеха выполняется.
Кто-нибудь может направить нас к реализации этого?
1 ответ
Похоже, вы захотите использовать библиотеку Ruby, созданную для 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
... внутри действия в вашем контроллере. Допустим, это ваш TextsController
и вы положили его в действие создания. Так в вашем config/routes.rb
поставить что-то вроде:
match "/sendtext" => "texts#create"
Затем вы просто нажали mydomain.com/sendtext
и команда должна стрелять.
через Варатис