guilherme 44

Home Sobre RSS

Enviando SMS com Ruby com o Twilio

  • ruby
  • sms
  • twilio

Eu nunca havia feito uma aplicação que fosse necessario enviar SMS para alguém, mas o último projeto que fizemos na firma precisou, conversei com um amigo sobre o assunto e ele me falou do Twilio, fiz uma pesquisa rápida sobre e achei a documentação bem completa e fácil de implementar.

Para quem não conhece o Twilio, ele é uma plataforma que possibilita integrar voz, mensagens de texto, vídeo, notificações entre outras facilidades na sua aplicação, através de uma API. As integrações são feitas com Ruby, Java, .NET, Node.js, PHP, entre outras.

Vou mostrar como é fácil enviar SMS pelo console do ruby e em breve pretendo fazer um screencast de como implementar essa funcionalidade em uma aplicação Ruby on Rails.

Passo 1 - Criar conta no Twilio:

Crie uma conta no Twilio e acesse o Console do Twilio.
Criar conta: https://www.twilio.com/try-twilio
Console: http://twilio.com/console

Ao criar a conta, é disponibilizado um Trial para realizar testes:

Não esqueça de cadastrar número verificado. https://www.twilio.com/console/phone-numbers/verified
Observações: Os números verificados são obrigatórios para você conseguir enviar SMS com TRIAL.

Passo 2 - Enviar a SMS:

Instale a gem do Twilio com o comando:

gem install twilio-ruby -v 5.21.2

Abra um console ruby com o comando:

irb

Dentro do console nós importamos a gem “twilio-ruby”, configuramos as variavéis e enviamos uma mensagem.

require 'twilio-ruby'

# Pegue seu SID e Auth Token de twilio.com/console
# PERIGO! Isso é inseguro.
account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth_token = 'seu_auth_token'
numero = 'seu_numero' # Número que você alugou no twilio
@client = Twilio::REST::Client.new(account_sid, auth_token)

mensagem = @client.messages.create(
  from: numero, # +15017122661
  body: 'Minha primeira mensagem enviada com ruby.',
  to: '+5544999801281' # +5544998761234
)

puts mensagem.sid

Lembrando que isso é uma maneira insegura. É importante manter as credenciais, como o SID e o Auth Token, armazenando-as de maneira a impedir o acesso não autorizado. Como é apenas um exemplo para testes utilizei elas no console mesmo.

Finalizando

Como você pode ver é muito fácil sair enviando SMS com Ruby.

O Twilio oferece muitos outros serviços e você pode ver e consultar o preço de todos acessando https://www.twilio.com/pricing.