Kako poslati zakazane SMS poruke iz C#
Najjednostavniji način za slanje SMS poruka iz C# je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slat ćete SMS poruke slanjem HTTP Post zahtjeva SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovu SMS poruku na telefonski broj primatelja i vratit će HTTP 200 OK odgovor na vaš zahtjev.
C# kod za slanje zakazanih SMS poruka na mobilni telefon
C# SMS primjer koda u nastavku pokazuje kako možete poslati SMS koristeći HTTP REST SMS API Ozeki SMS Gatewaya koristeći C# Ozeki.Libs.Rest biblioteku. Ova biblioteka vam je dostupna besplatno i možete je koristiti i mijenjati u bilo kojem od vaših projekata.
SendScheduledSms.csusing Ozeki.Libs.Rest; using System; namespace SendScheduledSms { 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() { ToAddress = "+36201111111", Text = "Hello, World!", TimeToSend = DateTime.Parse("2021-06-11 13:25:00") }; var api = new MessageApi(configuration); var result = api.Send(msg); Console.WriteLine(result); Console.ReadKey(); } } }
Kako koristiti C# SMS primjer:
Ovaj C# SMS primjer 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š projekt. Nakon što je referenca projekta dodana, morate staviti direktivu using Ozeki.Libs.Rest; u zaglavlje vašeg C# izvornog koda. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti klasu Message za kreiranje SMS poruke. Možete koristiti klasu MessageApi za slanje SMS poruke SMS gatewayu. SMS gateway će proslijediti vašu poruku mobilnoj mreži bilo putem bežične veze ili putem interneta.
Preuzmite SendScheduledSms.cs
Izvorni kod objašnjen u ovom članku može se besplatno preuzeti, koristiti i mijenjati.
Preuzmi: SendScheduledSms.cs.zip (34.2Kb)
Što se nalazi u datoteci SendScheduledSms.cs?
Datoteka SendScheduledSms.cs sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve alate potrebne za slanje i primanje SMS poruka. Također ćete pronaći SendScheduleSms projekt u zip datoteci, koji sadrži primjer koda koji vam pokazuje kako poslati SMS poruku. Ovaj primjer koda je naveden u nastavku.
Kako poslati zakazane SMS poruke iz C# (Jednostavne smjernice)
Da biste poslali zakazane SMS poruke iz C#:
- Instalirajte HTTP API korisnika
- Postavite Visual Studio
- Preuzmite datoteku SendScheduledSms.cs.zip
- Raspakirajte .zip datoteku iz mape Preuzimanja
- Otvorite datoteku SendScheduledSms.sln u Visual Studiju
- Dodajte Ozeki.Libs.Rest dll kao referencu
- Uredite datoteku za zakazivanje SMS poruka iz C#
- Pokrenite Ozeki SMS Gateway
- Pokrenite Program.cs u Visual Studiju za slanje SMS poruka iz C#
- Provjerite zapisnike
Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika
Da biste mogli slati SMS poruke iz C#, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu na kojem razvijate svoj C# kod u Visual Studiju. Nakon instalacije, sljedeći korak je povezivanje Ozeki SMS Gatewaya s mobilnom mrežom. Možete poslati testnu SMS poruku iz Ozeki GUI-ja kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je kreiranje HTTP SMS API korisničkog računa. Kreirajte korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez izmjena.
Nakon što je okruženje postavljeno, možete pokrenuti svoj C# kod.
HTTP API URL za slanje SMS poruka iz C#
Da biste poslali SMS poruke iz C#, vaš C# kod će morati poslati HTTP zahtjev SMS gatewayu. API URL je prikazan u nastavku. Imajte na umu da IP adresa (127.0.0.1) treba biti zamijenjena IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu na kojem se pokreće C# SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.
http://127.0.0.1:9509/api?action=rest
HTTP autentifikacija za slanje SMS poruka iz C#
Da biste autentificirali C# SMS klijenta, morate poslati korisničko ime i lozinku u base64 kodiranom stringu na poslužitelj u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U C# možete koristiti sljedeći kod za ovo kodiranje:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje
HTTP zaglavlje zahtjeva za slanje SMS-a iz C#
Za slanje SMS poruka, potrebno je uključiti sljedeće retke kao zaglavlja u HTTP zahtjev. Imajte na umu da uključujemo vrstu sadržaja i zaglavlje za autorizaciju.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP zahtjev za slanje planiranog SMS-a iz C#
Za slanje SMS-a, vaša C# aplikacija će poslati HTTP zahtjev sličan onome ispod. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. HTTP tijelo je JSON kodirani niz podataka. Sadrži broj primatelja i tekst poruke.
POST /api?action=sendmsg HTTP/1.1 Connection: Keep-Alive Content-Length: 336 Content-Type: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9511 { "messages": [ { "message_id": "212a019e-a6f5-46f8-80e5-abddb273451b", "to_address": "+36201111111", "text": "Pozdrav, svijete!", "create_date": "2021-06-11 13:20:09", "valid_until": "2021-06-18 13:20:09", "time_to_send": "2021-06-11 13:25:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP odgovor primljen u C# SMS primjeru
Nakon što SMS gateway primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor će sadržavati statusni kod, kako bi naznačio je li zahtjev za slanje SMS-a bio uspješan ili ne. Također ć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: Fri, 11 Jun 2021 13:06:37 GMT Server: 10/10.3.116 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Poruke su u redu čekanja za isporuku.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "212a019e-a6f5-46f8-80e5-abddb273451b", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Pozdrav, svijete!", "create_date": "2021-06-11 13:20:09", "valid_until": "2021-06-18 13:20:09", "time_to_send": "2021-06-11 13:25:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
C# SMS primjer: SendSMS.sln
Kako preuzeti projekt (Video tutorial)
U ovom videu, pokazat ćemo vam kako otvoriti SendSMS.sln projekt i početi raditi s njim. Video će započeti sa stranicom tutoriala i linkom za preuzimanje te će vas odvesti sve do otvorenog koda. Naučit ćete kako preuzeti projekt i kako ga otvoriti. Video traje samo 1 minutu, ali sadrži sve potrebne informacije za otvaranje SendSMS.sln projekta za planirano slanje SMS-a.
Primjer koda u nastavku dio je SendScheduledSms.sln Visual Studio rješenja. Visual studio rješenje može sadržavati više projekata i više datoteka. U ovom rješenju postoji samo jedan projekt: SendScheduledSms.csproj, i jedna datoteka: Program.cs.
Kako koristiti projekt (Video tutorial)
Ovaj video prikazuje kako koristiti SendSMS.sln projekt za planirano slanje SMS-a. Počet će s otvorenim projektom i završit će s logom poslanih poruka. Naučit ćete kako dodati vrijeme kada želite poslati poruku i kako pokrenuti kod. Nakon toga moći ćete provjeriti karticu Događaji s logom za slanje SMS-a. Video traje samo 80 sekundi, a sadrži sve važne korake. Nećete imati problema s praćenjem tutoriala.
Pokretanje C# SMS primjera na Windowsu
Kada koristite Windows za pokretanje ovog SMS primjera napisanog u C#, primijetit ćete da dobivate nešto bolju performansu nego kada ga pokrenete na Linuxu. Da biste razumjeli zašto se to događa, morate imati na umu da C# koristi .NET okvir za izvršavanje koda. To je zato što je .NET implementacija na Windowsu optimizirana za performanse, dok mono, .NET implementacija na Linuxu, još uvijek treba nadoknaditi u tom području.
Sažetak
Gornji članak objasnio je korake za planiranje SMS poruka iz C#-a. Ozeki pruža sve alate i upute, tako da završetak ovog vodiča znači da biste trebali moći planirati svoje poruke koristeći C# i Ozeki SMS Gateway.
Planiranje SMS poruka vrlo je korisno ako želite poslati informacije kupcima i također želite osigurati da imaju vremena obratiti pažnju na poruku. Na ovaj način možete osigurati da poruka neće biti zanemarena ili zaboravljena jer će se izbjeći njihova zauzeta vremena. Važno je napomenuti da Ozeki SMS Gateway nudi izvrsne mogućnosti bilježenja, tako da se pojavne greške mogu lako i brzo pronaći.
Nastavite svoje učenje na Ozekijevim stranicama s tutorijalima, gdje možete dobiti više informacija o sličnim temama, kao što su brisanje u C#-u.
Sada vam preostaje samo preuzeti Ozeki SMS Gateway i neka počne rad!