Přijímání SMS v Ruby on Rails

Průvodce na této stránce vám poskytuje příležitost naučit se, jak můžete použít Ruby program k získání přijatých SMS zpráv z SMS Gateway. Toho lze dosáhnout pomocí HTTP požadavků, které shromažďují přijaté SMS zprávy. Průvodce obsahuje videonávod a podrobný průvodce, který vám pomůže naučit se, jak můžete přijímat SMS zprávy pomocí Ruby.

Co je Ruby SMS API?

Ruby Rails SMS API vám umožňuje odesílat SMS zprávy z vašeho Ruby Rails programu. Ruby SMS API iniciuje HTTP požadavky a odesílá je do SMS Gateway, která doručí zprávu příjemci.

Předpoklady

Přijímání SMS v Ruby on Rails

  1. Otevřete aplikaci Poznámkový blok
  2. Zkopírujte a vložte ukázkový kód z této stránky
  3. Uložte soubor jako ReceiveSMS.rb
  4. Otevřete Ozeki SMS Gateway a vyberte HTTP Server připojení
  5. Otevřete HTML formulář HTTP Server připojení
  6. Odešlete několik testovacích zpráv
  7. Otevřete Příkazový řádek
  8. Napište 'ruby ReceiveSMS.rb' do Příkazového řádku a stiskněte Enter
  9. Ruby Rails přijímá SMS zprávy

Video 1 - Jak přijímat SMS v Ruby on Rails (Videonávod)

Můžete volně používat ukázkový Ruby kód pro SMS ve svých projektech a také jej upravovat. Pokud chcete pouze spustit tento ukázkový kód, abyste viděli, jak funguje, podívejte se na podrobný průvodce níže nebo na videonávod na této stránce, abyste viděli, co je potřeba k provedení ukázkového Ruby SMS kódu na vašem počítači.

require 'net/http'
require 'rexml/document'
include REXML

def DisplayMessages(response)
	xmldoc = Document.new(response)

	xmldoc.elements.each('response/data/message') do |value|
		begin
			sender = value.elements['originator'].text
			text = value.elements['messagedata'].text
			DisplayMessage(sender,text)
		rescue
			puts("Doručená pošta je prázdná.")
		end
	end
end

def DisplayMessage(sender, text)
	puts("#{sender}: #{text}")
end

username = "john"
password = "Xc3ffs"
httpUrl = "https://127.0.0.1:9508/"
folder = "inbox";
limit = "3";

sendString = "#{httpUrl}api?action=receivemessage&username="\
			 "#{username}&password="\
			 "#{password}&folder=#{folder}&limit="\
			 "#{limit}&afterdownload=delete"

puts("Odesílání http požadavku #{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("Http odpověď přijata:")
DisplayMessages(response)

Krok 1 - Otevření Poznámkového bloku

V tomto prvním kroku je třeba otevřít textový editor, který umí pracovat s Ruby soubory. K tomuto účelu můžete použít výchozí aplikaci Poznámkový blok, kterou lze najít na všech počítačích s operačním systémem Windows. Jak ukazuje Obrázek 1, jednoduše ji otevřete ze své plochy.

otevření poznámkového bloku
Obrázek 1 - Otevření textového editoru Poznámkový blok

Krok 2 - Kopírování Ruby kódu

Dále je třeba zkopírovat ukázkový Ruby kód z této stránky. Chcete-li to provést, jednoduše přejděte nahoru do sekce s ukázkovým kódem na této stránce a označte celý ukázkový Ruby kód. Poté, jak vidíte na Obrázku 2, stiskněte Ctrl+C na klávesnici, abyste zkopírovali Ruby kód do schránky.

kopírování ruby kódu
Obrázek 2 - Kopírování ruby zdrojového kódu z webu

Krok 3 - Vložení kódu do textového souboru

Poté, co jste zkopírovali Ruby zdrojový kód z této stránky, je třeba jej vložit do textového dokumentu. Chcete-li to provést, přejděte do aplikace Poznámkový blok, kterou jste předtím otevřeli, a jak vidíte na Obrázku 3, stiskněte Ctrl+V na klávesnici, abyste vložili celý Ruby zdrojový kód do textového dokumentu.

vložení kódu do poznámkového bloku
Obrázek 3 - Vložení zdrojového kódu do Poznámkového bloku

Krok 4 - Uložení textu jako soubor Ruby

V tomto okamžiku máte textový soubor obsahující zdrojový kód, ale ještě není ve správném formátu souboru Ruby. Poznámkový blok umožňuje ukládat soubory v libovolném formátu, takže tento problém můžete snadno vyřešit. Vyberte tedy možnost 'Uložit jako' v Poznámkovém bloku a uložte soubor s příponou '.rb'. Tento postup je znázorněn na obrázku 4.

save ruby file
Obrázek 4 - Uložení souboru Ruby jako ReceiveSMS.rb

Krok 5 - Odeslání testovacích zpráv

Nyní je váš ukázkový kód připraven ke spuštění, ale nejprve potřebujete mít nějaké zprávy ve složce doručené pošty. Pro testovací účely můžete použít připojení HTTP Serveru k odeslání testovacích zpráv sobě samému a otestovat tak ukázkový kód PHP. Otevřete tedy SMS Gateway a vyberte připojení HTTP Serveru. Zde otevřete HTML formulář připojení a, jak je znázorněno na obrázku 5, odešlete nějaké zprávy příjemci 'Ozeki'.

Simulate incoming sms
Obrázek 5 - Simulace příchozích SMS

Krok 6 - Otevření příkazového řádku

Hlavním krokem tohoto průvodce je spuštění programu Ruby. K tomu je třeba otevřít příkazový řádek na vašem počítači. Nejprve přejděte do složky, kde jste uložili soubor Ruby, pomocí Průzkumníka souborů. Zde, jak je vidět na obrázku 6, napište 'cmd' do Průzkumníka souborů a po stisknutí klávesy Enter se příkazový řádek otevře na vašem počítači.

open cmd
Obrázek 6 - Otevření příkazového řádku

Krok 7 - Spuštění programu Ruby

V příkazovém řádku stačí provést jeden příkaz k spuštění programu Ruby. Stačí tedy napsat 'ruby *název_souboru*.rb' do příkazového řádku a stisknout Enter. Tím se ukázkový kód Ruby spustí a výsledky uvidíte v okně konzole (obrázek 7). Zde můžete vidět HTTP požadavek a také odpověď na tento požadavek, která obsahuje všechny přijaté zprávy.

run ruby code
Obrázek 7 - Spuštění kódu Ruby v příkazovém řádku