Kako poslati SMS iz C#

Najenostavnejši način za pošiljanje SMS iz C# je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste pošiljali SMS sporočila z izdajo HTTP Post zahteve do SMS prehoda. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal ta SMS prejemniku na telefon in vrnil HTTP 200 OK odgovor na vašo zahtevo. (Slika 1)

kako poslati sms iz c
Slika 1 - Kako poslati SMS iz C#

C# koda za pošiljanje SMS na mobilni telefon

Spodnji primer C# SMS kode prikazuje, kako lahko pošljete SMS z uporabo http rest sms api Ozeki SMS Gateway z uporabo knjižnice C# Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših 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();
        }
    }
}

Kako uporabiti primer C# SMS:

Ta primer C# SMS lahko uporabite v kateri koli .NET ali .NET core aplikaciji. Za uporabo morate dodati Ozeki.Libs.Rest dll kot referenco v vaš projekt. Po dodajanju reference projekta morate v glavo vaše C# izvorne kode dodati using Ozeki.Libs.Rest; direktivo. To vam bo omogočilo uporabo razredov, ki jih ponuja knjižnica Ozeki.Libs.Rest. Razred Message lahko uporabite za ustvarjanje SMS. Razred MessageApi lahko uporabite za pošiljanje SMS do SMS prehoda. SMS prehod bo vaše sporočilo posredoval v mobilno omrežje prek brezžične povezave ali prek interneta.

Prenesite SendSMS.cs

Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendSms.cs.zip (33,3Kb)

Kaj je v datoteki SendSms.cs.zip?

Datoteka SendSms.cs.zip vsebuje knjižnico Ozeki.Libs.Rest, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V zip datoteki boste našli tudi projekt SendSms, ki vsebuje primer kode, ki vam pokaže, kako poslati SMS. Ta primer kode je naveden spodaj. (Slika 2)

mapa send sms cs
Slika 2 - Kaj je v SendSms.cs.zip

Kako poslati SMS iz C# (Preprosta navodila)

Za pošiljanje SMS iz C#:

  1. Namestite uporabnika HTTP API
  2. Omogočite beleženje komunikacijskih dogodkov na zavihku Napredno
  3. Nastavite Visual Studio
  4. Prenesite in razširite datoteko SendSms.cs.zip
  5. Odprite datoteko SendSms.sln v Visual Studiu
  6. Zaženite aplikacijo Ozeki SMS Gateway
  7. Zaženite kodo Program.cs v Visual Studiu
  8. Preverite dnevnike, da vidite, ali je bil SMS poslan
Namestite Ozeki SMS Gateway in ustvarite uporabnika HTTP API

Da lahko pošiljate SMS iz C#, morate najprej namestiti Ozeki SMS Gateway. SMS prehod lahko namestite na isti računalnik, kjer razvijate svojo C# kodo v Visual Studiu. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testni sms iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Zadnji korak pri pripravi vašega okolja je ustvarjanje uporabnika HTTP sms api. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da bo primer deloval brez sprememb.

Ko je okolje nastavljeno, lahko zaženete svojo C# kodo.

URL HTTP API za pošiljanje SMS iz C#

Za pošiljanje SMS iz C#, bo vaša C# aplikacija morala izdati HTTP zahtevo do SMS prehoda. API URL je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS prehoda. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče vaša C# SMS aplikacija, je to lahko 127.0.0.1. Če je nameščen na drugem računalniku, mora biti to IP naslov tega računalnika.

http://127.0.0.1:9509/api?action=rest
HTTP avtentikacija za pošiljanje SMS iz C#

Za avtentikacijo C# SMS odjemalca morate poslati uporabniško ime in geslo v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(uporabniško_ime+":"+geslo). V C# lahko za to kodiranje uporabite naslednjo kodo:

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

Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste dobili naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje

Glava HTTP zahteve za pošiljanje SMS iz C#

Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo content type in Authorization glavo.

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

HTTP zahteva za pošiljanje SMS iz C#

Za oddajo SMS bo vaša aplikacija v C# poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del HTTP glave in del HTTP telesa. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje številko prejemnika in besedilo sporočila.

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 odziv, prejet v primeru SMS v C#

Ko SMS prehod prejme to zahtevo, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS uspešna ali ne. Prav tako bo vrnil strukturo, kodirano v JSON, ki vam bo nudila koristne podrobnosti o oddaji sporočila.

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"
      }
    ]
  }
}

Povežite svoj SMS prehod z mobilnim omrežjem in ustvarite uporabniški račun HTTP API

Predvidevamo, da ste že namestili Ozeki SMS Gateway, in da ste povezali z mobilnim omrežjem. Da boste lahko pošiljali SMS na mobilni telefon iz C#, morate nastaviti uporabniški račun HTTP API v Ozeki SMS Gateway.

Ustvarite novega uporabnika (Video vadnica)

Ta video vas seznani z nastavitvijo novega uporabniškega računa HTTP API. Začne se z domačo stranjo Ozeki SMS Gateway in konča z zavihtkom Dogodki novega uporabnika. Video vam bo pokazal, kako ustvariti in konfigurirati novega uporabnika. Odlična stvar pri tem videu je, da je dolg le 30 sekund, vsebuje pa vse informacije, ki jih potrebujete za ustvarjanje novega uporabnika HTTP API.

Video 1 - Kako nastaviti uporabniški račun HTTP API (Video vadnica)

Kako poslati SMS iz C# z uporabo C# SMS API (Video vadnica)

Ta video vam pokaže, kako prenesti datoteko SendSms.cs.zip s te strani in kako prenesti njene vsebine v Visual Studio. Če gledate video, boste opazili, da so vsebine SendSms.cs zip postavljene na namizje Windows. Videli boste tudi, da dvokliknemo na datoteko rešitve SendSms.sln, da odpremo rešitev. Visual Studio bo prikazal nekaj opozoril, ker datoteka prihaja iz spleta. Preprosto kliknite OK, da se izognete tem opozorilom.

Video 2 - Kako prenesti in zagnati primer projekta (Video vadnica)

Primer SMS v C#: SendSms.sln

Spodnji primer kode je del rešitve Visual Studio SendSms.sln. Rešitev Visual Studio lahko vsebuje več projektov in več datotek. V tej rešitvi je samo en projekt: SendSms.csproj, in ena datoteka: Program.cs.

Slika 2 - SendSms.sln

Kako preveriti, ali je SMS sprejel uporabnik HTTP (Video vadnica)

Po oddaji SMS je dobro preveriti vaš SMS prehod, da vidite, kaj je prejel. Dnevnik lahko preverite tako, da odprete podrobnosti uporabnika HTTP iz konzole za upravljanje Ozeki SMS Gateway. Naslednji video vam pokaže, kaj morate iskati. Video se bo začel z odprto kodo in končal s podrobnostmi poslanega sporočila. Naučili se boste, kako zagnati projekt, kako izgleda projekt med izvajanjem in kako izgleda dnevniški zapis po tem. Video je dolg le 42 sekund in ga je enostavno razumeti. Ne boste imeli težav s sledenjem.

Video 3 - Kako poslati SMS s kodo C# zgoraj (Video vadnica)

Zadnji korak pri preverjanju postopka je pregled dnevnikov mobilnega omrežnega povezovanja. Morda boste morali vklopiti beleženje v nastavitvah povezave, preden pošljete sporočilo, da boste videli dnevnike. Če je beleženje omogočeno, boste videli telefonsko številko in besedilo poslanega sporočila.

Preizkusite, ali je bila zahteva sprejeta (Video vadnica)

V naslednjem videoposnetku boste videli, kako preveriti, ali je bil SMPP odjemalec uspešen pri pošiljanju vašega sporočila. Naučili se boste, kako odpreti zavihek dogodkov uporabnika SMPP in kaj iskati. Videoposnetek je dolg le 18 sekund, vendar bo zelo koristen.

Video 4 - Kako preizkusiti, ali je bila zahteva sprejeta s strani SMPP odjemalca (Video vadnica)

SMS prejet na telefonu (Video vadnica)

V naslednjem videoposnetku boste videli, kako izgleda dohodno sporočilo, poslano iz Ozeki SMS prehoda. Začelo se bo z domačim zaslonom android telefona in končalo z odprtim sporočilom. Dolgo je le 18 sekund in lahko vidite celoten proces prejemanja sporočila.

Video 5 - Kako izgleda dohodno sporočilo iz Ozeki SMS prehoda (Video vadnica)

Zagon C# SMS primera v sistemu Windows

Ko uporabljate Windows za zagon tega SMS primera, napisanega v C#, boste opazili, da dobite nekoliko boljšo zmogljivost kot pri zagonu v sistemu Linux. Da bi razumeli zakaj se to zgodi, morate upoštevati, da C# uporablja ogrodje .NET za izvajanje kode. To je zato, ker je izvedba .NET v sistemu Windows optimizirana za zmogljivost, medtem ko ima mono, izvedba .NET v sistemu Linux, na tem področju še nekaj za ujeti.

Povzetek

Zgornji vodnik je razložil korake pošiljanja SMS iz C#. Kot je bilo razvidno, vam Ozeki ponuja vsa orodja, potrebna za dostavo sporočil, tako da, če ste skrbno sledili korakom, pošiljanje sporočil iz C# ni več težava. Ozeki SMS prehod igra ključno vlogo pri dostavi, brez tega programa ne bi mogli doseči mobilnih uporabnikov. Pomembno je omeniti, da Ozeki SMS prehod deluje v kateri koli državi, zato je mogoče s to rešitvijo pošiljati sporočila mednarodno.

Ne končajte branja tukaj, obiščite Ozekijevo stran z vadnicami in izvedite več o prejemanju SMS v C#.

Naslednja stvar, ki jo morate storiti, je prenesite Ozeki SMS prehod in začnite z delom!

More information