Jak odeslat více SMS z C#
Nejjednodušší způsob, jak odeslat SMS z C#, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto 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 formátovanou ve formátu json. SMS brána odešle tuto SMS na cílový telefon a vrátí HTTP 200 OK odpověď na váš požadavek.
C# kód pro odeslání více SMS na mobil
Následující ukázka kódu C# pro SMS demonstruje, jak můžete odesílat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Ozeki.Libs.Rest v C#. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.
SendSMS.csusing Ozeki.Libs.Rest; using System; namespace SendMultipleSms { class Program { static void Main(string[] args) { var configuration = new Configuration() { Username = "http_user", Password = "qwe123", ApiURL = "http://127.0.0.1:9509/api" }; var msg1 = new Message() { ToAddress = "+36201111111", Text = "Hello, World 1" }; var msg2 = new Message() { ToAddress = "+362222222", Text = "Hello, World 2" }; var msg3 = new Message() { ToAddress = "+363333333", Text = "Hello, World 3" }; var api = new MessageApi(configuration); var result = api.Send(new Message[]{ msg1, msg2, msg3 }); Console.WriteLine(result); Console.ReadKey(); } } }
Jak použít příklad C# pro SMS:
Tento příklad C# pro SMS lze použít v jakékoli aplikaci .NET nebo .NET core. Pro použití je nutné přidat odkaz na knihovnu Ozeki.Libs.Rest do vašeho projektu. Po přidání odkazu na projekt musíte do hlavičkové části vašeho zdrojového kódu C# vložit direktivu using Ozeki.Libs.Rest;. To vám umožní používat třídy poskytované knihovnou 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.cs
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendMultipleSms.cs.zip (34.5Kb)
Co obsahuje soubor SendMultipleSms.cs?
Soubor SendMultipleSms.cs obsahuje knihovnu 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 SendMultipleSms, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.
Jak odeslat více SMS z C# (Rychlé kroky)
Pro odeslání více SMS z C#:
- Nastavte Visual Studio Community
- Stáhněte soubor Send-multiple-SMS.cs.zip
- Extrahujte .zip soubor ze složky Stažené soubory
- Otevřete soubor SendMultipleSms.sln v aplikaci Visual Studio
- Spusťte Ozeki SMS Gateway
- Vytvořte uživatele HTTP API v Ozeki
- Spusťte kód Program.cs v C# v aplikaci Visual Studio pro odeslání testovacích SMS zpráv
- Zkontrolujte složku Odeslané v Ozeki SMS Gateway
Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API
Abyste mohli odesílat SMS z C#, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód C# v aplikaci Visual Studio. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z grafického rozhraní Ozeki a ověřit, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření uživatele HTTP SMS API. 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 kód C#.
URL HTTP API pro odesílání SMS z C#
Pro odesílání SMS z C# bude vaše aplikace C# muset odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Všimněte si, že 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ěží vaše aplikace C# pro SMS, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z C#
Pro autentizaci SMS klienta v C# je třeba odeslat uživatelské jméno a heslo na server v HTTP požadavku jako řetězec zakódovaný v base64. Použitý formát je: base64(username+":"+password). V C# můžete pro toto kódování použít následující kód:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Například pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující řetězec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro odesílání SMS z C#
Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Poznamenejte, že zahrnujeme hlavičku Content-Type a Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odesílání SMS z C#
Pro odeslání SMS zpráv bude vaše aplikace v C# odesílat 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.1 Connection: Keep-Alive Content-Length: 979 Content-Type: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9511 { "messages": [ { "message_id": "49aa6f3a-5d2a-4d53-bd63-9eb9da8bb23e", "to_address": "+36201111111", "text": "Hello, World 1", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "62098595-5ff8-4ca8-8b06-54f0fb31ee12", "to_address": "+362222222", "text": "Hello, World 2", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "f5b576ff-52b8-4de0-9677-4731769198f9", "to_address": "+363333333", "text": "Hello, World 3", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP odpověď přijatá v příkladu SMS v C#
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. Bude také vracet strukturu zakódovanou v JSON, která vám poskytne užitečné detaily o odeslání zprávy.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.116 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Fri, 11 Jun 2021 13:06:37 GMT Server: 10/10.3.116 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Zprávy zařazeny k doručení.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "49aa6f3a-5d2a-4d53-bd63-9eb9da8bb23e", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World 1", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "62098595-5ff8-4ca8-8b06-54f0fb31ee12", "from_station": "%", "to_address": "+362222222", "to_station": "%", "text": "Hello, World 2", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "f5b576ff-52b8-4de0-9677-4731769198f9", "from_station": "%", "to_address": "+363333333", "to_station": "%", "text": "Hello, World 3", "create_date": "2021-06-11 13:08:26", "valid_until": "2021-06-18 13:08:26", "time_to_send": "2021-06-11 13:08:26", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Příklad SMS v C#: SendMultipleSms.sln
Jak stáhnout projekt SendMultipleSMS.sln (Video návod)V následujícím videu se dozvíte, jak můžete použít projekt SendMultipleSMS.sln v C#. Video začíná na stránce ke stažení a provede vás až k otevřenému panelu editoru kódu. Naučíte se, jak stáhnout a otevřít soubor s kódem. Video trvá pouze 54 sekund, ale obsahuje všechny potřebné informace pro úspěšné použití ukázkového souboru s kódem.
Ukázkový kód níže je součástí SendMultipleSms.sln řešení Visual Studio. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení je pouze jeden projekt: SendMultipleSms.csproj, a jeden soubor: Program.cs.
Jak použít projekt (Video návod)
V následujícím klipu uvidíte, jak můžete spustit kód SendMultipleSMS.cs v C#. Video začíná otevřeným kódem a provede vás až k záložce událostí s logem odeslané zprávy. Uvidíte, jak spustit kód a co se stane, pokud byl kód proveden. Video je o něco kratší než 1 minuta, ale obsahuje všechny informace potřebné ke spuštění projektu.
Spuštění C# SMS příkladu ve Windows
Když použijete Windows ke spuštění tohoto SMS příkladu napsaného v C#, všimnete si, že získáte o něco lepší výkon než při spuštění na Linuxu. Abyste pochopili, proč k tomu dochází, musíte mít na paměti, že C# používá pro provádění kódu framework .NET. Důvodem je, že implementace .NET ve Windows je optimalizována pro výkon, zatímco mono, implementace .NET na Linuxu, má v této oblasti ještě co dohánět.
Závěr
Tento článek ukázal kroky pro odeslání více SMS v jednom požadavku z C#. S těmito znalostmi a poskytnutými nástroji byste měli být schopni oslovit několik zákazníků jediným kódem. Ozeki SMS Gateway hraje důležitou roli v tomto procesu, protože tento program organizuje doručování zpráv. Ozeki SMS Gateway pracuje s vysokou kvalitou a výkonem, což vám umožňuje odeslat až 1000 SMS za sekundu.
Pokračujte ve svém vzdělávání na stránkách tutoriálů Ozeki, kde si můžete přečíst o tématech, jako je plánování SMS a mazání v C#.
Nyní už vám zbývá jen stáhnout Ozeki SMS Gateway a začít pracovat!
More information