SMS Python. Enviar SMS con Python

Integra el envío de SMS con Python con la API SMS de Altiria.

Hay varias opciones para la integración:

programacion

Integración del envio de SMS con Python y PIP

La forma recomendada de instalar el cliente sms-python-client de Altiria es a través de pip.

Si ya tienes PIP instalado

sudo pip install sms-python-client

Si no tienes PIP instalado

git clone https://github.com/altiria/sms-python-client.git

cd sms-python-client

python setup.py install

Ejemplo de uso con el cliente sms-python-client

from sms_api.altiria_client import *

try:
	client = AltiriaClient('miusuario@email.com', 'contraseña')
	textMessage = AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba')
	jsonText = client.sendSms(textMessage)
	print('¡Mensaje enviado!')
except AltiriaGwException as ae:
	print('Mensaje no aceptado:'+ae.message)
	print('Código de error:'+ae.status)
except JsonException as je:
	print('Error en la petición:'+je.message)
except ConnectionException as ce:
	if "RESPONSE_TIMEOUT" in ce.message: 
		print('Tiempo de respuesta agotado:'+ce.message)
	else:
		print('Tiempo de conexión agotado:'+ce.message)

Integración directa con las librerías httplib y urllib

A continuación se ofrece un extracto de código simplificado utilizando las librerías httplib y urllib. Se puede usar como punto de partida para una puesta en marcha rápida.

Se recomienda analizar con detalle la documentación técnica de envío de SMS masivo, API SMS. En particular resulta de especial interés capturar la respuesta emitida por la pasarela HTTP para conocer el resultado de la operación.

También se puede obtener información sobre el envío de ​mensajes concatenados (más longitud de la habitual), caracteres UNICODE o la solicitud de confirmación de entrega.

Si tienes problemas en integración, consulta nuestra página de preguntas frecuentes de integración de envío de SMS.

# -*- coding: utf-8 -*-

# Copyright (c) 2021, Altiria TIC SL
# All rights reserved.
# El uso de este código de ejemplo es solamente para mostrar el uso de la pasarela de envío de SMS de Altiria
# Para un uso personalizado del código, es necesario consultar la API de especificaciones técnicas, donde también podrás encontrar
# más ejemplos de programación en otros lenguajes de programación y otros protocolos (http, REST, web services)
# https://www.altiria.com/api-envio-sms/

import requests

def altiriaSms(destinations, message, senderId, debug):
if debug:
print 'Enter altiriaSms: '+destinations+', message: '+message+', senderId: '+senderId

try:
#Se crea la lista de parámetros a enviar en la petición POST
#YY y ZZ se corresponden con los valores de identificación del usuario en el sistema.
payload = [
('cmd', 'sendsms'),
('login', 'YY'),
('passwd', 'ZZ'),
#No es posible utilizar el remitente en América pero sí en España y Europa
('senderId', senderId),
('msg', message)
]

#add destinations
for destination in destinations.split(","):
payload.append(('dest', destination))

#Se fija la codificacion de caracteres de la peticion POST
contentType = {'Content-Type':'application/x-www-form-urlencoded;charset=utf-8'}

#Se fija la URL sobre la que enviar la petición POST
url = 'http://www.altiria.net/api/http'

#Se envía la petición y se recupera la respuesta
r = requests.post(url,
data=payload,
headers=contentType,
#Se fija el tiempo máximo de espera para conectar con el servidor (5 segundos)
#Se fija el tiempo máximo de espera de la respuesta del servidor (60 segundos)
timeout=(5, 60)) #timeout(timeout_connect, timeout_read)

if debug:
if str(r.status_code) != '200': #Error en la respuesta del servidor
print 'ERROR GENERAL: '+str(r.status_code)
else: #Se procesa la respuesta
print 'Código de estado HTTP: '+str(r.status_code)
if (r.text).find("ERROR errNum:"):
print 'Error de Altiria: '+r.text
else:
print 'Cuerpo de la respuesta: \n'+r.text

return r.text

except requests.ConnectTimeout:
print "Tiempo de conexión agotado"

except requests.ReadTimeout:
print "Tiempo de respuesta agotado"

except Exception as ex:
print "Error interno: "+str(ex)

print 'The function altiriaSms returns: \n'+altiriaSms('346xxxxxxxx,346yyyyyyyy','Mesaje de prueba', '', True)
#No es posible utilizar el remitente en América pero sí en España y Europa
#Utilizar esta llamada solo si se cuenta con un remitente autorizado por Altiria
#print 'The function altiriaSms returns: \n'+altiriaSms('346xxxxxxxx,346yyyyyyyy','Mesaje de prueba', 'remitente', True)

Paga solo por lo que necesitas

Sin cuotas de alta

Sin cuotas de mantenimiento

Protocolos de comunicación soportados

La API SMS se puede utilizar con los siguientes protocolos de comunicación:

SMS API

Descarga

Guía para la integración de SMS API

Lista de tareas detallada, checklist, para asegurarte que no se olvida nada importante en la integración de API SMS. Independiente del lenguaje de programación elegido.

Países a los que damos servicio

bandera españa

España

Bandera Mexico

México

Bandera Colombia

Colombia

Bandera Perú

Perú

Chile

Chile

+125 países

Características

Descubre las funcionalidades avanzadas de Altiria para el envío de SMS

Confirmación entrega SMS

Confirmación de entrega

Remitente SMS

Remitente personalizado

Estadísticas

Estadísticas

Programación envío SMS

Programación de envíos

SMS concatenados

SMS largos, más de 160 caracteres

Landing SMS

Editor de landing

SMS Unicode

Unicode. Acentos y otros alfabetos

Eliminar duplicados

Elimina teléfonos duplicados

SMS personalizados

Textos personalizados

Plantillas SMS

Plantillas de mensajes

Recordatorio citas SMS

Recordatorio de citas

Pruébalo gratis