Kako poslati več SMS sporočil iz Delphi
Najenostavnejši način za pošiljanje SMS iz Delphi je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste SMS sporočila poslali z izdajo HTTP Post zahteve proti SMS prehodu. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal to SMS na telefonsko številko prejemnika in vrnil HTTP 200 OK odgovor na vašo zahtevo.
Spodnji Delphi SMS koda primer prikazuje, kako lahko pošljete SMS z uporabo HTTP REST SMS API-ja Ozeki SMS Gateway z uporabo enote Ozeki.Libs.Rest v Delphi. Ta enota vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših projektov.
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 := 'Pozdravljen svet 1'; msg2 := Ozeki.Libs.Rest.Message.Create; msg2.ToAddress := '+36202222222'; msg2.Text := 'Pozdravljen svet 2'; msg3 := Ozeki.Libs.Rest.Message.Create; msg3.ToAddress := '+36203333333'; msg3.Text := 'Pozdravljen svet 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 uporabiti Delphi SMS primer:
Ta Delphi SMS primer lahko uporabite v kateri koli Delphi aplikaciji. Za uporabo morate enoto Ozeki.Libs.Rest.pas dodati v vaš projekt. Po dodajanju enote morate v glavo vaše Delphi izvorne kode dodati direktivo uses Ozeki.Libs.Rest in 'Ozeki.Libs.Rest.pas';. To vam bo omogočilo uporabo razredov, ki jih ponuja enota Ozeki.Libs.Rest. Razred Message lahko uporabite za ustvarjanje SMS. 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.delphi
Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendMultipleSms.delphi.zip (11,8Kb)
Datoteka SendMultipleSms.delphi.zip vsebuje enoto Ozeki.Libs.Rest, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V zip datoteki boste našli tudi projekt SendMultipleSms, ki vsebuje primer kode, ki vam pokaže, kako poslati SMS. Ta primer kode je naveden spodaj.
Za pošiljanje SMS iz Delphi:
- Namestite uporabnika HTTP API
- Omogočite beleženje komunikacijskih dogodkov na zavihku Napredno
- Nastavite Embarcadero Delphi Studio
- Prenesite in razširite datoteko SendMultipleSms.delphi.zip
- Odprite datoteko SendMultipleSms.dproj v Delphi Studiu z dvojnim klikom nanjo
- Zaženite aplikacijo Ozeki SMS Gateway
- Zaženite Delphi kodo SendMultipleSms.dpr v Delphi Studiu
- Preverite dnevnike, da vidite, ali je bil SMS poslan
Da lahko pošiljate SMS iz Delphi, morate najprej namestiti Ozeki SMS Gateway. SMS prehod lahko namestite na isti računalnik, kjer razvijate svojo Delphi kodo v Visual studiu. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testni SMS 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 bo primer deloval brez sprememb.
Ko je okolje pripravljeno, lahko zaženete svojo Delphi kodo.
URL HTTP API za pošiljanje SMS iz DelphiZa pošiljanje SMS iz Delphi bo vaš Delphi moral 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 vaša Delphi 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 Delphija
Za avtentikacijo odjemalca SMS v Delphi morate uporabniško ime in geslo poslati v nizu, kodiranem z base64, na strežnik v zahtevi HTTP. Uporabljen format je: base64(uporabniško_ime+":"+geslo). V Delphi lahko za to kodiranje uporabite naslednjo kodo:
var usernamePassword := username + ':' + password; var Encoder := TBase64Encoding.Create(); var usernamePasswordEncoded := Encoder.Encode(usernamePassword); result := Format('Basic %s', [usernamePasswordEncoded]);
Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste prejeli naslednji niz, kodiran z base64: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje
HTTP glava zahteve za pošiljanje SMS iz DelphijaZa pošiljanje sporočil SMS morate v zahtevo HTTP vključiti naslednje vrstice kot glave. Upoštevajte, da vključujemo vrsto vsebine in glavo za avtorizacijo.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Za oddajo SMS bo vaša aplikacija Delphi poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del glave HTTP in del telesa HTTP. Telo HTTP je niz podatkov, kodiranih v JSON. Vsebuje številke prejemnikov in besedila sporočil, ki jih ž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 } ] }
Ko prehodnica SMS prejme to zahtevo, bo ustvarila odgovor HTTP. Odgovor HTTP bo vseboval kodo stanja, ki označuje, ali je bila zahteva za oddajo SMS 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 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": "USPEŠNO", "response_msg": "Sporočila v čakalni vrsti za dostavo.", "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": "Tip", "value": "SMS:TEXT" } ], "status": "USPEŠNO" }, { "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": "Tip", "value": "SMS:TEXT" } ], "status": "USPEŠNO" }, { "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": "Tip", "value": "SMS:TEXT" } ], "status": "USPEŠNO" } ] } }
Kako poslati SMS iz Delphija z uporabo Delphi SMS API (Video vadnica)
Ta video prikazuje, kako prenesti datoteko SendMultipleSms.delphi.zip s te strani in kako njeno vsebino prenesti v Delphi studio. Če si ogledate video, boste opazili, da je vsebina datoteke SendMultipleSms.delphi.zip nameščena na namizje Windowsa. Videli boste tudi, da dvokliknemo na projektno datoteko SendMultipleSms.dproj, da odpremo projekt.
Primer SMS pošiljanja v Delphi: SendMultipleSms.dproj
V tej rešitvi je samo en projekt: SendMultipleSms.dproj in dve datoteki: SendMultipleSms.dpr in Ozeki.Libs.Rest.pas.
Po oddaji SMS-a je dobro 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.
Povzetek
Po branju tega opisa o pošiljanju več SMS-ov iz Delphija boste vedeli, kako pripraviti HTTP API uporabnika v Ozeki SMS Gateway za to rešitev. Uporaba tega sistema vam pomaga nadzorovati stroške in slediti sporočilom. Dohodni SMS-ji, dogodki o dostavi bodo predstavljeni v obliki dogodkov, napake pa bodo pravilno obravnavane.
Nikar ne nehajte tukaj, na spletni strani Ozeki je veliko člankov, iz katerih se lahko naučite. Nadaljujte z naslednjo vadnico o Delphi Kako načrtovati SMS.
Prenesite Ozeki SMS Gateway zdaj in ga uporabite, da preizkusite, kar ste se naučili!
More information
- Delphi pošlji SMS z HTTP rest API (vzorec kode)
- Delphi pošlji več SMS z HTTP rest API (vzorec kode)
- Delphi načrtuj SMS z HTTP rest API (vzorec kode)
- Delphi prejmi SMS z HTTP rest API (vzorec kode)
- Delphi izbriši SMS z HTTP rest API (vzorec kode)
- Kako prenesti najnovejšo Delphi SMS API enoto z Githuba