Kako poslati više SMS poruka iz Visual Basic-a
Najjednostavniji način za slanje SMS poruka iz Visual Basic-a je korišćenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gateway-a. Kada koristite ovaj API, slaćete SMS poruke tako što ćete poslati HTTP Post zahtev ka SMS gateway-u. HTTP Post zahtev će sadržati poruku formatiranu u json formatu. SMS gateway će poslati ovu SMS poruku na telefonski broj primaoca, i vratiće HTTP 200 OK odgovor na vaš zahtev.
Visual Basic SMS primer koda ispod demonstrira kako možete poslati SMS koristeći http rest SMS API Ozeki SMS Gateway-a koristeći C# Ozeki.Libs.Rest biblioteku. Ova biblioteka vam je dostupna besplatno, i možete je koristiti i modifikovati u bilo kom od vaših projekata.
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 = "Zdravo, svete 1" Dim msg2 As New Message msg2.ToAddress = "+36202222222" msg2.Text = "Zdravo, svete 2" Dim msg3 As New Message msg3.ToAddress = "+36203333333" msg3.Text = "Zdravo, svete 3" Dim api = New MessageApi(configuration) Dim result = api.Send({msg1, msg2, msg3}) Console.WriteLine(result) Console.ReadKey() End Sub End Module
Kako koristiti Visual Basic SMS primer:
Ovaj Visual Basic SMS primer može se koristiti u bilo kojoj .NET ili .NET core aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest dll kao referencu u vaš projekat. Nakon što je referenca projekta dodata, morate staviti using Ozeki.Libs.Rest; direktivu u zaglavlje vašeg Visual Basic izvornog koda. Ovo će vam omogućiti da koristite klase koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti Message klasu za kreiranje SMS poruke. Možete koristiti MessageApi klasu za slanje SMS-a ka SMS gateway-u. SMS gateway će proslediti vašu poruku mobilnoj mreži bilo preko bežične veze ili preko interneta.
Preuzmite SendMultipleSms.vb
Izvorni kod objašnjen u ovom članku može se preuzeti, koristiti i modifikovati besplatno.
Preuzimanje: SendMultipleSms.vb.zip (47.5Kb)
SendMultipleSms.vb fajl sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve alate potrebne za slanje i primanje SMS poruka. Takođe ćete naći SendMultipleSms projekat u zip arhivi, koji sadrži primer koda koji pokazuje kako poslati SMS. Ovaj primer koda je naveden ispod.
Da biste poslali SMS iz Visual Basic-a:
- Instalirajte Ozeki SMS Gateway
- Povežite Ozeki SMS Gateway sa mobilnom mrežom
- Pošaljite test SMS iz Ozeki GUI-a
- Kreirajte HTTP SMS API korisnika
- Pokrenite Visual Studio
- Kreirajte rešenje pod nazivom SendMultipleSms.sln
- Dodajte Visual Basic konzolni projekat: SendMultipleSms.vbproj
- Stavite kod u Program.vb ili SendMultipleSms.vb
- Kreirajte Visual Basic funkciju pod nazivom Send_SMS
- Kreirajte SMS Json podatke
- Kreirajte HTTP zahtev za slanje SMS-a
- Pročitajte HTTP odgovor
- Ispišite odgovor na konzolu
- Proverite logove u SMS gateway-u
Da biste mogli da šaljete SMS poruke iz Visual Basic-a, prvo morate instalirati Ozeki SMS Gateway. SMS gateway može biti instaliran na istom računaru gde razvijate svoj Visual Basic kod u Visual Studio-u. Nakon instalacije, sledeći korak je da povežete Ozeki SMS Gateway sa mobilnom mrežom. Možete poslati test SMS iz Ozeki GUI-a da potvrdite da vaša mobilna mrežna veza radi. Poslednji korak za pripremu vašeg okruženja je da kreirate HTTP SMS API korisnika. Kreirajte korisnika sa korisničkim imenom "http_user", i lozinkom "qwe123" kako bi primer radio bez modifikacija.
Nakon što je okruženje postavljeno, možete pokrenuti svoj Visual Basic kod.
HTTP API URL za slanje SMS-a iz Visual Basic-aDa biste poslali SMS iz Visual Basic-a, vaš Visual Basic će morati da pošalje HTTP zahtev ka SMS gateway-u. API URL je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba da bude zamenjena sa IP adresom vašeg SMS gateway-a. Ako je Ozeki SMS Gateway instaliran na istom računaru gde se pokreće Visual Basic SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računaru, treba da bude IP adresa tog računara.
http://127.0.0.1:9509/api?action=rest
HTTP аутентификација за слање SMS-а из Visual Basic-а
Да бисте аутентификовали Visual Basic SMS клијент, потребно је да пошаљете корисничко име и лозинку у base64 кодираном стрингу на сервер у HTTP захтеву. Користи се следећи формат: base64(username+":"+password). У C#-у можете користити следећи код за ово кодирање:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
На пример, ако кодирате корисничко име 'http_user' и лозинку 'qwe123', добићете следећи base64 кодирани стринг: aHR0cF91c2VyOnF3ZTEyMw==. Да бисте послали
HTTP заглавље захтева за слање SMS-а из Visual Basic-аДа бисте послали SMS поруке, потребно је да укључите следеће линије као заглавља у HTTP захтев. Обратите пажњу да укључујемо Content-Type и Authorization заглавље.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Да бисте послали SMS, ваша Visual Basic апликација ће послати HTTP захтев сличан овом испод. Обратите пажњу да овај захтев садржи део са HTTP заглављима и део са HTTP телом. HTTP тело је JSON кодирани стринг података. Он садржи број примаоца и текст поруке.
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": [] } ] }
Када SMS gateway прими овај захтев, генерисаће HTTP одговор. HTTP одговор ће садржати статусни код, који указује да ли је захтев за слање SMS-а био успешан или не. Такође ће вратити JSON кодирану структуру која вам пружа корисне детаље о слању поруке.
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" } ] } }
Kako preuzeti primer rešenja (Video projekat)
U ovom videu, naučićete kako da preuzmete i pokrenete primer projekta SendMultipleSms.sln. Video će početi sa stranicom za preuzimanje i završiće se sa otvorenim editorom koda. Naučićete kako da preuzmete i kako da otvorite fajl projekta. Ovaj veoma detaljan video traje samo 1 minut tako da ne brinite, nećete imati problema da ga razumete.
Primer koda ispod je deo Visual Studio rešenja SendMultipleSms.sln. Visual studio rešenje može sadržati više projekata i više fajlova. U ovom rešenju postoji samo jedan projekat: SendMultipleSms.vbproj, i jedan fajl: Program.vb.
U sledećem videu, naučićete kako da pokrenete primer koda i kako da proverite log procesa. Počeće sa pokretanjem Ozeki SMS Gateway-a i odvesti će vas do popunjene fascikle sa poslatim porukama. Naučićete kako da proverite log i kako da pokrenete projekat za slanje SMS poruka. Video traje samo 1 minut tako da nećete imati problema da ga razumete. Koristimo Ozeki SMS Gateway softver za logovanje i slanje SMS poruka. To je moćna, a laka za učenje gateway aplikacija.
Pokretanje Visual Basic SMS primera na Windows-u
Kada koristite Windows za pokretanje ovog SMS primera napisanog u Visual Basic-u, primetićete da dobijate malo bolje performanse nego kada ga pokrećete na Linux-u. Da biste razumeli zašto se ovo dešava, morate imati na umu da Visual Basic koristi .NET framework za izvršavanje koda. Ovo je zato što je .NET implementacija na Windows-u optimizovana za performanse, dok mono, .NET implementacija na Linux-u, ima još malo posla da dostigne isti nivo u ovoj oblasti.
SažetakOvaj vodič je napravljen da objasni korake slanja više SMS poruka sa jednim zahtevom iz VB-a. Sa ovim rešenjem, kontaktiranje mobilnih korisnika je brže i jednostavnije. Informacije se mogu širiti do brojnih klijenata sa samo jednim Visual Basic zahtevom. Ozeki SMS Gateway radi u bilo kojoj zemlji, tako da međunarodno slanje poruka neće biti problem. Predstavljena tehnologija može biti veoma korisna za organizacije gde je slanje poruka velikom broju klijenata važno.
Nastavite svoje učenje na Ozeki-ovoj stranici sa tutorijalima, gde možete naći više informacija o temama kao što su prijem u VB-u.
Preuzmite Ozeki SMS Gateway sada i neka počne rad!
More information