Jak přijímat SMS ze Scaly
Nejjednodušší způsob, jak přijímat SMS ze Scaly, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto API, budete přijímat SMS zprávy vydáním HTTP Get požadavku na SMS bránu. HTTP Get bude obsahovat název složky, ze které chcete zprávy přijímat. SMS brána odešle všechny zprávy ze složky do vaší klientské aplikace v Scale a vrátí HTTP 200 OK odpověď na váš požadavek.
Kód v Scale pro přijímání SMS zpráv do mobilu
Ukázka kódu v Scale níže ukazuje, jak můžete odeslat naplánovanou SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Ozeki.Libs.Rest pro Scale. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.
ReceiveSms.scalaimport Ozeki.Libs.Rest.{ Configuration, MessageApi } object main { def main(args: Array[String]): Unit = { val configuration = Configuration( Username = "http_user", Password = "qwe123", ApiUrl = "http://127.0.0.1:9509/api" ) val api : MessageApi = MessageApi(configuration) val result = api.DownloadIncoming() println(result) for (message <- result.Messages) { println(message) } } }
Jak použít ukázku SMS v Scale:
Tato ukázka SMS v Scale může být použita v jakékoli aplikaci v Scale. Pro její použití je nutné stáhnout knihovnu Ozeki.Libs.Rest. Po stažení knihovny je třeba přidat odkaz na ni ve vašem zdrojovém kódu v Scale. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Můžete použít třídu Message k vytvoření SMS. Třídu MessageApi můžete použít k přijetí SMS do SMS brány. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes internet.
Stáhnout ReceiveSms.scala
Zdrojový kód vysvětlený v tomto článku lze stáhnout a používat a upravovat zdarma.
Stáhnout: ReceiveSms.scala.zip (90.6Kb)
Co obsahuje soubor ReceiveSms.scala.zip?
V ReceiveSms.scala.zip najdete soubor ReceiveSms.scala, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.
Jak přijímat SMS ze Scaly (Jednoduchý návod)
Pro přijímání SMS ze Scaly:
- Nainstalujte uživatele HTTP API
- Povolte Logování komunikačních událostí na záložce Pokročilé
- Nastavte Visual Studio
- Stáhněte a rozbalte soubor ReceiveSms.scala.zip
- Otevřete projekt ReceiveSms.scala v InteliJ IDE
- Spusťte aplikaci Ozeki SMS Gateway
- Spusťte kód ReceiveSms.scala v IntelliJ IDE
- Zkontrolujte logy, zda byla SMS odeslána
Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API
Abyste mohli přijímat SMS ze Scaly, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód v Scale v libovolném textovém editoru, například v poznámkovém bloku Windows. 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, zda vaše připojení k mobilní síti funguje. Posledním krokem k přípravě prostředí je vytvoření uživatele HTTP SMS API. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby ukázka fungovala bez úprav.
Po nastavení prostředí můžete spustit svůj kód v Scale.
URL HTTP API pro přijímání SMS ze Scaly
Pro odesílání SMS ze Scaly musí vaše aplikace v Scale 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ěží vaše aplikace v Scale, 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 přijímání SMS ze Scaly
Pro ověření klienta SMS v Scale 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 Scale můžete použít následující kód pro toto kódování:
val usernamePassword = "%s:%s".format(Username, Password).getBytes() val usernamePasswordEncoded = Base64.getEncoder.encodeToString(usernamePassword) "Basic %s".format(usernamePasswordEncoded)
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í
Hlavička HTTP požadavku pro přijímání SMS ze Scaly
Pro přijímá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 příjem SMS ze Scaly
Pro odeslání SMS bude vaše aplikace Scala 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 čísla příjemců a texty zpráv, které jsme odeslali.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA Connection: Upgrade, HTTP2-Settings Upgrade: h2c Content-Length: 0 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Java-http-client/16.0.1
HTTP odpověď přijatá příkladem SMS v Scale
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: Thu, 15 Jul 2021 11:23:02 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": "bf1960cf-1474-40ac-85aa-5487a6edeb7f", "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-13 11:51:57", "valid_until": "2021-07-20 11:51:57", "time_to_send": "2021-07-13 11:51:57", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "df87cdf8-6e8b-4c99-a648-d2f24231bf04", "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-13 11:51:57", "valid_until": "2021-07-20 11:51:57", "time_to_send": "2021-07-13 11:51:57", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "7308e035-f92d-4515-9d21-9bb80ef26e74", "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-13 11:51:57", "valid_until": "2021-07-20 11:51:57", "time_to_send": "2021-07-13 11:51:57", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Jak přijímat SMS ze Scaly pomocí Scala SMS API (Video návod)
Toto video vám ukáže, jak stáhnout soubor ReceiveSms.scala.zip z této stránky. Pokud video sledujete, všimnete si, že obsah souboru ReceiveSms.scala.zip je umístěn na plochu Windows. Uvidíte také, že spouštíme příkazový řádek, abychom odeslali SMS.
Příklad SMS v Scale: ReceiveSms.scala
Ukázkový kód níže je součástí souboru ReceiveSms.scala.
Jak ověřit, že SMS byla přijata HTTP uživatelem
Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele v konzoli pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.
Shrnutí
Tento průvodce ukázal základní kroky pro příjem SMS v Scale s pomocí Ozeki SMS Gateway. Pokud byly všechny kroky pečlivě dodrženy, přesměrování příchozích zpráv do programu Scala by mělo být velmi jednoduché. S tímto řešením můžete zajistit, že tyto zprávy jsou shromažďovány tam, kde mají být. Důležité je poznamenat, že Ozeki SMS Gateway běží v prostředí, které kontrolujete, takže váš seznam kontaktů a data jsou v bezpečí.
Pokračujte ve čtení na stránce s návody Ozeki, kde najdete více informací o tématech jako plánování SMS v Scale.
Jediné, co teď zbývá, je stáhnout Ozeki SMS Gateway a začít pracovat!
More information
- Scala odeslat SMS pomocí HTTP REST API (ukázka kódu)
- Scala odeslat více SMS pomocí HTTP REST API (ukázka kódu)
- Scala naplánovat SMS pomocí HTTP REST API (ukázka kódu)
- Scala přijmout SMS pomocí HTTP REST API (ukázka kódu)
- Scala smazat SMS pomocí HTTP REST API (ukázka kódu)
- Jak stáhnout nejnovější Scala SMS knihovnu z Githubu