Enviar SMS con SOAP y .NET

Puedes realizar envío de SMS con .NET y SOAP empleando la pasarela web services SOAP SMS de Altiria. Más adelante encontrarás dos ejemplos de código (Visual Basic y Visual C#) listos para ser utilizados. Ambos conjugan el protocolo de comunicación SOAP y el gateway SMS de Altiria para facilitarte el envío de SMS utilizando dos lenguajes de programación habituales: Visual Basic y Visual C#.

Desarrolladora orgullosa

Para conocer las funciones completas de la pasarela resulta recomendable consultar la documentación técnica de envío de SMS, API SMS. Además de utilizar SOAP para enviar mensajes también puedes emplear la pasarela SMS HTTP, de la que encontrarás ejemplos de uso en .NET en enviar SMS .NET, para los lenguajes Visual C# y Visual Basic (tanto HttpWebRequest 4.0 como HttpClient 4.5).

El ejemplo que se muestra a continuación ha sido probado y puedes integrarlo en tu código directamente tras modificar los valores de los parámetros que Altiria te enviará cuando solicites la información. Si encuentras algún problema para conseguir el SMS masivos con .NET utilizando SOAP, es probable que puedas solventarlo al revisar la especificación técnica o consultando nuestra página de preguntas frecuentes de integración de envío de SMS.


Código de ejemplo de envío de SMS con SOAP usando Visual Basic .NET

Imports System.Net
Imports SoapVB.SoapVB

Module SoapVB

Sub Main()
Dim dest(1) As String
Dim sms As SmsGatewayService = New SmsGatewayService()

Dim request As TextMessageRequest = New TextMessageRequest()
Dim cr As Credentials = New Credentials()
Dim tm As TextMessage = New TextMessage()
Dim response As TextMessageResponse = New TextMessageResponse()

' Tiempo maximo de respuesta en milisegundos
sms.Timeout = 60000 'milisec

' YY y ZZ se corresponden con los valores de identificación
' del usuario en el sistema
' que serán proporcionados por Altiria al contratar el servicio
' o solicitar una cuenta de prueba
cr.login = "YY"
cr.passwd = "ZZ"

tm.encoding = "UTF-8"
tm.msg = "Mensaje de prueba"

' Se incluye el remitente autorizado por Altiria al dar de alta el servicio.
' No disponible en todos los países
' Omitir el parametro senderId si no se cuenta con ninguno.
tm.senderId = "remitente"

dest(0) = "346xxxxxxxx"
dest(1) = "346yyyyyyyy"

request.credentials = cr
request.destination = dest
request.message = tm

Try
response = sms.sendSms(request)

If (response.status <> "000") Then
Console.WriteLine("Código de error de Altiria: " + response.status)
Else
Console.WriteLine("Código de Altiria: " + response.status)
For Each rd As TextDestination In response.details
Console.WriteLine(" " + rd.destination + ": Código de respuesta " + rd.status)
Next rd

End If
Catch e As WebException
If (e.Status = WebExceptionStatus.Timeout) Then
Console.WriteLine("Error TimeOut")
Else
Console.WriteLine("ERROR " + e.Message)
End If
Catch e As Exception
Console.WriteLine("ERROR " + e.Message)
End Try

End Sub

End Module


Código de ejemplo SOAP Visual C# .NET para el envío de SMS

using System;
using System.Net;

namespace SoapC {
class SoapCS {
static void Main(string[] args) {
string[] dest = new string[2];
SmsGatewayService sms = new SmsGatewayService();
TextMessageRequest request = new TextMessageRequest();
Credentials cr = new Credentials();
TextMessage tm = new TextMessage();
TextMessageResponse response = new TextMessageResponse();

// Tiempo maximo de respuesta en milisegundos
sms.Timeout = 60000; //milisec

// YY y ZZ se corresponden con los valores de
// identificación del usuario en el sistema
// serán suministrados por Altiria al contratar el servicio
// o solicitar una cuenta de prueba
cr.login = "YY";
cr.passwd = "ZZ";

tm.encoding = "UTF-8";
tm.msg = "Mensaje de prueba";
// Se incluye el remitente autorizado por Altiria
// al dar de alta el servicio.
// No disponible en todos los países
// Omitir el parametro senderId si no se cuenta con ninguno.
tm.senderId = "remitente";

dest[0] = "346xxxxxxxx";
dest[1] = "346yyyyyyyy";

request.credentials = cr;
request.destination = dest;
request.message = tm;

try {
response = sms.sendSms(request);

if (response.status != "000")
Console.WriteLine("Código de error de Altiria: " + response.status);
else {
Console.WriteLine("Código de Altiria: " + response.status);
foreach (TextDestination rd in response.details)
Console.WriteLine(" " + rd.destination + ": Código de respuesta " + rd.status);
}
}
catch (WebException e) {
if (e.Status == WebExceptionStatus.Timeout)
Console.WriteLine("Error TimeOut");
else
Console.WriteLine("ERROR " + e.Message);
}
catch (Exception e) {
Console.WriteLine("ERROR: " + e.Message);
}
}
}
}

Características

Descubre las funcionalidades avanzadas de Altiria para el envío de SMS

Remitente SMS

Remitente enmascarado

Estadísticas

Estadísticas

Programación envío SMS

Programación de envíos diferidos

SMS concatenados

SMS largos, más de 160 caracteres

Landing SMS

Editor de landing

SMS Unicode

Unicode. Acentos y otros alfabetos

Eliminar duplicados

Elimina celulares duplicados

SMS personalizados

Textos personalizados

Plantillas SMS

Plantillas de mensajes

Recordatorio citas SMS

Recordatorio de citas

Pruébalo gratis