Kako poslati više SMS poruka iz Delphija
Najjednostavniji način za slanje SMS poruka iz Delphija je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slanje SMS poruka vršite putem HTTP Post zahtjeva prema SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovu SMS poruku na telefonski broj primatelja i vratit će HTTP 200 OK odgovor na vaš zahtjev.
Delphi kod za slanje SMS poruka na mobilni telefon
Primjer Delphi SMS koda u nastavku pokazuje kako možete poslati SMS koristeći HTTP REST SMS API Ozeki SMS Gatewaya s pomoću Ozeki.Libs.Rest jedinice u Delphiju. Ova jedinica vam je dostupna besplatno i možete je koristiti i mijenjati u bilo kojem od vaših projekata.
SendMultipleSms.delphiprogram SendMultipleSms; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, Ozeki.Libs.Rest in 'Ozeki.Libs.Rest.pas'; var configuration : Ozeki.Libs.Rest.Configuration; var msg1, msg2, msg3 : Ozeki.Libs.Rest.Message; var api : Ozeki.Libs.Rest.MessageApi; var result : MessageSendResults; var read : string; begin try configuration := Ozeki.Libs.Rest.Configuration.Create; configuration.Username := 'http_user'; configuration.Password := 'qwe123'; configuration.ApiUrl := 'http://127.0.0.1:9509/api'; msg1 := Ozeki.Libs.Rest.Message.Create; msg1.ToAddress := '+36201111111'; msg1.Text := 'Pozdrav svijete 1'; msg2 := Ozeki.Libs.Rest.Message.Create; msg2.ToAddress := '+36202222222'; msg2.Text := 'Pozdrav svijete 2'; msg3 := Ozeki.Libs.Rest.Message.Create; msg3.ToAddress := '+36203333333'; msg3.Text := 'Pozdrav svijete 3'; api := Ozeki.Libs.Rest.MessageApi.Create(configuration); result := api.SendMessages([ msg1, msg2, msg3 ]); Writeln(result.ToString()); Readln(read); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.
Kako koristiti primjer Delphi SMS koda:
Ovaj primjer Delphi SMS koda može se koristiti u bilo kojoj Delphi aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest.pas jedinicu u svoj projekt. Nakon dodavanja jedinice, morate staviti direktivu uses Ozeki.Libs.Rest in 'Ozeki.Libs.Rest.pas'; u zaglavlje vašeg Delphi izvornog koda. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest jedinica. Možete koristiti klasu Message za kreiranje SMS poruke. Klasu MessageApi možete koristiti za slanje SMS poruke prema SMS gatewayu. SMS gateway će proslijediti vašu poruku mobilnoj mreži putem bežične veze ili interneta.
Preuzmite SendMultipleSms.delphi
Izvorni kod objašnjen u ovom članku može se besplatno preuzeti, koristiti i mijenjati.
Preuzimanje: SendMultipleSms.delphi.zip (11.8Kb)
Što se nalazi u SendMultipleSms.delphi.zip datoteci?
SendMultipleSms.delphi.zip datoteka sadrži Ozeki.Libs.Rest jedinicu, koja vam daje sve potrebne alate za slanje i primanje SMS poruka. Također ćete pronaći SendMultipleSms projekt u zip datoteci, koji sadrži primjer koda koji pokazuje kako poslati SMS poruku. Ovaj primjer koda je naveden u nastavku.
Kako poslati SMS iz Delphija (Jednostavne smjernice)
Za slanje SMS poruka iz Delphija:
- Instalirajte HTTP API korisnika
- Omogućite bilježenje komunikacijskih događaja na kartici Napredno
- Postavite Embarcadero Delphi Studio
- Preuzmite i raspakirajte SendMultipleSms.delphi.zip datoteku
- Otvorite SendMultipleSms.dproj datoteku u Delphi Studiju dvostrukim klikom na nju
- Pokrenite Ozeki SMS Gateway aplikaciju
- Pokrenite SendMultipleSms.dpr Delphi kod u Delphi Studiju
- Provjerite zapisnike kako biste vidjeli je li SMS poslan
Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika
Da biste mogli slati SMS poruke iz Delphija, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu na kojem razvijate svoj Delphi kod u Visual studiju. Nakon instalacije, sljedeći korak je povezivanje Ozeki SMS Gatewaya s mobilnom mrežom. Možete poslati testnu SMS poruku iz Ozeki GUI-ja kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je kreiranje HTTP SMS API korisničkog računa. Kreirajte korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez izmjena.
Nakon postavljanja okruženja, možete pokrenuti svoj Delphi kod.
HTTP API URL za slanje SMS poruka iz Delphija
Za slanje SMS poruka iz Delphija, vaš Delphi će morati poslati HTTP zahtjev prema SMS gatewayu. API URL je prikazan u nastavku. Imajte na umu da IP adresa (127.0.0.1) treba biti zamijenjena IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu na kojem se pokreće Delphi SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.
http://127.0.0.1:9509/api?action=rest
HTTP autentifikacija za slanje SMS-a iz Delphija
Za autentifikaciju Delphi SMS klijenta, potrebno je poslati korisničko ime i lozinku u base64 kodiranom stringu na server u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U Delphi-u možete koristiti sljedeći kod za ovo kodiranje:
var usernamePassword := username + ':' + password; var Encoder := TBase64Encoding.Create(); var usernamePasswordEncoded := Encoder.Encode(usernamePassword); result := Format('Basic %s', [usernamePasswordEncoded]);
Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje
HTTP zaglavlje zahtjeva za slanje SMS-a iz Delphija
Za slanje SMS poruka, potrebno je uključiti sljedeće retke kao zaglavlja u HTTP zahtjev. Imajte na umu da uključujemo Content-Type i Authorization zaglavlja.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP zahtjev za slanje SMS-a iz Delphija
Za slanje SMS-a, vaša Delphi aplikacija će poslati HTTP zahtjev sličan donjem primjeru. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio tijela HTTP-a. Tijelo HTTP-a je JSON kodirani podatkovni string. Sadrži brojeve primatelja i tekstove poruka koje želimo poslati.
POST /api?action=sendmsg HTTP/1.0 Connection: keep-alive Content-Type: application/json Content-Length: 1211 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 Accept: application/json User-Agent: Mozilla/3.0 (compatible; Indy Library) { "messages": [ { "message_id": "b984812c-6af0-47ac-83e6-c162b1743272", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36201111111", "to_station":"", "text":" Hello world 1", "create_date": "2021-07-27T14:59:43", "valid_until": "2021-08-03T14:59:43", "time_to_send": "2021-07-27T14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id":"cccb9fc0-820c-47e0-9f8d-8a29f2f8dce8", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36202222222", "to_station": "", "text": "Hello world 2", "create_date": "2021-07-27T14:59:43", "valid_until": "2021-08-03T14:59:43", "time_to_send": "2021-07-27T14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id": "395197a7-14bf-484b-97bc-ef25056b1669", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36203333333", "to_station": "", "text": "Hello world 3", "create_date": "2021-07-27T14:59:43", "valid_until": "2021-08-03T14:59:43", "time_to_send": "2021-07-27T14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true } ] }
HTTP odgovor primljen od Delphi SMS primjera
Nakon što SMS gateway primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor će sadržavati statusni kod, kako bi naznačio je li zahtjev za slanje SMS-a uspješan ili ne. Također će vratiti JSON kodiranu strukturu koja vam pruža korisne detalje o slanju poruka.
HTTP/1.1 200 OK Content-Type: application/json; charset=utf8 Last-Modified: Tue, 27 Jul 2021 14:31:15 GMT Server: 10/10.3.123 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.123 (myozeki.com) Date: Tue, 27 Jul 2021 12:59:42 GMT Connection: close { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Poruke su u redu za isporuku.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "b984812c-6af0-47ac-83e6-c162b1743272", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-07-27 14:59:43", "valid_until": "2021-08-03 14:59:43", "time_to_send": "2021-07-27 14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "cccb9fc0-820c-47e0-9f8d-8a29f2f8dce8", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-07-27 14:59:43", "valid_until": "2021-08-03 14:59:43", "time_to_send": "2021-07-27 14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "395197a7-14bf-484b-97bc-ef25056b1669", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-07-27 14:59:43", "valid_until": "2021-08-03 14:59:43", "time_to_send": "2021-07-27 14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Ovaj video pokazuje kako preuzeti datoteku SendMultipleSms.delphi.zip s ove stranice i kako preuzeti njezin sadržaj u Delphi studio. Ako pogledate video, primijetit ćete da je sadržaj SendMultipleSms.delphi zip datoteke smješten na Windows radnu površinu. Također ćete vidjeti da dvoklikom na SendMultipleSms.dproj projektnu datoteku otvaramo projekt.
Primjer SMS-a u Delphi: SendMultipleSms.dproj
U ovom rješenju postoji samo jedan projekt: SendMultipleSms.dproj i dvije datoteke: SendMultipleSms.dpr i Ozeki.Libs.Rest.pas.
Kako provjeriti je li SMS prihvaćen od strane HTTP korisnika
Nakon što je SMS poslan, dobro je provjeriti svoj SMS gateway kako biste vidjeli što je primio. Dnevnik možete provjeriti otvaranjem detalja HTTP korisnika iz Ozeki SMS Gateway upravljačke konzole. Sljedeći video pokazuje na što trebate obratiti pažnju.
Sažetak
Nakon što pročitate ovaj opis o slanju više SMS-ova iz Delphija, znat ćete kako pripremiti HTTP API korisnika u Ozeki SMS Gatewayu za ovo rješenje. Korištenje ovog sustava pomaže vam u kontroli troškova i praćenju poruka. Dolazne SMS poruke, događaji isporuke bit će prikazani u obliku događaja, a greške će biti pravilno obrađene.
Nikako nemojte stati ovdje, na Ozeki web stranici postoji mnogo članaka iz kojih možete učiti. Prijeđite na sljedeći Delphi tutorial o Kako zakazati SMS.
Preuzmite Ozeki SMS Gateway sada i upotrijebite ga da isprobate ono što ste naučili!
More information
- Delphi pošalji SMS s HTTP REST API-jem (primjer koda)
- Delphi pošalji više SMS-ova s HTTP REST API-jem (primjer koda)
- Delphi zakazani SMS s HTTP REST API-jem (primjer koda)
- Delphi primi SMS s HTTP REST API-jem (primjer koda)
- Delphi izbriši SMS s HTTP REST API-jem (primjer koda)
- Kako preuzeti najnoviju Delphi SMS API jedinicu s Githuba