Jak wysłać wiele SMS-ów z Scala
Najprostszym sposobem na wysłanie wielu SMS-ów z Scala jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Kiedy używasz tego API, będziesz wysyłać wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość sformatowaną w formacie json. Bramka SMS wyśle tę wiadomość SMS na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na twoje żądanie.
Kod Scala do wysyłania wielu wiadomości SMS na telefon
Poniższy przykładowy kod SMS w Scala demonstruje, jak możesz wysyłać SMS-y używając interfejsu HTTP REST SMS API Ozeki SMS Gateway z biblioteką Scala Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnych swoich projektach.
SendMultipleSms.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 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) } }
Jak używać przykładu SMS w Scala:
Ten przykład SMS w Scala może być używany w dowolnej aplikacji Scala. Aby go użyć, musisz pobrać bibliotekę Ozeki.Libs.Rest. Po pobraniu biblioteki trzeba dodać do niej referencję w swoim kodzie źródłowym Scala. To pozwoli ci używać klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS-ów. Możesz użyć klasy MessageApi do wysyłania SMS-ów do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej poprzez połączenie bezprzewodowe lub przez Internet.
Pobierz SendMultipleSms.scala
Kod źródłowy omówiony w tym artykule może być pobrany, używany i modyfikowany bezpłatnie.
Pobierz: SendMultipleSms.scala.zip (90.6Kb)
Co znajduje się w pliku SendMultipleSms.scala.zip?
W pliku SendMultipleSms.scala.zip znajdziesz plik SendMultipleSms.scala, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak wysłać SMS z Scala (Proste wskazówki)
Aby wysłać SMS z Scala:
- Zainstaluj użytkownika HTTP API
- Włącz Logowanie zdarzeń komunikacyjnych na karcie Zaawansowane
- Skonfiguruj Visual Studio
- Pobierz, a następnie rozpakuj plik SendMultipleSms.scala.zip
- Otwórz projekt SendMultipleSms.scala w środowisku InteliJ IDE
- Uruchom aplikację Ozeki SMS Gateway
- Uruchom kod Scala SendMultipleSend.scala, wykonując go w środowisku IntelliJ IDE
- Sprawdź logi, aby zobaczyć, czy SMS został wysłany
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać SMS-y z Scala, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod Scala w dowolnym edytorze tekstu, takim jak Windows Notepad. Po instalacji następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testowego SMS-a z interfejsu Ozeki, aby sprawdzić, czy twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP SMS API. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.
Po skonfigurowaniu środowiska możesz uruchomić swój kod Scala.
URL API HTTP do wysyłania SMS-ów z Scala
Aby wysłać SMS z Scala, twoja aplikacja Scala będzie musiała wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Zauważ, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowana na tym samym komputerze, na którym działa aplikacja SMS w R, może to być 127.0.0.1. Jeśli jest zainstalowana na innym komputerze, powinien to być adres IP tego komputera.
http://127.0.0.1:9509/api?action=rest
Uwierzytelnianie HTTP do wysyłania SMS-ów z Scala
Aby uwierzytelnić klienta SMS w Scala, musisz wysłać nazwę użytkownika i hasło w zakodowanym ciągu base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W Scala możesz użyć następującego kodu do wykonania tego kodowania:
val usernamePassword = "%s:%s".format(Username, Password).getBytes() val usernamePasswordEncoded = Base64.getEncoder.encodeToString(usernamePassword) "Basic %s".format(usernamePasswordEncoded)
Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać
Nagłówek żądania HTTP do wysyłania SMS-ów z Scali
Aby wysłać wiadomości SMS, należy dołączyć następujące linie jako nagłówki w żądaniu HTTP. Należy zauważyć, że zawieramy typ zawartości i nagłówek autoryzacji.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysyłania SMS-ów z Scali
Aby przesłać SMS, Twoja aplikacja Scala wyśle żądanie HTTP podobne do poniższego. Należy zauważyć, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w formacie JSON. Zawiera numery odbiorców i teksty wiadomości, które wysłaliśmy.
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 } ] }
Odpowiedź HTTP otrzymana przez przykład SMS w Scali
Gdy brama SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem, czy nie. Zwróci również strukturę zakodowaną w formacie JSON, aby dostarczyć przydatne informacje o przesłaniu wiadomości.
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 wysyłać SMS-y z Scali przy użyciu API SMS w Scali (Samouczek wideo)
Ten film pokazuje, jak pobrać plik SendMultipleSms.scala.zip z tej strony. Jeśli obejrzysz film, zauważysz, że zawartość pliku SendMultipleSms.scala.zip jest umieszczana na pulpicie systemu Windows. Zobaczysz również, że uruchamiamy wiersz poleceń, aby wysłać SMS.
Przykład SMS w Scali: SendMultipleSms.scala
Poniższy przykładowy kod jest częścią pliku SendMultipleSms.scala.
Po wysłaniu SMS-a warto sprawdzić bramkę SMS, aby zobaczyć, co otrzymała. Możesz sprawdzić log, otwierając szczegóły użytkownika HTTP z konsoli zarządzania Ozeki SMS Gateway. Poniższy film pokazuje, na co zwrócić uwagę.
Podsumowanie
Ten przewodnik miał na celu pokazanie kroków wysyłania wielu SMS-ów w Scala z pomocą Ozeki SMS Gateway. Czytając ten przewodnik, widać, że ten proces jest dość prosty dzięki podanemu kodowi i Ozeki SMS Gateway. Dotarcie do wielu klientów w krótkim czasie jest bardzo ważne, a dzięki temu rozwiązaniu Ty lub Twoja firma możecie pracować z wysoką wydajnością. Ozeki SMS Gateway działa w każdym kraju i może wysyłać i odbierać SMS-y przez różne połączenia mobilne, więc międzynarodowa wymiana wiadomości nie powinna stanowić żadnego problemu.
Upewnij się, że lektura nie kończy się tutaj, odwiedź stronę z samouczkami Ozeki, gdzie znajdziesz więcej informacji na temat tematów takich jak odbieranie w Scala.
Jedyne, co teraz pozostaje, to pobrać Ozeki SMS Gateway i zacząć pracę!
More information
- Scala wyślij SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Scala wyślij wiele SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Scala zaplanuj SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Scala odbierz SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Scala usuń SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Jak pobrać najnowszą bibliotekę Scala SMS z Github