C# brisanje SMS-a sa SMS gateway-a
Najjednostavniji način za slanje SMS-a iz C#-a je korišćenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gateway-a. Kada koristite ovaj API, slaćete SMS poruke tako što ćete poslati HTTP Post zahtev ka SMS gateway-u. HTTP Post zahtev će sadržati poruku formatiranu u json formatu. SMS gateway će poslati ovaj SMS primaocu na telefon, i vratiće HTTP 200 OK odgovor na vaš zahtev.
C# SMS primer koda ispod demonstrira kako možete primati SMS koristeći HTTP REST SMS API Ozeki SMS Gateway-a koristeći C# Ozeki.Libs.Rest biblioteku. Ova biblioteka vam je dostupna besplatno, i možete je koristiti i modifikovati u bilo kom od vaših projekata.
Program.cs
using System; using Ozeki.Libs.Rest; namespace DeleteSms.cs { 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 msg = new Message() { ID = "a85d6e16-f888-4306-bd2a-8f8a119d8abf" }; var api = new MessageApi(configuration); var result = api.Delete(Folder.Inbox, msg); Console.WriteLine(result); Console.ReadKey(); } } }
Kako koristiti C# SMS primer:
Ovaj C# SMS primer može se koristiti u bilo kojoj .NET ili .NET core aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest dll kao referencu u vaš projekat. Nakon dodavanja reference, morate staviti direktivu using Ozeki.Libs.Rest; u zaglavlje vašeg C# izvornog koda. Ovo će vam omogućiti da koristite klase koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti klasu MessageApi da biste primili SMS sa SMS gateway-a. SMS gateway će proslediti poruku vam bilo putem bežične veze ili putem interneta.
Preuzmi Delete-SMS.cs
Izvorni kod objašnjen u ovom članku može se preuzeti, koristiti i modifikovati besplatno.
Preuzmi: DeleteSms.cs.zip (47.6Kb)
Delete-SMS.cs.zip fajl sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve alate potrebne za slanje, primanje i brisanje SMS poruka. Takođe ćete naći DeleteSms projekat u zip fajlu, koji sadrži primer koda koji pokazuje vam kako da obrišete SMS. Ovaj primer koda je prikazan ispod.
Da biste obrisali SMS koristeći C#:
- Podesite Visual Studio Community
- Preuzmite DeleteSms.cs.zip fajl
- Raspakujte .zip fajl iz Preuzimanja
- Otvorite DeleteSms.cs.sln fajl u Visual Studio-u
- Pokrenite Ozeki SMS Gateway
- Izaberite http_user u kartici Korisnici i aplikacije
- Proverite detalje poruke u Inbox-u
- Unesite ID SMS poruke u Program.cs kod
- Pokrenite Program.cs da biste obrisali SMS koristeći C#
Da biste mogli da šaljete SMS iz C#-a, prvo morate instalirati Ozeki SMS Gateway. SMS gateway može biti instaliran na istom računaru gde razvijate svoj C# kod u Visual Studio-u. Nakon instalacije, sledeći korak je da povežete Ozeki SMS Gateway sa mobilnom mrežom. Možete poslati test SMS iz Ozeki GUI-a da biste potvrdili da vaša mobilna mrežna veza radi. Poslednji korak za pripremu vašeg okruženja je da kreirate HTTP SMS API korisnički nalog. Kreirajte korisnika sa korisničkim imenom "http_user", i lozinkom "qwe123" kako biste omogućili da primer radi bez modifikacija.
Nakon što je okruženje podešeno, možete pokrenuti svoj C# kod.
HTTP API URL za slanje SMS-a iz C#-aDa biste poslali SMS iz C#-a, vaš C# će morati da pošalje HTTP zahtev ka SMS gateway-u. API URL je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba da bude zamenjena sa IP adresom vašeg SMS gateway-a. Ako je Ozeki SMS Gateway instaliran na istom računaru gde se pokreće C# SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računaru, treba da bude IP adresa tog računara.
http://127.0.0.1:9509/api?action=rest
Da biste autentifikovali C# SMS klijent, morate poslati korisničko ime i lozinku u base64 kodiranom stringu ka serveru u HTTP zahtevu. Format koji se koristi je: base64(korisničko_ime+":"+lozinka). U C#-u možete koristiti sledeći kod za ovo kodiranje:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Na primer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobićete sledeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Da biste poslali
HTTP zahtev za brisanje SMS-a sa C#
Da biste obrisali SMS, vaša C# aplikacija će poslati HTTP zahtev sličan onome ispod. Imajte na umu da ovaj zahtev sadrži deo HTTP zaglavlja i deo HTTP tela. Telo HTTP-a je JSON kodirani niz podataka. Sadrži broj primaoca i tekst poruke.
POST /api?action=deletemsg HTTP/1.1 Connection: Keep-Alive Content-Length: 73 Content-Type: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "folder": "inbox", "message_ids": [ "3a922414-458f-4866-a8ee-f053d1132a6b" ] }
Da biste poslali SMS poruke, potrebno je da uključite sledeće linije kao zaglavlja u HTTP zahtevu. Imajte na umu da uključujemo tip sadržaja i zaglavlje za autorizaciju.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Nakon što SMS gateway primi ovaj zahtev, generisaće HTTP odgovor. HTTP odgovor će sadržati statusni kod, kako bi ukazao da li je zahtev za slanje SMS-a bio uspešan ili ne. Takođe će vratiti JSON kodiranu strukturu koja vam pruža korisne detalje o slanju poruke.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.116 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Mon, 07 Jun 2021 14:10:25 GMT Server: 10/10.3.116 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "message_ids": [ "3a922414-458f-4866-a8ee-f053d1132a6b" ] } }
Ovaj video vam pokazuje kako da kreirate novi .Net core konzolni projekat u Visual Studio-u, kako da ga nazovete DeleteSms.sln. Nakon što je rešenje kreirano, možete primetiti da je DeleteSms.csproj dodat u rešenje, i podrazumevano se otvara Program.cs fajl. Možete preimenovati Program.cs u Program.cs ako želite. Takođe ćete videti u videu kako se primer koda ispod može kopirati u Program.cs fajl, i kako se može kompajlirati i izvršiti.
C# SMS primer: DeleteSms.slnKako preuzeti fajl projekta (Video tutorijal)
U ovom videu, naučićete kako da preuzmete i pokrenete primer projekta DeleteSms.sln. Video će početi sa stranicom za preuzimanje i završiće se sa otvorenim editorom koda. Naučićete kako da preuzmete i šta da radite sa fajlom projekta. Pokazaćemo vam koji softver treba da koristite. Ovaj video traje samo 1 minut ali je veoma detaljan, tako da nećete imati problema sa praćenjem koraka.
Primer koda ispod je deo DeleteSms.sln Visual Studio rešenja. Visual studio rešenje može sadržati više projekata i više fajlova. U ovom rešenju postoje samo dva projekta: DeleteSms.csproj, Ozeki.Libs.Rest.csproj i jedan fajl: Program.cs.
U sledećem videu, naučićete kako da pokrenete primer koda i kako da proverite log procesa. Počeće sa pokretanjem Ozeki SMS Gateway-a i odvešće vas do praznog prijemnog sandučeta nakon brisanja SMS-a. Naučićete kako da dobijete ID poruke i kako da koristite kod za brisanje poruke. Video traje samo 1:38 i sadrži sve informacije koje su vam potrebne za brisanje poruke koristeći ovaj projekat.
Pokretanje C# SMS primera na Windows-u
Kada koristite Windows za pokretanje ovog SMS primera napisanog u C#, primetićete da dobijete malo bolje performanse, nego kada ga pokrenete na Linux-u. Da biste razumeli zašto se ovo dešava, morate imati na umu da C# koristi .NET framework za izvršavanje koda. Ovo je zato što je .NET implementacija na Windows-u optimizovana za performanse, dok mono, .NET implementacija na Linux-u, ima još nešto da dostigne u ovom polju.
RezimeVodič je objasnio korake brisanja SMS-a iz Ozeki SMS Gateway-a koristeći C#. Ako je članak pažljivo pročitan, brisanje poruka iz Ozeki SMS Gateway-a izgleda veoma lako sa C# kodom. Ovo rešenje savršeno pokazuje koliko je jednostavno kontrolisati i konfigurisati Ozeki SMS Gateway sa C# komandama. Ozeki SMS Gateway vam omogućava da upravljate SMS troškovima i da pratite promet poruka. Sa ovom funkcijom brisanja, možete brzo ukloniti neželjene poruke.
Da biste nastavili čitanje, posetite Ozeki-ove tutorijalne stranice, gde možete naći informacije o sličnim temama, kao što su zakazivanje SMS-ova u C#.
Sve što vam sada preostaje je da preuzmete Ozeki SMS Gateway i neka rad počne!
More information