SMS con Python

Descubre cómo enviar SMS con Python utilizando la API de 360NRS. Aprende paso a paso cómo integrar esta herramienta en tus aplicaciones para optimizar la comunicación.

SMS PYHTON

La integración de envío de SMS en aplicaciones es esencial para múltiples sectores, como comercio, atención al cliente y notificaciones automatizadas. Python, con su simplicidad y extensibilidad, es una herramienta ideal para implementar estas funcionalidades.

Utilizando la API de 360NRS, puedes gestionar el envío de SMS de manera rápida y eficiente, beneficiándote de una plataforma robusta que permite personalización, programación y seguimiento de mensajes.

Este artículo guiará paso a paso sobre cómo integrar la API de 360NRS en Python para enviar SMS, manejar respuestas del servidor y solucionar posibles errores.


Descripción de la API de 360NRS

Funcionalidades principales

La API de 360NRS ofrece:

  • Autenticación segura: Utiliza tokens de autorización en el encabezado.
  • Capacidades avanzadas: Permite mensajes personalizados, programados, y envío masivo.
  • Gestión de respuestas: Proporciona estados detallados de los mensajes enviados.
  • Soporte para variables dinámicas: Personaliza mensajes para múltiples destinatarios.

Aspectos clave de la API

Autenticación

Se utiliza un token de autorización en el encabezado:

Authorization: Basic YOUR_AUTH_TOKEN

Seguridad

La comunicación se realiza mediante HTTPS, asegurando la confidencialidad y protección de los datos transmitidos.

Manejo de solicitudes y respuestas

La API devuelve códigos de estado HTTP estándar, como 202 (Accepted) para un envío exitoso y 400 (Bad Request) para errores en la solicitud.


Código de ejemplo para enviar un SMS

Código Python

import requests

url = "https://dashboard.360nrs.com/api/rest/sms"

payload = "{ \"to\": [\"34666555444\"], \"from\": \"TEST\", \"message\": \"SMS text message\" }"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic YOUR_AUTH_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Explicación del código

  1. Librería Requests: Se utiliza para realizar la solicitud HTTP POST.
  2. Payload: Contiene los datos del mensaje, incluyendo:
    • to: Número(s) de destinatario con prefijo internacional.
    • from: Identificador alfanumérico del remitente.
    • message: Texto del mensaje en formato UTF-8.
  3. Encabezados: Incluyen el tipo de contenido y el token de autenticación.
  4. Respuesta: Se imprime la respuesta del servidor, que contiene información sobre el estado del envío.


Respuestas del servidor y manejo de errores

Código HTTPDescripciónEjemplo de respuesta JSON
202Envío exitoso.json { "campaignId": 100000, "sendingId": 100001, "result": [{ "accepted": true, "to": "34666555444", "id": "XXXXXXXXXXXXX", "parts": 1 }] }
207Envío parcial.json { "campaignId": 100000, "result": [{ "accepted": false, "to": "34", "error": { "code": 102, "description": "No valid recipients" } }] }
400Error en la solicitud.json { "error": { "code": 102, "description": "No valid recipients" } }

Manejo de errores en Python

if response.status_code == 202:
print("Mensaje enviado exitosamente:", response.json())
elif response.status_code == 207:
print("Algunos mensajes fallaron:", response.json())
elif response.status_code == 400:
print("Error en la solicitud:", response.json())
else:
print("Error desconocido:", response.status_code)

Parámetros de la API

Principales parámetros

ParámetroTipoObligatorioDescripción
messagestringTexto del mensaje, máx. 160 caracteres (UTF-8).
toarrayLista de números de destinatarios con prefijo internacional.
fromstringRemitente del mensaje, hasta 11 caracteres alfanuméricos.
encodingstringNoCodificación (gsm, utf-16). Por defecto gsm.
scheduleDatestringNoFecha de envío programado (UTC).
expirationDatestringNoFecha de expiración del mensaje (UTC).
notificationUrlstringNoURL para notificaciones de entrega.

Ejemplos prácticos adicionales

Envío masivo

payload = "{ \"to\": [\"34666555444\", \"34666555333\"], \"from\": \"TEST\", \"message\": \"Promoción especial\" }"
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

Programar un envío

pythonCopiar códigopayload = "{ \"to\": [\"34666555444\"], \"from\": \"TEST\", \"message\": \"Recordatorio\", \"scheduleDate\": \"20241120120000\" }"
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

Personalizar mensajes con variables

payload = """
{
"to": ["34666555444", "34666555333"],
"from": "TEST",
"message": "Hola {name}, tu código es {OTP_CODE}",
"sub": [
{"name": "Juan", "OTP_CODE": "1234"},
{"name": "Ana", "OTP_CODE": "5678"}
]
}
"""
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)


Integrar la API de 360NRS con Python ofrece una solución eficiente y escalable para gestionar comunicaciones por SMS.

Esta integración mejora la experiencia del usuario al proporcionar notificaciones en tiempo real, personalizadas y programables, optimizando la comunicación en aplicaciones modernas.

¡Comienza hoy mismo a implementar esta poderosa herramienta!

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.