Jak odeslat více SMS ze Scaly

Nejjednodušší způsob, jak odeslat více 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.

jak odeslat více SMS ze Scaly
Obrázek 1 - Jak odeslat více SMS ze Scaly

Scala kód pro odeslání více SMS zpráv na mobil

Ukázkový kód Scala SMS níže ukazuje, jak můžete odesílat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Scala Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.

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

Jak použít příklad Scala SMS:

Tento příklad Scala SMS lze použít v jakékoli aplikaci Scala. 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 Scala. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu Message můžete použít 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ď prostřednictvím bezdrátového připojení nebo přes internet.

Stáhnout SendMultipleSms.scala

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendMultipleSms.scala.zip (90.6Kb)

Co je v souboru SendMultipleSms.scala.zip?

V SendMultipleSms.scala.zip najdete soubor SendMultipleSms.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ř SendMultipleSms.scala.zip

Jak odeslat SMS ze Scaly (Jednoduchý návod)

Pro odeslání SMS ze Scaly:

  1. Nainstalujte uživatele HTTP API
  2. Povolte Logování komunikačních událostí na kartě Pokročilé
  3. Nastavte Visual Studio
  4. Stáhněte a rozbalte soubor SendMultipleSms.scala.zip
  5. Otevřete projekt SendMultipleSms.scala v IDE InteliJ
  6. Spusťte aplikaci Ozeki SMS Gateway
  7. Spusťte kód SendMultipleSend.scala v IDE IntelliJ
  8. Zkontrolujte logy, zda byla SMS odeslána

Instalace Ozeki SMS Gateway a vytvoření 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 Scala v jakémkoli textovém editoru, například Windows Notepad. 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, že 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 příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj kód Scala.

URL HTTP API pro odesílání SMS ze Scaly

Pro odesílání SMS ze Scaly musí vaše Scala 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ěží R SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa tohoto počítače.

http://127.0.0.1:9509/api?action=rest
	

HTTP autentizace pro odesílání SMS ze Scaly

Pro autentizaci klienta Scala SMS je nutné odeslat uživatelské jméno a heslo v řetězci zakódovaném base64 na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). Ve 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ý base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

HTTP hlavička požadavku pro odeslání SMS ze Scaly

Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme typ obsahu a autorizační hlavičku.

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

HTTP požadavek pro odeslání SMS ze Scaly

Pro odeslání SMS vaše aplikace v Scale odešle HTTP požadavek podobný tomuto 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 zakódovaný v JSON. Obsahuje čísla příjemců a texty zpráv, které odesíláme.

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 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é 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 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"
	    }
	  ]
	}
}
	

Jak odeslat SMS ze Scaly pomocí Scala SMS API (Video návod)

Toto video vám ukáže, jak stáhnout soubor SendMultipleSms.scala.zip z této stránky. Pokud video sledujete, všimnete si, že obsah souboru SendMultipleSms.scala.zip je umístěn na ploše Windows. Uvidíte také, že spouštíme příkazový řádek, abychom odeslali SMS.

Příklad SMS v Scale: SendMultipleSms.scala

Níže uvedený příklad kódu je součástí souboru SendMultipleSms.scala.

ukázkový kód pro odeslání více SMS zpráv pomocí scaly
Obrázek 3 - Soubor SendMultipleSms.scala

Jak zkontrolovat, že SMS byla přijata HTTP uživatelem

Po odeslání SMS je vhodné 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 zkontrolovat, že SMS byla přijata HTTP uživatelem (Návodné video)

Závěr

Tento průvodce měl za cíl ukázat kroky pro odesílání více SMS v jazyce Scala s pomocí Ozeki SMS Gateway. Přečtením tohoto průvodce je vidět, že tento proces je s daným kódem a Ozeki SMS Gateway poměrně jednoduchý. Oslovit více klientů v krátkém časovém úseku je velmi důležité a s tímto řešením můžete vy nebo vaše společnost pracovat s vysokým výkonem. Ozeki SMS Gateway funguje v jakékoli zemi a může odesílat a přijímat SMS přes různé mobilní připojení, takže mezinárodní výměna zpráv by neměla způsobovat žádné problémy.

Ujistěte se, že čtení zde nekončí, navštivte tutoriálovou stránku Ozeki, kde najdete více informací o tématech jako přijímání v jazyce Scala.

Jediné, co teď zbývá, je stáhnout Ozeki SMS Gateway a začít pracovat!

More information