Jak naplánovat SMS v Ruby

Nejjednodušší způsob, jak odeslat naplánovanou SMS z Ruby, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto API, budete odesílat SMS zprávy vytvořením HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu json. SMS brána poté odešle tuto SMS na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.

jak naplánovat sms v ruby
Obrázek 1 - Jak naplánovat SMS v Ruby

Ruby kód pro odeslání naplánované SMS na mobil

Ukázka Ruby kódu pro SMS níže ukazuje, jak můžete odeslat naplánovanou SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s použitím Ruby gemu ozeki_libs_rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.

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

api = MessageApi.new(configuration)

result = api.send(msg)

print(result)
	

Jak použít Ruby příklad pro SMS:

Tento Ruby příklad pro SMS lze použít v jakékoli Ruby aplikaci. Pro použití je nutné stáhnout gem ozeki_libs_rest. Po stažení gemu je potřeba přidat odkaz na něj ve vašem Ruby zdrojovém kódu. To vám umožní používat třídy poskytované gemem ozeki_libs_rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána poté přepošle vaši zprávu do mobilní sítě buď přes bezdrátové připojení nebo přes internet.

Stáhnout SendScheduledSms.rb

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendScheduledSms.rb.zip (373B)

Co je v souboru SendScheduledSms.rb.zip?

SendScheduledSms.rb.zip obsahuje soubor SendScheduledSms.rb, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

Obrázek 2 - Co je uvnitř SendScheduledSms.rb.zip

Jak odeslat naplánovanou SMS z Ruby (Rychlé kroky)

Pro odeslání naplánované SMS z Ruby:

  1. Stáhněte soubor SendScheduledSms.rb.zip
  2. Extrahujte .zip soubor ze složky Stažené soubory
  3. Otevřete soubor SendScheduledSms.rb v libovolném textovém editoru, jako je například Windows Poznámkový blok
  4. Spusťte Ozeki SMS Gateway
  5. Vytvořte HTTP API uživatele v Ozeki
  6. Spusťte Ruby kód SendScheduledSms.rb pomocí příkazového řádku
  7. Zkontrolujte složku Odeslané v Ozeki SMS Gateway

Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele

Pro odesílání SMS z Ruby je nejprve nutné nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj Ruby kód v Visual Studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI pro ověření, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě prostředí je vytvoření HTTP SMS API uživatele. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj Ruby kód.

HTTP API URL pro odesílání SMS z Ruby

Pro odesílání SMS z Ruby musí vaše Ruby aplikace odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží Ruby SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa tohoto počítače.

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

HTTP autentizace pro odesílání SMS z Ruby

Pro autentizaci Ruby SMS klienta je nutné odeslat uživatelské jméno a heslo jako base64 kódovaný řetězec na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V Ruby můžete použít následující kód pro toto kódování:

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

Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

HTTP hlavička požadavku pro odesílání SMS z Ruby

Pro odeslání SMS zpráv je nutné do HTTP požadavku zahrnout následující řádky jako hlavičky. Poznámka: zahrnujeme content type a Authorization hlavičku.

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

HTTP požadavek pro odeslání SMS z Ruby

Pro odeslání SMS bude vaše Ruby aplikace odesílat HTTP požadavek podobný tomu níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část těla HTTP. Tělo HTTP je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprá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 odpověď přijatá Ruby SMS příkladem

Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Vrátí také strukturu zakódovanou v JSON, která vám poskytne užitečné detaily o odeslání zprá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 příklad: SendScheduledSms.rb

V následujícím videu vám představíme proces stahování zdrojového kódu projektu. Video začne stažením souborů projektu a provede vás až k otevření souboru projektu. Video vám ukáže, jak stáhnout soubor projektu a otevřít jej pomocí programu Poznámkový blok. Toto 36 sekund dlouhé video je podrobné a obsahuje všechny informace, které potřebujete k úspěšnému dokončení procesu stahování.

Video 1 - Jak stáhnout a otevřít výše uvedený soubor (Video návod)

Příklad kódu

Příklad kódu níže je součástí souboru SendScheduledSms.rb. Příklad projektu můžete upravit nalezením správného řádku a nahrazením části kódu správnými daty. Například proměnná msg.to_address obsahuje telefonní číslo, na které bude zpráva doručena (Obrázek 3). Proměnná msg.text obsahuje text zprávy. Upravte ji podle svých představ a spusťte projekt pro odeslání testovací zprávy.

Obrázek 3 - Soubor SendScheduledSms.rb

Jak odeslat naplánovanou SMS pomocí Ruby (Video návod)

V tomto videu vám ukážeme proces spuštění příkladového projektu. Video začne připraveným zdrojovým kódem a skončí výpisem naplánované SMS. Video vás naučí, jak zadat čas pro odeslání zprávy a jaké konfigurace je třeba provést v příkazovém řádku. Toto video je dlouhé pouze 1:30, ale velmi podrobné. Dozvíte se všechny klíčové kroky, které je třeba udělat pro naplánování SMS. V tomto videu používáme Ozeki SMS Gateway, takže budete pracovat s velmi intuitivním uživatelským rozhraním. Nebudete mít problém s následováním kroků.

Video 2 - Jak použít soubor SendScheduledSms.rb (Video návod)

Závěr

Výše uvedený článek ukázal kroky naplánování SMS v jazyce Ruby s pomocí Ozeki SMS Gateway. S tímto řešením je možné dokonalé načasování doručení SMS, což vede k vyššímu výkonu a přátelskému obrazu u zákazníků. Příjemci dostávají zprávy, když nejsou ve svých zaneprázdněných hodinách, takže mají čas si je přečíst. Ozeki SMS Gateway je velmi spolehlivý software a lze jej velmi snadno spravovat.

Pokračujte ve čtení na stránce tutoriálů Ozeki, kde najdete více informací o podobných tématech, jako je příjem v Ruby.

Jediné, co teď zbývá udělat, je stáhnout Ozeki SMS Gateway a nechat práci začít!

More information