Hogyan ütemezhetünk SMS-t Visual Basic nyelven

A legegyszerűbb módja az SMS küldésének Visual Basic nyelven az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Ezt az API-t használva HTTP POST kérést küldhetünk az SMS gateway-nek. A HTTP POST kérés egy JSON formátumban formázott üzenetet tartalmaz. 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ésre.

sms ütemezése későbbi kézbesítésre visual basic nyelven
1. ábra - SMS ütemezése későbbi kézbesítésre Visual Basic nyelven

Visual Basic kód ütemezett SMS küldésére mobiltelefonra

Az alábbi Visual Basic SMS kódminta bemutatja, hogyan küldhetünk SMS-t az Ozeki SMS Gateway http rest sms api-jával, az Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen használható, és bármilyen projektben felhasználható és módosítható.

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!"
        msg.TimeToSend = DateTime.Parse("2021-06-11 14:46:00")

        Dim api = New MessageApi(configuration)

        Dim result = api.Send(msg)

        Console.WriteLine(result)
        Console.ReadKey()

    End Sub
End Module
	

A Visual Basic SMS példa használata:

Ez a Visual Basic SMS példa bármely .NET vagy .NET core alkalmazásban használható. A használathoz hozzá kell adni az Ozeki.Libs.Rest dll-t referenciaként a projekthez. A projekt referenciája hozzáadása után a using Ozeki.Libs.Rest; direktívát kell elhelyezni a Visual Basic forráskód fejléc részébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével hozhatjuk létre az SMS-t. A MessageApi osztály segítségével elküldhetjük az SMS-t az SMS gateway-nek. Az SMS gateway továbbítja az üzenetet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendScheduledSms.vb letöltése

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

Mi található a SendScheduledSms.vs fájlban?

A SendScheduledSms.cs 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álható a SendScheduleSms projekt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldhetünk SMS-t. Ez a példakód az alábbiakban található.

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

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

SMS küldése Visual Basic nyelven:

  1. Telepítsd az Ozeki SMS Gateway-t
  2. Kapcsold az Ozeki SMS Gateway-t a mobilhálózathoz
  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 SendScheduledSms.sln nevű megoldást
  7. Adj hozzá egy Visual Basic konzol projektet: SendScheduledSms.vbproj
  8. Helyezd el a kódot a Program.vb vagy SendScheduledSms.vb fájlban
  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 nyelven, 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ódot fejleszted a Visual Studio-ban. A telepítés után a következő lépés az Ozeki SMS Gateway csatlakoztatása a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolat működik-e. A környezet előkészítésének utolsó lépése egy HTTP SMS API felhasználó létrehozása. 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.

A környezet beállítása után futtathatod a Visual Basic kódodat.

HTTP API URL SMS küldéséhez Visual Basic nyelven

SMS küldéséhez Visual Basic nyelven a Visual Basic alkalmazásnak HTTP kérést kell küldenie az SMS gateway-nek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét kell beírni. 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 127.0.0.1 lehet. Ha másik számítógépre van telepítve, akkor annak az IP címét kell megadni.

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

HTTP hitelesítés SMS küldéséhez Visual Basic nyelven

A Visual Basic SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolású karakterláncként kell elküldeni a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). C# nyelven a következő kód használható a kódoláshoz:

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ódoljuk, a következő base64 kódolású karakterláncot kapjuk: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc SMS küldéséhez F# nyelven

Az SMS üzenetek küldéséhez a következő sorokat kell fejléc részként tartalmaznia a HTTP kérésnek. Figyeljünk arra, hogy tartalmazunk egy content type és egy Authorization fejlécet.

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

HTTP kérés ütemezett SMS küldéséhez Visual Basic nyelven

Az SMS beküldéséhez a Visual Basic alkalmazás egy olyan HTTP kérést küld, amely hasonlít az alábbihoz. Figyeljünk arra, 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ódolású adat karakterlánc. Tartalmazza a címzett szá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": "9f79a6bd-5264-4ebe-a04c-4f1353c54657",
      "to_address": "+36201111111",
      "text": "Hello, World!",
      "create_date": "2021-06-11 14:34:41",
      "valid_until": "2021-06-18 14:34:41",
      "time_to_send": "2021-06-11 14:46:00",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    }
  ]
}
	

HTTP válasz, amelyet 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átusz kódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Emellett egy JSON kódolású 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": "ca824cbe-784c-44f9-b657-1c04f711f529",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World!",
        "create_date": "2021-06-11 14:34:41",
        "valid_until": "2021-06-18 14:34:41",
        "time_to_send": "2021-06-11 14:46:00",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
	

Visual Basic SMS példa: SendScheduledSms.sln


Hogyan tölthető le a példaprojekt (Videó útmutató)

Ebben a videóban megtanulhatod, hogyan töltheted le és futtathatod a SendScheduledSms.sln példaprojektet. A videó a letöltési oldallal kezdődik, és a megnyitott kódszerkesztővel ér véget. Megtanulod, hogyan töltheted le és hogyan nyithatod meg a Visual Basic példakódot. Ez a nagyon részletes videó mindössze 1 perc hosszú és könnyen érthető. Ne aggódj, nem lesz gondod a követésével.

1. videó - Hogyan tölthető le és futtatható a fenti példaprojekt (Videó útmutató)

Az alábbi példakód a SendScheduledSms.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 egy projekt található: SendScheduledSms.vbproj, és egy fájl: Program.vb.

hogyan küldjünk ütemezett sms-t visual basic nyelven
3. ábra - SendScheduledSms.sln

Hogyan használjuk a példaprojektet

A következő videóban megtanulhatod, hogyan futtathatod a példakódot és hogyan ellenőrizheted a folyamat naplóját. Az Ozeki SMS Gateway elindításával kezdődik, és egészen az elhalasztott üzenetek listájáig vezet. Megtanulod, hogyan ellenőrizheted a naplót és hogyan indíthatod el a projektet az ütemezett üzenetek küldéséhez. A videó mindössze 1:22 perc hosszú, így könnyen érthető lesz. Az Ozeki SMS Gateway szoftvert használjuk a naplózásra és az SMS küldésre. Ez egy hatékony, mégis könnyen tanulható gateway szoftver.

2. videó - Hogyan használjuk a SendScheduledSms.vb megoldást (Videó útmutató)

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

Amikor Windows-on futtatod ezt az SMS példát Visual Basic nyelven, észreveheted, hogy kissé jobb teljesítményt kapsz, mint Linux-on történő futtatáskor. Ennek megértéséhez szem előtt kell tartanunk, 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ó Windows-on optimalizált a teljesítmény érdekében, míg a mono, a .NET implementáció Linux-on még fejlődik ezen a téren.

Összegzés

Ennek a cikknek az volt a célja, hogy bemutassa az SMS ütemezés lépéseit VB nyelven az Ozeki SMS Gateway segítségével. Az eszközöket és a magyarázatot az Ozeki biztosítja. Ha mindent figyelmesen elolvastál és minden lépést elvégeztél, képesnek kell lenned az üzenetek ütemezésére Visual Basic nyelven.

Az Ozeki SMS Gateway letölthető az Ozeki weboldaláról, és próbaidőszakban ingyenesen használható. Az üzenetek ütemezése lehetővé teszi, hogy SMS-t küldj mobilfelhasználóknak, amikor nem elfoglaltak, ami azt jelenti, hogy hatékonyabban dolgozhatsz.

Ne fejezd be itt az olvasást, látogass el az Ozeki oktatóanyag oldalára, ahol további információkat találsz hasonló témákról, például az SMS fogadásáról VB nyelven.

A következő lépés az, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a munkát!

More information