Ako poslať viacero SMS z Visual Basic
Najjednoduchší spôsob, ako poslať SMS z Visual Basic, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy odoslaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS na príjemcove telefónne číslo a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Ukážka kódu Visual Basic pre SMS nižšie demonštruje, ako môžete poslať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice C# Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju použiť a upraviť v ktoromkoľvek z vašich projektov.
Program.vbImports 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
Ako použiť ukážku Visual Basic pre SMS:
Túto ukážku Visual Basic pre SMS môžete použiť v ktorejkoľvek aplikácii .NET alebo .NET core. Ak ju chcete použiť, musíte pridať Ozeki.Libs.Rest dll ako referenciu do vášho projektu. Po pridaní referencie projektu musíte vložiť direktívu using Ozeki.Libs.Rest; do hlavičkovej časti vášho zdrojového kódu Visual Basic. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.
Stiahnuť SendMultipleSms.vb
Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upraviť bezplatne.
Stiahnuť: SendMultipleSms.vb.zip (47.5Kb)
Súbor SendMultipleSms.vb obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu aj projekt SendMultipleSms v zip súbore, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.
Na odoslanie SMS z Visual Basic:
- Nainštalujte Ozeki SMS Gateway
- Pripojte Ozeki SMS Gateway k mobilnej sieti
- Odošlite testovaciu SMS z Ozeki GUI
- Vytvorte používateľa HTTP SMS API
- Spustite Visual Studio
- Vytvorte riešenie s názvom SendMultipleSms.sln
- Pridajte Visual Basic konzolový projekt: SendMultipleSms.vbproj
- Vložte kód do Program.vb alebo SendMultipleSms.vb
- Vytvorte funkciu Visual Basic s názvom Send_SMS
- Vytvorte JSON dáta pre SMS
- Vytvorte HTTP požiadavku na odoslanie SMS
- Prečítajte si HTTP odpoveď
- Vypíšte odpoveď na konzolu
- Skontrolujte záznamy v SMS bráne
Aby ste mohli posielať SMS z Visual Basic, musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj Visual Basic kód v Visual Studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI, aby ste overili, že vaše mobilné sieťové pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.
Po nastavení prostredia môžete spustiť svoj Visual Basic kód.
HTTP API URL na odoslanie SMS z Visual BasicNa odoslanie SMS z Visual Basic bude váš Visual Basic musieť odoslať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží Visual Basic SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa tohto počítača.
http://127.0.0.1:9509/api?action=rest
HTTP autentifikácia na odosielanie SMS z Visual Basic
Na autentifikáciu Visual Basic SMS klienta je potrebné odoslať používateľské meno a heslo ako reťazec zakódovaný v base64 na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V C# môžete na toto kódovanie použiť nasledujúci kód:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci reťazec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
HTTP hlavička požiadavky na odoslanie SMS z Visual BasicNa odoslanie SMS správ je potrebné zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že obsahujeme hlavičku typu obsahu a autorizačnú hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Na odoslanie SMS bude vaša aplikácia Visual Basic odosielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text sprá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": [] } ] }
Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Taktiež vráti štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o odoslaní sprá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": 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" } ] } }
Ako stiahnuť ukážkové riešenie (Video projekt)
V tomto videu sa naučíte, ako stiahnuť a spustiť ukážkový projekt SendMultipleSms.sln. Video začína na stiahnuteľnej stránke a končí otvoreným editorom kódu. Naučíte sa, ako stiahnuť a ako otvoriť súbor projektu. Toto veľmi podrobné video je dlhé len 1 minútu, takže sa nemusíte báť, že by ste mu neporozumeli.
Ukážkový kód nižšie je súčasťou riešenia Visual Studio SendMultipleSms.sln. Riešenie Visual Studio môže obsahovať viacero projektov a viacero súborov. V tomto riešení je len jeden projekt: SendMultipleSms.vbproj, a jeden súbor: Program.vb.
V ďalšom videu sa naučíte, ako spustiť ukážkový kód a ako skontrolovať log procesu. Začína sa spustením Ozeki SMS Gateway a prevedie vás až k naplnenej priečinke odoslaných správ. Naučíte sa, ako skontrolovať log a ako spustiť projekt na odoslanie SMS správ. Video je dlhé len 1 minútu, takže mu ľahko porozumiete. Používame softvér Ozeki SMS Gateway na logovanie a odosielanie SMS. Je to výkonná, no ľahko zvládnuteľná gateway aplikácia.
Spustenie ukážky SMS vo Visual Basic na Windows
Keď použijete Windows na spustenie tejto SMS ukážky napísanej vo Visual Basic, všimnete si, že dostanete mierne lepší výkon ako pri spustení na Linuxe. Aby ste pochopili, prečo sa to deje, musíte mať na pamäti, že Visual Basic používa na vykonávanie kódu .NET framework. Je to preto, lebo implementácia .NET na Windows je optimalizovaná pre výkon, zatiaľ čo mono, implementácia .NET na Linuxe, má v tejto oblasti ešte čo doháňať.
ZhrnutieTento návod mal za cieľ vysvetliť kroky na odoslanie viacerých SMS s jednou požiadavkou z VB. S týmto riešením je oslovovanie mobilných používateľov rýchlejšie a jednoduchšie. Informácie je možné rozposlať viacerým zákazníkom len s jednou požiadavkou vo Visual Basic. Ozeki SMS Gateway funguje v každej krajine, takže medzinárodné zasielanie správ nebude problém. Prezentovaná technológia môže byť veľmi užitočná pre organizácie, kde je dôležité odosielať správy veľkému počtu zákazníkov.
Pokračujte v štúdiu na stránke s návodmi Ozeki, kde nájdete viac informácií o témach ako prijímanie vo VB.
Stiahnite si Ozeki SMS Gateway ešte dnes a nech sa práca začne!
More information
- VB send SMS with the HTTP rest API (code sample)
- VB send multiple SMS with the HTTP rest API (code sample)
- VB schedule SMS with the HTTP rest API (code sample)
- VB receive SMS with the HTTP rest API (code sample)
- VB delete SMS with the HTTP rest API (code sample)
- Github: VB SMS API
- SMS nuget library for Visual Basic (VB)