Ako naplánovať SMS v Ruby

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

ako naplánovať sms v ruby
Obrázok 1 - Ako naplánovať SMS v Ruby

Ruby kód na odoslanie naplánovanej SMS na mobil

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 pomocou Ruby gemu ozeki_libs_rest. Táto knižnica je poskytovaná bezplatne a môžete ju použiť a upraviť v akomkoľvek z vašich projektov.

SendScheduledSms.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 = "Ahoj svet!"
msg.time_to_send = DateTime.parse('2021-07-06T013:00:00')

api = MessageApi.new(configuration)

result = api.send(msg)

print(result)
	

Ako použiť Ruby SMS príklad:

Tento Ruby SMS príklad môže byť použitý v akejkoľvek Ruby aplikácii. Na 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ď cez bezdrôtové pripojenie alebo cez internet.

Stiahnuť SendScheduledSms.rb

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý a používaný a upravovaný bezplatne.
Stiahnuť: SendScheduledSms.rb.zip (373B)

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

SendScheduledSms.rb.zip obsahuje súbor SendScheduledSms.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 SendScheduledSms.rb.zip

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

Na odoslanie naplánovanej SMS z Ruby:

  1. Stiahnite si súbor SendScheduledSms.rb.zip
  2. Extrahujte .zip súbor z priečinka Stiahnuté
  3. Otvorte súbor SendScheduledSms.rb v akomkoľvek textovom editore, napríklad Windows poznámkovom bloku
  4. Spustite Ozeki SMS Gateway
  5. Vytvorte HTTP API používateľa v Ozeki
  6. Spustite Ruby kód SendScheduledSms.rb pomocou príkazového riadku
  7. Skontrolujte priečinok Odoslané 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ánu je možné nainštalovať 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 odoslanie SMS z Ruby

Na odosielanie SMS z Ruby bude vaše Ruby musieť vytvoriť 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žitý formát je: base64(používateľské meno+":"+heslo). 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 odoslanie SMS z Ruby

Na odoslanie SMS správ je potrebné zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že zaraďujeme content type a Authorization 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ú ako tá nižšie. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. 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":	"f0f02105-0a78-46a9-ae14-f0728bac2aa6",
			"to_address":	"+36201111111",
			"text":	"Hello world!",
			"create_date":	"2021-07-06T14:32:21",
			"valid_until":	"2021-07-13T14:32:21",
			"time_to_send":	"2021-07-06T13:00:00",
			"is_submit_report_requested":	true,
			"is_delivery_report_requested":	true,
			"is_view_report_requested":	true,
			"tags":	[]
		}
	]
}
	
HTTP odpoveď prijatá Ruby SMS príkladom

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. Tiež vráti štruktúru zakódovanú v JSON, ktorá poskytuje 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 14:26:41 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": "f0f02105-0a78-46a9-ae14-f0728bac2aa6",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-06 14:32:21",
	      "valid_until": "2021-07-13 14:32:21",
	      "time_to_send": "2021-07-06 13:00:00",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	
Ruby SMS príklad: SendScheduledSms.rb

V nasledujúcom videu vám predstavíme proces sťahovania zdrojového kódu projektu. Video začne sťahovaním projektových súborov a prevedie vás až k otvorenému projektovému súboru. Video vám ukáže, ako stiahnuť projektový súbor a otvoriť ho pomocou poznámkového bloku. Toto 36-sekundové video je podrobné a obsahuje všetky informácie, ktoré potrebujete na úspešné dokončenie procesu sťahovania.

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

Príkladový kód

Príkladový kód nižšie je súčasťou súboru SendScheduledSms.rb. Príkladový projekt môžete upraviť nájdením správneho riadku a nahradením časti kódu správnymi údajmi. Napríklad premenná msg.to_address obsahuje telefónne číslo, na ktoré sa správa doručí (Obrázok 3). Premenná msg.text obsahuje text správy. Upravte ju podľa svojich predstáv a spustite projekt na odoslanie testovacej správy.

Obrázok 3 - Súbor SendScheduledSms.rb

Ako odoslať naplánovanú SMS pomocou Ruby (Video návod)

V tomto videu vám ukážeme proces spustenia príkladového projektu. Video začne pripraveným zdrojovým kódom a skončí záznamom o naplánovanej SMS. Video vás naučí, ako nastaviť čas odoslania správy a akú konfiguráciu musíte vykonať v príkazovom riadku. Toto video je dlhé len 1:30, ale veľmi podrobné. Dozviete sa všetky dôležité kroky, ktoré musíte vykonať na naplánovanie SMS. V tomto videu používame Ozeki SMS Gateway, takže budete pracovať s veľmi intuitívnym používateľským rozhraním. Nebudete mať žiadny problém s dodržaním krokov.

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

Záver

Vyššie uvedený článok ukázal kroky naplánovania SMS v jazyku Ruby s pomocou Ozeki SMS Gateway. S týmto riešením je možné dosiahnuť perfektné načasovanie doručenia SMS, čo vedie k vyššiemu výkonu a priateľskému obrazu voči zákazníkom. Príjemcovia dostávajú správy, keď nie sú v svojich zaneprázdnených hodinách, takže majú čas si ich prečítať. Ozeki SMS Gateway je veľmi spoľahlivý softvér a dá sa veľmi ľahko spravovať.

Pokračujte v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o podobných témach, ako je prijímanie v Ruby.

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

More information