Kako poslati više SMS poruka iz Visual Basic-a

Najjednostavniji način za slanje SMS poruka iz Visual Basic-a je korišćenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gateway-a. Kada koristite ovaj API, slaćete SMS poruke tako što ćete poslati HTTP Post zahtev ka SMS gateway-u. HTTP Post zahtev će sadržati poruku formatiranu u json formatu. SMS gateway će poslati ovu SMS poruku na telefonski broj primaoca, i vratiće HTTP 200 OK odgovor na vaš zahtev.

slanje više SMS poruka iz visual basic-a
Slika 1 - Slanje više SMS poruka iz Visual Basic-a

Visual Basic kod za slanje više SMS poruka na mobilne telefone

Visual Basic SMS primer koda ispod demonstrira kako možete poslati SMS koristeći http rest SMS API Ozeki SMS Gateway-a koristeći C# Ozeki.Libs.Rest biblioteku. Ova biblioteka vam je dostupna besplatno, i možete je koristiti i modifikovati u bilo kom od vaših projekata.

Program.vb
Imports Ozeki.Libs.Rest

Module Program
    Sub Main(args As String())

        Dim configuration As New Configuration
        configuration.Username = "http_user"
        configuration.Password = "qwe123"
        configuration.ApiUrl = "http://127.0.0.1:9509/api"

        Dim msg1 As New Message
        msg1.ToAddress = "+36201111111"
        msg1.Text = "Zdravo, svete 1"

        Dim msg2 As New Message
        msg2.ToAddress = "+36202222222"
        msg2.Text = "Zdravo, svete 2"

        Dim msg3 As New Message
        msg3.ToAddress = "+36203333333"
        msg3.Text = "Zdravo, svete 3"

        Dim api = New MessageApi(configuration)

        Dim result = api.Send({msg1, msg2, msg3})

        Console.WriteLine(result)
        Console.ReadKey()

    End Sub
End Module

Kako koristiti Visual Basic SMS primer:

Ovaj Visual Basic SMS primer 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š projekat. Nakon što je referenca projekta dodata, morate staviti using Ozeki.Libs.Rest; direktivu u zaglavlje vašeg Visual Basic izvornog koda. Ovo će vam omogućiti da koristite klase koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti Message klasu za kreiranje SMS poruke. Možete koristiti MessageApi klasu za slanje SMS-a ka SMS gateway-u. SMS gateway će proslediti vašu poruku mobilnoj mreži bilo preko bežične veze ili preko interneta.

Preuzmite SendMultipleSms.vb

Izvorni kod objašnjen u ovom članku može se preuzeti, koristiti i modifikovati besplatno.
Preuzimanje: SendMultipleSms.vb.zip (47.5Kb)

Šta se nalazi u SendMultipleSms.vb fajlu?

SendMultipleSms.vb fajl sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve alate potrebne za slanje i primanje SMS poruka. Takođe ćete naći SendMultipleSms projekat u zip arhivi, koji sadrži primer koda koji pokazuje kako poslati SMS. Ovaj primer koda je naveden ispod.

Slika 2 - Šta se nalazi unutar SendMultipleSms.vb.zip

Kako poslati SMS iz Visual Basic-a (Brzi koraci)

Da biste poslali SMS iz Visual Basic-a:

  1. Instalirajte Ozeki SMS Gateway
  2. Povežite Ozeki SMS Gateway sa mobilnom mrežom
  3. Pošaljite test SMS iz Ozeki GUI-a
  4. Kreirajte HTTP SMS API korisnika
  5. Pokrenite Visual Studio
  6. Kreirajte rešenje pod nazivom SendMultipleSms.sln
  7. Dodajte Visual Basic konzolni projekat: SendMultipleSms.vbproj
  8. Stavite kod u Program.vb ili SendMultipleSms.vb
  9. Kreirajte Visual Basic funkciju pod nazivom Send_SMS
  10. Kreirajte SMS Json podatke
  11. Kreirajte HTTP zahtev za slanje SMS-a
  12. Pročitajte HTTP odgovor
  13. Ispišite odgovor na konzolu
  14. Proverite logove u SMS gateway-u
Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika

Da biste mogli da šaljete SMS poruke iz Visual Basic-a, prvo morate instalirati Ozeki SMS Gateway. SMS gateway može biti instaliran na istom računaru gde razvijate svoj Visual Basic kod u Visual Studio-u. Nakon instalacije, sledeći korak je da povežete Ozeki SMS Gateway sa mobilnom mrežom. Možete poslati test SMS iz Ozeki GUI-a da potvrdite da vaša mobilna mrežna veza radi. Poslednji korak za pripremu vašeg okruženja je da kreirate HTTP SMS API korisnika. Kreirajte korisnika sa korisničkim imenom "http_user", i lozinkom "qwe123" kako bi primer radio bez modifikacija.

Nakon što je okruženje postavljeno, možete pokrenuti svoj Visual Basic kod.

HTTP API URL za slanje SMS-a iz Visual Basic-a

Da biste poslali SMS iz Visual Basic-a, vaš Visual Basic će morati da pošalje HTTP zahtev ka SMS gateway-u. API URL je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba da bude zamenjena sa IP adresom vašeg SMS gateway-a. Ako je Ozeki SMS Gateway instaliran na istom računaru gde se pokreće Visual Basic SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računaru, treba da bude IP adresa tog računara.

http://127.0.0.1:9509/api?action=rest

HTTP аутентификација за слање SMS-а из Visual Basic-а

Да бисте аутентификовали Visual Basic SMS клијент, потребно је да пошаљете корисничко име и лозинку у base64 кодираном стрингу на сервер у HTTP захтеву. Користи се следећи формат: base64(username+":"+password). У C#-у можете користити следећи код за ово кодирање:

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

На пример, ако кодирате корисничко име 'http_user' и лозинку 'qwe123', добићете следећи base64 кодирани стринг: aHR0cF91c2VyOnF3ZTEyMw==. Да бисте послали

HTTP заглавље захтева за слање SMS-а из Visual Basic-а

Да бисте послали SMS поруке, потребно је да укључите следеће линије као заглавља у HTTP захтев. Обратите пажњу да укључујемо Content-Type и Authorization заглавље.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP захтев за слање SMS-а из Visual Basic-а

Да бисте послали SMS, ваша Visual Basic апликација ће послати HTTP захтев сличан овом испод. Обратите пажњу да овај захтев садржи део са HTTP заглављима и део са HTTP телом. HTTP тело је JSON кодирани стринг података. Он садржи број примаоца и текст поруке.

POST /api?action=sendmsg HTTP/1.1
Connection: Keep-Alive
Content-Length: 983
Content-Type: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509

{
  "messages": [
    {
      "message_id": "62772e17-837b-4630-bf48-bac5b60fc7a0",
      "to_address": "+36201111111",
      "text": "Hello, World 1",
      "create_date": "2021-06-11 14:23:42",
      "valid_until": "2021-06-18 14:23:42",
      "time_to_send": "2021-06-11 14:23:42",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    },
    {
      "message_id": "f2914efd-45da-4582-9633-f8386c1050d2",
      "to_address": "+36202222222",
      "text": "Hello, World 2",
      "create_date": "2021-06-11 14:23:42",
      "valid_until": "2021-06-18 14:23:42",
      "time_to_send": "2021-06-11 14:23:42",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    },
    {
      "message_id": "89b877d7-4f62-44da-9e70-aa195c440f85",
      "to_address": "+36203333333",
      "text": "Hello, World 3",
      "create_date": "2021-06-11 14:23:42",
      "valid_until": "2021-06-18 14:23:42",
      "time_to_send": "2021-06-11 14:23:42",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    }
  ]
}
HTTP одговор примљен од стране Visual Basic SMS примера

Када SMS gateway прими овај захтев, генерисаће HTTP одговор. HTTP одговор ће садржати статусни код, који указује да ли је захтев за слање SMS-а био успешан или не. Такође ће вратити JSON кодирану структуру која вам пружа корисне детаље о слању поруке.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.118 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 11 Jun 2021 08:44:45 GMT
Server: 10/10.3.118
Transfer-Encoding: chunked

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "Messages queued for delivery.",
  "data": {
    "total_count": 3,
    "success_count": 3,
    "failed_count": 0,
    "messages": [
      {
        "message_id": "35864941-4e2d-4757-bfe4-0fd990e9b14d",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World 1",
        "create_date": "2021-06-11 14:23:42",
        "valid_until": "2021-06-18 14:23:42",
        "time_to_send": "2021-06-11 14:23:42",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "f8e60b66-1a78-47fd-85f0-a9370acfd917",
        "from_station": "%",
        "to_address": "+36202222222",
        "to_station": "%",
        "text": "Hello, World 2",
        "create_date": "2021-06-11 14:23:42",
        "valid_until": "2021-06-18 14:23:42",
        "time_to_send": "2021-06-11 14:23:42",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "c7d6a065-38f6-4be3-a556-1f062bb86477",
        "from_station": "%",
        "to_address": "+36203333333",
        "to_station": "%",
        "text": "Hello, World 3",
        "create_date": "2021-06-11 14:23:42",
        "valid_until": "2021-06-18 14:23:42",
        "time_to_send": "2021-06-11 14:23:42",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
Visual Basic SMS пример: SendMultipleSms.sln

Kako preuzeti primer rešenja (Video projekat)

U ovom videu, naučićete kako da preuzmete i pokrenete primer projekta SendMultipleSms.sln. Video će početi sa stranicom za preuzimanje i završiće se sa otvorenim editorom koda. Naučićete kako da preuzmete i kako da otvorite fajl projekta. Ovaj veoma detaljan video traje samo 1 minut tako da ne brinite, nećete imati problema da ga razumete.

Video 1 - Kako preuzeti i otvoriti rešenje iznad (Video tutorijal)

Primer koda ispod je deo Visual Studio rešenja SendMultipleSms.sln. Visual studio rešenje može sadržati više projekata i više fajlova. U ovom rešenju postoji samo jedan projekat: SendMultipleSms.vbproj, i jedan fajl: Program.vb.

kako poslati više SMS poruka koristeći Visual Basic
Slika 3 - SendMultipleSms.sln

Kako koristiti rešenje (Video tutorijal)

U sledećem videu, naučićete kako da pokrenete primer koda i kako da proverite log procesa. Počeće sa pokretanjem Ozeki SMS Gateway-a i odvesti će vas do popunjene fascikle sa poslatim porukama. Naučićete kako da proverite log i kako da pokrenete projekat za slanje SMS poruka. Video traje samo 1 minut tako da nećete imati problema da ga razumete. Koristimo Ozeki SMS Gateway softver za logovanje i slanje SMS poruka. To je moćna, a laka za učenje gateway aplikacija.

Video 2 - Kako koristiti rešenje Send-multiple-SMS.vb (Video tutorijal)

Pokretanje Visual Basic SMS primera na Windows-u

Kada koristite Windows za pokretanje ovog SMS primera napisanog u Visual Basic-u, primetićete da dobijate malo bolje performanse nego kada ga pokrećete na Linux-u. Da biste razumeli zašto se ovo dešava, morate imati na umu da Visual Basic koristi .NET framework za izvršavanje koda. Ovo je zato što je .NET implementacija na Windows-u optimizovana za performanse, dok mono, .NET implementacija na Linux-u, ima još malo posla da dostigne isti nivo u ovoj oblasti.

Sažetak

Ovaj vodič je napravljen da objasni korake slanja više SMS poruka sa jednim zahtevom iz VB-a. Sa ovim rešenjem, kontaktiranje mobilnih korisnika je brže i jednostavnije. Informacije se mogu širiti do brojnih klijenata sa samo jednim Visual Basic zahtevom. Ozeki SMS Gateway radi u bilo kojoj zemlji, tako da međunarodno slanje poruka neće biti problem. Predstavljena tehnologija može biti veoma korisna za organizacije gde je slanje poruka velikom broju klijenata važno.

Nastavite svoje učenje na Ozeki-ovoj stranici sa tutorijalima, gde možete naći više informacija o temama kao što su prijem u VB-u.

Preuzmite Ozeki SMS Gateway sada i neka počne rad!

More information