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.
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.scalaimport 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) } }
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.
Kako poslati SMS iz Scale (Jednostavne smjernice)
Za slanje SMS-a iz Scale:
- Instalirajte HTTP API korisnika
- Omogućite bilježenje komunikacijskih događaja na kartici Napredno
- Postavite Visual Studio
- Preuzmite zatim raspakirajte SendSms.scala.zip datoteku
- Otvorite SendSms.scala projekt s InteliJ IDE-om
- Pokrenite Ozeki SMS Gateway aplikaciju
- Pokrenite SendSend.scala Scala kod izvršavanjem u IntelliJ IDE-u
- 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.
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.
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.
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.
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.
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
- Scala pošalji SMS s HTTP REST API-jem (primjer koda)
- Scala pošalji više SMS-ova s HTTP REST API-jem (primjer koda)
- Scala zakazani SMS s HTTP REST API-jem (primjer koda)
- Scala primi SMS s HTTP REST API-jem (primjer koda)
- Scala izbriši SMS s HTTP REST API-jem (primjer koda)
- Kako preuzeti najnoviju Scala SMS biblioteku s Githuba