Jak odeslat více SMS z Ruby
Nejjednodušší způsob, jak odeslat více 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 odešle tuto SMS na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.
Ruby kód pro odeslání více SMS na mobil
Ukázka Ruby SMS kódu níže ukazuje, jak můžete odeslat 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 z vašich projektů.
SendMultipleSms.rbrequire 'ozeki_libs_rest' configuration = Configuration.new( "http_user", "qwe123", "http://127.0.0.1:9509/api" ); msg1 = Message.new msg1.to_address = "+36201111111" msg1.text = "Hello world 1" msg2 = Message.new msg2.to_address = "+36202222222" msg2.text = "Hello world 2" msg3 = Message.new msg3.to_address = "+36203333333" msg3.text = "Hello world 3" api = MessageApi.new(configuration) result = api.send([ msg1, msg2, msg3 ]) print(result)
Jak použít Ruby SMS příklad:
Tento Ruby SMS příklad 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. 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 přepošle vaši zprávu do mobilní sítě buď přes bezdrátové připojení nebo přes internet.
Stáhnout SendMultipleSms.rb
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendMultipleSms.rb.zip (377B)
Co je v souboru SendMultipleSms.rb.zip?
SendMultipleSms.rb.zip obsahuje soubor SendMultipleSms.rb, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.
Jak odeslat více SMS z Ruby (Rychlé kroky)
Pro odeslání více SMS z Ruby:
- Stáhněte soubor SendMultipleSms.rb.zip
- Extrahujte soubor .zip ze složky Stažené soubory
- Otevřete soubor SendMultipleSms.rb v libovolném textovém editoru, jako je Windows Notepad
- Spusťte Ozeki SMS Gateway
- Vytvořte HTTP API uživatele v Ozeki
- Spusťte Ruby kód SendMultipleSms.rb pomocí příkazového řádku
- 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 a ověřit, že vaše mobilní síťové připojení funguje. Posledním krokem k přípravě vašeho 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 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 odeslání SMS zpráv je nutné do HTTP požadavku zahrnout následující řádky jako hlavičky. Poznámka: zahrnujeme hlavičku Content-Type a Authorization.
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 HTTP těla. HTTP tělo 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: 992 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": "49aa6f3a-5d2a-4d53-bd63-9eb9da8bb23e", "to_address": "+36201111111", "text": "Hello, World 1", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "62098595-5ff8-4ca8-8b06-54f0fb31ee12", "to_address": "+362222222", "text": "Hello, World 2", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "f5b576ff-52b8-4de0-9677-4731769198f9", "to_address": "+363333333", "text": "Hello, World 3", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP odpověď přijatá Ruby příkladem SMS
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. Také vrátí 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.116 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Fri, 11 Jun 2021 13:06:37 GMT Server: 10/10.3.116 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Zprávy zařazeny k odeslání.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "49aa6f3a-5d2a-4d53-bd63-9eb9da8bb23e", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World 1", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "62098595-5ff8-4ca8-8b06-54f0fb31ee12", "from_station": "%", "to_address": "+362222222", "to_station": "%", "text": "Hello, World 2", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "f5b576ff-52b8-4de0-9677-4731769198f9", "from_station": "%", "to_address": "+363333333", "to_station": "%", "text": "Hello, World 3", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Příklad SMS v Ruby: SendMultipleSms.rb
Níže uvedený ukázkový kód je součástí souboru SendMultipleSms.rb.
Shrnutí
Tento článek vysvětluje kroky pro odesílání více SMS v Ruby s Ozeki SMS Gateway. Tato inovace může být velmi užitečná, pokud chcete odeslat textové zprávy velkému počtu zákazníků najednou. Synergie mezi Ruby kódy a Ozeki SMS Gateway zajišťuje, že získáte nejvyšší možný výkon. Ozeki SMS Gateway lze stáhnout z webových stránek Ozeki a lze jej vyzkoušet zdarma během zkušebního období.
Ujistěte se, že zde nekončíte s čtením, navštivte stránku s návody Ozeki, kde najdete více informací o tématech, jako je příjem v Ruby.
Nyní zbývá jen stáhnout Ozeki SMS Gateway a začít pracovat!
More information
- Ruby send SMS with the HTTP rest API (code sample)
- Ruby send multiple SMS with the HTTP rest API (code sample)
- Ruby schedule SMS with the HTTP rest API (code sample)
- Ruby receive SMS with the HTTP rest API (code sample)
- Ruby delete SMS with the HTTP rest API (code sample)
- How to download the latest Ruby SMS library from Github
- Ruby send SMS fom Linux