Hogyan küldjünk SMS-t Visual Basic-ből

A legegyszerűbb módja az SMS küldésének Visual Basic-ből az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésedre.

hogyan küldjünk sms-t visual basic-ből
1. ábra - Hogyan küldjünk SMS-t Visual Basic-ből

Visual Basic SMS küldés példakód

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

        Dim api = New MessageApi(configuration)

        Dim result = api.Send(msg)

        Console.WriteLine(result)
        Console.ReadKey()

    End Sub
End Module
	

SendSms.vb letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendSms.vb.zip (48.6Kb)

Mi található a SendSms.vb.zip fájlban?

A SendSms.vb.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálod a SendSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód lent látható.

2. ábra - Mi található a SendSms.vb.zip fájlban

Hogyan küldjünk SMS-t Visual Basic-ből (Gyors lépések)

Az SMS küldésének lépései Visual Basic-ből:

  1. Telepítsd az Ozeki SMS Gateway-t
  2. Kapcsold össze az Ozeki SMS Gateway-t a mobil hálózattal
  3. Küldj egy teszt SMS-t az Ozeki GUI-ból
  4. Hozz létre egy HTTP SMS API felhasználót
  5. Indítsd el a Visual Studio-t
  6. Hozz létre egy Send-SMS.sln nevű megoldást
  7. Adj hozzá egy Visual Basic konzol projektet: Send-SMS.vbproj
  8. Helyezd el a kódot a Program.vb vagy Send-SMS.vb fájlba
  9. Hozz létre egy Send_SMS nevű Visual Basic függvényt
  10. Készítsd el az SMS JSON adatot
  11. Hozz létre egy HTTP kérést az SMS küldéséhez
  12. Olvasd el a HTTP választ
  13. Írd ki a választ a konzolra
  14. Ellenőrizd a naplókat az SMS gateway-ben

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

Ahhoz, hogy SMS-t tudj küldeni Visual Basic-ből, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Visual Basic kódodat fejleszted a Visual Studio-ban. A telepítés után a következő lépés az, hogy összekapcsolod az Ozeki SMS Gateway-t a mobil hálózattal. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobil hálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése az, hogy létrehozol egy HTTP SMS API felhasználót. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.

Miután a környezet be van állítva, futtathatod a Visual Basic kódodat.

HTTP API URL az SMS küldéséhez Visual Basic-ből

Ahhoz, hogy SMS-t küldj Visual Basic-ből, a Visual Basic alkalmazásodnak HTTP kérést kell küldenie az SMS gateway felé. Az API URL lent látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd be. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Visual Basic SMS alkalmazás fut, akkor ez maradhat 127.0.0.1. Ha másik számítógépre van telepítve, akkor annak a számítógépnek az IP címét kell megadni.

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

HTTP hitelesítés az SMS küldéséhez Visual Basic-ből

A Visual Basic SMS kliens hitelesítéséhez a felhasználónevet és a jelszót egy base64 kódolt sztringben kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). A C#-ban a következő kóddal végezheted el ezt a kódolást:

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

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolt sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc az SMS küldéséhez Visual Basic-ből

Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécének. Figyelj arra, hogy a tartalomtípus és az Authorization fejléc is szerepel.

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

HTTP kérés az SMS küldéséhez Visual Basic-ből

Az SMS beküldéséhez a Visual Basic alkalmazásod egy olyan HTTP kérést fog küldeni, mint az alábbi. Figyelj rá, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolt adatsztring. Ez tartalmazza a címzett telefonszámát és az üzenet szövegét.

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 válasz, amit a Visual Basic SMS példa kap

Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy státuszkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolt struktúrát is visszaad, ami hasznos részleteket nyújt az üzenet beküldéséről.

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

Hogyan küldjünk SMS-t Visual Basic-ből (Videó útmutató)

Ez a videó bemutatja, hogyan hozz létre egy új .Net core konzol projektet a Visual Studio-ban, hogyan nevezd el Send-SMS.sln-re. Miután a megoldás létrejött, észreveheted, hogy egy Send-SMS.vbproj került hozzáadásra a megoldáshoz, és alapértelmezés szerint a Program.cs fájl nyílik meg. Átnevezheted a Program.vb fájlt Send-SMS.vb-re, ha szeretnéd. A videóban azt is látni fogod, hogy az alábbi példakód másolható a Send-SMS.vb fájlba, és hogyan fordítható és futtatható.

1. videó - Hogyan töltsd le és nyisd meg a megoldást (Videó útmutató)

SendSms.sln

Az alábbi példakód a SendSms.sln Visual Studio Megoldás része. Egy Visual Studio megoldás több projektet és több fájlt is tartalmazhat. Ebben a megoldásban csak két projekt található: SendSms.vbproj, Ozeki.Libs.Rest.csproj, és egy fájl: Program.vb.

3. ábra - SendSms.sln

Hogyan ellenőrizd, hogy az SMS-t elfogadta-e az HTTP felhasználó

Miután elküldted az SMS-t, érdemes megnézned az SMS gateway-edet, hogy mit kapott meg. A naplót az Ozeki SMS Gateway kezelőfelületén az HTTP felhasználó részleteinek megnyitásával ellenőrizheted. A következő videó bemutatja, hogy mire kell figyelni.

2. videó - Hogyan küldj SMS-t a fenti Visual Basic kóddal (Videó útmutató)

Hogyan ellenőrizd, hogy az SMS el lett-e küldve a mobil hálózatba

A folyamat ellenőrzésének utolsó lépése, hogy megnézed a mobil hálózati kapcsolat naplóit. Lehet, hogy be kell kapcsolnod a naplózást a kapcsolat beállításaiban, mielőtt elküldöd az üzenetet, hogy lásd a naplókat. Ha a naplózás be van kapcsolva, látni fogod a telefonszámot és az üzenet szövegét, amit küldtél.

3. videó - Hogyan kapcsold be a naplózást az Ozeki SMS Gateway-ben (Videó útmutató)

A Visual Basic SMS példa futtatása Windows-on

Amikor Windows-on futtatod ezt a Visual Basic-ben írt SMS példát, észreveheted, hogy kicsit jobb a teljesítmény, mint Linux-on történő futtatáskor. Ennek megértéséhez szem előtt kell tartanod, hogy a Visual Basic a .NET keretrendszert használja a kód végrehajtásához. Ez azért van, mert a .NET implementációja Windows-on optimalizált a teljesítményre, míg a mono, a .NET implementációja Linux-on még dolgozik ezen a területen.

Összefoglalás

A fenti útmutató bemutatta az SMS küldésének lépéseit Visual Basic-ből. Az Ozeki minden szükséges tudást és eszközt biztosít a munkád megkönnyítésére. Ha a lépéseket gondosan követted, az üzenetküldés mobil ügyfelekkel VB-ből az Ozeki SMS Gateway segítségével nem lesz bonyolult. Az Ozeki SMS Gateway magas teljesítménye lehetővé teszi, hogy másodpercenként akár 1000 SMS-t is küldj.

Ne felejtsd el folytatni az olvasást az Ozeki oktatóanyag oldalán, ahol hasonló témákról is találsz információt, például az SMS fogadásról VB-ben.

A következő lépés, hogy letöltöd az Ozeki SMS Gateway-t és elkezdesz dolgozni!

More information