Hogyan ütemezzünk SMS-t Ruby nyelven

A legegyszerűbb módja az ütemezett SMS küldésének Ruby nyelven az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonjára, és egy HTTP 200 OK választ küld vissza a kérésedre.

hogyan ütemezzünk sms-t ruby nyelven
1. ábra - Hogyan ütemezzünk SMS-t Ruby nyelven

Ruby kód mobiltelefonra ütemezett SMS küldéséhez

Az alábbi Ruby SMS kód minta bemutatja, hogyan küldhetsz ütemezett SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával, a Ruby ozeki_libs_rest gem segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektben felhasználhatod és módosíthatod.

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

api = MessageApi.new(configuration)

result = api.send(msg)

print(result)
	

Hogyan használd a Ruby SMS példát:

Ez a Ruby SMS példa bármilyen Ruby alkalmazásban használható. A használatához le kell töltened az ozeki_libs_rest gem-et. A gem letöltése után hivatkoznod kell rá a Ruby forráskódodban. Ez lehetővé teszi az ozeki_libs_rest gem által nyújtott osztályok használatát. A Message osztály segítségével hozhatod létre az SMS-t. A MessageApi osztályt használhatod az SMS küldéséhez az SMS gateway felé. Az SMS gateway továbbítja az üzenetedet a mobilhálózat felé vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendScheduledSms.rb letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendScheduledSms.rb.zip (373B)

Mi található a SendScheduledSms.rb.zip fájlban?

A SendScheduledSms.rb.zip tartalmazza a SendScheduledSms.rb fájlt, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.

2. ábra - Mi található a SendScheduledSms.rb.zip fájlban

Hogyan küldj ütemezett SMS-t Ruby nyelven (Gyors lépések)

Ütemezett SMS küldése Ruby nyelven:

  1. Töltsd le a SendScheduledSms.rb.zip fájlt
  2. Csomagold ki a .zip fájlt a Letöltések mappából
  3. Nyisd meg a SendScheduledSms.rb fájlt bármilyen szövegszerkesztőben, például a Windows Jegyzettömbben
  4. Indítsd el az Ozeki SMS Gateway-t
  5. Hozz létre egy HTTP API felhasználót az Ozeki-ben
  6. Futtasd a SendScheduledSms.rb Ruby kódot a parancssorból
  7. Ellenőrizd az Ozeki SMS Gateway Elküldött mappáját

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

Ahhoz, hogy SMS-t tudj küldeni Ruby nyelven, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Ruby kódodat fejleszted a Visual Studio-ban. A telepítés után a következő lépés az, hogy csatlakoztassad az Ozeki SMS Gateway-t a mobilhálózathoz. létrehozz egy HTTP SMS API felhasználói fiókot. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.

A környezet beállítása után futtathatod a Ruby kódodat.

HTTP API URL SMS küldéséhez Ruby nyelven

Ahhoz, hogy SMS-t küldj Ruby nyelven, a Ruby alkalmazásodnak HTTP kérést kell küldenie az SMS gateway felé. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét kell beírnod. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Ruby SMS alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, annak az IP címét kell megadnod.

http://127.0.0.1:9509/api?action=rest
	

HTTP hitelesítés SMS küldéséhez Ruby nyelven

A Ruby SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolású karakterláncként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Ruby nyelven a következő kóddal végezheted el ezt a kódolást:

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

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolású karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc SMS küldéséhez Ruby nyelven

Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznod fejlécben az HTTP kérésben. Figyeld meg, hogy tartalmazunk egy Content-Type és egy Authorization fejlécet.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP kérés SMS küldéséhez Ruby nyelven

Az SMS beküldéséhez a Ruby alkalmazásod egy olyan HTTP kérést fog küldeni, mint az alábbi. Figyeld meg, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolású adat karakterlánc. Tartalmazza a címzett számát és az üzenet szövegét.

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 válasz, amit a Ruby SMS példa kap

Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy státuszkódot, ami jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolású struktúrát is visszaad, ami hasznos részleteket nyújt az üzenet beküldéséről.

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 példa: SendScheduledSms.rb

A következő videóban bemutatjuk a projekt forráskódjának letöltési folyamatát. A videó a projektfájlok letöltésével kezdődik, és egészen a megnyitott projektfájlig vezet. A videó megmutatja, hogyan töltsd le a projektfájlt, és nyisd meg a Jegyzettömb segítségével. Ez a 36 másodperces videó részletes, és tartalmazza az összes szükséges információt a sikeres letöltési folyamathoz.

1. videó - Hogyan töltsd le és nyisd meg a fenti fájlt (Videó útmutató)

A példakód

Az alábbi példakód a SendScheduledSms.rb része. Módosíthatod a példa projektet azzal, hogy megtalálod a megfelelő sort és kicseréled a kód egy részét a helyes adatokra. Például a msg.to_address változó tartalmazza a telefonszámot, ahová az üzenet el lesz küldve (3. ábra). A msg.text változó tartalmazza az üzenet szövegét. Módosítsd tetszésed szerint, és futtasd a projektet egy teszt üzenet elküldéséhez.

3. ábra - SendScheduledSms.rb fájl

Hogyan küldj ütemezett SMS-t Ruby nyelven (Videó útmutató)

Ebben a videóban bemutatjuk a példa projekt futtatásának folyamatát. A videó a előkészített forráskóddal kezdődik, és az ütemezett SMS naplójával ér véget. A videó megtanítja, hogyan adj meg egy időpontot az üzenet küldéséhez, és milyen konfigurációra van szükség a parancssorban. Ez a videó mindössze 1:30 perc hosszú, de nagyon részletes. Megtanulod az összes fontos lépést, amit meg kell tenned egy SMS ütemezéséhez. Ebben a videóban az Ozeki SMS Gateway-t használjuk, így egy nagyon intuitív felülettel fogsz dolgozni. Nem lesz gondod a lépések követésével.

2. videó - Hogyan használd a SendScheduledSms.rb fájlt (Videó útmutató)

Összegzés

A fenti cikk bemutatta az SMS ütemezésének lépéseit Ruby nyelven az Ozeki SMS Gateway segítségével. Ezzel a megoldással az SMS kézbesítésének tökéletes időzítése lehetséges, ami magasabb teljesítményt és ügyfélbarát képet eredményez. A címzettek akkor kapják meg az üzeneteket, amikor nem a legelfoglaltabbak, így van idejük elolvasni őket. Az Ozeki SMS Gateway egy nagyon megbízható szoftver, és nagyon könnyen kezelhető.

Folytasd az olvasást az Ozeki oktatóoldalán, ahol további információkat találsz hasonló témákról, mint például az fogadása Ruby nyelven.

Most már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a munkát!

More information