Kako poslati več SMS sporočil iz Java

Najenostavnejši način za pošiljanje SMS iz Java je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste SMS sporočila pošiljali z izdajo HTTP Post zahteve proti SMS prehodu. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal ta SMS prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo.

kako poslati več SMS sporočil iz java
Slika 1 - Kako poslati več SMS sporočil iz Java

Java koda za pošiljanje več SMS sporočil na mobilne naprave

Vzorec Java SMS kode spodaj prikazuje, kako lahko pošiljate SMS z uporabo http rest sms api Ozeki SMS Gateway z uporabo knjižnice Java Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših 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);
    }
}
	

Kako uporabiti Java SMS primer:

Uporabite lahko razred Message za ustvarjanje SMS in razred MessageApi lahko uporabite za pošiljanje SMS na SMS prehod. SMS prehod bo vaše sporočilo posredoval v mobilno omrežje prek brezžične povezave ali prek interneta.

Prenesite SendMultipleSms.java

Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendMultipleSms.java.zip (90,1Kb)

Kaj je v datoteki SendMultipleSms.java.zip?

Datoteka SendMultipleSms.java.zip vsebuje knjižnico Ozeki, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V projektu boste našli tudi datoteko Main.java, ki vsebuje vzorčno kodo, ki prikazuje kako poslati SMS. Ta vzorčna koda je navedena spodaj.

Slika 2 - SendMultipleSms.java mapa

Kako poslati več SMS sporočil iz Java (Hitri koraki)

Za pošiljanje več SMS sporočil iz Java:

  1. Namestite Ozeki SMS Gateway
  2. Povežite Ozeki SMS Gateway z mobilnim omrežjem
  3. Pošljite testno SMS sporočilo iz Ozeki GUI
  4. Ustvarite uporabnika HTTP SMS API
  5. Apache NetBeans
  6. Ustvarite projekt z imenom SendMultipleSms
  7. Vstavite kodo v novo ustvarjeno datoteko Main.java ali uporabite datoteko Main.java v .zip
  8. Ustvarite SMS sporočila z ustvarjanjem več novih objektov Message
  9. Ustvarite api za pošiljanje vaših sporočil
  10. Uporabite metodo Send za pošiljanje vaših sporočil
  11. Preberite odzivno sporočilo na konzoli
  12. Preverite dnevnike v SMS prehodu
Namestite Ozeki SMS Gateway in ustvarite uporabnika HTTP API

Da lahko pošiljate SMS iz Java, morate najprej namestiti Ozeki SMS Gateway. SMS prehod lahko namestite na istem računalniku, kjer razvijate svojo Java kodo v Apache NetBeans. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testno SMS sporočilo iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Končni korak za pripravo vašega okolja je ustvarjanje uporabnika HTTP SMS API. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da primer deluje brez sprememb.

Ko je okolje pripravljeno, lahko zaženete svojo Java kodo.

HTTP API url za pošiljanje SMS iz Java

Za pošiljanje SMS iz Java bo vaša Java morala izdati HTTP zahtevo proti SMS prehodu. API url je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS prehoda. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče Java SMS aplikacija, je to lahko 127.0.0.1. Če je nameščen na drugem računalniku, mora biti to IP naslov tega računalnika.

http://127.0.0.1:9509/api?action=rest
	
HTTP avtentikacija za pošiljanje SMS iz Java

Za avtentikacijo Java SMS odjemalca morate poslati uporabniško ime in geslo v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(uporabniško_ime+":"+geslo). V Java lahko za to kodiranje uporabite naslednjo kodo:

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

Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste dobili naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje

HTTP zahteva glava za pošiljanje SMS-ov iz Jave

Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo vrsto vsebine in glavo za avtorizacijo.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP zahteva za pošiljanje SMS-ov iz Jave

Za oddajo SMS-a bo vaša Java aplikacija poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del HTTP glave in del HTTP telesa. Telo HTTP-ja je niz podatkov, kodiran v JSON. Vsebuje številko prejemnika in besedilo sporočila.

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 odgovor, prejet v Java SMS primeru

Ko SMS prehod prejme to zahtevo, bo ustvaril HTTP odgovor. HTTP odgovor bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS-a uspešna ali ne. Prav tako bo vrnil strukturo, kodirano v JSON, ki vam bo zagotovila koristne podrobnosti o oddaji sporočila.

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"
      }
    ]
  }
}
	
Kako poslati SMS iz Jave z uporabo Java SMS API-ja (Video vadnica)

Ta video prikazuje, kako ustvariti nov projekt v Apache NetBeans, kako ga poimenovati v Send-multiple-SMS. Ko je rešitev ustvarjena, lahko opazite, da je v vašem projektu v mapi Source Packages mapa z imenom <default package>. Tu boste ustvarili ali prilepili datoteko Main.java. Nato morate mapo Ozeki prilepiti v mapo Source Packages in to so vse priprave, ki jih potrebujete za pošiljanje SMS-a z Javo.

Video 1 - Kako prenesti Ozeki.Libs.Rest in nastaviti vaš projekt (Video vadnica)

Java primer SMS: Main.java

Slika 3 - Projekt SendMultipleSms

Kako preveriti, ali je SMS sprejel HTTP uporabnik

Po oddaji SMS-a je priporočljivo preveriti vaš SMS prehod, da vidite, kaj je prejel. Dnevnik lahko preverite tako, da odprete podrobnosti HTTP uporabnika v upravljalski konzoli Ozeki SMS Gateway. Naslednji video vam pokaže, kaj morate iskati.

Video 2 - Kako preveriti, ali je SMS sprejel HTTP uporabnik (Video vadnica)

Povzetek

Ta vodič je bil namenjen razlagi korakov za pošiljanje več SMS-ov v Javi z Ozeki SMS Gateway. Če ste korake sledili skrbno, pošiljanje sporočil večjemu številu strank ne bi smelo povzročati težav. Pošiljanje več SMS-ov je lahko zelo uporabno, če vi ali vaše podjetje želite poslati informacije velikemu številu ljudi. Ozeki SMS Gateway vam omogoča usmerjanje SMS sporočil med različnimi končnimi točkami in vam daje možnost nadzora SMS sporočil, ko potujejo skozi sistem.

Prepričajte se, da učenje ne konča tukaj, obiščite Ozekijevo stran z vadnicami in preberite o temah, kot so brisanje v Javi.

Zdaj je edina stvar, ki jo morate storiti, prenesti Ozeki SMS Gateway in začeti z delom!

More information