Enviar SMS microsoft .NET frameworkEnviar SMS API REST json y .Net con código fuente de ejemplo

SMS masivo desde 2002

Altiria ofrece la posibilidad de enviar SMS con API REST Json .Net a través de su API SMS. Si desarrollas con .Net será sencillo utilizar nuestra API para integrar el envío de SMS en tu software o aplicación.

El envío de SMS mediante .Net permite añadir la capacidad de enviar alertas, recordatorios, ofertas o simplemente comunicaciones a los usuarios o clientes del servicio. Ofrecemos códigos de ejemplo para distintos protocolos de comunicación. Los más utilizados son el envío simple con http y .Net y este que presentamos, el envío mediante el protocolo Rest Json.

La ventaja de utilizar estructuras de datos Json es que son muy ligeras y fáciles de manipular, siendo fácil su generación a partir de objetos en cualquier lenguaje de programación.

A continuación puedes encontrar un par de ejemplos de código fuente funcional que utiliza los servicios web para enviar SMS API REST json con .Net, uno con VisualC y otro con Visual Basic. Este código es sólo una ayuda para agilizar la integración en tu software, pero se debe personalizar para implementar una adecuada gestión de los posibles códigos de error de manera adecuada a la herramienta o aplicación que se esté desarrollando.

Si tienes problemas en integración, consulta nuestra página de preguntas frecuentes de integración de envío de SMS.

Envío de SMS Rest Json con VisualBasic

Imports System.IO
Imports System.Net
Imports System.Text

' Copyright (c) 2020, Altiria TIC SL
' All rights reserved.
' El uso de este código de ejemplo es solamente para mostrar el uso de la pasarela de envío de SMS de Altiria
' Para un uso personalizado del código, es necesario consultar la API de especificaciones técnicas, donde también podrás encontrar
' más ejemplos de programación en otros lenguajes de programación y otros protocolos (http, REST, web services)
' https://www.altiria.com/api-envio-sms/

Module RestVBAltiria

  Sub Main()

    Dim err = ""
    Dim resp = ""
    Try
      'Compone el mensaje a enviar
      'XX, YY y ZZ se corresponden con los valores 
      'de identificación del usuario en el sistema.
      'domainId solo es necesario si el login no es un email
      Dim json = "{""credentials"":{""login"":""YY"",""passwd"":""ZZ""},"
      'Dim json = "{""credentials"":{""domainId"":""XX"", ""login"":""YY"",""passwd"":""ZZ""},"
      json += " ""destination"":[""346xxxxxxxx"",""346yyyyyyyy""],"
      'No es posible utilizar el remitente en América pero­ sí en España y Europa
      'Descomentar la lí­nea solo si se cuenta con un remitente autorizado por Altiria
      'json += " ""message"": {""msg"":""Mensaje de prueba"",""senderId"":""remitente""}}"
      json += " ""message"": {""msg"":""Mensaje de prueba""}}"

      Dim jsonDataBytes = Encoding.UTF8.GetBytes(json)

      Dim req As WebRequest = WebRequest.Create("http://www.altiria.net/apirest/ws/sendSms")
      req.ContentType = "application/json"
      req.Method = "POST"
      req.ContentLength = jsonDataBytes.Length
      'Fijamos TimeOut de espera de respuesta del servidor = 60 seg
      req.Timeout = 60000

      Dim stream = req.GetRequestStream()
      stream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
      stream.Close()

      Dim response = req.GetResponse().GetResponseStream()

      Dim reader As New StreamReader(response)
      'Conseguimos la respuesta en una cadena de texto
      resp = reader.ReadToEnd()
      reader.Close()
      response.Close()
    Catch e1 As Exception
      err = e1.Message
    Finally
      If (err <> "") Then
        Console.WriteLine(err)
      Else
        Console.WriteLine(resp)
      End If
    End Try
  End Sub
End Module

Envío de SMS Rest Json con VisualC

using System;
using System.Text;
using System.Net;
using System.IO;

// Copyright (c) 2020, Altiria TIC SL
// All rights reserved.
// El uso de este código de ejemplo es solamente para mostrar el uso de la pasarela de envío de SMS de Altiria
// Para un uso personalizado del código, es necesario consultar la API de especificaciones técnicas, donde también podrás encontrar
// más ejemplos de programación en otros lenguajes de programación y otros protocolos (http, REST, web services)
// https://www.altiria.com/api-envio-sms/

namespace RestVCAltiria {
  class Program {
    static void Main(string[] args) {
      var response = "";
      var error = "";
      try {
        //Se fija la URL sobre la que enviar la petición POST
        var httpWebRequest = (HttpWebRequest)WebRequest.
                                Create("http://www.altiria.net/apirest/ws/sendSms");
        httpWebRequest.ContentType = "application/json";
        httpWebRequest.Method = "POST";
        //Establecemos el TimeOut para obtener la respuesta del servidor
        httpWebRequest.Timeout = 60000;

        //domainId solo es necesario si el login no es un email
        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) {
          string json = "{\"credentials\":"
                       //+ "{\"domainId\":\"XX\","
                      + "\"login\":\"YY\",\"passwd\":\"ZZ\"},";
          json += " \"destination\":[\"346xxxxxxxx\",\"346yyyyyyyy\"],";
          //No es posible utilizar el remitente en América pero sí­ en España y Europa
          //Descomentar la lí­nea solo si se cuenta con un remitente autorizado por Altiria
          //json += " \"message\": {\"msg\":\"Mensaje de prueba\"," 
                    + "\"senderId\":\"remitente\"}}";
          json += " \"message\": {\"msg\":\"Mensaje de prueba\"}}";
          streamWriter.Write(json);
          streamWriter.Flush();
          streamWriter.Close();
        }
            
        var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) {
          response = streamReader.ReadToEnd();
        }
          
      }catch (WebException e) {
        if (e.Status == WebExceptionStatus.ConnectFailure)
          error = "Error en la conexión";
        else if (e.Status == WebExceptionStatus.Timeout)
          error = "Error TimeOut";
        else
          error = e.Message;
      }finally {
        if (error != "")
          Console.WriteLine(error);
        else
          Console.WriteLine(response);
      }
    }
  }
}

Otros protocolos de envío de SMS

API HTTP POST SMS

API HTTP POST SMS

Pasarela de envío de SMS mediante Http Post. También soportamos HTTPS

Web Services SOAP SMS

Web Services SOAP SMS

Pasarela SMS mediante web services SOAP

Web de envío SMS

Web de envío SMS

Además de la integración del envío de SMS en su aplicativo, Altiria ofrece un panel de control web en que podrás consultar las estadísticas de envío y descargar informes con el estado de los envíos y la confirmación de entrega.

Mail2SMS: enviar SMS por email

Mail2SMS: enviar SMS por email

Pasarela de envío de SMS masivos por email.

Envío de landing web móvil parametrizada

Además del envío de un SMS API REST json .Net , la pasarela SMS gateway de Altiria ofrece la posibilidad de enviar una página web móvil, SMS landing, con información adicional sin las restricciones de espacio de un SMS o con un formulario de contacto para recibir respuesta de tus clientes o usuarios o enviarles encuestas, formularios de satisfacción o firma de contratos.

Además de poder parametrizar el texto del mensaje SMS, Altiria permite enviar parámetros adicionales  en la petición de envío para también parametrizar el contenido de la web y que tus usuarios y clientes reciban una experiencia personalizada.

Cobertura internacional

Siempre se debe usar el formato de numeración internacional, incluyendo el código de país. Por ejemplo, para un número de móvil de España sería 346XXXXXXXX. En el ejemplo de código anterior WS Rest Json en .Net, se está enviando un SMS de prueba a dos teléfonos de España, 346xxxxxxxx y 346yyyyyyyy, que deberán ser sustituidos por los teléfonos con los que se quiera probar, siempre incluyendo el prefijo internacional. Ofrecemos la mejor cobertura internacional con conexiones directas de máxima calidad.

Características adicionales para enviar SMS con REST JSON API .Net

  • Remitente personalizado: Personalización en el envío de SMS por REST JSON API .Net del remitente de origen por una cadena de texto, por ejemplo, el nombre de su empresa. (*)
  • 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 realizados.
  • Posibilidad de reenvío de SMS pendientes por falta de crédito. Si realizó un envío de SMS 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.

(*) La disponibilidad de la confirmación de entrega al usuario y del remitente personalizado depende de cada país.