Jak přijímat SMS z Ruby

Nejjednodušší způsob, jak přijímat SMS zprávy 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 odešle tuto SMS na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.

jak přijímat sms z ruby
Obrázek 1 - Jak přijímat SMS z Ruby

Ruby kód pro přijímání SMS zpráv

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 vašem projektu.

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
	
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 tř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. Můžete použít třídu Message k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď přes bezdrátové připojení nebo přes internet.

Stáhnout ReceiveSms.rb

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

Co obsahuje soubor ReceiveSms.rb.zip?

Soubor ReceiveSms.rb.zip obsahuje soubor ReceiveSms.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 obsahuje ReceiveSms.rb.zip

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

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

  1. Stáhněte soubor ReceiveSms.rb.zip
  2. Extrahujte .zip soubor ze složky Stažené
  3. Otevřete soubor ReceiveSms.rb v libovolném textovém editoru, jako je Windows Notepad
  4. Spusťte Ozeki SMS Gateway
  5. Vytvořte HTTP API uživatele v Ozeki
  6. Spusťte Ruby kód ReceiveSms.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 bude vaše Ruby aplikace muset odeslat HTTP požadavek na SMS bránu. API url je uvedena 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 to být 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 v base64 kódovaném řetězci 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 odesílá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 odesílání SMS z Ruby

Pro vyžádání příchozích SMS zpráv bude vaše Ruby aplikace odesílat HTTP požadavek podobný tomu níže. Poznámka: tento požadavek obsahuje pouze část 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 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. Dále vrátí strukturu zakódovanou v JSONu, která poskytuje užitečné detaily o zprávách.

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 příklad: ReceiveSms.rb

V tomto videu uvidíte proces stažení souboru ReceiveSMS.rb z této stránky s návodem. Začíná otevřenou stránkou a končí otevřeným projektem. Video je dlouhé pouze 30 sekund, ale obsahuje všechny informace, které potřebujete k stažení příkladového projektu. Je snadno srozumitelné a detailní. Nebudete mít problém s jednotlivými kroky.

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

Příklad kódu

Níže uvedený příklad kódu je součástí souboru ReceiveSms.rb. Pokud jste obeznámeni s programovacím jazykem Ruby, klidně upravte příkladový projekt podle svých představ a odešlete svou první testovací zprávu.

Obrázek 3 - Soubor ReceiveSms.rb

Jak použít příkladový projekt

V následujícím videu uvidíte, jak můžete odeslat zprávu pomocí příkladového projektu. Začíná otevřeným poznámkovým blokem se zdrojovým kódem. Na konci videa uvidíte přijaté zprávy. Video je dlouhé pouze 1 minutu, ale naučíte se všechny kroky, které potřebujete k dokončení procesu. Video je velmi detailní, takže nebudete mít problém s následováním kroků.

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

Shrnutí

Cílem tohoto průvodce bylo vysvětlit kroky přijímání SMS v Ruby s pomocí Ozeki SMS brány. S několika jednoduchými kroky můžete přeposílat zprávy ze složky doručené pošty do Ruby programu. Toto řešení je důležité, pokud chcete tyto zprávy shromažďovat na odděleném místě. Ozeki SMS brána vám umožňuje spravovat náklady na SMS a sledovat SMS provoz.

Nezapomeňte pokračovat ve čtení na stránce s návody Ozeki, kde najdete více informací o podobných tématech, jako je odesílání více SMS v Ruby.

Jediné, co teď zbývá, je stáhnout Ozeki SMS bránu a začít pracovat!

More information