Ako prijímať SMS z Scala

Najjednoduchší spôsob, ako prijímať SMS z Scala, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete prijímať SMS správy pomocou HTTP Get požiadavky na SMS bránu. HTTP Get bude obsahovať názov priečinka, z ktorého chcete prijímať správy. SMS brána vám pošle všetky správy z priečinka do vašej Scala klientskej aplikácie a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako prijímať sms z scala
Obrázok 1 - Ako prijímať SMS z Scala

Scala kód na prijímanie SMS správ do mobilného zariadenia

Ukážka Scala SMS kódu nižšie demonštruje, ako môžete odoslať naplánovanú SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice Scala Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

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

Ako použiť Scala SMS príklad:

Tento Scala SMS príklad môže byť použitý v akejkoľvek Scala aplikácii. Na jeho použitie je potrebné stiahnuť knižnicu Ozeki.Libs.Rest. Po stiahnutí knižnice je potrebné pridať odkaz na ňu vo vašom Scala zdrojovom kóde. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na prijatie SMS do SMS brány. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť ReceiveSms.scala

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý a používaný a upravovaný bezplatne.
Stiahnuť: ReceiveSms.scala.zip (90.6Kb)

Čo je v súbore ReceiveSms.scala.zip?

V ReceiveSms.scala.zip nájdete súbor ReceiveSms.scala, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.

Obrázok 2 - Čo je vo vnútri ReceiveSms.scala.zip

Ako prijímať SMS z Scala (Jednoduché pokyny)

Na prijímanie SMS z Scala:

  1. Nainštalujte HTTP API používateľa
  2. Povoľte Log komunikácie na karte Pokročilé
  3. Nastavte Visual Studio
  4. Stiahnite a rozbaľte súbor ReceiveSms.scala.zip
  5. Otvorte projekt ReceiveSms.scala v InteliJ IDE
  6. Spustite aplikáciu Ozeki SMS Gateway
  7. Spustite Scala kód ReceiveSms.scala jeho vykonaním v IntelliJ IDE
  8. Skontrolujte logy, či bola SMS odoslaná
Nainštalujte Ozeki SMS Gateway a vytvorte HTTP API používateľa

Na prijímanie SMS z Scala 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 Scala kód v akomkoľvek textovom editore, ako je napríklad Windows poznámkový blok. 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, či vaše pripojenie k mobilnej sieti 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 používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj Scala kód.

HTTP API URL na prijímanie SMS z Scala

Na odosielanie SMS z Scala musí vaša Scala aplikácia odoslať 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ží R 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
	
HTTP autentifikácia na prijímanie SMS z Scala

Na autentifikáciu Scala SMS klienta je potrebné odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V Scala môžete na toto kódovanie použiť nasledujúci kód:

val usernamePassword = "%s:%s".format(Username, Password).getBytes()
val usernamePasswordEncoded = Base64.getEncoder.encodeToString(usernamePassword)
"Basic %s".format(usernamePasswordEncoded)
	

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 prijímanie SMS z Scala

Na prijímanie SMS správ je potrebné zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že obsahujeme hlavičku Content-Type a Authorization.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP požiadavka na prijatie SMS z jazyka Scala

Na odoslanie SMS bude vaša aplikácia Scala posielať HTTP požiadavku podobnú ako je uvedená nižšie. 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 čísla príjemcov a texty správ, ktoré sme odoslali.

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 odpoveď prijatá príkladom SMS v jazyku Scala

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. Vráti tiež štruktúru 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: 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"
	        }
	      ]
	    }
	  ]
	}
}
	
Ako prijímať SMS z jazyka Scala pomocou SMS API pre Scala (Video návod)

Toto video vám ukáže, ako si stiahnuť súbor ReceiveSms.scala.zip z tejto stránky. Ak si video pozriete, všimnete si, že obsah súboru ReceiveSms.scala.zip je umiestnený na pracovnej ploche Windows. Tiež uvidíte, že spúšťame príkazový riadok, aby sme odoslali SMS.

Príklad SMS v jazyku Scala: ReceiveSms.scala

Príklad kódu nižšie je súčasťou súboru ReceiveSms.scala.

príklad kódu na prijímanie SMS pomocou jazyka Scala
Obrázok 3 - Súbor ReceiveSms.scala

Ako skontrolovať, že SMS bola prijatá HTTP používateľom

Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením detailov HTTP používateľa v konzole na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.

Video 2 - Ako skontrolovať, že SMS bola prijatá HTTP používateľom (Video návod)

Zhrnutie

Tento sprievodca ukázal základné kroky prijímania SMS v jazyku Scala s pomocou Ozeki SMS Gateway. Ak boli všetky kroky dôsledne dodržané, preposielanie prichádzajúcich správ do programu Scala by malo byť veľmi jednoduché. S týmto riešením môžete zabezpečiť, že tieto správy sú zhromažďované na mieste, kde majú byť. Dôležité je poznamenať, že Ozeki SMS Gateway beží v prostredí, ktoré kontrolujete, takže váš zoznam kontaktov a dáta sú v bezpečí.

Pokračujte v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o témach ako plánovanie SMS v jazyku Scala.

Jediné, čo teraz musíte urobiť, je stiahnuť si Ozeki SMS Gateway a začať pracovať!

More information