Kako načrtovati SMS v Delphi
Najenostavnejši način za pošiljanje SMS-ov iz Delphija 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 na SMS prehod. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal ta SMS prejemniku na telefon in vrnil HTTP 200 OK odgovor na vašo zahtevo.
Delphi sms vzorčna koda spodaj prikazuje, kako lahko pošiljate SMS z uporabo http rest sms api Ozeki SMS Gateway z uporabo enote Delphi Ozeki.Libs.Rest. Ta enota vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših projektov.
SendScheduledSms.delphiprogram SendScheduledSms; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, Ozeki.Libs.Rest in 'Ozeki.Libs.Rest.pas'; var configuration : Ozeki.Libs.Rest.Configuration; var msg : Ozeki.Libs.Rest.Message; var api : Ozeki.Libs.Rest.MessageApi; var result : MessageSendResult; 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'; msg := Ozeki.Libs.Rest.Message.Create; msg.ToAddress := '+36201111111'; msg.Text := 'Pozdravljen svet!'; msg.TimeToSend := StrToDateTime('7/27/21 4:00:00 PM'); api := Ozeki.Libs.Rest.MessageApi.Create(configuration); result := api.SendMessage( msg ); 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-ja. Razred MessageApi lahko uporabite za pošiljanje SMS-ja na SMS prehod. SMS prehod bo vaše sporočilo posredoval v mobilno omrežje prek brezžične povezave ali prek interneta.
Prenesite SendScheduledSms.delphi
Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos in uporabo ter spreminjanje.
Prenos: SendScheduledSms.delphi.zip (12,4Kb)
Datoteka SendScheduledSms.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 SendScheduledSms, ki vsebuje vzorčno kodo, ki vam pokaže, kako poslati SMS. Ta vzorčna koda je navedena spodaj.
Za pošiljanje SMS-ov iz Delphija:
- Namestite uporabnika HTTP API
- Omogočite beleženje komunikacijskih dogodkov na zavihku Napredno
- Nastavite Embarcadero Delphi Studio
- Prenesite in razširite datoteko SendScheduledSms.delphi.zip
- Odprite datoteko SendScheduledSms.dproj v Delphi Studiu z dvoklikom nanjo
- Zaženite aplikacijo Ozeki SMS Gateway
- Zaženite Delphi kodo SendScheduledSms.dpr v Delphi Studiu
- Preverite dnevnike, da vidite, ali je bil SMS poslan
Da lahko pošiljate SMS-ove iz Delphija, 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-ja z mobilnim omrežjem. Lahko pošljete testni sms iz Ozeki GUI-ja, 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 Delphi kodo.
HTTP API url za pošiljanje sms iz DelphijaZa pošiljanje SMS-ov iz Delphija bo vaš Delphi moral izdati HTTP zahtevo na SMS prehod. 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 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. Uporabljena oblika 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 SMS sporočil morate vključiti naslednje vrstice kot glave v zahtevo HTTP. Opazite, 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. Opazite, da ta zahteva vsebuje del z glavo HTTP in del s telesom HTTP. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje prejemnikovo številko, čas pošiljanja SMS in besedilo sporočila.
POST /api?action=sendmsg HTTP/1.0 Connection: keep-alive Content-Type: application/json Content-Length: 412 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 Accept: application/json User-Agent: Mozilla/3.0 (compatible; Indy Library) { "messages": [ { "message_id": "910663ad-85d8-44cc-aad3-8a5da4024148", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36201111111", "to_station": "", "text": "Pozdravljen svet!", "create_date": "2021-07-27T15:35:39", "valid_until": "2021-08-03T15:35:39", "time_to_send": "2021-07-27T14:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true } ] }
Ko prehodnica SMS prejme to zahtevo, bo ustvarila HTTP odziv. HTTP odziv bo vseboval statusno kodo, 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 15:09:55 GMT Server: 10/10.3.123 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.123 (myozeki.com) Date: Tue, 27 Jul 2021 13:35:39 GMT Connection: close { "http_code": 200, "response_code": "USPEŠNO", "response_msg": "Sporočila v čakalni vrsti za dostavo.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "910663ad-85d8-44cc-aad3-8a5da4024148", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Pozdravljen svet!", "create_date": "2021-07-27 15:35:39", "valid_until": "2021-08-03 15:35:39", "time_to_send": "2021-07-27 14:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Tip", "value": "SMS:TEXT" } ], "status": "USPEŠNO" } ] } }
Ta video vam pokaže, kako prenesti datoteko SendScheduledSms.delphi.zip s te strani in kako prenesti njene vsebine v Delphi studio. Če gledate video, boste opazili, da so vsebine datoteke SendScheduledSms.delphi zip postavljene na namizje Windows. Videli boste tudi, da dvokliknemo na projektno datoteko SendScheduledSms.dproj, da odpremo projekt.
Primer SMS v Delphi: SendScheduledSms.dprojV tej rešitvi je samo en projekt: SendScheduledSms.dproj in dve datoteki: SendScheduledSms.dpr in Ozeki.Libs.Rest.pas.
Po oddaji SMS je dobro preveriti vašo prehodnico SMS, da vidite, kaj je prejela. Dnevnik lahko preverite tako, da odprete podrobnosti HTTP uporabnika iz konzole za upravljanje prehodnice Ozeki SMS. Naslednji video vam pokaže, kaj morate iskati.
Ta članek je napisan, da vas nauči, kako poslati predvideno SMS iz Delphija z uporabo HTTP API uporabnika Ozeki SMS Gateway.
Ta primer SMS v Delphi lahko uporabite v kateri koli aplikaciji Delphi, da se prepričate, da ustreza vašim pričakovanjem.
Ponuja pravilne, dobro napisane klice metod za oddajo SMS in dobro oblikovan razred SMS, ki vam omogoča konfiguriranje parametrov SMS.
Če se vam zdi ta članek koristen - in prepričan sem, da je - ne ustavite se tukaj, poiščite več za branje na spletni strani Ozeki.
Oglejte si vadnico za Delphi o Kako prejeti SMS.
Da izkoristite, kar ste se naučili, takoj prenesite Ozeki SMS Gateway!
Ta članek je napisan, da vas nauči, kako poslati predvideno SMS iz Delphija z uporabo HTTP API uporabnika Ozeki SMS Gateway. Ta primer SMS v Delphi lahko uporabite v kateri koli aplikaciji Delphi, da se prepričate, da ustreza vašim pričakovanjem. Ponuja pravilne, dobro napisane klice metod za oddajo SMS in dobro oblikovan razred SMS, ki vam omogoča konfiguriranje parametrov SMS.
Če se vam zdi ta članek koristen - in prepričan sem, da je - ne ustavite se tukaj, poiščite več za branje na spletni strani Ozeki. Oglejte si vadnico za Delphi o Kako prejeti SMS.
Da izkoristite, kar ste se naučili, takoj prenesite Ozeki SMS Gateway!
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