Cum să trimiți SMS-uri multiple din Java
Cea mai simplă metodă de a trimite SMS-uri din Java este utilizarea API-ului HTTP/Rest SMS încorporat al Ozeki SMS Gateway. Când folosești acest API, vei trimite mesaje SMS prin emiterea unei cereri HTTP Post către gateway-ul SMS. Cererea HTTP Post va conține un mesaj formatat în format json. Gateway-ul SMS va trimite acest SMS către telefonul destinatarului și va returna un răspuns HTTP 200 OK la cererea ta.
Exemplul de cod Java pentru SMS de mai jos demonstrează cum poți trimite SMS folosind API-ul http rest sms al Ozeki SMS Gateway cu ajutorul bibliotecii Java Ozeki.Libs.Rest. Această bibliotecă este oferită gratuit și poți să o folosești și să o modifici în oricare dintre proiectele tale.
Main.javaimport 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); } }
Cum să folosești exemplul Java pentru SMS:
Poți folosi clasa Message pentru a crea SMS-ul și poți folosi clasa MessageApi pentru a trimite SMS-ul către gateway-ul SMS. Gateway-ul SMS va transmite mesajul tău către rețeaua mobilă fie printr-o conexiune wireless, fie prin Internet.
Descarcă SendMultipleSms.java
Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: SendMultipleSms.java.zip (90.1Kb)
Fișierul SendMultipleSms.java.zip conține biblioteca Ozeki, care îți oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. Vei găsi de asemenea un fișier Main.java în proiect, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS. Acest cod exemplu este listat mai jos.
Pentru a trimite SMS-uri multiple din Java:
- Instalează Ozeki SMS Gateway
- Conectează Ozeki SMS Gateway la rețeaua mobilă
- Trimite un SMS de test din interfața Ozeki
- Creează un utilizator HTTP sms api
- Apache NetBeans
- Creează un proiect numit SendMultipleSms
- Pune codul într-un fișier Main.java nou creat sau folosește fișierul Main.java din arhiva .zip
- Creează SMS-urile prin crearea mai multor obiecte Message noi
- Creează un api pentru a trimite mesajul tău
- Folosește metoda Send pentru a trimite mesajele tale
- Citește mesajul de răspuns pe consolă
- Verifică jurnalele în gateway-ul SMS
Pentru a putea trimite SMS din Java, mai întâi trebuie să instalezi Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același calculator pe care îți dezvolți codul Java în Apache NetBeans. După instalare, următorul pas este să conectezi Ozeki SMS Gateway la rețeaua mobilă. Poți trimite un SMS de test din interfața Ozeki pentru a verifica dacă conexiunea ta la rețeaua mobilă funcționează. Ultimul pas pentru a-ți pregăti mediul este să creezi un utilizator HTTP sms api. Creează un utilizator cu numele de utilizator "http_user" și parola "qwe123" pentru ca exemplul să funcționeze fără modificări.
După ce mediul este configurat, poți rula codul tău Java.
URL API HTTP pentru a trimite SMS din JavaPentru a trimite SMS din Java, aplicația ta Java va trebui să emită o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Reține că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului tău SMS. Dacă Ozeki SMS Gateway este instalat pe același calculator pe care rulează aplicația Java pentru SMS, aceasta poate fi 127.0.0.1. Dacă este instalat pe un calculator diferit, ar trebui să fie adresa IP a acelui calculator.
http://127.0.0.1:9509/api?action=rest
Pentru a autentifica clientul Java pentru SMS, trebuie să trimiți numele de utilizator și parola într-un șir codificat base64 către server într-o cerere HTTP. Formatul folosit este: base64(nume_utilizator+":"+parolă). În Java poți folosi următorul cod pentru a face această codificare:
var usernamePassword = username + ":" + password; var encodedUsernamePassword = usernamePassword.getBytes(); return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
De exemplu, dacă codezi numele de utilizator 'http_user' și parola 'qwe123', vei obține următorul șir codificat base64: aHR0cF91c2VyOnF3ZTEyMw==. Pentru a trimite
Antetul cererii HTTP pentru a trimite SMS din Java
Pentru a trimite mesajele SMS, trebuie să includeți următoarele linii ca anteturi în cererea HTTP. Rețineți că includem un tip de conținut și un antet de autorizare.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Pentru a trimite SMS-ul, aplicația dvs. Java va trimite o cerere HTTP similară cu cea de mai jos. Rețineți că această cerere conține o parte de antet HTTP și o parte de corp HTTP. Corpul HTTP este un șir de date codificat în JSON. Acesta conține numărul destinatarului și textul mesajului.
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" } ] } }
Odată ce gateway-ul SMS primește această cerere, va genera un răspuns HTTP. Răspunsul HTTP va conține un cod de stare, pentru a indica dacă cererea de trimitere a SMS-ului a fost reușită sau nu. De asemenea, va returna o structură codificată în JSON pentru a vă oferi detalii utile despre trimiterea mesajului.
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" } ] } }
Acest videoclip vă arată cum să creați un nou proiect în Apache NetBeans, cum să-l denumiți Send-multiple-SMS. Odată ce soluția este creată, s-ar putea să observați că există un folder numit <default package> în proiectul dvs. în folderul Source Packages. Aici veți crea sau lipi fișierul Main.java. Apoi, trebuie să lipiți folderul Ozeki în folderul Source Packages și acestea sunt toate pregătirile necesare pentru a trimite un SMS folosind Java.
Exemplu Java SMS: Main.java
După trimiterea SMS-ului, este bine să verifici gateway-ul tău SMS, pentru a vedea ce a primit. Poți verifica jurnalul deschizând detaliile utilizatorului HTTP din consola de management Ozeki SMS Gateway. Următorul videoclip îți arată ce să cauți.
Rezumat
Acest ghid a fost creat pentru a explica pașii de trimitere a mai multor SMS-uri în Java cu Ozeki SMS Gateway. Dacă pașii au fost urmăriți cu atenție, contactarea mai multor clienți simultan nu ar trebui să creeze nicio problemă. Trimiterea multiplă de SMS-uri poate fi foarte utilă dacă tu sau compania ta doriți să trimiteți informații unui număr mare de persoane. Ozeki SMS Gateway vă oferă posibilitatea de a direcționa mesaje SMS între diferite puncte finale și vă permite să controlați mesajele SMS pe măsură ce trec prin sistem.
Asigură-te că studiul nu se termină aici, vizitează pagina de tutoriale Ozeki și citește despre subiecte precum ștergerea în Java.
Acum singurul lucru rămas de făcut este să descărci Ozeki SMS Gateway și să începi lucrul!
More information
- Java send SMS with the HTTP rest API (code sample)
- Java send multiple SMS with the HTTP rest API (code sample)
- Java schedule SMS with the HTTP rest API (code sample)
- Java delete SMS with the HTTP rest API (code sample)
- Java receive SMS with the HTTP rest API (code sample)
- Github: Java SMS API