Envie uma mensagem pelo WhatsApp em 30 segundos com o Ruby

April 13, 2021
Escrito por
Revisado por
Phil Nash
Twilion

Envie uma mensagem pelo WhatsApp em 30 segundos com o Ruby

Preciso apresentar o WhatsApp? Se você estiver lendo este artigo, provavelmente já está familiarizado com ele, mas caso não esteja, o WhatsApp é um serviço centralizado de mensagens e voz sobre IP compatível com várias plataformas que permite que pessoas de todo o mundo se comuniquem por meio de chamadas de texto e voz.

Neste tutorial, você aprenderá a enviar sua primeira mensagem de WhatsApp usando a linguagem de programação Ruby e a Twilio.

Um pouco de configuração, 30 segundos de programação e pronto!

Requisitos

Para seguirmos, você precisará de:

Primeiros passos

Crie uma nova pasta chamada ruby-whatsapp em seu computador. É nela que vamos criar nossos arquivos de código.

Instalar dependências

Precisaremos das seguintes gems:

  • bundler para evitar erros de permissões
  • twilio-ruby

Primeiro, vamos instalar o bundler. Em uma janela do terminal (ou em um prompt de comando com direitos administrativos, caso esteja usando o Windows), certifique-se de estar no diretório ruby-whatsapp e execute

gem install bundler

Vamos criar um Gemfile em nossa pasta ruby-whatsapp e propagá-lo com:

source 'https://rubygems.org'

gem 'twilio-ruby'

[Consulte o código no GitHub]

Instale o gem executando este comando no diretório ruby-whatsapp na CLI:

bundle install
Captura de tela da sandbox da Twilio para WhatsApp

Você será redirecionado para a página acima, que mostra como se conectar ao sandbox enviando uma mensagem de WhatsApp pelo seu dispositivo. No meu caso, tenho de enviar algo semelhante a join name-of-sandbox para +14155238886.

Obtenha suas credenciais da Twilio

No Painel do console da Twilio, encontre o SID da sua conta e o token de autenticação. Defina-os como variáveis de ambiente em seu console. Para simplificar, use TWILIO_ACCOUNT_SID e TWILIO_AUTH_TOKEN como nomes de variáveis de ambiente para podermos usar os mesmos.

Escreva o código do Ruby para enviar mensagens de WhatsApp

Estamos prontos para escrever nosso código do Ruby e enviar a primeira mensagem de WhatsApp.

Na pasta ruby-whatsapp, vamos criar um novo arquivo denominado whatsapp-sender.rb.

Este arquivo deve conter o seguinte código:

#whatsapp-sender.rb
require 'twilio-ruby'

account_sid = ENV['TWILIO_ACCOUNT_SID']
auth_token = ENV['TWILIO_AUTH_TOKEN']
client = Twilio::REST::Client.new(account_sid, auth_token)

message = client.messages.create(
                             from: 'whatsapp:+14155238886',
                             to: 'whatsapp:+<your WhatsApp phone number>',
                             body: 'Ahoy WhatsApp user!'
                           )

[Consulte o código no GitHub]

Salve o arquivo whatsapp-sender.rb e execute-o com:

bundle exec ruby whatsapp-sender.rb

Agora, veja em seu celular a mensagem que acabou de receber no WhatsApp

Incrível! Vamos dar uma olhada mais detalhada no código:

  • Criamos um novo Twilio::REST::Client com nossas credenciais
  • Enviamos uma mensagem usando este cliente client.messages.create
  • Definimos o parâmetro from para o número da sandbox do WhatsApp e especificamos que ele é um número de WhatsApp
  • Definimos o parâmetro to para nosso próprio número de WhatsApp e também especificamos que ele é um número de WhatsApp
  • Definimos o corpo da mensagem para que a mensagem diga Ahoy WhatsApp user!

E é só isso.

Bônus: envie imagens via WhatsApp com o Ruby

O código será praticamente o mesmo de antes, mas precisamos adicionar um URL de mídia aos parâmetros da mensagem:

# whatsapp-sender.rb
message = client.messages.create(
                             from: 'whatsapp:+14155238886',
                             to: 'whatsapp:+<your WhatsApp phone number>',
                             body: 'Ahoy WhatsApp user!',
                             media_url: 'https://images.pexels.com/photos/2023384/pexels-photo-2023384.jpeg?cs=srgb&dl=pexels-dominika-roseclay-2023384.jpg&fm=jpg'
                           )

[Consulte o código no GitHub]

Salve o arquivo whatsapp-sender.rb e execute-o com:

bundle exec ruby whatsapp-sender.rb

Isso enviará uma nova mensagem do WhatsApp, contendo o mesmo texto, mas dessa vez com uma imagem de um cachorro, pois todo mundo merece ver um cachorrinho fofo de vez em quando. Encontrei essa foto de Dominika Roseclay no Pexels. O interessante sobre o parâmetro de URL de mídia do WhatsApp é que ele também funciona para outros tipos de arquivos, como PDFs e áudio.

E se quiser compartilhar algo que não está disponível na Internet? Conte com a Twilio! Basta carregar os arquivos como ativos em sua conta da Twilio e enviá-los aos usuários do WhatsApp usando seu URL como media-url no código do Ruby.

Finalizando

Você acabou de aprender a enviar mensagens do WhatsApp do seu código do Ruby! E como adicionar filhotes fofinhos em suas mensagens também.

Já é um bom começo. Você pode continuar sua jornada aprendendo a receber e responder mensagens do WhatsApp no Ruby ou pode ir mais fundo e construir um bot do WhatsApp específico para cada localização com informações sobre previsão do tempo usando o Ruby, Sinatra e Twilio. A escolha é sua!

Mal posso esperar para ver o que você vai criar!

Este artigo foi traduzido do original "Send a WhatsApp Message in 30 Seconds with Ruby". Enquanto melhoramos nossos processos de tradução, adoraríamos receber seus comentários em help@twilio.com - contribuições valiosas podem render brindes da Twilio.