Envío de SMS con C#

Aprende a realizar el envío de SMS con C# utilizando la API de 360NRS. Descubre cómo integrar esta funcionalidad en tus aplicaciones de forma rápida y eficiente.

SMS #C

El envío de mensajes SMS sigue siendo una herramienta clave en la comunicación empresarial, especialmente para notificaciones, alertas, y marketing.

La integración de SMS con C# utilizando la API de 360NRS permite automatizar este proceso, proporcionando flexibilidad y escalabilidad.

La API de 360NRS ofrece funcionalidades avanzadas como personalización de mensajes, programación, notificaciones de entrega, y soporte para mensajes certificados o flash.

En este artículo, aprenderás a realizar la integración paso a paso, incluyendo el manejo de errores y escenarios avanzados.


API de 360NRS para SMS #C

La API de 360NRS permite enviar SMS de forma sencilla mediante solicitudes HTTP. Entre sus principales características destacan:

  • Autenticación: Se utiliza un token de autorización en formato Basic Auth.
  • Seguridad: Todas las solicitudes deben enviarse a través de HTTPS.
  • Manejo de parámetros: Permite personalizar mensajes con múltiples destinatarios, etiquetas y programación.
  • Respuestas claras: Proporciona respuestas HTTP detalladas para validar el estado de las solicitudes.

Implementación básica: Enviar un SMS con #C

El siguiente ejemplo muestra cómo enviar un SMS utilizando la API. Este ejemplo básico incluye el envío de un mensaje simple a un destinatario.

using System;
using RestSharp;

namespace HelloWorldApplication {
class HelloWorld {
static void Main(string[] args) {
var client = new RestClient("https://dashboard.360nrs.com/api/rest/sms");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic YOUR_AUTH_TOKEN");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{ \"to\": [\"34666555444\"], \"from\": \"TEST\", \"message\": \"SMS text message\" }", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
}
}
}

Descripción paso a paso

  1. Cliente HTTP: Se utiliza la biblioteca RestSharp para gestionar las solicitudes HTTP.
  2. Autenticación: El encabezado Authorization contiene el token de acceso.
  3. Cuerpo de la solicitud: Se especifican los parámetros to, from y message.
  4. Respuesta del servidor: El contenido de la respuesta se imprime en consola.

Manejo de respuestas del servidor

La API devuelve diferentes códigos HTTP según el resultado de la solicitud:

Ejemplo de respuesta exitosa

Código HTTP 202 (ACCEPTED)

{
"campaignId": 100000,
"sendingId": 100001,
"result": [
{
"accepted": true,
"to": "34666555444",
"id": "XXXXXXXXXXXXX",
"parts": 1,
"scheduledAt": null,
"expiresAt": null
}
]
}
  • campaignId: ID de la campaña asociada.
  • sendingId: ID único del envío.
  • result: Detalles de cada destinatario.

Ejemplo de error en la solicitud

Código HTTP 400 (BAD REQUEST)

{
"error": {
"code": 102,
"description": "No valid recipients"
}
}
  • code: Código del error.
  • description: Descripción del problema.

Parámetros principales de la API

ParámetroTipoObligatorioDescripción
messagestringTexto del mensaje. Máximo 160 caracteres (o más si es multipart).
toarrayLista de números de destinatarios (incluyendo prefijos).
fromstringRemitente (hasta 11 caracteres alfanuméricos o 15 numéricos).
encodingstringNoCodificación: gsm, utf-16.
scheduleDatestringNoFecha de envío programado en formato UTC (YYYYmmddHHiiss).
notificationUrlstringNoURL para recibir notificaciones de entrega.
campaignNamestringNoNombre de la campaña.
subarrayNoVariables de sustitución para personalización.

Ejemplos prácticos adicionales

Enviar un mensaje programado

request.AddParameter("application/json", "{ \"to\": [\"34666555444\"], \"from\": \"TEST\", \"message\": \"Scheduled SMS\", \"scheduleDate\": \"20240101120000\" }", ParameterType.RequestBody);
  • scheduleDate: Envía el SMS el 1 de enero de 2024 a las 12:00:00 UTC.

Enviar mensajes personalizados con variables

request.AddParameter("application/json", "{ \"from\": \"TEST\", \"to\": [\"34666555444\"], \"message\": \"Hello {name}\", \"sub\": [{ \"name\": \"John\" }] }", ParameterType.RequestBody);
  • sub: Personaliza el mensaje para cada destinatario.

Consultar estado de un SMS por ID

El siguiente código permite recuperar información detallada sobre un SMS enviado.

using System;
using RestSharp;

namespace HelloWorldApplication {
class HelloWorld {
static void Main(string[] args) {
var client = new RestClient("https://dashboard.360nrs.com/api/rest/sms/<ID>");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Basic YOUR_AUTH_TOKEN");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
}
}
}

Respuesta exitosa

{
"data": [
{
"id": "XXXXXXXXXXXXX",
"from": "360NRS",
"to": "34666555444",
"message": "SMS text message",
"isDelivered": true
}
]
}

La integración de la API de 360NRS con C# simplifica el envío de SMS al permitir una gestión eficiente y escalable.

Con soporte para mensajes personalizados, programación y notificaciones, esta solución mejora la experiencia del usuario y aumenta la eficacia de la comunicación empresarial. Implementa esta integración para llevar tus procesos al siguiente nivel.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.






Regístrate GRATIS y accede ahora

Descubre nuestras soluciones para empresas: SMS, RCS, WhatsApp, Email marketing y voz con APIs de integración para tus sistemas.