Ako prijímať SMS z Ruby

Najjednoduchší spôsob, ako prijímať SMS správy z Ruby, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať SMS správy pomocou 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 odošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako prijímať sms z ruby
Obrázok 1 - Ako prijímať SMS z Ruby

Ruby kód na prijímanie SMS správ

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

ReceiveSms.rb
require 'ozeki_libs_rest'

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

api = MessageApi.new(configuration)

result = api.download_incoming()

print(result, "\n")
result.messages.each do |message|
    print(message, "\n")
end
	
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ť ozeki_libs_rest gem. Po stiahnutí gemu je potrebné pridať odkaz naň vo vašom Ruby zdrojovom kóde. To vám umožní používať triedy poskytované ozeki_libs_rest gem. 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ď cez bezdrôtové pripojenie alebo cez internet.

Stiahnuť ReceiveSms.rb

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

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

Súbor ReceiveSms.rb.zip obsahuje súbor ReceiveSms.rb, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.

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

Ako odoslať naplánovanú SMS z Ruby (Rýchle kroky)

Na odoslanie naplánovanej SMS z Ruby:

  1. Stiahnite súbor ReceiveSms.rb.zip
  2. Extrahujte .zip súbor z priečinka Stiahnuté
  3. Otvorte súbor ReceiveSms.rb v akomkoľvek textovom editore, ako je Windows Notepad
  4. Spustite Ozeki SMS Gateway
  5. Vytvorte HTTP API používateľa v Ozeki
  6. Spustite Ruby kód ReceiveSms.rb pomocou príkazového riadku
  7. Skontrolujte odoslané správy v Ozeki SMS Gateway
Inštalácia Ozeki SMS Gateway a vytvorenie HTTP API používateľa

Na odosielanie SMS z Ruby je potrebné najprv nainštalovať Ozeki SMS Gateway. SMS brána môže byť nainštalovaná na rovnakom počítači, kde vyvíjate svoj Ruby kód v Visual Studio. 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, že vaše mobilné pripojenie funguje. Posledným krokom na prípravu 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 odosielanie SMS z Ruby

Na odosielanie SMS z Ruby bude vaše Ruby musieť odoslať 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 odosielanie 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(username+":"+password). V Ruby môžete použiť nasledujúci kód na toto kódovanie:

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 odosielanie SMS z Ruby

Na odosielanie SMS správ je potrebné zahrnúť nasledujúce riadky ako hlavičky v HTTP požiadavke. Upozorňujeme, že obsahujeme hlavičku Content-Type a Authorization.

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

Na vyžiadanie vašich prichádzajúcich SMS správ bude vaša Ruby aplikácia odosielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje iba časť HTTP hlavičky.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
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
	

HTTP odpoveď prijatá Ruby SMS príkladom

Akonáhle SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola odoslaná SMS správa úspešná alebo nie. Taktiež vráti štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o správach.

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 14:49:32 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "4524cd1f-f048-4b78-99ec-37bd906e676d",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36203333333",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-07-06 14:47:37",
	      "valid_until": "2021-07-13 14:47:37",
	      "time_to_send": "2021-07-06 14:47:37",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "e3125586-3d66-4f91-ac4e-66747653fe24",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36202222222",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-07-06 14:47:37",
	      "valid_until": "2021-07-13 14:47:37",
	      "time_to_send": "2021-07-06 14:47:37",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "98895df5-4972-4941-8bf3-5fb0302d1fa8",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36201111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-07-06 14:47:37",
	      "valid_until": "2021-07-13 14:47:37",
	      "time_to_send": "2021-07-06 14:47:37",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	

Ruby SMS príklad: ReceiveSms.rb

V tomto videu uvidíte proces sťahovania súboru ReceiveSMS.rb z tejto stránky s návodom. Začne sa otvorenou stránkou a skončí otvoreným projektom. Video je dlhé len 30 sekúnd, ale obsahuje všetky informácie, ktoré potrebujete na stiahnutie príkladového projektu. Je ľahko zrozumiteľné a detailné. Nebudete mať žiadny problém s krokov.

Video 1 - Ako stiahnuť a otvoriť súbor vyššie (Video návod)

Príklad kódu

Príklad kódu nižšie je súčasťou súboru ReceiveSms.rb. Ak ste oboznámení s programovacím jazykom Ruby, neváhajte upraviť príkladový projekt podľa svojich predstáv a odoslať svoju prvú testovaciu správu.

Obrázok 3 - Súbor ReceiveSms.rb

Ako použiť príkladový projekt

V nasledujúcom videu uvidíte, ako môžete odoslať správu pomocou príkladového projektu. Začne sa otvoreným poznámkovým blokom so zdrojovým kódom. Na konci videa uvidíte prijaté správy. Video je dlhé len 1 minútu, ale naučíte sa všetky kroky, ktoré potrebujete na dokončenie procesu. Video je veľmi detailné, takže nebudete mať problém s nasledovaním krokov.

Video 2 - Ako použiť súbor ReceiveSms.rb (Video návod)

Zhrnutie

Cieľom tohto návodu bolo vysvetliť kroky prijímania SMS v Ruby s pomocou Ozeki SMS brány. S niekoľkými jednoduchými krokmi môžete preposielať správy z priečinka doručenej pošty do Ruby programu. Toto riešenie je dôležité, ak chcete tieto správy zhromažďovať na oddelenom mieste. Ozeki SMS brána vám umožňuje spravovať náklady na SMS a sledovať SMS prevádzku.

Nezabudnite pokračovať v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o podobných témach, ako je odosielanie viacerých SMS v Ruby.

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

More information