Jak odeslat SMS z Visual Basic

Nejjednodušší způsob, jak odeslat SMS z Visual Basic, je použít vestavěné 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 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.

jak odeslat sms z visual basic
Obrázek 1 - Jak odeslat SMS z Visual Basic

Příklad kódu pro odeslání SMS z Visual Basic

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 msg As New Message
        msg.ToAddress = "+36201111111"
        msg.Text = "Ahoj, světe!"

        Dim api = New MessageApi(configuration)

        Dim result = api.Send(msg)

        Console.WriteLine(result)
        Console.ReadKey()

    End Sub
End Module
	

Stáhnout SendSms.vb

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

Co je v souboru SendSms.vb.zip?

Soubor SendSms.vb.zip obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné k odesílání a přijímání SMS zpráv. V zipu také najdete projekt SendSms, 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ř SendSms.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 uživatele HTTP SMS API
  5. Spusťte Visual Studio
  6. Vytvořte řešení s názvem Send-SMS.sln
  7. Přidejte Visual Basic konzolový projekt: Send-SMS.vbproj
  8. Vložte kód do Program.vb nebo Send-SMS.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ě

Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API

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, abyste ověřili, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření uživatele HTTP SMS API. 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.

URL HTTP API 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 Basic

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

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í base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

Hlavička HTTP požadavku pro odeslání SMS z Visual Basic

Pro odeslání SMS zpráv musíte do hlavičky HTTP požadavku zahrnout následující řádky. Všimněte si, že zahrnujeme content type a Authorization hlavičku.

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

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

Pro odeslání SMS bude vaše aplikace Visual Basic odesílat HTTP požadavek podobný tomu 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: 336
Content-Type: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509

{
  "messages": [
    {
      "message_id": "4b486234-1dde-4975-b233-47267e988287",
      "to_address": "+36201111111",
      "text": "Hello, World!",
      "create_date": "2021-06-11 14:19:47",
      "valid_until": "2021-06-18 14:19:47",
      "time_to_send": "2021-06-11 14:19:47",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    }
  ]
}

HTTP odpověď přijatá příkladem SMS v Visual Basic

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. Vrátí také strukturu zakódovanou v JSON, která vám 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": "Messages queued for delivery.",
  "data": {
    "total_count": 1,
    "success_count": 1,
    "failed_count": 0,
    "messages": [
      {
        "message_id": "7e4fa89b-df8a-4267-afe3-da348bf200ef",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World!",
        "create_date": "2021-06-11 14:19:47",
        "valid_until": "2021-06-18 14:19:47",
        "time_to_send": "2021-06-11 14:19:47",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}

Jak odeslat SMS z Visual Basic (Video návod)

Toto video vám ukáže, jak vytvořit nový projekt .Net core konzole v Visual Studiu, jak jej pojmenovat na Send-SMS.sln. Jakmile je řešení vytvořeno, můžete si všimnout, že Send-SMS.vbproj je přidán do řešení a ve výchozím nastavení je otevřen soubor Program.cs. Můžete přejmenovat Program.vb na Send-SMS.vb, pokud si přejete. Ve videu také uvidíte, jak lze příkladový kód níže zkopírovat do souboru Send-SMS.vb a jak jej lze zkompilovat a spustit.

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

SendSms.sln

Příkladový kód níže je součástí řešení Visual Studio SendSms.sln. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení jsou pouze dva projekty: SendSms.vbproj, Ozeki.Libs.Rest.csproj a jeden soubor: Program.vb.

Obrázek 3 - SendSms.sln

Jak zkontrolovat, že SMS byla přijata HTTP uživatelem

Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele z konzole pro správu Ozeki SMS brány. Následující video vám ukáže, na co se zaměřit.

Video 2 - Jak odeslat SMS pomocí kódu Visual Basic výše (Video návod)

Jak zkontrolovat, že SMS byla odeslána do mobilní sítě

Posledním krokem při ověřování procedury je podívat se na protokoly připojení k mobilní síti. Možná budete muset před odesláním zprávy zapnout protokolování v konfiguraci připojení, abyste viděli protokoly. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.

Video 3 - Jak zapnout protokolování v Ozeki SMS bráně (Video návod)

Spuštění příkladu SMS v Visual Basic na Windows

Když použijete Windows pro spuštění tohoto příkladu SMS napsaného v Visual Basic, všimnete si, že získáte mírně lepší výkon než při spuštění na Linuxu. Abyste pochopili, proč k tomu dochází, musíte mít na paměti, že Visual Basic používá pro provádě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 této oblasti nějaké zpoždění.

Shrnutí

Výše uvedený průvodce vysvětluje kroky pro odesílání SMS z Visual Basic. Ozeki poskytuje všechny znalosti a nástroje, které vám usnadní práci. Pokud byly kroky pečlivě dodrženy, zasílání zpráv mobilním zákazníkům z VB s pomocí Ozeki SMS Gateway by nemělo být složité. Vysoký výkon Ozeki SMS Gateway vám umožňuje odesílat až 1000 SMS za sekundu.

Nezapomeňte pokračovat ve čtení na stránce tutoriálů Ozeki, kde najdete informace o podobných tématech, jako je příjem SMS v VB.

Vaším dalším krokem by mělo být stažení Ozeki SMS Gateway a začít pracovat!

More information