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.

jak přijímat sms ze scaly
Obrázek 1 - Jak přijímat SMS ze Scaly

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.scala
import 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)
    }
  }
}
	

Kód 1 - ReceiveSms.scala

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.

Obrázek 2 - Co je uvnitř ReceiveSms.scala.zip

Jak přijímat SMS ze Scaly (Jednoduchý návod)

Pro přijímání SMS ze Scaly:

  1. Nainstalujte uživatele HTTP API
  2. Povolte Logování komunikačních událostí na záložce Pokročilé
  3. Nastavte Visual Studio
  4. Stáhněte a rozbalte soubor ReceiveSms.scala.zip
  5. Otevřete projekt ReceiveSms.scala v InteliJ IDE
  6. Spusťte aplikaci Ozeki SMS Gateway
  7. Spusťte kód ReceiveSms.scala v IntelliJ IDE
  8. 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.

ukázkový kód pro příjem sms pomocí scaly
Obrázek 3 - Soubor 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.

Video 2 - Jak ověřit, že SMS byla přijata HTTP uživatelem (Video návod)

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