Cum să trimiți SMS din Visual Basic

Cea mai simplă metodă de a trimite SMS din Visual Basic este utilizarea API-ului HTTP/Rest SMS încorporat al Ozeki SMS Gateway. Când folosești acest API, vei trimite mesaje SMS prin efectuarea unei cereri HTTP Post către gateway-ul SMS. Cererea HTTP Post va conține un mesaj formatat în format json. Gateway-ul SMS va trimite acest SMS către numărul de telefon al destinatarului și va returna un răspuns HTTP 200 OK la cererea ta.

cum să trimiți un sms din visual basic
Figura 1 - Cum să trimiți un SMS din Visual Basic

Exemplu de cod pentru trimitere SMS din 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 = "Bună, lume!"

        Dim api = New MessageApi(configuration)

        Dim result = api.Send(msg)

        Console.WriteLine(result)
        Console.ReadKey()

    End Sub
End Module
	
Descarcă SendSms.vb

Codul sursă explicat în acest articol poate fi descărcat, utilizat și modificat gratuit.
Descarcă: SendSms.vb.zip (48.6Kb)

Ce conține fișierul SendSms.vb.zip?

Fișierul SendSms.vb.zip conține biblioteca Ozeki.Libs.Rest, care îți oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. De asemenea, vei găsi proiectul SendSms în arhivă, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS. Acest cod exemplu este listat mai jos.

Figura 2 - Ce conține SendSms.vb.zip

Cum să trimiți SMS din Visual Basic (Pași rapizi)

Pentru a trimite SMS din Visual Basic:

  1. Instalează Ozeki SMS Gateway
  2. Conectează Ozeki SMS Gateway la rețeaua mobilă
  3. Trimite un SMS de test din interfața Ozeki
  4. Creează un utilizator HTTP SMS API
  5. Pornește Visual Studio
  6. Creează un soluție numită Send-SMS.sln
  7. Adaugă un proiect consolă Visual Basic: Send-SMS.vbproj
  8. Introdu codul în Program.vb sau Send-SMS.vb
  9. Creează o funcție Visual Basic numită Send_SMS
  10. Creează datele SMS în format Json
  11. Creează o cerere HTTP pentru a trimite SMS-ul
  12. Citește răspunsul HTTP
  13. Afișează răspunsul în consolă
  14. Verifică jurnalele din gateway-ul SMS
Instalează Ozeki SMS Gateway și creează un utilizator HTTP API

Pentru a putea trimite SMS din Visual Basic, mai întâi trebuie să instalezi Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același computer unde dezvolți codul tău Visual Basic în Visual Studio. După instalare, următorul pas este să conectezi Ozeki SMS Gateway la rețeaua mobilă. Poți trimite un SMS de test din interfața Ozeki pentru a verifica dacă conexiunea ta la rețeaua mobilă funcționează. Ultimul pas pentru a-ți pregăti mediul este să creezi un utilizator HTTP SMS API. Creează un utilizator cu numele de utilizator "http_user" și parola "qwe123" pentru a face exemplul să funcționeze fără modificări.

După ce mediul este configurat, poți rula codul tău Visual Basic.

URL API HTTP pentru a trimite SMS din Visual Basic

Pentru a trimite SMS din Visual Basic, aplicația ta Visual Basic va trebui să efectueze o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Reține că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului tău SMS. Dacă Ozeki SMS Gateway este instalat pe același computer unde rulează aplicația ta Visual Basic pentru SMS, aceasta poate fi 127.0.0.1. Dacă este instalat pe un computer diferit, ar trebui să fie adresa IP a acelui computer.

http://127.0.0.1:9509/api?action=rest
Autentificare HTTP pentru a trimite SMS din Visual Basic

Pentru a autentifica clientul SMS Visual Basic, trebuie să trimiți numele de utilizator și parola într-un șir codat base64 către server într-o cerere HTTP. Formatul folosit este: base64(nume_utilizator+":"+parolă). În C# poți folosi următorul cod pentru a face această codare:

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

De exemplu, dacă codezi numele de utilizator 'http_user' și parola 'qwe123', vei obține următorul șir codat base64: aHR0cF91c2VyOnF3ZTEyMw==. Pentru a trimite

Antet cerere HTTP pentru a trimite SMS din Visual Basic

Pentru a trimite mesajele SMS, trebuie să incluzi următoarele linii ca antete în cererea HTTP. Reține că includem un tip de conținut și un antet de autorizare.

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

Cerere HTTP pentru trimiterea SMS din Visual Basic

Pentru a trimite SMS-ul, aplicația ta Visual Basic va trimite o cerere HTTP similară cu cea de mai jos. Reține că această cerere conține o parte de antet HTTP și o parte de corp HTTP. Corpul HTTP este un șir de date codificat în JSON. Acesta conține numărul destinatarului și textul mesajului.

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

Răspuns HTTP primit de exemplul de SMS în Visual Basic

Odată ce gateway-ul SMS primește această cerere, va genera un răspuns HTTP. Răspunsul HTTP va conține un cod de stare, pentru a indica dacă cererea de trimitere a SMS-ului a fost reușită sau nu. De asemenea, va returna o structură codificată în JSON pentru a vă oferi detalii utile despre trimiterea mesajului.

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

Cum să trimiți SMS din Visual Basic (Tutorial video)

Acest videoclip vă arată cum să creați un nou proiect consolă .Net core în Visual Studio, cum să-l denumiți Send-SMS.sln. Odată ce soluția este creată, s-ar putea să observați că un fișier Send-SMS.vbproj este adăugat la soluție, iar în mod implicit fișierul Program.cs este deschis. Puteți redenumi Program.vb în Send-SMS.vb dacă doriți. De asemenea, veți vedea în videoclip cum codul exemplu de mai jos poate fi copiat în fișierul Send-SMS.vb și cum poate fi compilat și executat.

Video 1 - Cum să descărcați și să deschideți soluția (Tutorial video)

SendSms.sln

Codul exemplu de mai jos face parte din Soluția Visual Studio SendSms.sln. O soluție Visual Studio poate conține mai multe proiecte și mai multe fișiere. În această soluție există doar două proiecte: SendSms.vbproj, Ozeki.Libs.Rest.csproj și un fișier: Program.vb.

Figura 3 - SendSms.sln

Cum să verificați dacă SMS-ul a fost acceptat de utilizatorul HTTP

După ce SMS-ul a fost trimis, este o idee bună să verificați gateway-ul SMS, pentru a vedea ce a primit. Puteți verifica jurnalul deschizând detaliile utilizatorului HTTP din consola de management Ozeki SMS Gateway. Următorul videoclip vă arată ce să căutați.

Video 2 - Cum să trimiteți SMS cu codul Visual Basic de mai sus (Tutorial video)

Cum să verificați dacă SMS-ul a fost trimis către rețeaua mobilă

Pasul final în verificarea procedurii este să vă uitați la jurnalele conexiunii la rețeaua mobilă. S-ar putea să fie nevoie să activați jurnalizarea în configurația conexiunii înainte de a trimite mesajul pentru a vedea jurnalele. Dacă jurnalizarea este activată, veți vedea numărul de telefon și textul mesajului pe care l-ați trimis.

Video 3 - Cum să activați jurnalizarea în Ozeki SMS Gateway (Tutorial video)

Rularea exemplului de SMS în Visual Basic pe Windows

Când utilizați Windows pentru a rula acest exemplu de SMS scris în Visual Basic, veți observa că obțineți o performanță ușor mai bună decât atunci când îl rulați pe Linux. Pentru a înțelege de ce se întâmplă acest lucru, trebuie să țineți cont de faptul că Visual Basic utilizează cadrul .NET pentru executarea codului. Acest lucru se datorează faptului că implementarea .NET pe Windows este optimizată pentru performanță, în timp ce mono, implementarea .NET pe Linux, mai are de recuperat în acest domeniu.

Rezumat

Ghidul de mai sus a explicat pașii pentru trimiterea SMS-urilor din Visual Basic. Ozeki oferă toate cunoștințele și instrumentele pentru a-ți ușura munca. Dacă pașii au fost urmăriți cu atenție, mesageria cu clienții mobili din VB cu ajutorul Ozeki SMS Gateway nu ar trebui să fie complicată. Performanța ridicată a Ozeki SMS Gateway îți permite să trimiți până la 1000 de SMS-uri pe secundă.

Asigură-te că continui să citești pe pagina de tutoriale Ozeki, unde există informații despre subiecte similare, precum primirea în VB.

Următorul lucru pe care trebuie să-l faci este să descărci Ozeki SMS Gateway și să începi să lucrezi!

More information