Primanje SMS-a u C#

Sledeći vodič će pokazati kako možete dobiti poruke primljene putem vašeg SMS Gateway-a pomoću C# aplikacije. Ovaj C# primer koristi HTTP zahteve da zatraži poruke iz vašeg inbox foldera u SMS Gateway-u. SMS Gateway prikuplja sve ove pristigle poruke i šalje ih C# aplikaciji kao odgovor na HTTP zahtev. Vodič takođe pokazuje kako možete koristiti HTTP server konekciju za simuliranje dolaznih poruka. Neće vam trebati više od pet minuta da završite ovaj vodič, pa krenimo odmah.

Šta je C# SMS API?

C# SMS API je odličan alat za slanje SMS poruka iz bilo koje vrste C# projekta ili aplikacije iniciranjem HTTP zahteva i prosleđivanjem istih na SMS Gateway.

Preduslovi Primanje SMS-a u C#
  • Otvorite Visual Studio
  • Kreirajte novi Console App projekat
  • Kopirajte C# primer sa ove stranice
  • Nalepite kod u vašu C# aplikaciju
  • Otvorite Ozeki 10 SMS Gateway
  • Izaberite HTTP Server konekciju
  • Pošaljite test poruke koristeći HTTP Server konekciju
  • Pokrenite vašu C# aplikaciju da dobijete sve dolazne poruke

Video 1 - Kako primiti SMS u C# (Video tutorijal)

Primer C# koda ispod je sposoban da prikupi sve dolazne poruke koristeći HTTP zahteve. Ovaj primer koda je slobodan za korišćenje, možete ga modifikovati i implementirati u vaš sopstveni projekat ili aplikaciju. Ako želite samo da testirate rešenje, potrebno je da pratite korak-po-korak uputstva ispod ili da pogledate video iznad koji demonstrira kako možete koristiti ovaj primer C# koda.

using System;
using System.Net.Http;
using System.Xml;
using System.Threading.Tasks;

namespace ReceiveSMS
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var username = "john";
            var password = "Xc3ffs";
            var httpUrl = "https://127.0.0.1:9508/";
            var folder = "inbox";
            var limit = "3";

            var sendString = $"{httpUrl}api?action=receivemessage&username=" +
                 $"{username}&password={password}&folder={folder}&limit=" +
                 $"{limit}&afterdownload=delete";

            Console.WriteLine("Sending request: " + sendString + "\n");

            var handler = new HttpClientHandler();
            handler.ServerCertificateCustomValidationCallback =
                (sender, cert, chain, sslPolicyErrors) => { return true; };

            using var client = new HttpClient(handler);

            try
            {
                var response = await client.GetStringAsync(sendString);
                Console.WriteLine("Http response received: ");
                DisplayMessages(response);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
        static void DisplayMessages(string response)
        {
            var xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(response);
            var nodes = xmlDoc.SelectNodes("response/data/message");

            foreach (XmlNode node in nodes)
            {
                try
                {
                    var sender = node.SelectSingleNode("originator").InnerText;
                    var text = node.SelectSingleNode("messagedata").InnerText;
                    DisplayMessage(sender, text);
                }
                catch (System.NullReferenceException e)
                {
                    Console.WriteLine("The inbox is empty!");
                } 
            }
        }
        static void DisplayMessage(string sender, string text)
        {
            Console.WriteLine($"{sender}: {text}");
        }

    }
}
Korak 1 - Otvorite Visual Studio

Prvi korak vodiča je kreiranje C# aplikacije u koju možete smestiti primer koda sa ove stranice. Najbolji alat za kreiranje C# aplikacije je Visual Studio. Možete ga preuzeti iz sekcije Preduslovi ako ga već nemate. Ako je Visual Studio već instaliran na vašem računaru, samo ga trebate otvoriti sa desktopa kao što možete videti na Slici 1.

otvorite visual studio
Slika 1 - Otvaranje Visual Studio 2019

Корак 2 - Креирајте нови пројекат

Након што отворите Visual Studio, појавиће се прозор добродошлице. Можете отворити недавни пројекат или креирати потпуно нови из овог прозора. Као што је приказано на Слици 2, сада требате да креирате нови пројекат, тако да једноставно изаберите ову опцију из тог прозора.

креирајте нови пројекат у visual studio
Слика 2 - Креирање новог пројекта у Visual Studio

Корак 3 - Изаберите Console App

Након што сте одлучили да креирате нови пројекат, следећи прозор приказује све доступне опције које можете изабрати ако желите да креирате нову C# апликацију. Да бисте пратили овај водич, потребно је да креирате једноставну Console App, тако да, као што је приказано на Слици 3, изаберите ту опцију и кликните на 'Next'.

изаберите console app
Слика 3 - Изаберите Console App

Корак 4 - Конфигуришите ваш пројекат

Пре него што коначно креирате Console App пројекат, потребно је да извршите неке конфигурације на пројекту. Ово су веома једноставне конфигурације; требате само да дате име вашем пројекту као што можете видети на Слици 4. У овом прозору можете такође одредити локацију фајлова пројекта. Ако сте завршили са свим конфигурацијама, једноставно кликните на 'Create' да бисте креирали Console App пројекат.

конфигуришите име пројекта
Слика 4 - Конфигурисање имена пројекта

Корак 5 - Унесите пример кода у пројекат

Креирани пројекат садржи један C# фајл, који је Program.cs. Ово је фајл у који треба да унесете пример кода. За то, једноставно скролујте до примера кода, означите цео код и притисните Ctrl+C на тастатури. Ова операција је управо копирала код у ваш clipboard. Након тога, идите до фајла Program.cs, избришите код који се налази овде, и као на Слици 5, притисните Ctrl+V да бисте налепили код у тај фајл.

замените код у visual studio
Слика 5 - Замена кода у Visual Studio

Корак 6 - Симулирајте неке долазне поруке

Следећа ствар коју треба да урадите је да сачекате неке долазне поруке у вашем SMS Gateway-у. Ово може потрајати, тако да можете изабрати опцију да симулирате неке поруке користећи HTTP Server конекцију. Дакле, као што је приказано на Слици 6, једноставно отворите HTML форму HTTP Server конекције. Ова форма пружа могућност креирања неких порука. Требате само да укуцате 'Ozeki' као примаоца и упишете неки текст у поље 'MessageData'. Да бисте послали тест поруку, кликните на 'Submit'.

симулирајте неке долазне sms у ozeki ten
Слика 6 - Симулирање долазних SMS порука у Ozeki 10

Корак 7 - Покрените пример C# кода

Последњи корак који треба да извршите је да покренете C# код и добијете примљене поруке. Да бисте то урадили, кликните на дугме 'Run' у Visual Studio-у као што можете видети на Слици 7. Овим ће се појавити конзолни прозор који исписује HTTP захтев који је ваша апликација послала. Такође исписује одговорну поруку из SMS Gateway-а, која је листа свих порука које се налазе у вашем инбокс фолдеру.

покрените код за пријем sms
Слика 7 - Покретање C# кода за пријем SMS порука

Закључак

Овај туторијал вам је дао све неопходне информације о томе како можете примати SMS поруке у C#-у. Примање порука у C#-у значи да можете имплементирати функционалност пријема порука у било ком вашем C# пројекту. Ово ће резултирати свестраним и широко коришћеним пројектом. Ово решење се окреће око Ozeki SMS Gateway-а, што значи да можете пратити поруке док пролазе кроз систем и лако открити грешке захваљујући могућности ниског нивоа логирања Ozeki SMS Gateway-а.

Обавезно не заустављајте се овде у процесу учења. Слободно погледајте друге чланке на Ozeki веб сајту. На пример, почните са слањем SMS порука користећи C#. Још један добар чланак за учење је како да симулирате долазне поруке за тестне сврхе.

Следећа ствар коју треба да урадите је да преузмете Ozeki SMS Gateway и почнете са развојем одмах!

More information