Ako naplánovať SMS v Scala

Najjednoduchší spôsob, ako odoslať naplánovanú SMS z Scala, je použiť vstavané HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať SMS správy vytvorením HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu vo formáte JSON. SMS brána potom odošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako naplánovať sms v scala
Obrázok 1 - Ako naplánovať SMS v Scala

Scala kód na odoslanie naplánovanej SMS na mobil

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.

SendScheduledSms.scala
import Ozeki.Libs.Rest.{Configuration, Message, MessageApi}
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter


object main  {
  def main(args: Array[String]): Unit = {

    val DateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")

    val configuration = Configuration(
      Username = "http_user",
      Password = "qwe123",
      ApiUrl = "http://127.0.0.1:9509/api"
    )

    val msg = Message(
      ToAddress = "+36201111111",
      Text = "Hello world!",
      TimeToSend = LocalDateTime.parse("2021-07-14 16:30:00", DateFormat)

    )

    val api = MessageApi(configuration)

    val result = api.Send(msg)

    println(result)
  }
}
	

Kód 1 - SendScheduledSms.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. Triedu MessageApi môžete použiť na odoslanie SMS na SMS bránu. SMS brána potom prepošle vašu správu do mobilnej siete buď cez bezdrôtové pripojenie alebo cez internet.

Stiahnuť SendScheduledSms.scala

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendScheduledSms.scala.zip (91.4Kb)

Čo obsahuje súbor SendScheduledSms.scala.zip?

V SendScheduledSms.scala.zip nájdete súbor SendScheduledSms.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 SendScheduledSms.scala.zip

Ako odoslať SMS z Scala (Jednoduché pokyny)

Na odoslanie SMS z Scala:

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

Na odosielanie SMS z Scala je najprv potrebné 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 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, či vaše mobilné pripojenie funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s 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 odoslanie SMS z Scala

Na odoslanie SMS z Scala musí váš Scala vytvoriť HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Poznamenajte, ž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 odoslanie SMS z Scala

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

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 zakódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z jazyka Scala

Na odoslanie SMS správy je potrebné zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že obsahuje hlavičku typu obsahu a autorizačnú hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP požiadavka na odoslanie naplánovanej SMS z jazyka Scala

Na odoslanie SMS správy vaša Scala 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, text správy a tiež čas, kedy chceme SMS odoslať.

POST /api?action=sendmsg HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 320
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":"e2f650ee-90cc-43c5-885b-5ea4a0458381",
			"to_address":"+36201111111",
			"text":"Hello world!",
			"create_date":"2021-07-15T10:32:42",
			"valid_until":"2021-07-22T10:32:42",
			"time_to_send":"2021-07-15T11:00:00",
			"submit_report_requested": true,
			"view_report_requested": true,
			"delivery_report_requested": true
		}
	]
}
	
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. Tiež vráti štruktúru zakódovanú v JSON, ktorá poskytuje 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 10:26:26 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": "e2f650ee-90cc-43c5-885b-5ea4a0458381",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-15 10:32:42",
	      "valid_until": "2021-07-22 10:32:42",
	      "time_to_send": "2021-07-15 11:00:00",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	
Ako odoslať SMS z jazyka Scala pomocou Scala SMS API (Video návod)

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

Príklad SMS v jazyku Scala: SendScheduledSms.scala

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

príklad kódu na odoslanie naplánovanej sms pomocou jazyka scala
Obrázok 3 - Súbor SendScheduledSms.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. Log 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

Hlavnou funkciou tohto článku bolo vysvetliť kroky naplánovania SMS v jazyku Scala pomocou Ozeki SMS Gateway. Ak ste všetko pozorne prečítali, naplánovanie SMS by malo byť veľmi jednoduché. Perfektné načasovanie zdieľania informácií je dôležité, ak chcete pracovať s vysokou výkonnosťou, pretože tak sa môžete vyhnúť zaneprázdneným hodinám zákazníkov, aby vaše správy neignorovali. Ozeki SMS Gateway vám umožňuje spravovať náklady na SMS a sledovať SMS prevádzku.

Nezabudnite pokračovať v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o témach ako mazanie SMS v jazyku Scala.

Teraz už len zostáva stiahnuť si Ozeki SMS Gateway a začať pracovať!

More information