GUILHERME YAMAKAWA DE OLIVEIRA

PT|EN

Enviando SMS com Ruby e Twilio

Eu nunca tinha feito uma aplicação que precisasse enviar SMS, 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.

Pra quem não conhece o Twilio, é 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. 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 pra realizar testes:

Twilio credentials

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

Passo 2: Enviar o SMS

Instale a gem do Twilio:

gem install twilio-ruby -v 5.21.2

Abra um console Ruby:

irb

Dentro do console importamos a gem twilio-ruby, configuramos as variáveis 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, armazenadas de forma a impedir acesso não autorizado. Como é apenas um exemplo pra testes, usei 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 consultar o preço de todos em https://www.twilio.com/pricing.

Comentários