Kako poslati SMS iz Scale

Najjednostavniji način za slanje SMS-a iz Scale je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slat ćete SMS poruke slanjem HTTP Post zahtjeva SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovaj SMS na telefon primatelja i vratit će HTTP 200 OK odgovor na vaš zahtjev.

kako poslati sms iz scale
Slika 1 - Kako poslati SMS iz Scale

Scala kod za slanje SMS-a na mobilni telefon

Primjer Scala SMS koda ispod pokazuje kako možete poslati SMS koristeći http rest SMS API Ozeki SMS Gatewaya s Ozeki.Libs.Rest bibliotekom za Scalu. Ova biblioteka vam je dostupna besplatno i možete je koristiti i mijenjati u bilo kojem od vaših projekata.

SendSms.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 msg = Message(
        ToAddress = "+36201111111",
        Text = "Hello world!"
    )

    val api = MessageApi(configuration)

    val result = api.Send(msg)

    println(result)
  }
}
	

Kod 1 - SendSms.scala

Kako koristiti Scala SMS primjer:

Ovaj Scala SMS primjer može se koristiti u bilo kojoj Scala aplikaciji. Da biste ga koristili, morate preuzeti Ozeki.Libs.Rest biblioteku. Nakon što se biblioteka preuzme, trebate dodati referencu na nju u svom Scala izvornom kodu. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti klasu Message za kreiranje SMS-a. Možete koristiti klasu MessageApi za slanje SMS-a SMS gatewayu. SMS gateway će proslijediti vašu poruku mobilnoj mreži bilo putem bežične veze ili putem interneta.

Preuzmite SendSms.scala

Izvorni kod objašnjen u ovom članku može se besplatno preuzeti, koristiti i mijenjati.
Preuzmi: SendSms.scala.zip (96.4Kb)

Što se nalazi u SendSms.scala.zip datoteci?

U SendSms.scala.zip pronaći ćete InteliJ projekt s izvornim direktorijem i u izvornom (src) direktoriju možete pronaći Ozeki.Libs.Rest biblioteku i main.scala datoteku, koja sadrži primjer koda koji vam pokazuje kako poslati SMS. Ovaj primjer koda je naveden ispod.

Slika 2 - Što se nalazi unutar SendSms.scala.zip

Kako poslati SMS iz Scale (Jednostavne smjernice)

Za slanje SMS-a iz Scale:

  1. Instalirajte HTTP API korisnika
  2. Omogućite bilježenje komunikacijskih događaja na kartici Napredno
  3. Postavite Visual Studio
  4. Preuzmite zatim raspakirajte SendSms.scala.zip datoteku
  5. Otvorite SendSms.scala projekt s InteliJ IDE-om
  6. Pokrenite Ozeki SMS Gateway aplikaciju
  7. Pokrenite SendSend.scala Scala kod izvršavanjem u IntelliJ IDE-u
  8. Provjerite zapisnike da vidite je li SMS poslan

Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika

Da biste mogli slati SMS iz Scale, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu gdje razvijate svoj Scala kod u bilo kojem tekstualnom editoru, poput Windows Notepada. Nakon instalacije, sljedeći korak je povezati Ozeki SMS Gateway s mobilnom mrežom. Možete poslati testni SMS iz Ozeki GUI-a kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je kreiranje HTTP SMS API korisničkog računa. Kreirajte korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez izmjena.

Nakon što je okruženje postavljeno, možete pokrenuti svoj Scala kod.

HTTP API URL za slanje SMS-a iz Scale

Da biste poslali SMS iz Scale, vaša Scala aplikacija mora poslati HTTP zahtjev SMS gatewayu. API URL je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba biti zamijenjena IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu gdje se pokreće Scala SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.

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

HTTP autentifikacija za slanje SMS-a iz Scale

Da biste autentificirali Scala SMS klijent, morate poslati korisničko ime i lozinku u base64 kodiranom stringu na poslužitelj u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U Scali možete koristiti sljedeći kod za ovo kodiranje:

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

Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje

HTTP zaglavlje zahtjeva za slanje SMS-a iz Scale

Da biste poslali SMS poruke, morate uključiti sljedeće retke kao zaglavlja u HTTP zahtjevu. Imajte na umu da uključujemo content type i Authorization zaglavlje.

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

HTTP zahtjev za slanje SMS-a iz Scale

Za slanje SMS-a, vaša Scala aplikacija će poslati HTTP zahtjev sličan onome ispod. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. HTTP tijelo je JSON kodirani niz podataka. Sadrži broj primatelja i tekst poruke.

POST /api?action=sendmsg HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 327
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":"2f8aa62a-bdad-436b-a824-2aba0a79c39f",
			"to_address":"+36201111111",
			"text":"Hello world!",
			"create_date":"2021-07-15T08:59:28",
			"valid_until":"2021-07-22T08:59:28",
			"time_to_send":"+1000000000-01-01T00:00:00",
			"submit_report_requested":true,
			"view_report_requested":true,
			"delivery_report_requested":true
		}
	]
}
	

HTTP odgovor primljen od Scala SMS primjera

Nakon što SMS gateway primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor će sadržavati statusni kod kako bi naznačio je li zahtjev za slanje SMS-a bio uspješan ili ne. Također će vratiti JSON kodiranu strukturu koja vam pruža korisne detalje o slanju poruke.

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 08:08: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": 1,
	  "success_count": 1,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "2f8aa62a-bdad-436b-a824-2aba0a79c39f",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-15 08:59:28",
	      "valid_until": "2021-07-22 08:59:28",
	      "time_to_send": "2021-07-15 08:59:28",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Povežite svoj SMS gateway s mobilnom mrežom i kreirajte HTTP API korisnički račun

Pretpostavljamo da ste već instalirali Ozeki SMS Gateway, i da ste ga povezali s mobilnom mrežom. Kako biste mogli slati SMS na mobilni telefon iz Scale, potrebno je postaviti HTTP API korisnički račun u Ozeki SMS Gatewayu.

Video 1 - Kako postaviti HTTP API korisnički račun (Video tutorijal)

Kako poslati SMS iz Scale koristeći Scala SMS API (Video tutorijal)

Ovaj video vam pokazuje kako preuzeti datoteku SendSms.scala.zip s ove stranice. Ako pogledate video, primijetit ćete da su sadržaji SendSms.scala zipa smješteni na radnu površinu Windowsa. Također ćete vidjeti da pokrećemo naredbeni redak kako bismo poslali SMS.

Scala SMS primjer: SendSms.scala

Primjer koda ispod dio je SendSms.scala.

primjer koda za slanje sms-a koristeći scalau
Slika 3 - SendSms.scala datoteka

Kako provjeriti je li SMS prihvaćen od strane HTTP korisnika

Nakon što je SMS poslan, dobro je provjeriti svoj SMS gateway kako biste vidjeli što je primio. Dnevnik možete provjeriti otvaranjem detalja HTTP korisnika iz konzole za upravljanje Ozeki SMS Gatewaya. Sljedeći video vam pokazuje što trebate tražiti.

Video 3 - Kako provjeriti je li SMS prihvaćen od strane HTTP korisnika (Video tutorijal)

Kako provjeriti je li SMS poslan na mobilnu mrežu

Završni korak u provjeri postupka je pogledati dnevnike veze s mobilnom mrežom. Možda ćete morati uključiti bilježenje u konfiguraciji veze prije nego što pošaljete poruku kako biste vidjeli dnevnike. Ako je bilježenje uključeno, vidjet ćete broj telefona i tekst poruke koju ste poslali.

Video 4 - Kako provjeriti je li SMS poslan na mobilnu mrežu (Video tutorijal)

Primanje SMS poruke na Android telefonu

U ovom videu vidjet ćete kako izgleda primanje SMS poruke na Android telefonu. Video će započeti s uobičajenom početnom stranicom Androida, i vidjet ćete kako se pojavljuje obavijest o SMS-u i kako možete otvoriti cijelu poruku. Video traje samo 18 sekundi i vrijedi ga pogledati jer ćete vidjeti cijeli proces primanja SMS-a.

Video 5 - Kako izgleda primanje SMS poruke na mobitelu (Video tutorial)

Sažetak

Ovaj članak imao je za cilj pokazati korake slanja SMS poruka u Scalai uz pomoć Ozeki SMS Gatewaya. Ako su koraci pažljivo praćeni, slanje poruka sa Scala kodovima i Ozeki SMS Gatewayem ne bi trebao biti problem. Ozeki SMS Gateway omogućuje vam prijavu SMS poruka u bazu podataka i nudi nekoliko funkcija izvješćivanja kako bi vam pružio više informacija o SMS komunikaciji.

Nastavite čitati na Ozekijevoj stranici s tutorijalima, gdje možete pronaći više zanimljivih članaka o temama poput planiranja SMS poruka u Scalai.

Jedino što sada preostaje je preuzeti Ozeki SMS Gateway i početi raditi!

More information