Jak odeslat SMS z Delphi
Nejjednodušší způsob, jak odeslat SMS z Delphi, je použít vestavené HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy odesláním HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu JSON. SMS brána odešle tuto SMS na příjemcův telefon a vrátí HTTP 200 OK odpověď na váš požadavek.
Delphi kód pro odeslání SMS na mobil
Níže uvedený Delphi sms kódový příklad ukazuje, jak můžete odeslat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím jednotky Ozeki.Libs.Rest v Delphi. Tato jednotka je poskytována zdarma a můžete ji používat a upravovat v jakémkoli z vašich projektů.
SendSms.delphiprogram SendSms; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, Ozeki.Libs.Rest in '../Ozeki.Libs.Rest/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 := 'Ahoj světe!'; 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.
Jak použít Delphi sms příklad:
Tento Delphi sms příklad lze použít v jakékoli Delphi aplikaci. Pro použití je nutné přidat jednotku Ozeki.Libs.Rest.pas do vašeho projektu. Po přidání jednotky musíte vložit direktivu uses Ozeki.Libs.Rest in '../Ozeki.Libs.Rest/Ozeki.Libs.Rest.pas'; do hlavičkové části vašeho Delphi zdrojového kódu. To vám umožní používat třídy poskytované jednotkou Ozeki.Libs.Rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes Internet.
Stáhnout SendSMS.delphi
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendSms.delphi.zip (11.8Kb)
Co obsahuje soubor SendSms.delphi.zip?
Soubor SendSms.delphi.zip obsahuje jednotku Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné pro odesílání a přijímání SMS zpráv. V zipu také najdete projekt SendSms, který obsahuje příkladový kód ukazující jak odeslat SMS. Tento příkladový kód je uveden níže.
Jak odeslat SMS z Delphi (Jednoduchý návod)
Pro odeslání SMS z Delphi:
- Nainstalujte HTTP API uživatele
- Povolte Logování komunikačních událostí na záložce Pokročilé
- Nastavte Embarcadero Delphi Studio
- Stáhněte a rozbalte soubor SendSms.delphi.zip
- Otevřete soubor SendSms.dproj v Delphi Studio dvojklikem
- Spusťte aplikaci Ozeki SMS Gateway
- Spusťte Delphi kód SendSms.dpr v Delphi Studiu
- Zkontrolujte logy, zda byla SMS odeslána
Nainstalujte Ozeki SMS Gateway a vytvořte HTTP API uživatele
Abyste mohli odesílat SMS z Delphi, nejprve musíte nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj Delphi kód ve Visual studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací sms z Ozeki GUI pro ověření, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření HTTP sms api uživatele. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.
Po nastavení prostředí můžete spustit svůj Delphi kód.
HTTP API url pro odesílání SMS z Delphi
Pro odeslání SMS z Delphi musí vaše Delphi odeslat HTTP požadavek na SMS bránu. API url je uvedena níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží Delphi sms aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa toho počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z Delphi
Pro autentizaci SMS klienta v Delphi je třeba odeslat uživatelské jméno a heslo v řetězci zakódovaném do base64 na server v HTTP požadavku. Použitý formát je: base64(uživatelské_jméno+":"+heslo). V Delphi můžete pro toto kódování použít následující kód:
var usernamePassword := username + ':' + password; var Encoder := TBase64Encoding.Create(); var usernamePasswordEncoded := Encoder.Encode(usernamePassword); result := Format('Basic %s', [usernamePasswordEncoded]);
Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující řetězec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro odesílání SMS z Delphi
Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme typ obsahu a autorizační hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odesílání SMS z Delphi
Pro odeslání SMS váš Delphi aplikace odešle HTTP požadavek podobný tomuto níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.
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": "ae0d1fe5-7e93-4241-b31c-5b3ebf867c5b", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36201111111", "to_station": "", "text": "Hello world!", "create_date": "2021-07-27T14:22:12", "valid_until": "2021-08-03T14:22:12", "time_to_send": "2021-07-27T14:22:12", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true } ] }
HTTP odpověď přijatá v Delphi SMS příkladu
Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Také vrátí strukturu zakódovanou v JSON, která poskytuje užitečné detaily o odeslání zprávy.
HTTP/1.1 200 OK Content-Type: application/json; charset=utf8 Last-Modified: Tue, 27 Jul 2021 06:58:42 GMT Server: 10/10.3.123 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.123 (myozeki.com) Date: Tue, 27 Jul 2021 12:22:12 GMT Connection: close { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "ae0d1fe5-7e93-4241-b31c-5b3ebf867c5b", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-07-27 14:22:12", "valid_until": "2021-08-03 14:22:12", "time_to_send": "2021-07-27 14:22:12", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Připojte svou SMS bránu k mobilní síti a vytvořte HTTP API uživatelský účet
Předpokládáme, že jste již nainstalovali Ozeki SMS Gateway, a že jste připojili ji k mobilní síti. Abyste mohli odesílat SMS na mobilní telefon z Delphi, je třeba nastavit uživatelský účet HTTP API v Ozeki SMS Gateway.
Jak odesílat SMS z Delphi pomocí Delphi SMS API (Video návod)
Toto video vám ukáže, jak stáhnout soubor SendSms.delphi.zip z této stránky a jak jeho obsah otevřít v Delphi studiu. Pokud sledujete video, všimnete si, že obsah SendSms.delphi zipu je umístěn na plochu Windows. Uvidíte také, že dvakrát klikneme na soubor projektu SendSms.dproj, abychom projekt otevřeli.
Příklad SMS v Delphi: SendSms.dproj
V tomto řešení je pouze jeden projekt: SendSms.dproj a dva soubory: SendSms.dpr a Ozeki.Libs.Rest.pas.
Jak ověřit, že SMS byla přijata HTTP uživatelem
Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele z konzole pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.
Jak ověřit, že SMS byla odeslána do mobilní sítě
Posledním krokem při ověřování postupu je prohlédnout si záznamy připojení k mobilní síti. Možná budete muset před odesláním zprávy zapnout protokolování v konfiguraci připojení, abyste viděli záznamy. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.
Jak vypadá přijetí SMS zprávy na Androidu (Video návod)
V tomto videu vám ukážeme, jak vypadá přijetí SMS zprávy na Androidu. Video je dlouhé pouze 18 sekund, ale můžete na něm vidět celý proces. Začne běžnou domovskou obrazovkou Androidu. Uvidíte oznámení o SMS a otevřenou aplikaci Zprávy s viditelnou zprávou.
Shrnutí
Tento článek vám ukázal nejjednodušší způsob, jak odesílat SMS z Delphi. Pokud jste si tento návod přečetli, víte, jak vytvořit uživatele HTTP SMS API v Ozeki SMS Gateway, abyste mohli odesílat SMS z Delphi. Jednou z mnoha výhod tohoto řešení je, že uvedený příklad SMS v Delphi můžete použít a upravit v jakémkoli svém projektu.
Můžete najít další dokumenty, které nabízejí další kódy programů v Delphi, využijte každé příležitosti a prostudujte je. Pokud chcete tuto službu Ozeki SMS Gateway používat ve větším měřítku, přejděte k článku Jak stáhnout nejnovější Delphi SMS api jednotku z Githubu a dozvíte se více.
Stáhněte si Ozeki SMS Gateway nyní a nastavte systém!
More information
- Delphi odeslat SMS pomocí HTTP REST API (ukázka kódu)
- Delphi odeslat více SMS pomocí HTTP REST API (ukázka kódu)
- Delphi naplánovat SMS pomocí HTTP REST API (ukázka kódu)
- Delphi přijmout SMS pomocí HTTP REST API (ukázka kódu)
- Delphi smazat SMS pomocí HTTP REST API (ukázka kódu)
- Jak stáhnout nejnovější Delphi SMS API jednotku z Githubu