EN

Blog de LabsMobile noticias y novedades

Cómo enviar mensajes SMS con Python paso a paso [Guía práctica]

En la actualidad, donde la comunicación es instantánea, enviar mensajes SMS a través de Python se ha convertido en una opción muy eficaz para interactuar con clientes y usuarios. Los SMS llegan en segundos y suelen ser leídos al momento, lo que los convierte en un canal de comunicación muy potente.

En este artículo mostramos cómo realizar la integración de SMS con Python. Una guía paso a paso, con ejemplos y todo lo que se necesita para empezar a enviar los primeros mensajes SMS con Python desde aplicación.

16 minutos de lectura
Publicación: 10.06.2025
Última modificación: 10.07.2025
Autor: Ricardo Martín Requena
Categorías: SMS API

Regístrate y prueba enviar SMS con LabsMobile

¡Empieza aquí y ahora!
Todo incluido desde
por SMS a Estados Unidos

Introducción al manual sobre cómo enviar SMS con Phyton

La comunicación vía SMS es uno de los métodos más efectivos para garantizar que un mensaje importante llegue directamente al usuario. Al incorporar el envío de SMS en aplicaciones Python, es posible diseñar flujos automáticos para alertas de sistema, recordatorios de citas o notificaciones de transacciones, con total trazabilidad y rapidez.

La API de LabsMobile ofrece un entorno seguro basado en peticiones JSON sobre HTTPS y autenticación mediante token, lo que facilita su integración en proyectos de cualquier envergadura. En esta introducción se describen los principales escenarios de uso y los requisitos imprescindibles para empezar a implementar esta funcionalidad de forma sencilla.

¿Por qué usar Python para enviar SMS?

Python es un lenguaje de programación muy popular en desarrollo web y de aplicaciones. Su sintaxis clara y su rico ecosistema de librerías facilitan la integración de servicios externos, incluidos los de mensajería SMS. Gracias a librerías de terceros y frameworks, crear un script para enviar SMS es relativamente sencillo. Solamente se necesitas el lenguaje Python, las credenciales API del proveedor y un breve código para la API.

  • Velocidad de desarrollo: scripts cortos que permiten poner en marcha el envío de SMS en muy poco tiempo.
  • Flexibilidad: integración sencilla en aplicaciones web, APIs REST o procesos batch.
  • Portabilidad: código compatible con múltiples sistemas operativos sin necesidad de cambios.
  • Sintaxis legible: facilita el mantenimiento y la colaboración en equipos de desarrollo.

Requisitos previos

Para enviar SMS con Python usando la API de LabsMobile, se necesita lo siguiente:

  • Cuenta activa en LabsMobile (usuario y token API): en la plataforma de LabsMobile y obtén tus credenciales (nombre de usuario y token API).

  • Python 3 instalado en el sistema.
  • Biblioteca requests instalada (pip install requests).
  • Conexión a Internet mediante HTTPS para garantizar la seguridad de la transmisión.

Pasos para enviar SMS con Python

  1. Preparar credenciales: generar el par usuario:token y codificarlo en Base64 para el encabezado Authorization.
  2. Definir la URL de la API: usar https://api.labsmobile.com/json/send mediante una petición POST.
  3. Crear el payload JSON: incluir remitente (tpoa), destinatarios y texto del mensaje.
  4. Enviar la petición HTTP: usar requests.post con encabezados Content-Type: application/json y Authorization: Basic <credenciales>.
  5. Procesar la respuesta: validar el campo code en el JSON para confirmar el envío.

Ejemplo de payload JSON

{

"message": "Tu código de verificación es 1234",

"tpoa": "MiRemitente",

"recipient": [

{ "msisdn": "34123456789" }

]

}

Ejemplos de integración en una aplicación

  • Insertar un nuevo usuario en una base de datos SQLite y enviar mensaje de bienvenida:

    import sqlite3, requests, base64, json

    # --- 1. Registro en la base de datos ---

    conn = sqlite3.connect('usuarios.db')

    cursor = conn.cursor()

    cursor.execute("INSERT INTO usuarios (nombre, celular) VALUES (?, ?)", ('Lucía', '34123456789'))

    conn.commit()

    # --- 2. Preparar SMS ---

    user_token = 'usuarioLabsmobile:tokenAPI'

    credentials = base64.b64encode(user_token.encode()).decode()

    url = 'https://api.labsmobile.com/json/send'

    payload = json.dumps({

    'message': 'Bienvenida Lucía, gracias por unirte a nuestra plataforma!',

    'tpoa': 'MiApp',

    'recipient': [{'msisdn': '34123456789'}]

    })

    headers = {

    'Content-Type': 'application/json',

    'Authorization': f'Basic {credentials}'

    }

    # --- 3. Enviar petición y procesar respuesta ---

    response = requests.post(url, headers=headers, data=payload)

    print('Respuesta de SMS:', response.json()

  • Guardar pedido en la base de datos y notificar al usuario:

    import sqlite3, requests, base64, json

    # --- 1. Guardar pedido en base de datos ---

    conn = sqlite3.connect('pedidos.db')

    cursor = conn.cursor()

    cursor.execute("INSERT INTO pedidos (usuario, producto, celular) VALUES (?, ?, ?)",

    ('Carlos', 'Zapatillas deportivas', '34111222333'))

    conn.commit()

    # --- 2. Preparar SMS ---

    user_token = 'usuarioLabsmobile:tokenAPI'

    credentials = base64.b64encode(user_token.encode()).decode()

    url = 'https://api.labsmobile.com/json/send'

    payload = json.dumps({

    'message': 'Hola Carlos, tu pedido de "Zapatillas deportivas" fue confirmado y está en preparación.',

    'tpoa': 'MiTienda',

    'recipient': [{'msisdn': '34111222333'}]

    })

    headers = {

    'Content-Type': 'application/json',

    'Authorization': f'Basic {credentials}'

    }

    # --- 3. Enviar SMS ---

    response = requests.post(url, headers=headers, data=payload)

    print('Respuesta SMS pedido:', response.json()

  • Enviar alerta de movimiento bancario:

    import requests, base64, json

    # --- 1. Datos del movimiento ---

    monto = 1250.00

    tarjeta = "****6789"

    celular = "34122334455"

    # --- 2. Preparar SMS ---

    user_token = 'usuarioLabsmobile:tokenAPI'

    credentials = base64.b64encode(user_token.encode()).decode()

    url = 'https://api.labsmobile.com/json/send'

    payload = json.dumps({

    'message': f'Alerta: se realizó un cargo de ${monto:.2f} en tu tarjeta {tarjeta}.',

    'tpoa': 'BancoSeguro',

    'recipient': [{'msisdn': celular}]

    })

    headers = {

    'Content-Type': 'application/json',

    'Authorization': f'Basic {credentials}'

    }

    # --- 3. Enviar SMS ---

    response = requests.post(url, headers=headers, data=payload)

    print('Respuesta SMS banco:', response.json())

Seguridad y buenas prácticas

La seguridad es fundamental:

  • Emplear siempre HTTPS para cifrar las peticiones.
  • Guardar credenciales en variables de entorno o archivos de configuración fuera del código.
  • Activa el filtro IP, introduciendo en la Configuración API las direcciones IP desde las que se enviarán las peticiones API.
  • Optar por la versión POST con JSON en lugar de GET para evitar exponer datos sensibles.
  • Gestionar errores validando los códigos de respuesta de la API y registrando fallos para auditoría.

Configura tu cuenta para tener la máxima eficiencia y no enviar mensajes erróneos:

  • Comprueba que el filtro anti-duplicados esté activado y evita mensajes iguales enviados al mismo destinatario.
  • Activa el filtro de países, añadiendo los países permitidos a tu cuenta. De esta forma se descartan los mensajes enviados a otros países.
  • Configura el filtro horario para enviar mensajes sólo en horas apropiadas.
  • Activa las recargas automáticas para que la cuenta nunca se quede sin créditos y que el servicio de envío automatizado no se detenga.
  • Revisa la configuración de notificaciones de tu usuario para estar al día de las novedades, notificaciones y eventos de tu cuenta.

Casos de uso comunes

  • Recordatorios de citas médicas: Enviar automáticamente un SMS para recordar al paciente su próxima consulta, con el objetivo de reducir ausencias y mejorando la gestión de la agenda clínica.
  • Confirmaciones de pedidos: Notificar al cliente el estado de su compra (recepción, preparación, envío o entrega), aportando transparencia y tranquilidad durante el proceso de compra.
  • Alertas de seguridad: Informar de forma inmediata sobre cambios, accesos sospechosos o bloqueos de cuenta, reforzando la protección y confianza en la plataforma.
  • Notificaciones de eventos: Comunicar a los usuarios detalles de webinars, talleres o eventos presenciales (hora, ubicación o enlace de acceso), para así garantizar una asistencia puntual y organizada.
  • Códigos de verificación (OTP): Envíar un código de un solo uso para completar procesos de autenticación o restablecimiento de contraseña, añadiendo una capa extra de seguridad.
  • Promociones y ofertas flash: Lanzar campañas de marketing con descuentos y promociones limitadas en tiempo real, incentivando la conversión directa y la fidelización.

Conclusión

Implementar el envío de SMS con Python y LabsMobile es un proceso rápido y seguro que permite mejorar la comunicación con los usuarios a través de notificaciones instantáneas. Con esta guía y los ejemplos proporcionados, será posible integrar esta funcionalidad en cualquier aplicación Python en cuestión de minutos.

Descubre cómo el envío de SMS con Python puede optimizar tus procesos de comunicación. ¡Contáctanos y da el siguiente paso hacia la eficiencia!

Enlaces para ampliar información de API

Puedes ampliar información y saber más sobre cómo configurar una API en los siguientes enlaces:

- Información general de nuestra API

- Ejemplos de código para la integración de LabsMobile API en Python

- Documentación de la API SMS versión REST de LabsMobile

- Librerías SDK oficiales de LabsMobile

- Módulos y plugins para la integración con LabsMobile

- Vidoetutorial de cómo integrar con la API de LabsMobile.

Nuestro equipo te asesora

¿Estás interesado en nuestros servicios?

Nuestros gestores y equipo técnico están a tu disposición para responder a todas tus preguntas sobre nuestras soluciones SMS y aconsejarte sobre la puesta en marcha de cualquier acción o campaña.

Contáctanos