Hogyan küldjünk több SMS-t Scalából

A legegyszerűbb módja több SMS küldésének Scalából az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet tartalmaz. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonjára, és egy HTTP 200 OK választ küld vissza a kérésedre.

hogyan küldjünk több SMS-t Scalából
1. ábra - Hogyan küldjünk több SMS-t Scalából

Scala kód több SMS üzenet mobilra küldéséhez

Az alábbi Scala SMS kód minta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával, az Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektben felhasználhatod és módosíthatod.

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)
  }
}
	

1. kód - SendMultipleSms.scala

Hogyan használd a Scala SMS példát:

Ez a Scala SMS példa bármilyen Scala alkalmazásban használható. A használathoz le kell töltened az Ozeki.Libs.Rest könyvtárat. A könyvtár letöltése után hozzá kell adnod egy referenciát a Scala forráskódodhoz. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével létrehozhatod az SMS-t. A MessageApi osztály segítségével elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendMultipleSms.scala letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendMultipleSms.scala.zip (90.6Kb)

Mi található a SendMultipleSms.scala.zip fájlban?

A SendMultipleSms.scala.zip-ben található a SendMultipleSms.scala fájl, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.

2. ábra - Mi található a SendMultipleSms.scala.zip-ben

Hogyan küldjünk SMS-t Scalából (Egyszerű útmutató)

SMS küldése Scalából:

  1. Telepíts egy HTTP API felhasználót
  2. Kapcsold be a Kommunikációs események naplózását a Speciális lapon
  3. Állítsd be a Visual Studio-t
  4. Töltsd le, majd csomagold ki a SendMultipleSms.scala.zip fájlt
  5. Nyisd meg a SendMultipleSms.scala projektet az InteliJ IDE-val
  6. Indítsd el az Ozeki SMS Gateway alkalmazást
  7. Futtasd a SendMultipleSend.scala Scala kódot az IntelliJ IDE-ban
  8. Ellenőrizd a naplókat, hogy az SMS elküldődött-e

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

Ahhoz, hogy SMS-t tudj küldeni Scalából, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Scala kódodat fejleszted, például a Windows notepad-ben. Telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. létrehozol egy HTTP SMS API felhasználói fiókot. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.

Miután a környezet be van állítva, futtathatod a Scala kódodat.

HTTP API URL SMS küldéséhez Scalából

Ahhoz, hogy SMS-t küldj Scalából, a Scala alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol az R SMS alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, akkor annak az IP címét kell megadni.

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

HTTP hitelesítés SMS küldéséhez Scalából

A Scala SMS kliens hitelesítéséhez a felhasználónevet és jelszót base64 kódolású sztringként kell elküldened a szervernek egy HTTP kérésben. A formátum: base64(username+":"+password). Scalában a következő kóddal végezheted el ezt a kódolást:

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

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolású sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc SMS küldéséhez Scalából

Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécének. Figyelj arra, hogy tartalomtípust és egy Authorization fejlécet is tartalmazunk.

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

HTTP kérés SMS küldéséhez Scalából

Az SMS beküldéséhez a Scala alkalmazásodnak egy olyan HTTP kérést kell küldenie, mint az alábbi. Figyelj arra, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolású adatsztring. Tartalmazza a címzettek számát és az üzenetek szövegét.

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 válasz, amit a Scala SMS példa kap

Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Emellett egy JSON kódolású struktúrát is visszaad, ami hasznos részleteket nyújt az üzenet beküldéséről.

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

Hogyan küldjünk SMS-t Scalából a Scala SMS API használatával (Videó útmutató)

Ez a videó bemutatja, hogyan töltheted le a SendMultipleSms.scala.zip fájlt erről az oldalról. Ha megnézed a videót, észreveszed, hogy a SendMultipleSms.scala.zip tartalma a Windows asztalra kerül. Azt is látni fogod, hogy a parancssort használjuk az SMS küldéséhez.

Scala SMS példa: SendMultipleSms.scala

Az alábbi példakód a SendMultipleSms.scala része.

példakód több SMS üzenet küldéséhez Scalával
3. ábra - SendMultipleSms.scala fájl

Hogyan ellenőrizd, hogy az SMS-t elfogadta-e a HTTP felhasználó

Miután elküldted az SMS-t, érdemes ellenőrizni az SMS gatewayt, hogy mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén keresztül tekintheted meg, ahol megnyithatod a HTTP felhasználó részleteit. A következő videó bemutatja, hogy mire kell figyelni.

2. videó - Hogyan ellenőrizd, hogy az SMS-t elfogadta-e a HTTP felhasználó (Videó útmutató)

Összegzés

Ez az útmutató bemutatta a több SMS küldésének lépéseit Scalában az Ozeki SMS Gateway segítségével. Az útmutató elolvasásával látható, hogy ez a folyamat egyszerű a megadott kóddal és az Ozeki SMS Gateway-vel. Fontos, hogy rövid időn belül több ügyfélhez is eljuss, és ezzel a megoldással te vagy a vállalatod nagy teljesítménnyel dolgozhat. Az Ozeki SMS Gateway bármely országban működik, és különböző mobilkapcsolatokon keresztül küldhet és fogadhat SMS-t, így a nemzetközi üzenetváltás sem okozhat problémát.

Ne hagyd abba az olvasást itt, látogass el az Ozeki oktatóanyag oldalára, ahol további témákról olvashatsz, például SMS fogadásról Scalában.

Most már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és elkezdesz dolgozni!

More information