Jak odeslat více SMS z Visual Basic

Nejjednodušší způsob, jak odesílat SMS z Visual Basic, je použít vestavené HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy odesláním HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu formátovanou ve formátu json. SMS brána odešle tuto SMS na příjemcův telefon a vrátí HTTP 200 OK odpověď na váš požadavek.

odeslat více sms z visual basic
Obrázek 1 - Odeslat více SMS z Visual Basic

Visual Basic kód pro odeslání více SMS na mobil

Níže uvedený ukázkový kód Visual Basic pro SMS demonstruje, jak můžete odesílat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny C# Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli ze svých projektů.

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 = "Hello, World 1"

        Dim msg2 As New Message
        msg2.ToAddress = "+36202222222"
        msg2.Text = "Hello, World 2"

        Dim msg3 As New Message
        msg3.ToAddress = "+36203333333"
        msg3.Text = "Hello, World 3"

        Dim api = New MessageApi(configuration)

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

        Console.WriteLine(result)
        Console.ReadKey()

    End Sub
End Module

Jak použít ukázku Visual Basic pro SMS:

Tuto ukázku Visual Basic pro SMS lze použít v jakékoli aplikaci .NET nebo .NET core. Pro použití je nutné přidat odkaz na knihovnu Ozeki.Libs.Rest do vašeho projektu. Po přidání odkazu na projekt musíte vložit direktivu using Ozeki.Libs.Rest; do hlavičkové části vašeho zdrojového kódu Visual Basic. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes Internet.

Stáhnout SendMultipleSms.vb

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendMultipleSms.vb.zip (47.5Kb)

Co je v souboru SendMultipleSms.vb?

Soubor SendMultipleSms.vb obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné pro odesílání a přijímání SMS zpráv. Najdete zde také projekt SendMultipleSms v zipu, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

Obrázek 2 - Co je uvnitř SendMultipleSms.vb.zip

Jak odeslat SMS z Visual Basic (Rychlé kroky)

Pro odeslání SMS z Visual Basic:

  1. Nainstalujte Ozeki SMS Gateway
  2. Připojte Ozeki SMS Gateway k mobilní síti
  3. Odešlete testovací SMS z Ozeki GUI
  4. Vytvořte HTTP SMS API uživatele
  5. Spusťte Visual Studio
  6. Vytvořte řešení s názvem SendMultipleSms.sln
  7. Přidejte Visual Basic konzolový projekt: SendMultipleSms.vbproj
  8. Vložte kód do Program.vb nebo SendMultipleSms.vb
  9. Vytvořte Visual Basic funkci s názvem Send_SMS
  10. Vytvořte JSON data pro SMS
  11. Vytvořte HTTP požadavek pro odeslání SMS
  12. Přečtěte si HTTP odpověď
  13. Vypište odpověď na konzoli
  14. Zkontrolujte logy v SMS bráně

Nainstalujte Ozeki SMS Gateway a vytvořte HTTP API uživatele

Abyste mohli odesílat SMS z Visual Basic, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj Visual Basic kód ve Visual studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI a ověřit, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření HTTP SMS API uživatele. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj Visual Basic kód.

HTTP API URL pro odesílání SMS z Visual Basic

Pro odesílání SMS z Visual Basic musí váš Visual Basic odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Všimněte si, že IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží Visual Basic SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.

http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z Visual Basicu

Pro autentizaci SMS klienta v Visual Basicu je nutné odeslat uživatelské jméno a heslo na server v HTTP požadavku jako řetězec zakódovaný v base64. Použitý formát je: base64(username+":"+password). V C# můžete pro toto kódování použít následující kód:

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

Například pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující řetězec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

HTTP hlavička požadavku pro odeslání SMS z Visual Basicu

Pro odeslání SMS zpráv je nutné do HTTP požadavku zahrnout následující řádky jako hlavičky. Poznamenejte, že zahrnujeme hlavičku Content-Type a Authorization.

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

HTTP požadavek pro odeslání SMS z Visual Basicu

Pro odeslání SMS bude vaše aplikace v Visual Basicu odesílat HTTP požadavek podobný tomuto níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.

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 odpověď přijatá příkladem SMS v Visual Basicu

Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Bude také vracet strukturu zakódovanou v JSON, která poskytne užitečné detaily o odeslání zprávy.

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": "Zprávy zařazeny do fronty k odeslání.",
  "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"
      }
    ]
  }
}

Příklad SMS v Visual Basicu: SendMultipleSms.sln


Jak stáhnout ukázkové řešení (Video projekt)

V tomto videu se naučíte, jak stáhnout a spustit ukázkový projekt SendMultipleSms.sln. Video začíná na stránce ke stažení a končí otevřeným kódem v editoru. Dozvíte se, jak projekt stáhnout a jak otevřít soubor projektu. Toto velmi podrobné video je dlouhé pouze 1 minutu, takže se nemusíte bát, že byste mu neporozuměli.

Video 1 - Jak stáhnout a otevřít výše uvedené řešení (Video návod)

Ukázkový kód níže je součástí řešení Visual Studio SendMultipleSms.sln. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení je pouze jeden projekt: SendMultipleSms.vbproj, a jeden soubor: Program.vb.

jak odeslat více SMS pomocí Visual Basic
Obrázek 3 - SendMultipleSms.sln

Jak použít řešení (Video návod)

V dalším videu se naučíte, jak spustit ukázkový kód a jak zkontrolovat log procesu. Začíná spuštěním Ozeki SMS Gateway a provede vás až k naplněné složce odeslaných zpráv. Dozvíte se, jak zkontrolovat log a jak spustit projekt pro odeslání SMS zpráv. Video je dlouhé pouze 1 minutu, takže mu snadno porozumíte. Pro logování a odesílání SMS používáme software Ozeki SMS Gateway. Je to výkonná, ale snadno naučitelná gatewayová aplikace.

Video 2 - Jak použít řešení Send-multiple-SMS.vb (Video návod)

Spuštění ukázky SMS v Visual Basic na Windows

Když použijete Windows pro spuštění této ukázky SMS napsané v Visual Basic, zjistíte, že získáte o něco lepší výkon než při spuštění na Linuxu. Abychom pochopili, proč k tomu dochází, musíme si uvědomit, že Visual Basic používá pro spuštění kódu framework .NET. Je to proto, že implementace .NET na Windows je optimalizována pro výkon, zatímco mono, implementace .NET na Linuxu, má v tomto ohledu ještě co dohánět.

Shrnutí

Tento průvodce měl za cíl vysvětlit kroky k odeslání více SMS jedním požadavkem z VB. S tímto řešením je oslovení mobilních uživatelů rychlejší a jednodušší. Informace lze rozšířit k mnoha zákazníkům pouze jedním požadavkem v Visual Basic. Ozeki SMS Gateway funguje v jakékoli zemi, takže mezinárodní zasílání zpráv nebude problém. Představená technologie může být velmi užitečná pro organizace, kde je důležité odesílat zprávy velkému počtu zákazníků.

Pokračujte ve studiu na stránce návodů Ozeki, kde najdete více informací o tématech jako příjem v VB.

Stáhněte si Ozeki SMS Gateway nyní a můžete začít pracovat!

More information