Hogyan küldjünk több SMS-t Javából
A legegyszerűbb módja SMS küldésének Javá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 fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésedre.
Java kód több SMS mobilra küldéséhez
Az alábbi Java SMS kódminta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával a Java Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető számodra, és bármilyen projektben felhasználhatod és módosíthatod.
Main.java
import Ozeki.Libs.Rest.*;
public class Main {
public static void main(String[] args) {
var configuration = new Configuration();
configuration.Username = "http_user";
configuration.Password = "qwe123";
configuration.ApiURL = "http://127.0.0.1:9509/api";
var msg1 = new Message();
msg1.ToAddress = "+36201111111";
msg1.Text = "Hello world 1";
var msg2 = new Message();
msg2.ToAddress = "+36202222222";
msg2.Text = "Hello world 2";
var msg3 = new Message();
msg3.ToAddress = "+36203333333";
msg3.Text = "Hello world 3";
var api = new MessageApi(configuration);
var result = api.Send(new Message[] { msg1, msg2, msg3 });
System.out.println(result);
}
}
A Java SMS példa használata:
A Message osztály segítségével hozhatod létre az SMS-t, és a MessageApi osztállyal elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobilhálózatba vezeték nélküli kapcsolaton vagy az interneten keresztül.
SendMultipleSms.java letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendMultipleSms.java.zip (90.1Kb)
Mi található a SendMultipleSms.java.zip fájlban?
A SendMultipleSms.java.zip fájl tartalmazza az Ozeki könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A projektben találsz egy Main.java fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.
Hogyan küldjünk több SMS-t Javából (Gyors lépések)
Több SMS küldése Javából:
- Telepítsd az Ozeki SMS Gateway-t
- Kapcsold az Ozeki SMS Gateway-t a mobilhálózathoz
- Küldj egy teszt SMS-t az Ozeki GUI-ból
- Hozz létre egy HTTP SMS API felhasználót
- Apache NetBeans
- Hozz létre egy SendMultipleSms nevű projektet
- Helyezd a kódot egy újonnan létrehozott Main.java fájlba, vagy használd a .zip fájlban található Main.java fájlt
- Hozd létre az SMS-eket több új Message objektum létrehozásával
- Hozz létre egy API-t az üzenetek küldéséhez
- A Send metódus használatával küldd el az üzeneteidet
- Olvasd el a válaszüzenetet a konzolon
- Ellenőrizd a naplókat az SMS gatewayben
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t tudj küldeni Javá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 Java kódodat fejleszted Apache NetBeans-ben. A telepítés után a következő lépés az Ozeki SMS Gateway csatlakoztatása a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése egy HTTP SMS API felhasználói fiók létrehozása. 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 Java kódodat.
HTTP API URL SMS küldéséhez Javából
Ahhoz, hogy SMS-t küldj Javából, a Java alkalmazásodnak HTTP kérést kell küldenie az SMS gateway felé. Az API URL az alábbiakban látható. Figyelj arra, hogy az IP-címet (127.0.0.1) le kell cserélni az SMS gateway IP-címére. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Java SMS alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, 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 Javából
A Java SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolt sztringként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Java-ban a következő kódot használhatod a kódoláshoz:
var usernamePassword = username + ":" + password; var encodedUsernamePassword = usernamePassword.getBytes(); return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolt sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc SMS küldéséhez Javá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 Javából
Az SMS beküldéséhez a Java alkalmazásod egy olyan HTTP kérést fog küldeni, 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ódolt adatsztring. Tartalmazza a címzett számát és az üzenet szövegét.
HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.114 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 04 Jun 2021 09:45:50 GMT
Server: 10/10.3.114
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": "d6bac8f4-278d-4de0-bc28-b245c3d63b20",
"from_station": "%",
"to_address": "+36201111111",
"to_station": "%",
"text": "Hello, World 1",
"create_date": "2021-06-07 09:05:09",
"valid_until": "2021-06-14 09:05:09",
"time_to_send": "2021-06-14 09:05:09",
"submit_report_requested": true,
"delivery_report_requested": true,
"view_report_requested": false,
"tags": [
{
"name": "Type",
"value": "SMS:TEXT"
}
],
"status": "SUCCESS"
},
{
"message_id": "5b8bb56c-61fa-44dc-b774-1165c60fdf62",
"from_station": "%",
"to_address": "+362222222",
"to_station": "%",
"text": "Hello, World 2",
"create_date": "2021-06-07 09:05:09",
"valid_until": "2021-06-14 09:05:09",
"time_to_send": "2021-06-14 09:05:09",
"submit_report_requested": true,
"delivery_report_requested": true,
"view_report_requested": false,
"tags": [
{
"name": "Type",
"value": "SMS:TEXT"
}
],
"status": "SUCCESS"
},
{
"message_id": "ea454898-451e-4c64-b8ab-c3d9d137ca93",
"from_station": "%",
"to_address": "+363333333",
"to_station": "%",
"text": "Hello, World 3",
"create_date": "2021-06-07 09:05:09",
"valid_until": "2021-06-14 09:05:09",
"time_to_send": "2021-06-14 09:05:09",
"submit_report_requested": true,
"delivery_report_requested": true,
"view_report_requested": false,
"tags": [
{
"name": "Type",
"value": "SMS:TEXT"
}
],
"status": "SUCCESS"
}
]
}
}
HTTP válasz, amelyet a Java SMS példa kap
Miután 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. Ezenkívül visszaad egy JSON kódolt struktúrát is, amely hasznos részleteket nyújt az üzenet beküldéséről.
HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.114 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 04 Jun 2021 09:45:50 GMT
Server: 10/10.3.114
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": "d6bac8f4-278d-4de0-bc28-b245c3d63b20",
"from_station": "%",
"to_address": "+36201111111",
"to_station": "%",
"text": "Hello, World 1",
"create_date": "2021-06-07 09:05:09",
"valid_until": "2021-06-14 09:05:09",
"time_to_send": "2021-06-14 09:05:09",
"submit_report_requested": true,
"delivery_report_requested": true,
"view_report_requested": false,
"tags": [
{
"name": "Type",
"value": "SMS:TEXT"
}
],
"status": "SUCCESS"
},
{
"message_id": "5b8bb56c-61fa-44dc-b774-1165c60fdf62",
"from_station": "%",
"to_address": "+362222222",
"to_station": "%",
"text": "Hello, World 2",
"create_date": "2021-06-07 09:05:09",
"valid_until": "2021-06-14 09:05:09",
"time_to_send": "2021-06-14 09:05:09",
"submit_report_requested": true,
"delivery_report_requested": true,
"view_report_requested": false,
"tags": [
{
"name": "Type",
"value": "SMS:TEXT"
}
],
"status": "SUCCESS"
},
{
"message_id": "ea454898-451e-4c64-b8ab-c3d9d137ca93",
"from_station": "%",
"to_address": "+363333333",
"to_station": "%",
"text": "Hello, World 3",
"create_date": "2021-06-07 09:05:09",
"valid_until": "2021-06-14 09:05:09",
"time_to_send": "2021-06-14 09:05:09",
"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 Javából a Java SMS API használatával (Videó útmutató)
Ez a videó bemutatja, hogyan hozz létre egy új projektet Apache NetBeans-ben, hogyan nevezd el Send-multiple-SMS-nek. Miután a megoldás létrejött, észreveheted, hogy a Source Packages mappában van egy <default package> nevű mappa a projekteden belül. Itt kell létrehozni vagy beilleszteni a Main.java fájlt. Ezután be kell illesztened az Ozeki mappát a Source Packages mappába, és ez minden előkészület, amire szükséged van SMS küldéséhez Java-ban.
Java SMS példa: Main.java
Hogyan ellenőrizd, hogy az SMS-t elfogadta-e az HTTP felhasználó
Az SMS beküldése után érdemes ellenőrizni az SMS gateway-t, hogy lássad, mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén az HTTP felhasználó részleteinek megnyitásával ellenőrizheted. A következő videó mutatja meg, hogy mire kell figyelni.
Összefoglalás
Ez az útmutató célja, hogy elmagyarázza a több SMS küldésének lépéseit Java-ban az Ozeki SMS Gateway segítségével. Ha a lépéseket gondosan követed, több ügyfél egyszerre elérésének nem kell problémát okoznia. A több SMS küldése nagyon hasznos lehet, ha te vagy a céged nagy számú embernek szeretnétek információt küldeni. Az Ozeki SMS Gateway lehetőséget biztosít az SMS üzenetek útválasztására különböző végpontok között, és lehetőséget ad az SMS üzenetek vezérlésére, ahogyan azok a rendszeren keresztül haladnak.
Győződj meg róla, hogy a tanulás itt nem ér véget, látogass el az Ozeki oktatóanyag oldalára, és olvass olyan témákról, mint az SMS törlése Java-ban.
Most már csak annyi van hátra, hogy letöltsd az Ozeki SMS Gateway-t, és kezdődhet a munka!