Envoyer des SMS avec python
OVH propose des Packs SMS (http://www.ovh.com/fr/sms_et_fax/pack_sms_fiche_technique.xml) et fournit une API « soapi » pour manipuler à distance avec la technologie « Web services », les fonctionnalités des produits, par l’intermédiaire de méthodes, visibles ici http://www.ovh.com/soapi/fr/.
Il y a même un générateur de code, pour l’envoie de SMS par exemple, http://www.ovh.com/soapi/fr/?method=telephonySmsSend (on peut voir que plusieurs langages sont proposés…)
Donc, après avoir commandé un pack SMS, on obtient :
- un compte sous la forme da***200-ovh et « cptovh » dans le code
- mot de passe, « pwdovh » dans le code
- le compte SMS, sous la forme sms-d*****08-1, fournit dans le message de confirmation OVH, « cptsms » dans le code
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Script envoie de SMS, pack SMS OVH, API SOAP
# Option a ajouter : contrôler le nombre de SMS disponible
# Attention, les variables sont dans le fichier conf.py
import pprint
from SOAPpy import WSDL
from conf import *
soap = WSDL.Proxy(‘https://www.ovh.com/soapi/soapi-re-1.21.wsdl’)
# Ajouter ici les N° de téléphones
tels = ['+33663*****']
# le N° appelant
numtelenr = ‘+33144******’
#login
session = soap.login(cptovh, pwdovh, ‘fr’, 0)
#print « login successfull »
def smsender(sujet):
#login
session = soap.login(cptovh, pwdovh, ‘fr’, 0)
for tel in tels:
#telephonySmsSend
result = soap.telephonySmsSend(session, cptsms, numtelenr, tel, sujet, ’48′, ’1′, », », », »)
#result = soap.telephonySmsCreditLeft(session, cptsms)
#print result, sujet
#logout
soap.logout(session)