Hogyan küldjünk SMS-t Ruby nyelven

A legegyszerűbb módja az 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 küldjünk sms-t ruby nyelven
1. ábra - Hogyan küldjünk SMS-t Ruby nyelven

Ruby kód SMS küldésére mobilra

Az alábbi Ruby SMS kód minta bemutatja, hogyan küldhetsz 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.

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)
	

1. kód - SendSms.rb

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

Ez a Ruby SMS példa bármilyen Ruby alkalmazásban használható. A használathoz le kell töltened az ozeki_libs_rest gem-et. A gem letöltése után hozzá kell adnod egy referenciát a Ruby forráskódodhoz. 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 létrehozhatod az SMS-t. A MessageApi osztály segítségével elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobil hálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendSms.rb letöltése

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

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

A SendSms.rb.zip-ben található a SendSms.rb fájl, 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 SendSms.rb.zip-ben

Hogyan telepítsd az ozeki_libs_rest gem-et Windows parancssorból

gem install ozeki_libs_rest
	

2. kód - Parancs az ozeki_libs_rest gem telepítéséhez

1. videó - Hogyan telepítsd az ozeki_libs_rest gem-et (Videó útmutató)

Hogyan küldjünk SMS-t Ruby nyelven (Egyszerű útmutató)

SMS küldése Ruby nyelven:

  1. Telepíts egy HTTP API felhasználót
  2. Kapcsold be a Kommunikációs események naplózását a Speciális lapon
  3. Állítsd be a Visual Studio-t
  4. Töltsd le, majd csomagold ki a SendSms.rb.zip fájlt
  5. Indítsd el az Ozeki SMS Gateway alkalmazást
  6. Futtasd a SendSend.rb Ruby kódot a parancssorból
  7. Ellenőrizd a naplókat, hogy az SMS elküldődött-e

Telepítsd az Ozeki SMS Gateway-t és hozz létre egy HTTP API felhasználót

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 bármilyen szövegszerkesztőben, például a Windows Jegyzettömbben. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobil hálózathoz. létrehozol 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.

Miután a környezet beállításra került, 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 írd. 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, akkor annak az IP címét kell megadni.

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ódot használhatod a kódoláshoz:

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==. Az SMS küldéséhez

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 belefoglalnod a HTTP kérés fejlécébe. 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ú adatkarakterlá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":	"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 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, amely 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, amely 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 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"
	    }
	  ]
	}
}
	

Csatlakoztasd az SMS gateway-t a mobil hálózathoz és hozz létre egy HTTP API felhasználói fiókot

Feltételezzük, hogy már telepítetted az Ozeki SMS Gateway-t, és csatlakoztattad a mobil hálózathoz. Ahhoz, hogy SMS-t tudj küldeni mobiltelefonra Ruby nyelven, létre kell hoznod egy HTTP API felhasználói fiókot az Ozeki SMS Gateway-ben.

2. videó - Hogyan állíts be egy HTTP API felhasználói fiókot (Videó útmutató)

Hogyan küldj SMS-t Ruby nyelven a Ruby SMS API segítségével (Videó útmutató)

Ez a videó bemutatja, hogyan töltheted le a SendSms.rb.zip fájlt erről az oldalról. Ha megnézed a videót, észre fogod venni, hogy a SendSms.rb zip tartalma a Windows asztalra kerül. Azt is látni fogod, hogy a parancssort használjuk az SMS küldéséhez.

Ruby SMS példa: SendSms.rb

Az alábbi példakód a SendSms.rb része.

3. ábra - SendSms.rb fájl

Hogyan ellenőrizd, hogy az SMS-t elfogadta-e a HTTP felhasználó

Az SMS beküldése után érdemes ellenőrizni az SMS gateway-t, hogy mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén keresztül tekintheted meg, ahol megnyithatod a HTTP felhasználó részleteit. A következő videó bemutatja, hogy mire kell figyelni.

4. videó - Hogyan küldj SMS-t a fenti Ruby kóddal (Videó útmutató)

Hogyan ellenőrizd, hogy az SMS eljutott-e a mobil hálózatra

A folyamat ellenőrzésének utolsó lépése a mobil hálózati kapcsolat naplóinak megtekintése. Előfordulhat, hogy be kell kapcsolnod a naplózást a kapcsolat beállításaiban, mielőtt elküldöd az üzenetet, hogy lásd a naplókat. Ha a naplózás be van kapcsolva, látni fogod a telefonszámot és az üzenet szövegét, amit küldtél.

5. videó - Hogyan teszteld, hogy az SMPP kliens elfogadta-e a kérést (Videó útmutató)

Hogyan néz ki egy üzenet fogadása Androidon (Videó útmutató)

Ebben a videóban láthatod, hogyan néz ki egy üzenet fogadása Androidon, amikor az üzenetet az Ozeki SMS Gateway segítségével küldték. A videó egy közönséges Android főképernyővel kezdődik, majd megmutatja az értesítést, amit egy bejövő SMS esetén kapsz, majd a megnyitott Üzenetek alkalmazást a 'Hello World' SMS-sel. A videó mindössze 18 másodperc hosszú, de a teljes folyamatot bemutatja.

6. videó - Hogyan néz ki egy üzenet fogadása Androidon (Videó útmutató)

Összegzés

Ennek a cikknek a fő célja az volt, hogy bemutassa az SMS küldésének lépéseit Ruby nyelven az Ozeki SMS Gateway segítségével. Ezzel az innovációval üzeneteket küldhetsz ügyfeleidnek egy számítógép mögül ülve, csak az Ozeki SMS Gateway és egy Ruby kód segítségével. Ez a megoldás nagyszerű példa arra, hogy milyen egyszerű az Ozeki SMS Gateway vezérlése Ruby kódokkal. Azt is meg kell említeni, hogy az Ozeki SMS Gateway bármely országban működik, és különböző mobil kapcsolatokon keresztül képes SMS-eket küldeni és fogadni.

Folytasd az olvasást az Ozeki oktatóoldalán, ahol további információkat találsz olyan témákról, mint SMS ütemezése Ruby nyelven.

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

More information