Jak wysłać wiele SMS-ów z Visual Basic

Najprostszym sposobem wysyłania SMS-ów z Visual Basic jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z tego API, wysyłasz wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość sformatowaną w formacie json. Bramka SMS wyśle tę wiadomość na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na Twoje żądanie.

wysyłanie wielu sms z visual basic
Rysunek 1 - Wysyłanie wielu SMS-ów z Visual Basic

Kod Visual Basic do wysyłania wielu SMS-ów na telefony komórkowe

Poniższy przykładowy kod SMS w Visual Basic demonstruje, jak można wysyłać SMS-y przy użyciu interfejsu http rest sms api Ozeki SMS Gateway z wykorzystaniem biblioteki C# Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym ze swoich projektów.

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 używać przykładu SMS w Visual Basic:

Ten przykład SMS w Visual Basic może być używany w dowolnej aplikacji .NET lub .NET core. Aby go użyć, musisz dodać bibliotekę Ozeki.Libs.Rest jako referencję do swojego projektu. Po dodaniu referencji do projektu, musisz umieścić dyrektywę using Ozeki.Libs.Rest; w sekcji nagłówkowej swojego kodu źródłowego Visual Basic. To pozwoli Ci na korzystanie z klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS-ów. Możesz użyć klasy MessageApi do wysyłania SMS-ów do bramki SMS. Bramka SMS przekaże Twoją wiadomość do sieci komórkowej poprzez połączenie bezprzewodowe lub przez Internet.

Pobierz SendMultipleSms.vb

Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: SendMultipleSms.vb.zip (47.5Kb)

Co znajduje się w pliku SendMultipleSms.vb?

Plik SendMultipleSms.vb zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza wszystkich narzędzi niezbędnych do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również projekt SendMultipleSms w archiwum zip, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.

Rysunek 2 - Co znajduje się w SendMultipleSms.vb.zip

Jak wysłać SMS z Visual Basic (Szybkie kroki)

Aby wysłać SMS z Visual Basic:

  1. Zainstaluj Ozeki SMS Gateway
  2. Podłącz Ozeki SMS Gateway do sieci komórkowej
  3. Wyślij testowy SMS z interfejsu Ozeki
  4. Utwórz użytkownika HTTP sms api
  5. Uruchom Visual Studio
  6. Utwórz rozwiązanie o nazwie SendMultipleSms.sln
  7. Dodaj projekt konsolowy Visual Basic: SendMultipleSms.vbproj
  8. Wprowadź kod do Program.vb lub SendMultipleSms.vb
  9. Utwórz funkcję Visual Basic o nazwie Send_SMS
  10. Utwórz dane SMS w formacie Json
  11. Utwórz żądanie HTTP do wysłania SMS
  12. Odczytaj odpowiedź HTTP
  13. Wyświetl odpowiedź na konsoli
  14. Sprawdź logi w bramce SMS

Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API

Aby móc wysyłać SMS-y z Visual Basic, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod Visual Basic w Visual Studio. Po instalacji następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testowy SMS z interfejsu Ozeki, aby sprawdzić, czy Twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP sms api. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.

Po skonfigurowaniu środowiska możesz uruchomić swój kod Visual Basic.

URL API HTTP do wysyłania SMS-ów z Visual Basic

Aby wysłać SMS z Visual Basic, Twoja aplikacja Visual Basic będzie musiała wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Należy zauważyć, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP Twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowana na tym samym komputerze, na którym działa aplikacja SMS w Visual Basic, może to być 127.0.0.1. Jeśli jest zainstalowana na innym komputerze, powinien to być adres IP tego komputera.

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

Uwierzytelnianie HTTP do wysyłania SMS z Visual Basic

Aby uwierzytelnić klienta SMS w Visual Basic, należy wysłać nazwę użytkownika i hasło w formie zakodowanej w base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W C# można użyć następującego kodu do wykonania tego kodowania:

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

Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać

Nagłówek żądania HTTP do wysyłania SMS z Visual Basic

Aby wysłać wiadomości SMS, należy uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Zwróć uwagę, że zawieramy typ zawartości i nagłówek Authorization.

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

Żądanie HTTP do wysyłania SMS z Visual Basic

Aby przesłać SMS, Twoja aplikacja Visual Basic wyśle żądanie HTTP podobne do poniższego. Zauważ, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w JSON. Zawiera numer odbiorcy i tekst wiadomości.

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

Odpowiedź HTTP otrzymana przez przykład SMS w Visual Basic

Gdy brama SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem czy nie. Zwróci również strukturę zakodowaną w JSON, aby dostarczyć przydatne informacje o przesłaniu wiadomości.

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

Przykład SMS w Visual Basic: SendMultipleSms.sln


Jak pobrać przykładowe rozwiązanie (Projekt wideo)

W tym filmie dowiesz się, jak pobrać i uruchomić przykładowy projekt SendMultipleSms.sln. Film rozpocznie się od strony pobierania i zakończy na otwartym edytorze kodu. Nauczysz się, jak pobrać i jak otworzyć plik projektu. Ten bardzo szczegółowy film trwa tylko 1 minutę, więc nie martw się, nie będziesz miał problemu z jego zrozumieniem.

Wideo 1 - Jak pobrać i otworzyć powyższe rozwiązanie (Samouczek wideo)

Przykładowy kod poniżej jest częścią rozwiązania Visual Studio SendMultipleSms.sln. Rozwiązanie Visual Studio może zawierać wiele projektów i wiele plików. W tym rozwiązaniu jest tylko jeden projekt: SendMultipleSms.vbproj i jeden plik: Program.vb.

jak wysłać wiele SMS-ów za pomocą Visual Basic
Rysunek 3 - SendMultipleSms.sln

Jak używać rozwiązania (Samouczek wideo)

W kolejnym filmie dowiesz się, jak uruchomić przykładowy kod i jak sprawdzić log procesu. Rozpocznie się od uruchomienia Ozeki SMS Gateway i przeprowadzi Cię aż do wypełnionego folderu wysłanych. Nauczysz się, jak sprawdzić log i jak uruchomić projekt, aby wysłać wiadomości SMS. Film trwa tylko 1 minutę, więc nie będziesz miał problemu z jego zrozumieniem. Używamy oprogramowania Ozeki SMS Gateway do logowania i wysyłania SMS-ów. Jest to potężna, ale łatwa do nauki aplikacja bramkowa.

Wideo 2 - Jak używać rozwiązania Send-multiple-SMS.vb (Samouczek wideo)

Uruchamianie przykładu SMS w Visual Basic na Windows

Kiedy używasz systemu Windows do uruchomienia tego przykładu SMS napisanego w Visual Basic, zauważysz, że uzyskujesz nieco lepszą wydajność niż podczas uruchamiania go na Linux. Aby zrozumieć, dlaczego tak się dzieje, należy pamiętać, że Visual Basic używa frameworka .NET do wykonywania kodu. Dzieje się tak, ponieważ implementacja .NET w Windows jest zoptymalizowana pod kątem wydajności, podczas gdy mono, implementacja .NET na Linux, ma jeszcze pewne zaległości w tej dziedzinie.

Podsumowanie

Ten przewodnik miał na celu wyjaśnienie kroków wysyłania wielu SMS-ów za pomocą jednego żądania z VB. Dzięki temu rozwiązaniu dotarcie do użytkowników mobilnych jest szybsze i prostsze. Informacje można rozesłać do wielu klientów za pomocą tylko jednego żądania w Visual Basic. Ozeki SMS Gateway działa w każdym kraju, więc wysyłanie wiadomości międzynarodowych nie będzie problemem. Przedstawiona technologia może być bardzo przydatna dla organizacji, w których ważne jest wysyłanie wiadomości do dużej liczby klientów.

Kontynuuj naukę na stronie samouczków Ozeki, gdzie znajdziesz więcej informacji na temat tematów takich jak odbieranie w VB.

Pobierz Ozeki SMS Gateway już teraz i zacznij pracę!

More information