Enviar SMS API REST json y .Net con código fuente de ejemplo
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 con .Net permite añadir la capacidad de enviar alertas, recordatorios, ofertas o simplemente comunicaciones a los usuarios o clientes del servicio.
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 para el envío de SMS masivo.
' Copyright (c) 2021, 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.waltiria.com/api-envio-sms/
Module RestVBAltiria
Sub Main()
Dim err = "" Dim resp = "" Try 'Compone el mensaje a enviar 'YY y ZZ se corresponden con los valores 'de identificación del usuario en el sistema. Dim json = "{""credentials"":{""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 Visual C
using System; using System.Text; using System.Net; using System.IO;
// Copyright (c) 2021, 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;
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = "{\"credentials\":" + "\"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); } } } }
Lista de tareas detallada, checklist, para asegurarte que no se olvida nada importante en la integración de API SMS. Independiente del lenguaje de programación elegido.