Ako poslať viacero SMS z Javy

Najjednoduchší spôsob, ako poslať SMS z Javy, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vytvorením HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS na príjemcove telefónne číslo a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako poslať viacero sms z javy
Obrázok 1 - Ako poslať viacero SMS z Javy

Java kód na odoslanie viacerých SMS na mobil

Vzorový Java SMS kód nižšie demonštruje, ako môžete poslať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice Java Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

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);
    }
}
	

Ako použiť Java SMS príklad:

Môžete použiť triedu Message na vytvorenie SMS a môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď cez bezdrôtové pripojenie alebo cez internet.

Stiahnuť SendMultipleSms.java

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendMultipleSms.java.zip (90.1Kb)

Čo obsahuje súbor SendMultipleSms.java.zip?

Súbor SendMultipleSms.java.zip obsahuje knižnicu Ozeki, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu aj súbor Main.java v projekte, ktorý obsahuje vzorový kód, ktorý ukazuje, ako odoslať SMS. Tento vzorový kód je uvedený nižšie.

Obrázok 2 - Adresár SendMultipleSms.java

Ako poslať viacero SMS z Javy (Rýchle kroky)

Na odoslanie viacerých SMS z Javy:

  1. Nainštalujte Ozeki SMS Gateway
  2. Pripojte Ozeki SMS Gateway k mobilnej sieti
  3. Odošlite testovaciu SMS z Ozeki GUI
  4. Vytvorte používateľa HTTP SMS API
  5. Apache NetBeans
  6. Vytvorte projekt s názvom SendMultipleSms
  7. Vložte kód do novo vytvoreného súboru Main.java alebo použite súbor Main.java v .zip
  8. Vytvorte SMS vytvorením viacerých nových objektov Message
  9. Vytvorte API na odoslanie vašej správy
  10. Použite metódu Send na odoslanie vašich správ
  11. Prečítajte si odpoveď na konzole
  12. Skontrolujte záznamy v SMS bráne
Nainštalujte Ozeki SMS Gateway a vytvorte používateľa HTTP API

Na odosielanie SMS z Javy musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj Java kód v Apache NetBeans. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, že vaše mobilné pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj Java kód.

HTTP API URL na odosielanie SMS z Javy

Na odosielanie SMS z Javy bude vaša Java aplikácia musieť vytvoriť HTTP požiadavku na SMS bránu. API URL je zobrazené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží Java SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.

http://127.0.0.1:9509/api?action=rest
	
HTTP autentifikácia na odosielanie SMS z Javy

Na autentifikáciu Java SMS klienta musíte odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Použitý formát je: base64(používateľské meno+":"+heslo). V Jave môžete použiť nasledujúci kód na toto kódovanie:

var usernamePassword = username + ":" + password;
var encodedUsernamePassword = usernamePassword.getBytes();
return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
	

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z Javy

Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP požiadavka na odoslanie SMS z Javy

Na odoslanie SMS bude vaša Java aplikácia posielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.

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 odpoveď prijatá Java SMS príkladom

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Tiež vráti štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o odoslaní správy.

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"
      }
    ]
  }
}
	
Ako odoslať SMS z Javy pomocou Java SMS API (Video návod)

Toto video vám ukáže, ako vytvoriť nový projekt v Apache NetBeans, ako ho pomenovať na Send-multiple-SMS. Keď je riešenie vytvorené, môžete si všimnúť, že v projekte vo priečinku Source Packages je priečinok s názvom <default package>. Tu vytvoríte alebo vložíte súbor Main.java. Potom musíte vložiť priečinok Ozeki do priečinka Source Packages a to sú všetky prípravy potrebné na odoslanie SMS pomocou Javy.

Video 1 - Ako stiahnuť Ozeki.Libs.Rest a nastaviť váš projekt (Video návod)

Java príklad na SMS: Main.java

Obrázok 3 - Projekt SendMultipleSms

Ako skontrolovať, či SMS bola prijatá HTTP používateľom

Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Log môžete skontrolovať otvorením detailov HTTP používateľa v konzole na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.

Video 2 - Ako skontrolovať, či SMS bola prijatá HTTP používateľom (Video návod)

Zhrnutie

Tento návod mal za cieľ vysvetliť kroky pre odosielanie viacerých SMS v jazyku Java s Ozeki SMS Gateway. Ak boli kroky dodržané starostlivo, oslovenie viacerých zákazníkov naraz by nemalo spôsobiť žiadne problémy. Hromadné odosielanie SMS môže byť veľmi užitočné, ak vy alebo vaša spoločnosť chcete rozoslať informácie veľkému počtu ľudí. Ozeki SMS Gateway vám ponúka možnosť smerovať SMS správy medzi rôznymi koncovými bodmi a dáva vám možnosť kontrolovať SMS správy počas ich prechodu systémom.

Uistite sa, že štúdium tu nekončí, navštívte stránku s návodmi Ozeki a prečítajte si témy ako mazanie v jazyku Java.

Teraz už zostáva len stiahnuť Ozeki SMS Gateway a nechať prácu začať!

More information