Ako poslať SMS z Ruby
Najjednoduchší spôsob, ako poslať SMS z Ruby, je použiť vstavané HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vytvorením HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Ukážka Ruby SMS kódu nižšie demonštruje, ako môžete poslať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím Ruby gemu ozeki_libs_rest. Táto knižnica je poskytovaná bezplatne a môžete ju použiť a upraviť v akomkoľvek z vašich projektov.
SendSms.rbrequire '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)
Ako použiť Ruby SMS príklad:
Tento Ruby SMS príklad môže byť použitý v akejkoľvek Ruby aplikácii. Na jeho použitie je potrebné stiahnuť gem ozeki_libs_rest. Po stiahnutí gemu je potrebné pridať odkaz naň vo vašom Ruby zdrojovom kóde. To vám umožní používať triedy poskytované gemom ozeki_libs_rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď cez bezdrôtové pripojenie alebo cez internet.
Stiahnuť SendSms.rb
Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendSms.rb.zip (316B)
V SendSms.rb.zip nájdete súbor SendSms.rb, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako poslať SMS. Tento ukážkový kód je uvedený nižšie.
gem install ozeki_libs_rest
Ako poslať SMS z Ruby (Jednoduché pokyny)
Na odoslanie SMS z Ruby:
- Nainštalujte HTTP API používateľa
- Povoľte Logovanie komunikačných udalostí na karte Pokročilé
- Nastavte Visual Studio
- Stiahnite a extrahujte súbor SendSms.rb.zip
- Spustite aplikáciu Ozeki SMS Gateway
- Spustite Ruby kód SendSend.rb pomocou príkazového riadku
- Skontrolujte logy, či bola SMS odoslaná
Na odoslanie SMS z Ruby je potrebné najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj Ruby kód v akomkoľvek textovom editore, ako je napríklad Windows notepad. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, že vaše mobilné pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie HTTP SMS API používateľského účtu. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.
Po nastavení prostredia môžete spustiť svoj Ruby kód.
HTTP API URL na odoslanie SMS z RubyNa odoslanie SMS z Ruby bude vaše Ruby musieť vytvoriť HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží Ruby SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.
http://127.0.0.1:9509/api?action=rest
Na autentifikáciu Ruby SMS klienta je potrebné odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Použitý formát je: base64(používateľské meno+":"+heslo). V Ruby môžete použiť nasledujúci kód na toto kódovanie:
username_password = username + ':' + password username_password_encoded = Base64.encode64(username_password) 'Basic ' + username_password_encoded
Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
HTTP hlavička požiadavky na odoslanie SMS z Ruby
Na odoslanie SMS správy musíte do hlavičky HTTP požiadavky zahrnúť nasledujúce riadky. Upozorňujeme, že obsahujeme hlavičku typu obsahu a autorizačnú hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Na odoslanie SMS správy vaša Ruby aplikácia odošle HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text sprá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": "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": [] } ] }
Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Bude tiež vrátená štruktúra zakódovaná v JSON, ktorá poskytne užitočné informácie o odoslaní sprá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 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" } ] } }
Predpokladáme, že ste už nainštalovali Ozeki SMS Gateway, a že ste pripojili ju k mobilnej sieti. Aby ste mohli odosielať SMS na mobilné telefóny z Ruby, musíte nastaviť užívateľský účet HTTP API v Ozeki SMS Gateway.
Ako odoslať SMS z Ruby pomocou C# SMS API (Video návod)
Toto video vám ukáže, ako si stiahnuť súbor SendSms.rb.zip z tejto stránky. Ak si video pozriete, všimnete si, že obsah SendSms.rb zipu je umiestnený na pracovnej ploche Windows. Tiež uvidíte, že spúšťame príkazový riadok na odoslanie SMS.
Príklad SMS v Ruby: SendSms.rbPríklad kódu nižšie je súčasťou súboru SendSms.rb.
Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením detailov HTTP užívateľa v konzole správy Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.
Ako skontrolovať, či bola SMS odoslaná do mobilnej siete
Posledným krokom pri overovaní postupu je pozrieť si záznamy mobilného sieťového pripojenia. Pred odoslaním správy možno budete musieť v konfigurácii pripojenia zapnúť zaznamenávanie, aby ste videli záznamy. Ak je zaznamenávanie povolené, uvidíte telefónne číslo a text správy, ktorú ste odoslali.
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