Como enviar SMS a partir do Ruby

Vamos ver como você pode usar o Ruby para enviar mensagens SMS com requisições HTTP. O código de exemplo demonstra que você só precisa de algumas linhas de código para configurar os detalhes da mensagem e enviar uma requisição HTTP. Em seguida, o SMS Gateway recebe a requisição e entrega o SMS ao destinatário. Por fim, o SMS Gateway envia a resposta de volta para o programa Ruby, que imprime essa resposta no console.

O que é a API de SMS do Ruby?

A API de SMS do Ruby (Ruby sms) permite que você envie mensagens SMS a partir do seu programa em Ruby. A API de SMS do Ruby inicia requisições HTTP e as envia para o SMS Gateway, que entrega a mensagem ao destinatário.

Pré-requisitos Enviar SMS a partir do Ruby
  1. Abra o Bloco de Notas
  2. Crie um novo arquivo
  3. Copie e cole o código de exemplo abaixo
  4. Salve o arquivo como HttpApiTester.rb
  5. Abra o Prompt de Comando
  6. Navegue até a pasta onde você salvou o arquivo Ruby
  7. Digite 'ruby HttpApiTester.rb' no Prompt de Comando
  8. Pressione Enter para executar o programa Ruby
  9. Ruby Rails envia mensagens de texto SMS

Vídeo 1 - Como enviar SMS a partir do Ruby (Tutorial em vídeo)

Exemplo de código fonte de SMS em Ruby

Este simples exemplo de código fonte abaixo, escrito na linguagem de programação Ruby, é gratuito para uso. Você pode simplesmente implementá-lo em seu projeto ou modificar o código fonte para usá-lo em outros projetos ou aplicações. Para executar o código de exemplo e ver como enviar requisições HTTP a partir do Ruby, você só precisa criar um novo arquivo Ruby e colocar este código de exemplo nele. Para executar o programa Ruby, basta rodá-lo a partir do Prompt de Comando. Essas operações são explicadas e demonstradas nas seções de passos e vídeo.

require 'uri'
require 'net/http'

username = "john"
password = "Xc3ffs"
messagetype = "SMS:TEXT"
httpUrl = "https://127.0.0.1:9508/"
recipient = URI.encode_www_form_component("+36201324567")
messagedata = URI.encode_www_form_component("TestMessage")

sendString = "#{httpUrl}api?action=sendmessage&username=#{username}&password="\
			 "#{password}&recipient=#{recipient}&messagetype="\
			 "#{messagetype}&messagedata=#{messagedata}"

puts("Enviando requisição HTTP #{sendString}")

OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
url = URI(sendString)
response = Net::HTTP.get(url)
puts("Resposta HTTP recebida:")
puts(response)
Passo 1 - Abra um editor de texto

O primeiro passo para executar o código de exemplo de SMS em Ruby acima é criar um arquivo Ruby que contenha o código fonte. Para realizar esta operação, você só precisa de um editor de texto. Você pode baixar um editor de texto personalizado para fazer isso, mas o aplicativo Bloco de Notas padrão instalado no Windows também pode fazer o trabalho. Então, como você pode ver na Figura 1, basta clicar no ícone do Bloco de Notas para abri-lo.

abrir um editor de texto
Figura 1 - Abrir um editor de texto

Passo 2 - Copie o código fonte em Ruby

O próximo passo do guia é obter o código fonte em Ruby. Isso pode ser feito facilmente, já que o código pode ser encontrado nesta página, então você só precisa copiá-lo. Assim, como a Figura 2 mostra, basta ir até a seção de código de exemplo, marcar todo o código fonte e pressionar Ctrl+C no seu teclado para copiar o código Ruby para a área de transferência.

copiar código fonte do site
Figura 2 - Copiar código fonte do site

Passo 3 - Cole o código Ruby no seu editor de texto

Depois de copiar o código Ruby desta página, você precisa colá-lo no seu arquivo de texto vazio. Para fazer isso, basta navegar até o arquivo de texto e pressionar Ctrl+V no seu teclado. Ao realizar esta ação, o código Ruby será colado no seu arquivo de texto, como a Figura 3 mostra.

colar o código do programa no editor de texto
Figura 3 - Colar o código do programa no editor de texto

Passo 4 - Salvar o arquivo Ruby

Depois de inserir o código-fonte no arquivo de texto, o próximo passo que você precisa fazer é salvar o arquivo usando a extensão de arquivo Ruby, que é '.rb'. Então, basta selecionar a opção 'Salvar como' no Bloco de Notas, nomear o arquivo e adicionar a extensão '.rb' como você pode ver na Figura 4 e, por último, clicar em Salvar.

salvar o arquivo ruby httpapitester
Figura 4 - Salvar o arquivo Ruby HttpApiTester

Passo 5 - Abrir o Prompt de Comando

O próximo passo é executar o arquivo Ruby criado. Essa tarefa pode ser facilmente feita usando o Prompt de Comando. Você pode abri-lo explorando o Explorador de Arquivos, navegando até a pasta onde salvou o arquivo Ruby e digitando 'cmd' na barra de endereços do Explorador de Arquivos, como na Figura 5. Se você pressionar Enter neste momento, o Prompt de Comando será exibido e estará pronto para uso.

abrir prompt de comando
Figura 5 - Abrir o Prompt de Comando

Passo 6 - Executar o arquivo Ruby

No Prompt de Comando, você só precisa executar um comando simples para poder executar o exemplo de SMS em Ruby. O comando deve ser 'ruby *nome do arquivo*.rb'. Depois de digitar esse comando, basta pressionar Enter, e o comando executará o programa Ruby. O programa de exemplo imprime a requisição HTTP e a mensagem de resposta do SMS Gateway no Prompt de Comando. (Figura 6)

executar arquivo httpapitesterrb no cmd
Figura 6 - Executar o arquivo HttpApiTester.rb no cmd

Passo 7 - Verificar o resultado do envio no log do Ozeki

No Ozeki 10 SMS Gateway, você pode verificar facilmente quais mensagens foram enviadas por sua aplicação, já que o serviço HTTP API registra todos os eventos que ocorreram enquanto estiver ativo. Então, se você abrir o SMS Gateway e selecionar os detalhes do serviço HTTP API, você poderá ver os eventos. Como mostra a Figura 7, o serviço registrou um evento quando o programa de exemplo em Ruby enviou a requisição HTTP para o serviço.

verificar os logs do serviço http api
Figura 7 - Verificar os logs do Serviço HTTP API

O processo de envio da mensagem também pode ser visualizado pelos eventos. Para isso, abra a conexão do Usuário HTTP API, que você teve que configurar anteriormente. A Figura 8 demonstra como a conexão lida com a requisição HTTP e envia a mensagem para o destinatário que você especificou no seu programa de exemplo SMS em Ruby.

verificar os logs do usuário http api
Figura 8 - Verificar os logs do Usuário HTTP API

Resumo

Este artigo explicou como você pode enviar mensagens SMS de um projeto escrito em Ruby. Enviar mensagens de qualquer objeto Ruby significa que você pode oferecer serviços SMS aos seus clientes em qualquer solução Ruby. Isso tornará sua solução versátil e amplamente utilizada. A solução é baseada no Ozeki SMS Gateway. O código fornecido enviará requisições HTTP do Ruby para o Ozeki SMS Gateway, e o Ozeki SMS Gateway fará o que foi solicitado.

Para saber mais sobre o sistema, sinta-se à vontade para visitar o site da Ozeki, onde você pode encontrar mais informações sobre qualquer configuração que possa construir usando o Ozeki SMS Gateway. Comece com o artigo sobre receber mensagens SMS. Ou confira outras linguagens de programação com as quais o Ozeki SMS Gateway pode trabalhar. Por exemplo, PHP.

A próxima coisa a fazer é baixar o Ozeki SMS Gateway e começar a trabalhar agora!

More information