Jak odeslat SMS ze Scaly
Nejjednodušší způsob, jak odeslat SMS ze Scaly, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto 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.
Kód v Scale pro odeslání SMS na mobil
Ukázka kódu v Scale pro SMS níže ukazuje, jak můžete odeslat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s knihovnou Ozeki.Libs.Rest pro Scale. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli vašem projektu.
SendSms.scalaimport Ozeki.Libs.Rest.{ Configuration, Message, 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 msg = Message( ToAddress = "+36201111111", Text = "Hello world!" ) val api = MessageApi(configuration) val result = api.Send(msg) println(result) } }
Jak použít ukázku kódu v Scale pro SMS:
Tato ukázka kódu v Scale pro SMS může být použita v jakékoli aplikaci v Scale. Pro 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 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 SendSms.scala
Zdrojový kód vysvětlený v tomto článku lze stáhnout a používat a upravovat zdarma.
Stáhnout: SendSms.scala.zip (96.4Kb)
Co je v souboru SendSms.scala.zip?
V SendSms.scala.zip najdete projekt InteliJ se složkou zdrojových kódů a ve složce zdrojů (src) můžete najít knihovnu Ozeki.Libs.Rest a soubor main.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 odeslat SMS ze Scaly (Jednoduchý návod)
Pro odeslá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 SendSms.scala.zip
- Otevřete projekt SendSms.scala v IDE InteliJ
- Spusťte aplikaci Ozeki SMS Gateway
- Spusťte kód SendSend.scala v Scale jeho spuštěním v IDE IntelliJ
- Zkontrolujte logy, zda byla SMS odeslána
Nainstalujte Ozeki SMS Gateway a vytvořte uživatele HTTP API
Abyste mohli odesílat 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 jakémkoli 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 grafického rozhraní Ozeki a ověřit, zda vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho 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 odeslání SMS ze Scaly
Pro odeslá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ěží aplikace v Scale pro SMS, 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 odeslání SMS ze Scaly
Pro autentizaci klienta SMS v Scale je nutné odeslat uživatelské jméno a heslo v řetězci zakódovaném v base64 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í řetězec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
Hlavička HTTP požadavku pro odeslání SMS ze Scaly
Pro odeslání SMS zpráv musíte do hlavičky HTTP požadavku zahrnout následující řádky. Poznámka: Zahrnujeme hlavičku Content-Type a Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odeslání SMS z jazyka Scala
Pro odeslání SMS bude vaše aplikace v jazyce 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 HTTP těla. HTTP tělo je řetězec zakódovaný ve formátu JSON. Obsahuje číslo příjemce a text zprávy.
POST /api?action=sendmsg HTTP/1.1 HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA Connection: Upgrade, HTTP2-Settings Upgrade: h2c Content-Length: 327 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Java-http-client/16.0.1 { "messages": [ { "message_id":"2f8aa62a-bdad-436b-a824-2aba0a79c39f", "to_address":"+36201111111", "text":"Hello world!", "create_date":"2021-07-15T08:59:28", "valid_until":"2021-07-22T08:59:28", "time_to_send":"+1000000000-01-01T00:00:00", "submit_report_requested":true, "view_report_requested":true, "delivery_report_requested":true } ] }
HTTP odpověď přijatá příkladem SMS v jazyce Scala
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 ve formátu JSON, která vám poskytne užitečné informace 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 08:08:03 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": "2f8aa62a-bdad-436b-a824-2aba0a79c39f", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-07-15 08:59:28", "valid_until": "2021-07-22 08:59:28", "time_to_send": "2021-07-15 08:59:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Připojte svou SMS bránu k mobilní síti a vytvořte účet HTTP API uživatele
Předpokládáme, že jste již nainstalovali Ozeki SMS Gateway, a že jste připojili ji k mobilní síti. Abyste mohli odesílat SMS na mobilní telefon z jazyka Scala, musíte nastavit účet HTTP API uživatele v Ozeki SMS Gateway.
Jak odeslat SMS z jazyka Scala pomocí SMS API v jazyce Scala (Video návod)
Toto video vám ukáže, jak stáhnout soubor SendSms.scala.zip z této stránky. Pokud se podíváte na video, všimnete si, že obsah souboru SendSms.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 jazyce Scala: SendSms.scala
Příklad kódu níže je součástí souboru SendSms.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.
Jak ověřit, že SMS byla odeslána do mobilní sítě
Posledním krokem při ověřování postupu je podívat se na protokoly připojení k mobilní síti. Možná budete muset před odesláním zprávy zapnout protokolování v konfiguraci připojení, abyste viděli protokoly. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.
Přijetí SMS zprávy na telefonu s Androidem
V tomto videu uvidíte, jak vypadá přijetí SMS na telefonu s Androidem. Video začne obyčejnou domovskou obrazovkou Androidu, a uvidíte, jak se objeví upozornění na SMS a jak můžete otevřít celou zprávu. Video je dlouhé pouze 18 sekund a stojí za zhlédnutí, protože uvidíte celý proces přijetí SMS.
Shrnutí
Tento článek měl za cíl ukázat kroky odesílání SMS v jazyce Scala s pomocí Ozeki SMS Gateway. Pokud byly kroky pečlivě dodrženy, zasílání zpráv pomocí kódu v Scala a Ozeki SMS Gateway by neměl být problém. Ozeki SMS Gateway umožňuje ukládat SMS zprávy do databáze a nabízí několik reportovacích funkcí, které vám poskytnou více informací o SMS komunikaci.
Pokračujte ve čtení na tutoriálové stránce Ozeki, kde najdete další zajímavé články na témata jako plánování SMS v Scala.
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