SMS NET. Enviar SMS con .NET
Altiria facilita el envÃo de SMS con .NET mediante ejemplos de código a sus clientes.
Para integrar el envÃo de SMS con .NET, en primer lugar es necesario leer la documentación técnica de envÃo de SMS, API SMS. El protocolo de comunicaciones más sencillo para implementar el envÃo de SMS es el protocolo HTTP.
Los siguientes códigos son ejemplos incompletos sólo con el fin de mostrar el procedimiento de envÃo de SMS con .NET. Para un ejemplo detallado, la referencia es la especificación técnica.
Ejemplo en ASP 3.0
Ejemplo .NET en ASP 3.0 usando como cliente HTTPÂ Â ServerXMLHTTPÂ (ServerXMLHTTP FAQ)
Set objXSH = Server.CreateObject("Msxml2.ServerXMLHTTP")
Dim strPostText, sResponseText
’Se fija la URL sobre la que enviar la petición POST
’Como ejemplo la petición se envÃa a www.enviarsms.net/sustituirPOSTsms
objXSH.open "POST", "http://www.enviarsms.net/sustituirPOSTsms", False
objXSH.setRequestHeader
"Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"
strPostText =
"cmd=sendsms&dest=346XXXXXXXX&msg=Texto de prueba"
objXSH.send strPostText
If objXSH.Status = 200 Then
’La respuesta se debe usar para filtrar el resultadoÂ
’devuelto por la pasarela
sResponseText = objXSH.responseText
Else
Debug.Print "Error: (" & objXSH.Status & ") " & objXSH.statusText
End If
Set objXSH = Nothing
Ejemplo en en Visual Basic
Ejemplo .NET en Visual Basic usando HttpWebRequest como cliente HTTP:
’Se fija la URL sobre la que enviar la petición POST
’Como ejemplo la petición se envÃa a www.enviarsms.net/sustituirPOSTsms
Dim loHttp As HttpWebRequest
loHttp =
CType(WebRequest.Create("http://www.enviarsms.net/sustituirPOSTsms"),
HttpWebRequest)
’Compone el mensaje a enviar
Dim lcPostData As String =
"cmd=sendsms&dest=346XXXXXXXX&msg=Texto de prueba"
’Lo codifica en utf-8
Dim lbPostBuffer As Byte() =
System.Text.Encoding.GetEncoding("utf-8").GetBytes(lcPostData)
loHttp.Method = "POST"
loHttp.ContentType = "application/x-www-form-urlencoded"
loHttp.ContentLength = lbPostBuffer.Length
’EnvÃa la peticion
Dim loPostData As System.IO.Stream = loHttp.GetRequestStream()
loPostData.Write(lbPostBuffer, 0, lbPostBuffer.Length)
loPostData.Close()
’Prepara el objeto para obtener la respuesta
Dim loWebResponse As HttpWebResponse = CType(loHttp.GetResponse(),
HttpWebResponse)
’La respuesta vendrá codificada en utf-8
Dim enc As System.Text.Encoding =
System.Text.Encoding.GetEncoding("utf-8")
Dim loResponseStream As System.IO.StreamReader =
New System.IO.StreamReader(loWebResponse.GetResponseStream(), enc)
’Conseguimos la respuesta en una cadena de texto
Dim lcHtml As String = loResponseStream.ReadToEnd()
loWebResponse.Close()
loResponseStream.Close()
Ejemplo en C#
Ejemplo.NET en C# usando HttpWebRequest como cliente HTTP.
//Se fija la URL sobre la que enviar la petición POST
//Como ejemplo la petición se envÃa a www.altiria.net/sustituirPOSTsms
HttpWebRequest loHttp =
(HttpWebRequest) WebRequest.
Create("http://www.enviarsms.net/sustituirPOSTsms");
// Compone el mensaje a enviar
string lcPostData =
"cmd=sendsms&dest=346XXXXXXXX&msg=Texto de prueba";
// Lo codifica en utf-8
byte [] lbPostBuffer = System.Text.Encoding.GetEncoding("utf-8").
GetBytes(lcPostData);
loHttp.Method="POST";
loHttp.ContentType="application/x-www-form-urlencoded";
loHttp.ContentLength = lbPostBuffer.Length;
// EnvÃa la peticion
Stream loPostData = loHttp.GetRequestStream();
loPostData.Write(lbPostBuffer,0,lbPostBuffer.Length);
loPostData.Close();
// Prepara el objeto para obtener la respuesta
HttpWebResponse loWebResponse = (HttpWebResponse) loHttp.GetResponse();
// La respuesta vendrá codificada en utf-8
EEncoding enc = System.Text.Encoding.GetEncoding("utf-8");
StreamReader loResponseStream =
new StreamReader(loWebResponse.GetResponseStream(),enc);
// Conseguimos la respuesta en una cadena de texto
string lcHtml = loResponseStream.ReadToEnd();
loWebResponse.Close();
loResponseStream.Close()
CaracterÃsticas adicionales del envÃo de SMS en .NET
- Remitente personalizado: Personalización en el envÃo de SMS con .NET del remitente de origen por una cadena de texto, por ejemplo, el nombre de su empresa.
- Confirmación de entrega: Conozca la fecha y hora en la que se ha recibido el SMS enviado o las causas por las que no se ha recibido.
- Sistema avanzado de control de crédito con aviso automático por email que impide quedarse sin crédito de envÃo de forma inesperada.
- Informes automáticos de envÃo de SMS y confirmación de entrega, permiten mantener un control periódico de los envÃos de SMS en .NET.
- Posiblidad de reenvÃo de SMS pendientes por falta de crédito. Si realizó un envÃo de SMS mediante .NET y no tenÃa crédito, los mensajes se quedan encolados en nuestros sistemas hasta que disponga de crédito, de forma que no necesita repetir el envÃo.

