Ako poslať SMS z C#

Najjednoduchší spôsob, ako poslať SMS z C#, je použiť vstavané HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS príjemcovi a vráti HTTP 200 OK odpoveď na vašu požiadavku. (Obrázok 1)

ako poslať sms z c
Obrázok 1 - Ako poslať SMS z C#

C# kód na odoslanie SMS na mobil

Ukážka C# kódu pre SMS nižšie demonštruje, ako môžete posielať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice C# Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

SendSMS.cs
using Ozeki.Libs.Rest;
using System;

namespace SendSms
{
    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!"
            };

            var api = new MessageApi(configuration);

            var result = api.Send(msg);

            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
}

Ako použiť C# príklad pre SMS:

Tento C# príklad pre SMS môže byť použitý v akomkoľvek .NET alebo .NET core aplikácii. Na použitie je potrebné pridať Ozeki.Libs.Rest.dll ako referenciu do vášho projektu. Po pridaní referencie projektu musíte vložiť direktívu using Ozeki.Libs.Rest; do hlavičky vášho C# zdrojového kódu. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď cez bezdrôtové pripojenie alebo cez internet.

Stiahnuť SendSMS.cs

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendSms.cs.zip (33.3Kb)

Čo obsahuje súbor SendSms.cs.zip?

Súbor SendSms.cs.zip obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. V zip súbore nájdete aj projekt SendSms, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako poslať SMS. Tento ukážkový kód je uvedený nižšie. (Obrázok 2)

send sms cs adresár
Obrázok 2 - Čo je vo vnútri SendSms.cs.zip

Ako poslať SMS z C# (Jednoduché pokyny)

Na odoslanie SMS z C#:

  1. Nainštalujte HTTP API používateľa
  2. Povoľte Log komunikácie na karte Pokročilé
  3. Nastavte Visual Studio
  4. Stiahnite a rozbaľte súbor SendSms.cs.zip
  5. Otvorte súbor SendSms.sln v Visual Studio
  6. Spustite aplikáciu Ozeki SMS Gateway
  7. Spustite kód Program.cs v Visual Studio
  8. Skontrolujte logy, či bola SMS odoslaná
Nainštalujte Ozeki SMS Gateway a vytvorte HTTP API používateľa

Aby ste mohli posielať SMS z C#, najprv musíte nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj C# kód v Visual Studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, či vaše pripojenie k mobilnej sieti funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie HTTP SMS API používateľského účtu. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj C# kód.

HTTP API URL na odoslanie SMS z C#

Na odoslanie SMS z C# bude vaše C# musieť vydať HTTP požiadavku na SMS bránu. API URL je zobrazené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží C# SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.

http://127.0.0.1:9509/api?action=rest
HTTP autentifikácia na odoslanie SMS z C#

Na autentifikáciu C# SMS klienta musíte poslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Použitý formát je: base64(používateľské meno+":"+heslo). V C# môžete použiť nasledujúci kód na toto kódovanie:

var encoding = Encoding.GetEncoding("iso-8859-1");
var usernamePassword = username + ":" + password;
var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z C#

Na odoslanie SMS správ musíte zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že zaraďujeme content type a Authorization hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

HTTP požiadavka na odoslanie SMS z C#

Na odoslanie SMS bude vaša aplikácia v C# posielať HTTP požiadavku podobnú ako je uvedená nižšie. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.

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:9509

{
  "messages": [
    {
      "message_id": "b570dbae-3a05-456d-9dad-a02161b16f1c",
      "to_address": "+36201111111",
      "text": "Hello, World!",
      "create_date": "2021-06-11 11:20:02",
      "valid_until": "2021-06-18 11:20:02",
      "time_to_send": "2021-06-11 11:20:02",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    }
  ]
}
HTTP odpoveď prijatá príkladom SMS v C#

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Bude tiež vrátená štruktúra zakódovaná v JSON, ktorá poskytuje užitočné informácie o odoslaní sprá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 11:17:49 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked

{
  "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": "b570dbae-3a05-456d-9dad-a02161b16f1c",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World!",
        "create_date": "2021-06-11 11:20:02",
        "valid_until": "2021-06-18 11:20:02",
        "time_to_send": "2021-06-11 11:20:02",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
Pripojte svoju SMS bránu k mobilnej sieti a vytvorte účet HTTP API používateľa

Predpokladáme, že ste už nainštalovali Ozeki SMS Gateway, a že ste pripojili ju k mobilnej sieti. Aby ste mohli odosielať SMS na mobilné telefóny z C#, musíte nastaviť účet HTTP API používateľa v Ozeki SMS Gateway.

Vytvorte nového používateľa (Video návod)

Toto video vám ukáže, ako nastaviť nový účet HTTP API používateľa. Začína na domovskej stránke Ozeki SMS Gateway a končí na karte Udalosti nového používateľa. Video vám ukáže, ako vytvoriť a nakonfigurovať nového používateľa. Skvelé na tomto videu je, že trvá len 30 sekúnd, ale obsahuje všetky informácie, ktoré potrebujete na vytvorenie nového HTTP API používateľa.

Video 1 - Ako nastaviť účet HTTP API používateľa (Video návod)

Ako odoslať SMS z C# pomocou C# SMS API (Video návod)

Toto video vám ukáže, ako stiahnuť súbor SendSms.cs.zip z tejto stránky a ako stiahnuť jeho obsah v Visual Studio. Ak sledujete video, všimnete si, že obsah SendSms.cs zip je umiestnený na pracovnej ploche Windows. Uvidíte tiež, že dvakrát klikneme na súbor SendSms.sln, aby sme otvorili riešenie. Visual Studio zobrazí niektoré varovania, pretože súbor pochádza z internetu. Jednoducho kliknite na OK, aby ste tieto varovania ignorovali.

Video 2 - Ako stiahnuť a spustiť príkladový projekt (Video návod)

Príklad SMS v C#: SendSms.sln

Príkladový kód nižšie je súčasťou riešenia Visual Studio SendSms.sln. Riešenie Visual Studio môže obsahovať viacero projektov a viacero súborov. V tomto riešení je len jeden projekt: SendSms.csproj, a jeden súbor: Program.cs.

Obrázok 2 - SendSms.sln

Ako skontrolovať, že SMS bola prijatá HTTP používateľom (Video návod)

Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením detailov HTTP používateľa v konzole správy Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať. Video začína otvoreným kódom a končí detailami odoslanej správy. Dozviete sa, ako spustiť projekt, ako projekt vyzerá počas behu a ako vyzerá protokolový súbor po jeho spustení. Video trvá len 42 sekúnd a je ľahko pochopiteľné. Nebudete mať problém ho sledovať.

Video 3 - Ako odoslať SMS pomocou vyššie uvedeného kódu v C# (Video návod)

Ako skontrolovať, že SMS bola odoslaná do mobilnej siete

Posledným krokom pri overovaní postupu je pozrieť sa na záznamy mobilného sieťového pripojenia. Možno budete musieť pred odoslaním správy zapnúť logovanie v konfigurácii pripojenia, aby ste videli záznamy. Ak je logovanie povolené, uvidíte telefónne číslo a text správy, ktorú ste odoslali.

Testovanie, či bola požiadavka prijatá (Video návod)

V nasledujúcom videu uvidíte, ako skontrolovať, či bol SMPP klient úspešný pri odosielaní vašej správy. Dozviete sa, ako otvoriť kartu udalostí používateľa SMPP a na čo si dať pozor. Video je dlhé len 18 sekúnd, ale bude veľmi užitočné.

Video 4 - Ako skontrolovať, či bola požiadavka prijatá SMPP klientom (Video návod)

SMS prijatá na telefóne (Video návod)

V nasledujúcom videu uvidíte, ako vyzerá prichádzajúca správa odoslaná z Ozeki SMS Gateway. Začína sa domovskou obrazovkou android telefónu a končí otvorenou správou. Video je dlhé len 18 sekúnd a môžete vidieť celý proces prijatia správy.

Video 5 - Ako vyzerá prichádzajúca správa z Ozeki SMS Gateway (Video návod)

Spustenie C# SMS príkladu na Windows

Keď použijete Windows na spustenie tohto SMS príkladu napísaného v C#, všimnete si, že dostanete o niečo lepší výkon ako pri spustení na Linuxe. Aby ste pochopili, prečo sa to deje, musíte mať na pamäti, že C# používa na vykonávanie kódu .NET framework. Je to preto, lebo implementácia .NET na Windows je optimalizovaná pre výkon, zatiaľ čo mono, implementácia .NET na Linuxe, v tejto oblasti ešte niekde zaostáva.

Zhrnutie

Vyššie uvedený sprievodca vysvetlil kroky odosielania SMS z C#. Ako bolo vidieť, Ozeki vám poskytuje všetky potrebné nástroje na doručenie správ, takže ak boli kroky dôsledne dodržané, odosielanie správ z C# už nie je problém. Ozeki SMS Gateway zohráva obrovskú úlohu pri doručovaní, bez tohto programu by ste sa k mobilným používateľom nedostali. Dôležité je poznamenať, že Ozeki SMS Gateway funguje v každej krajine, takže správy je možné s týmto riešením odosielať medzinárodne.

Nezastavujte sa tu, prehliadnite si stránku s návodmi Ozeki a dozviete sa viac o prijímaní SMS v C#.

Vašou ďalšou úlohou je stiahnuť si Ozeki SMS Gateway a nechať prácu začať!

More information