API para enviar SMS con Shell: Guía, cURL y ejemplos

Enviar SMS desde la terminal de Linux utilizando Shell y cURL es una solución eficiente para automatizar notificaciones, alertas y comunicaciones sin necesidad de interfaces gráficas.
Gracias a la API SMS Shell de 360NRS , puedes integrar el envío de mensajes en scripts y servidores de manera sencilla, sin depender de software adicional.

Configura tu entorno y haz llamadas a la API de 360NRS con cURL, maneja errores y aplica buenas prácticas de seguridad.
Si necesitas una solución rápida, robusta y eficiente para enviar SMS desde Linux, esta guía es todo lo que necesitas.

Enviar SMS desde la terminal de Linux usando Shell y cURL es una solución rápida y eficiente para notificaciones, alertas o integraciones automatizadas. Gracias a la API de 360NRS, puedes enviar mensajes a múltiples destinatarios desde scripts o servidores sin necesidad de interfaces gráficas.

En este artículo, aprenderás a usar la API de 360NRS con cURL, a manejar respuestas y errores de la API, y a implementar buenas prácticas para garantizar un uso seguro y eficiente del servicio.

Si buscas una forma sencilla y efectiva de enviar SMS desde la terminal de Linux, ¡este tutorial es para ti! 🚀


Requisitos previos para enviar SMS con Shell

Antes de comenzar, asegúrate de contar con los siguientes requisitos:

🔹 Cuenta en 360NRS: Si aún no tienes una, regístrate en 360NRS.
🔹 Obtener el Token de Autenticación: Necesario para autenticarte en la API.
🔹 Tener cURL instalado: Para comprobar si está instalado, ejecuta en la terminal:

curl --version

Si no está instalado, puedes hacerlo con:

  • Ubuntu/Debian: sudo apt install curl
  • CentOS/Fedora: sudo dnf install curl
  • MacOS (Homebrew): brew install curl

Una vez que tengas cURL listo, ¡ya podemos comenzar!


Cómo funciona la API SMS de 360NRS con Shell

La API de 360NRS permite enviar SMS mediante solicitudes HTTP POST. Aquí tienes lo más importante que debes saber:

📌 Endpoint de la API:

POST https://dashboard.360nrs.com/api/rest/sms

Parámetros principales:

ParámetroTipoObligatorioDescripción
toArray✅ SíNúmero(s) de teléfono con prefijo internacional.
fromString✅ SíRemitente del SMS (máximo 11 caracteres alfanuméricos).
messageString✅ SíTexto del SMS (máximo 160 caracteres).

🔹 Ejemplo de una petición exitosa:

  • El servidor responderá con 202 ACCEPTED si el mensaje se ha enviado correctamente.

Código para enviar SMS con Shell y cURL

Ejemplo básico

Para enviar un SMS con cURL, ejecuta el siguiente comando en la terminal:

curl -X POST 'https://dashboard.360nrs.com/api/rest/sms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic YOUR_AUTH_TOKEN' \
-d '{
"to": ["34666555444"],
"from": "TEST",
"message": "Mensaje de prueba desde Shell"
}'

Explicación del código:
✔️ -X POST: Indica que estamos haciendo una solicitud HTTP POST.
✔️ -H 'Content-Type: application/json': Especifica que enviamos datos en formato JSON.
✔️ -H 'Authorization: Basic YOUR_AUTH_TOKEN': Autenticación con un token. Sustituye «YOUR_AUTH_TOKEN» por el tuyo.
✔️ -d '{}': Cuerpo de la solicitud, donde se definen to, from y message.

Si todo está correcto, recibirás una respuesta con el código 202 ACCEPTED.


Manejo de respuestas y errores de la API

Respuestas posibles de la API

Código HTTPSignificadoPosible solución
202 ACCEPTEDEl SMS se ha enviado correctamente.No es necesario hacer nada.
207 MULTI-STATUSAlgunos mensajes se enviaron y otros fallaron.Revisa los detalles en la respuesta.
400 BAD REQUESTError en la solicitud (parámetro incorrecto).Verifica los datos enviados.
401 UNAUTHORIZEDError en la autenticación.Comprueba tu token.
429 TOO MANY REQUESTSSe ha superado el límite de envíos.Espera y reintenta más tarde.

🔹 Ejemplo de cómo capturar la respuesta y mostrar el resultado en Shell:

response=$(curl -s -X POST 'https://dashboard.360nrs.com/api/rest/sms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic YOUR_AUTH_TOKEN' \
-d '{"to":["34666555444"], "from":"TEST", "message":"Mensaje de prueba"}')

echo "Respuesta de la API: $response"

📌 El -s suprime la barra de progreso de cURL, haciendo la salida más limpia.


Funciones avanzadas en el envío de SMS

Programar un envío de SMS

Para programar un mensaje a una fecha específica, usa el parámetro scheduleDate:

curl -X POST 'https://dashboard.360nrs.com/api/rest/sms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic YOUR_AUTH_TOKEN' \
-d '{
"to": ["34666555444"],
"from": "TEST",
"message": "Mensaje programado",
"scheduleDate": "20250215142000"
}'

Esto enviará el SMS el 15 de febrero de 2025 a las 14:20:00 UTC.

Usar variables personalizadas en los SMS

curl -X POST 'https://dashboard.360nrs.com/api/rest/sms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic YOUR_AUTH_TOKEN' \
-d '{
"to": ["34666555444"],
"from": "TEST",
"message": "Hola {name}",
"sub": [{"name": "Juan"}]
}'

📌 El receptor verá: "Hola Juan"


Consultar el estado de un SMS enviado

Para verificar el estado de un mensaje enviado, usa su ID:

curl -X GET 'https://dashboard.360nrs.com/api/rest/sms/XXXXXXXXXXXXX' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic YOUR_AUTH_TOKEN'

📌 Sustituye XXXXXXXXXXXXX por el ID del mensaje.


Buenas prácticas en el uso de la API SMS con Shell

No expongas tu Authorization Token en código público. Usa variables de entorno:

export AUTH_TOKEN="TU_TOKEN"

Implementa reintentos en caso de fallos:

for i in {1..3}; do
response=$(curl -s -X POST 'https://dashboard.360nrs.com/api/rest/sms' -H 'Authorization: Basic YOUR_AUTH_TOKEN' -d '{}')
echo "Intento $i: $response"
[[ "$response" == *"202 ACCEPTED"* ]] && break
sleep 5
done

Valida los números antes de enviarlos:

if [[ "$numero" =~ ^[0-9]{10,15}$ ]]; then
echo "Número válido: $numero"
else
echo "Número inválido."
fi

El uso de Shell y cURL para enviar SMS mediante la API de 360NRS proporciona una solución simple pero extremadamente poderosa para automatizar comunicaciones. Esta integración resulta especialmente útil en entornos donde se requiere el envío de notificaciones automatizadas, como servidores, sistemas de monitoreo y aplicaciones empresariales. Gracias a su flexibilidad, es posible programar envíos masivos, personalizar los mensajes con variables dinámicas y consultar en tiempo real el estado de los SMS enviados.

Una de las grandes ventajas de este método es su compatibilidad con cualquier sistema basado en Linux, sin necesidad de instalar software adicional. Esto lo hace ideal para administradores de sistemas, desarrolladores y empresas que buscan optimizar sus flujos de trabajo sin depender de interfaces gráficas. Además, al utilizar cURL, se mantiene un control total sobre las peticiones HTTP, permitiendo capturar respuestas y gestionar errores de manera eficiente.

Sin embargo, como en cualquier integración con APIs, es fundamental seguir buenas prácticas para garantizar un uso seguro y eficiente del servicio. Proteger el Authorization Token es clave para evitar accesos no autorizados, así como validar correctamente los números de teléfono antes de enviarlos para evitar fallos en la API. También es recomendable implementar un sistema de reintento en caso de errores temporales o respuestas no esperadas, asegurando la entrega efectiva de los mensajes.

Con esta guía, ya tienes las bases para implementar el envío de SMS desde Shell de manera profesional. Desde aquí, puedes mejorar la integración añadiendo bases de datos para gestionar contactos, automatizar campañas de mensajería o incluso desarrollar sistemas de notificaciones en tiempo real. Las posibilidades son enormes y con las herramientas adecuadas, puedes hacer que la comunicación automatizada sea una parte esencial de tu infraestructura digital.

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.