Kako poslati načrtovana SMS sporočila iz C#

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

c načrtovanje sms za prihodnjo dostavo
Slika 1 - C# načrtovanje SMS za prihodnjo dostavo

C# koda za pošiljanje načrtovanih sms na mobilne naprave

Spodnji vzorec C# sms kode prikazuje, kako lahko pošiljate SMS z uporabo http rest sms api-ja 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.

SendScheduledSms.cs
using 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 uporabiti C# sms primer:

Ta C# sms primer 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 direktivo using Ozeki.Libs.Rest;. 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 mobilnemu omrežju prek brezžične povezave ali prek interneta.

Prenesite SendScheduledSms.cs

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

Kaj je v datoteki SendScheduledSms.cs?

Datoteka SendScheduledSms.cs 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 SendScheduleSms, ki vsebuje primer kode, ki vam pokaže, kako poslati SMS. Ta primer kode je naveden spodaj.

mapa za pošiljanje načrtovanih sms cs
Slika 2 - Kaj je v SendScheduledSms.cs.zip

Kako poslati načrtovana SMS sporočila iz C# (Preproste smernice)

Za pošiljanje načrtovanih SMS sporočil iz C#:

  1. Namestite uporabnika HTTP API
  2. Nastavite Visual Studio
  3. Prenesite datoteko SendScheduledSms.cs.zip
  4. Razširite .zip datoteko iz mape Prenosi
  5. Odprite datoteko SendScheduledSms.sln v Visual Studiu
  6. Dodajte Ozeki.Libs.Rest dll kot referenco
  7. Uredite datoteko za načrtovanje SMS iz C#
  8. Zaženite Ozeki SMS Gateway
  9. Zaženite Program.cs v Visual Studiu za pošiljanje SMS iz C#
  10. Preverite dnevnike
Namestite Ozeki SMS Gateway in ustvarite uporabnika HTTP API

Za pošiljanje 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 testno sms iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Zadnji korak za pripravo vašega okolja je ustvarjanje uporabnika HTTP sms api. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da primer deluje 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 uporabniško ime in geslo poslati v base64 kodiranem nizu do strežnika 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

HTTP glavnik zahteve za pošiljanje SMS iz C#

Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glavnike v HTTP zahtevo. Upoštevajte, da vključujemo vrsto vsebine in glavnik za avtorizacijo.

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

HTTP zahteva za pošiljanje načrtovanega 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 glavnika in del HTTP telesa. HTTP telo 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:9511

{
  "messages": [
    {
      "message_id": "212a019e-a6f5-46f8-80e5-abddb273451b",
      "to_address": "+36201111111",
      "text": "Hello, World!",
      "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 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. Vrnil bo tudi strukturo, kodirano v JSON, ki vam bo zagotovila 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 13:06:37 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "Sporočila v čakalni vrsti za dostavo.",
  "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": "Hello, World!",
        "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"
      }
    ]
  }
}

Primer SMS v C#: SendSMS.sln

Kako prenesti projekt (Video vadnica)

V tem videu vam bomo pokazali, kako odpreti projekt SendSMS.sln in začeti delati z njim. Video se bo začel z vadnično stranjo in povezavo za prenos ter vas popelje vse do odprte kode. Naučili se boste, kako prenesti projekt in kako ga odpreti. Video traja le 1 minuto, vsebuje pa vse potrebne informacije, da lahko odprete projekt SendSMS.sln za pošiljanje načrtovanih SMS-ov.

Video 1 - Kako prenesti in odpreti zgornjo rešitev (Video vadnica)

Spodnja primer kode je del vizualne rešitve SendScheduledSms.sln. Vizualna rešitev lahko vsebuje več projektov in več datotek. V tej rešitvi je samo en projekt: SendScheduledSms.csproj, in ena datoteka: Program.cs.

Kako uporabljati projekt (Video vadnica)

Ta video vam predstavlja, kako uporabljati projekt SendSMS.sln za pošiljanje načrtovanih SMS-ov. Začel se bo z odprtim projektom in končal z dnevnikom poslanih sporočil. Naučili se boste, kako dodati čas, ko želite poslati sporočilo, in kako zagnati kodo. Po tem boste lahko preverili zavihek Dogodki z dnevnikom za pošiljanje SMS-ov. Video traja le 80 sekund in vsebuje vse pomembne korake. Ne boste imeli težav pri sledenju vadnici.

Video 2 - Kako poslati načrtovan SMS z uporabo zgornje rešitve (Video vadnica)

Slika 3 - SendScheduledSms.sln

Zagon primera SMS v C# v sistemu Windows

Ko uporabljate Windows za zagon tega primera SMS, 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.

Zgoraj navedeni članek razlaga korake za načrtovanje SMS sporočil iz C#. Ozeki ponuja vsa orodja in navodila, zato bi morali po zaključku tega vodiča biti sposobni načrtovati svoja sporočila z uporabo C# in Ozeki SMS Gateway.

Načrtovanje SMS sporočil je zelo uporabno, če želite poslati informacije strankam in hkrati zagotoviti, da bodo imele dovolj časa, da sporočilo opazijo. Na ta način se lahko izognete temu, da bi bilo sporočilo prezrto ali pozabljeno, saj se boste izognili njihovim zaposlenim uram. Pomembno je omeniti, da Ozeki SMS Gateway ponuja odlične možnosti beleženja, tako da lahko nastale napake enostavno in hitro odkrijete.

Nadaljujte s študijem na Ozekijevih učnih straneh, kjer lahko pridobite več informacij o podobnih temah, kot sta brisanje v C#.

Sedaj vam preostane le še, da prenesete Ozeki SMS Gateway in začnete z delom!

More information