Ako poslať viacero SMS z Scala

Najjednoduchší spôsob, ako poslať viacero SMS z Scala, je použiť vstavané HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať 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 pošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako poslať viacero sms z scala
Obrázok 1 - Ako poslať viacero SMS z Scala

Scala kód na odoslanie viacerých SMS správ na mobil

Ukážka Scala SMS kódu nižšie demonštruje, ako môžete posielať 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žiť a upraviť v akomkoľvek z vašich projektov.

SendMultipleSms.scala
import 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 msg1 = Message(
      ToAddress = "+36201111111",
      Text = "Hello world 1"
    )

    val msg2 = Message(
      ToAddress = "+36202222222",
      Text = "Hello world 2"
    )

    val msg3 = Message(
      ToAddress = "+36203333333",
      Text = "Hello world 3"
    )

    val api = MessageApi(configuration)

    val result = api.Send(List[Message]( msg1, msg2, msg3 ))

    println(result)
  }
}
	

Kód 1 - SendMultipleSms.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ď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť SendMultipleSms.scala

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

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

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

Ako poslať 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 SendMultipleSms.scala.zip
  5. Otvorte projekt SendMultipleSms.scala v InteliJ IDE
  6. Spustite aplikáciu Ozeki SMS Gateway
  7. Spustite Scala kód SendMultipleSend.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 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, napríklad Windows poznámkovom bloku. 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 odosielanie SMS z Scala

Na odosielanie SMS z Scala musí vaša Scala aplikácia vytvoriť 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 odosielanie 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 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 reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

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

Na odoslanie SMS správ musíte do hlavičiek HTTP požiadavky zahrnúť nasledujúce riadky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.

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

Na odoslanie SMS bude vaša aplikácia v jazyku Scala odosielať 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 čísla príjemcov a texty správ, ktoré sme odoslali.

POST /api?action=sendmsg HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 956
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": [
		{
			"submit_report_requested":true,
			"view_report_requested":true,
			"valid_until":"2021-07-22T09:50:02",
			"time_to_send":"+1000000000-01-01T00:00:00",
			"message_id":"2052d6e3-111b-4d1b-8b63-548414c4cee8",
			"to_address":"+36201111111",
			"text":"Hello world 1",
			"create_date":"2021-07-15T09:50:02",
			"delivery_report_requested":true
		},
		{
			"submit_report_requested":true,
			"view_report_requested":true,
			"valid_until":"2021-07-22T09:50:02",
			"time_to_send":"+1000000000-01-01T00:00:00",
			"message_id":"3cb70960-3687-49e5-a602-9cbf7f9818cc",
			"to_address":"+36202222222",
			"text":"Hello world 2",
			"create_date":"2021-07-15T09:50:02",
			"delivery_report_requested":true
		},
		{
			"submit_report_requested":true,
			"view_report_requested":true,
			"valid_until":"2021-07-22T09:50:02",
			"time_to_send":"+1000000000-01-01T00:00:00",
			"message_id":"9b5c9ea6-f619-4ebb-93cc-2499ebcbc6a9",
			"to_address":"+36203333333",
			"text":"Hello world 3",
			"create_date":"2021-07-15T09:50:02",
			"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. Taktiež vráti š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 09:37: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": 3,
	  "success_count": 3,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "2052d6e3-111b-4d1b-8b63-548414c4cee8",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-07-15 09:50:02",
	      "valid_until": "2021-07-22 09:50:02",
	      "time_to_send": "2021-07-15 09:50:02",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "3cb70960-3687-49e5-a602-9cbf7f9818cc",
	      "from_station": "%",
	      "to_address": "+36202222222",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-07-15 09:50:02",
	      "valid_until": "2021-07-22 09:50:02",
	      "time_to_send": "2021-07-15 09:50:02",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "9b5c9ea6-f619-4ebb-93cc-2499ebcbc6a9",
	      "from_station": "%",
	      "to_address": "+36203333333",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-07-15 09:50:02",
	      "valid_until": "2021-07-22 09:50:02",
	      "time_to_send": "2021-07-15 09:50:02",
	      "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 SMS API pre Scala (Video návod)

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

Príklad SMS v jazyku Scala: SendMultipleSms.scala

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

príklad kódu na odoslanie viacerých SMS správ pomocou jazyka Scala
Obrázok 3 - Súbor SendMultipleSms.scala

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

Po odoslaní SMS je dobré skontrolovať svoju SMS bránu, aby ste videli, čo prijala. Log môžete skontrolovať otvorením detailov HTTP používateľa z konzoly 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)

Záver

Tento návod mal za cieľ ukázať kroky pre odosielanie viacerých SMS v Scale s pomocou Ozeki SMS Gateway. Čítaním tohto návodu je vidieť, že tento proces je s daným kódom a Ozeki SMS Gateway celkom jednoduchý. Osloviť viacerých klientov v krátkom čase je veľmi dôležité a s týmto riešením môžete vy alebo vaša spoločnosť pracovať s vysokou výkonnosťou. Ozeki SMS Gateway funguje v každej krajine a môže odosielať a prijímať SMS cez rôzne mobilné pripojenia, takže medzinárodná výmena správ by nemala spôsobovať žiadne problémy.

Uistite sa, že čítanie tu nekončí, navštívte stránku s návodmi Ozeki, kde nájdete viac informácií o témach ako prijímanie v Scale.

Teraz už len stačí stiahnuť si Ozeki SMS Gateway a začať pracovať!

More information