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.
Contenidos
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
- Cliente HTTP: Se utiliza la biblioteca RestSharp para gestionar las solicitudes HTTP.
- Autenticación: El encabezado
Authorization
contiene el token de acceso. - Cuerpo de la solicitud: Se especifican los parámetros
to
,from
ymessage
. - 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ámetro | Tipo | Obligatorio | Descripción |
---|---|---|---|
message | string | Sí | Texto del mensaje. Máximo 160 caracteres (o más si es multipart). |
to | array | Sí | Lista de números de destinatarios (incluyendo prefijos). |
from | string | Sí | Remitente (hasta 11 caracteres alfanuméricos o 15 numéricos). |
encoding | string | No | Codificación: gsm , utf-16 . |
scheduleDate | string | No | Fecha de envío programado en formato UTC (YYYYmmddHHiiss). |
notificationUrl | string | No | URL para recibir notificaciones de entrega. |
campaignName | string | No | Nombre de la campaña. |
sub | array | No | Variables 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.
Jaime Martínez – CDO y especialista en diseño y usabilidad
Jaime Martínez es nuestro Chief Design Officer (CDO) y un experto en comunicaciones móviles, marketing online, diseño y usabilidad. Con más de 20 años de experiencia en el sector, Jaime ha liderado proyectos innovadores y ha sido clave en el desarrollo de estrategias de diseño que mejoran la experiencia del usuario y optimizan la efectividad de las campañas de nuestros clientes. Su amplia trayectoria en el diseño y marketing digital aporta un enfoque único y esencial para el éxito de nuestras soluciones multicanal.
Deja una respuesta