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.

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

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ó.

2. ábra - SendMultipleSms.java könyvtár

Hogyan küldjünk több SMS-t Javából (Gyors lépések)

Több SMS küldése Javából:

  1. Telepítsd az Ozeki SMS Gateway-t
  2. Kapcsold az Ozeki SMS Gateway-t a mobilhálózathoz
  3. Küldj egy teszt SMS-t az Ozeki GUI-ból
  4. Hozz létre egy HTTP SMS API felhasználót
  5. Apache NetBeans
  6. Hozz létre egy SendMultipleSms nevű projektet
  7. 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
  8. Hozd létre az SMS-eket több új Message objektum létrehozásával
  9. Hozz létre egy API-t az üzenetek küldéséhez
  10. A Send metódus használatával küldd el az üzeneteidet
  11. Olvasd el a válaszüzenetet a konzolon
  12. 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.

1. videó - Hogyan töltsd le az Ozeki.Libs.Rest-et és állítsd be a projektet (Videó útmutató)

Java SMS példa: Main.java

3. ábra - SendMultipleSms projekt

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.

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

Ö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!

More information