Ako poslať SMS z Ruby

Najjednoduchší spôsob, ako poslať SMS z Ruby, je použiť vstavané HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako poslať sms z ruby
Obrázok 1 - Ako poslať SMS z Ruby

Ruby kód na odoslanie sms na mobil

Ukážka Ruby SMS kódu nižšie demonštruje, ako môžete posielať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím Ruby gemu ozeki_libs_rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

SendSms.rb
require 'ozeki_libs_rest'

configuration = Configuration.new(
    "http_user",
    "qwe123",
    "http://127.0.0.1:9509/api"
);

msg = Message.new
msg.to_address = "+36201111111"
msg.text = "Hello world!"

api = MessageApi.new(configuration)

result = api.send(msg)

print(result)
	

Kód 1 - SendSms.rb

Ako použiť Ruby SMS príklad:

Tento Ruby SMS príklad môže byť použitý v akejkoľvek Ruby aplikácii. Na jeho použitie je potrebné stiahnuť gem ozeki_libs_rest. Po stiahnutí gemu je potrebné pridať odkaz naň vo vašom Ruby zdrojovom kóde. To vám umožní používať triedy poskytované gemom ozeki_libs_rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť SendSms.rb

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendSms.rb.zip (316B)

Čo je v súbore SendSms.rb.zip?

V SendSms.rb.zip nájdete súbor SendSms.rb, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako poslať SMS. Tento ukážkový kód je uvedený nižšie.

Obrázok 2 - Čo je vo vnútri SendSms.rb.zip

Ako nainštalovať gem ozeki_libs_rest pomocou Windows shell
gem install ozeki_libs_rest
	

Kód 2 - Príkaz na inštaláciu gemu ozeki_libs_rest

Video 1 - Ako nainštalovať gem ozeki_libs_rest (Video návod)

Ako poslať SMS z Ruby (Jednoduché pokyny)

Na odoslanie SMS z Ruby:

  1. Nainštalujte HTTP API používateľa
  2. Povoľte Log komunikácie na karte Pokročilé
  3. Nastavte Visual Studio
  4. Stiahnite a rozbaľte súbor SendSms.rb.zip
  5. Spustite aplikáciu Ozeki SMS Gateway
  6. Spustite Ruby kód SendSend.rb pomocou príkazového riadku
  7. Skontrolujte logy, či bola SMS odoslaná
Nainštalujte Ozeki SMS Gateway a vytvorte HTTP API používateľa

Na odoslanie SMS z Ruby je potrebné najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj Ruby kód v akomkoľvek textovom editore, ako je napríklad Windows poznámkový blok. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, či vaše mobilné pripojenie funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie HTTP SMS API používateľského účtu. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj Ruby kód.

HTTP API URL na odoslanie SMS z Ruby

Na odoslanie SMS z Ruby bude vaše Ruby musieť vydať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaná na rovnakom počítači, kde beží Ruby SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaná na inom počítači, mala by to byť IP adresa toho počítača.

http://127.0.0.1:9509/api?action=rest
	
HTTP autentifikácia na odoslanie SMS z Ruby

Na autentifikáciu Ruby SMS klienta je potrebné odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Používaný formát je: base64(používateľské meno+":"+heslo). V Ruby môžete na toto kódovanie použiť nasledujúci kód:

username_password = username + ':' + password
username_password_encoded = Base64.encode64(username_password)
'Basic ' + username_password_encoded
	

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z Ruby

Na odoslanie SMS správy musíte do hlavičky HTTP požiadavky zahrnúť nasledujúce riadky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP požiadavka na odoslanie SMS z Ruby

Na odoslanie SMS bude vaša Ruby aplikácia posielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.

POST /api?action=sendmsg HTTP/1.1
Content-Length: 339
Content-Type: application/json
Accept: application/json
Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Faraday v1.5.0

{
	"messages":	[
		{
			"message_id":	"2861551f-fddd-4b8e-9b06-eab9e1a0d179",
			"to_address":	"+36201111111",
			"text":	"Hello world!",
			"create_date":	"2021-07-06T09:09:44",
			"valid_until":	"2021-07-13T09:09:44",
			"time_to_send":	"2021-07-06T09:09:44",
			"is_submit_report_requested":	true,
			"is_delivery_report_requested":	true,
			"is_view_report_requested":	true,
			"tags":	[]
		}
	]
}
	
HTTP odpoveď prijatá Ruby príkladom SMS

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Vráti tiež štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o odoslaní správy.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.123 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Tue, 06 Jul 2021 08:52:02 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "Messages queued for delivery.",
	"data": {
	  "total_count": 1,
	  "success_count": 1,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "2861551f-fddd-4b8e-9b06-eab9e1a0d179",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-06 09:09:44",
	      "valid_until": "2021-07-13 09:09:44",
	      "time_to_send": "2021-07-06 09:09:44",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	
Pripojte svoju SMS bránu k mobilnej sieti a vytvorte účet HTTP API používateľa

Predpokladáme, že ste už nainštalovali Ozeki SMS Gateway, a že ste pripojili ju k mobilnej sieti. Aby ste mohli odosielať SMS na mobilný telefón z Ruby, musíte nastaviť účet HTTP API používateľa v Ozeki SMS Gateway.

Video 2 - Ako nastaviť účet HTTP API používateľa (Video návod)

Ako odoslať SMS z Ruby pomocou Ruby SMS API (Video návod)

Toto video vám ukáže, ako si stiahnuť súbor SendSms.rb.zip z tejto stránky. Ak sledujete video, všimnete si, že obsah SendSms.rb zip je umiestnený na pracovnej ploche Windows. Tiež uvidíte, že spúšťame príkazový riadok na odoslanie SMS.

Príklad SMS v Ruby: SendSms.rb

Príklad kódu nižšie je súčasťou súboru SendSms.rb.

Obrázok 3 - Súbor SendSms.rb

Ako skontrolovať, že SMS bola prijatá HTTP používateľom

Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením detailov HTTP používateľa v konzole na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.

Video 4 - Ako odoslať SMS pomocou vyššie uvedeného Ruby kódu (Video návod)

Ako skontrolovať, že SMS bola odoslaná do mobilnej siete

Posledným krokom pri overovaní postupu je pozrieť si protokoly pripojenia k mobilnej sieti. Možno budete musieť zapnúť protokolovanie v konfigurácii pripojenia pred odoslaním správy, aby ste videli protokoly. Ak je protokolovanie zapnuté, uvidíte telefónne číslo a text správy, ktorú ste odoslali.

Video 5 - Ako otestovať, či požiadavku prijal SMPP klient (Video návod)

Ako vyzerá prijatie správy na Android (Video tutoriál)

V tomto videu uvidíte proces prijatia správy na Android, keď bola správa odoslaná pomocou Ozeki SMS Gateway. Video začína obyčajnou domovskou obrazovkou Android a ukazuje notifikáciu, ktorú dostanete pri príchode SMS, a potom otvorenú aplikáciu Správy so SMS 'Hello World'. Video má len 18 sekúnd, ale ukazuje celý proces.

Video 6 - Ako vyzerá prijatie správy na Android (Video tutoriál)

Záver

Hlavným cieľom tohto článku bolo ukázať kroky odosielania SMS v Ruby s pomocou Ozeki SMS Gateway. S touto inováciou môžete posielať správy svojim zákazníkom sediac za počítačom, len s použitím Ozeki SMS Gateway a Ruby kódu. Toto riešenie je skvelým príkladom, ako ľahko ovládať Ozeki SMS Gateway pomocou Ruby kódov. Treba tiež spomenúť, že Ozeki SMS Gateway funguje v každej krajine a môže odosielať a prijímať SMS cez rôzne mobilné pripojenia.

Pokračujte v čítaní na tutoriálovej stránke Ozeki, kde nájdete viac informácií o témach ako plánovanie SMS v Ruby.

Jediné, čo teraz musíte urobiť, je stiahnuť si Ozeki SMS Gateway a nechať prácu začať!

More information