VB.NET: invio SMS tramite il servizio SMS Aruba

Aruba offre il servizio SMS Aruba disponibile in due versioni, uno per le attivazioni del servizio effettuate prima del 2016 e l’altro per le attivazioni successive a tale data.

Le attivazioni del servizio effettuate prima del 2016 possono essere gestite con il portale disponibile al seguente http://admin.sms.aruba.it, mentre le attivazione successive al 2016 possono essere gestire con il portale disponibile al seguente https://adminsms.aruba.it.

Entrambi i servizi possono utilizzare le api disponibili tramite l’url http://admin.sms.aruba.it/sms/send.php, ma per le attivazioni successive al 2016 è possibile accedere alle api anche tramite https.

Per un esempio di codice è possibile utilizzare i seguenti link:

Di seguito un esempio di codice che permette di gestire entrambe le versioni, nel codice seguente è possibile inviare un SMS di test specificado:

  • utente e password
  • numero di telefono del destinatario senza anteporre il prefisso internazionale, nel codice viene anteposto a titolo di esempio sempre il +39 (%2b39)
  • alias ovvero il mittente del messaggio in forma alfanumerica (max 11 caratteri alfanumerici), il sender viene visualizzato ai destinatari solo se registrato come Alias nel portale di gestione.

Private urlSendSMSAruba2016 = “https://adminsms.aruba.it/sms/send.php?user={0}&pass={1}&rcpt=%2b39{2}&data={3}&sender={4}&qty=h”
Private urlSendSMSArubaPre2016 = “http://admin.sms.aruba.it/sms/send.php?user={0}&pass={1}&rcpt=%2b39{2}&data={3}&sender={4}&qty=h”

Dim sendSMSRequest As System.Net.WebRequest = Nothing

 

If Me.RadioButtonSMSAruba2016.Checked Then

sendSMSRequest = System.Net.WebRequest.Create(String.Format(Me.urlSendSMSAruba2016,
Me.TextBoxUser.Text, Me.TextBoxPassword.Text,
Me.TextBoxRecipient.Text,
“Prova%20invio%20SMS%20Aruba%202016”,
Me.TextBoxAlias.Text))

ElseIf Me.RadioButtonSMSArubaPre2016.Checked Then

sendSMSRequest = System.Net.WebRequest.Create(String.Format(Me.urlSendSMSArubaPre2016,
Me.TextBoxUser.Text, Me.TextBoxPassword.Text,
Me.TextBoxRecipient.Text,
“Prova%20invio%20SMS%20Aruba%20Pre%202016”,
Me.TextBoxAlias.Text))

End If

 

sendSMSRequest.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials

 

Dim stream As System.IO.Stream = sendSMSRequest.GetResponse.GetResponseStream()

 

Dim reader As New System.IO.StreamReader(stream)

 

Dim line As String = reader.ReadLine()

 

Do While Not String.IsNullOrEmpty(line)

Me.TextBoxOutput.Text &= line
line = reader.ReadLine()

Loop

 

If Me.TextBoxOutput.Text.StartsWith(“KO”) Then

MsgBox (“SMS not send!”, False)
ElseIf Me.TextBoxOutput.Text.StartsWith(“OK”) Then
MsgBox(“SMS send!”)

End If

In ogni caso è anche disponibile l’API SDK del servizio Aruba SMS disponibile per JAVA, PHP, C# e VB.NET che implementa un classe che fa da wrapper alle API, per utilizzare il servizio SMS negli applicativi in modo più strutturato, inoltre è anche possibile ispirarsi all’SDK per ricavare esempi per la gestione delle vari funzionalità offerte dalle API che comprendono l’invio singolo e multiplo dell’SMS e la gestione dei crediti.

[Update 01]

Nel caso si desideri ottenere il credito è possibile utilizzare i seguenti url utilizzando il seguente codice:

Private urlGetCreditAruba2016 = “https://adminsms.aruba.it/sms/credit.php?user={0}&pass={1}”
Private urlGetCreditArubaPre2016 = “http://admin.sms.aruba.it/sms/credit.php?user={0}&pass={1}”

 

Dim getCreditRequest As System.Net.WebRequest = Nothing

If Me.RadioButtonSMSAruba2016.Checked Then
getCreditRequest = System.Net.WebRequest.Create(String.Format(Me.urlGetCreditAruba2016,
Me.TextBoxUser.Text, Me.TextBoxPassword.Text))
ElseIf Me.RadioButtonSMSArubaPre2016.Checked Then
getCreditRequest = System.Net.WebRequest.Create(String.Format(Me.urlGetCreditArubaPre2016,
Me.TextBoxUser.Text, Me.TextBoxPassword.Text))
End If

 

getCreditRequest.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials

 

Dim stream As System.IO.Stream = getCreditRequest.GetResponse.GetResponseStream()

Dim reader As New System.IO.StreamReader(stream)
Dim line As String = reader.ReadLine()

 

Do While Not String.IsNullOrEmpty(line)
Me.TextBoxOutput.Text &= line
line = reader.ReadLine()
Loop

 

If Me.TextBoxOutput.Text.StartsWith(“KO”) Then
Util.ShowError(“Get credit failed!”, False)
ElseIf Me.TextBoxOutput.Text.StartsWith(“OK”) Then
Util.ShowMessage(“Get credit success!”)
End If