Présentation des API Web Service Orange d'envoi/réception de SMS/EmailDate de publication : 31/01/2008 , Date de mise à jour : 13/02/2008
Par
François Marx
Les API Web Service SMS/Email d'Orange (gratuite, version alpha) offrent un cadre simple pour envoyer/recevoir des SMS et emails.
Cet article a pour but de présenter les différentes méthodes des API à travers de courts exemples.
I. Introduction II. L'API SMS II-A. Envoyer un SMS II-B. Recevoir un SMS III. L'API mail III-A. Envoyer un mail III-B. Lire des emails IV. Exemples IV-A. Mini Poll IV-B. Post It V. Utilisation des API avec le Zend Framework en PHP VI. Conclusion VI-A. A vous de jouer VI-B. Pour aller plus loin I. Introduction
Pour faciliter l'accès à leur service, de nombreuses entreprises ont crée des Web Services librement accessibles sur le Web.
L'API (on utilisera indifféremment dans la suite le terme de Web Service et API) cartographique de Google (déjà présentée sur le club des développeurs) est l'une des plus connues.
Le site www.programmableweb.com recense pas moins de 615 API (chiffre à la date du 25/01/08).
Cet article se propose de vous présenter les
API d'Orange
(1)
à travers quelques exemples.
Les API proposées par Orange couvrent actuellement l'envoi et la réception de SMS et d'emails.
La plupart des API sont basées sur l'obtention d'une clé d'identification ou d'accès au Web Service qui permet notamment d'authentifier l'utilisateur.
L'utilisateur devra s'enregistrer sur le site d'Orange Partner
pour obtenir sa clé d'accès au service, il pourra aussi configurer
différents paramètres des API.
La clé est valable pour n'importe quel domaine et il n'y a pas de restrictions sur le type d'usage (commercial, privé...).
Actuellement en version alpha, les API sont gratuites avec juste une limitation de volume pour l'envoi de SMS.
Dans la suite de cet article, les API SMS et mail seront rapidement décrites
puis nous verrons des cas d'utilisation pratiques principalement en PHP.
II. L'API SMS
Dans un style hybride REST-RPC, l'API SMS permet l'envoi et la réception de SMS.
Les requêtes peuvent utiliser indifféremment les méthodes GET et POST.
Si l'on veut suivre la philosophie REST, on aurait tendance à
choisir un GET pour récupérer des informations (par exemple lecture des emails) et
un POST pour les actions (par exemple envoi de SMS).
II-A. Envoyer un SMS
L'envoi de SMS est aisé depuis son navigateur (dans notre cas, il s'agit d'un HTTP GET).
Après avoir obtenu la clé d'accès, vous pourrez envoyer votre premier
SMS en tapant l'URL suivante dans votre navigateur :
http://sms.alpha.orange-api.net/sms/sendSMS.xml?id=[votre_clé_d_identification]a&to=[numéro_destinataire]&content=[texte_du_message] Ce qui donne pour un cas particulier: http://sms.alpha.orange-api.net/sms/sendSMS.xml?id=568d6a389aa&to=33612345678&content=Hello+World Ne pas oublier de remplacer la clé ci-dessus par votre propre clé d'accès ainsi que votre numéro de téléphone. L'appel aux API depuis un programme se fait aussi simplement. Le langage doit être capable d'effectuer des requêtes HTTP et de 'parser' du XML. A titre d'exemple, nous présentons ci-dessous l'envoi de SMS en PHP, Python et Java.
II-B. Recevoir un SMS
La réception de SMS est probablement la fonctionnalité la plus intéressante des API
car elle permet au développeur de disposer de sa propre combinaison short code et préfixe.
Tout d'abord dans l'interface d'administration, l'utilisateur des API devra configurer :
Chaque SMS expédié au 20345
(n° non surtaxé, prix d'un SMS classique) et commençant par le préfixe sera transféré
à l'adresse email configurée dans l'interface d'administration.
Une autre possibilité pour avoir une notification plus immédiate est de spécifier
l'adresse d'une URL, le serveur de SMS d'Orange faisant alors une requête HTTP GET sur cette URL
avec comme paramètre le contenu du message.
Voici un exemple en PHP qui transfère votre SMS vers une liste de diffusion
(utile pour la nouvelle année).
III. L'API mail
Une boîte mail de 500Mo avec une adresse en orange.fr
(par exemple api-12345678@orange.fr) vous a été attribuée lors de l'enregistrement.
Cette API permet la gestion de cette boîte (il n'y a pas de webmail).
On peut notamment l'utiliser pour récupérer les SMS transférés sur cette boîte mail.
III-A. Envoyer un mail
L'envoi de mail est simple. De façon semblable au SMS, vous pouvez envoyer un message en tapant simplement
l'URL suivante dans votre navigateur :
http://mail.alpha.orange-api.net/mail/sendMail.xml?id=[votre_clé_d_identification]&from=[votre_nom]&to=[adresse_mail_destinataire]&subject=[le_sujet]&body=[le_corps_du_message] III-B. Lire des emails
Les différentes méthodes sont expliquées dans la documentation.
Les principales méthodes sont getMailList qui retourne la
liste des emails (sans le contenu proprement dit du message) et
getMail qui retourne le contenu d'un message.
D'autres méthodes sont disponibles pour marquer et compter les messages.
Voici un petit programme PHP qui affiche le contenu de votre boîte aux lettres
IV. ExemplesIV-A. Mini Poll
Pour illustrer l'intérêt de la notification de réception d'un SMS, je vous propose de programmer un outil de sondage instantané par SMS.
Le fonctionnement est le suivant :
Dans un souci de simplicité, la liste de diffusion est configurée en dur dans le code,
il n'y a pas de contrôle qu'un utilisateur ne vote pas deux fois
et un seul sondage peut être organisé simultanément.
Mise en pratique, il faut tout d'abord configurer l'url de votre script
dans l'interface Web de configuration des API orange et configurer un préfixe SMS
(ou mot de code).
Le code est découpé en 2 scripts PHP, le premier (dont l'URL doit être configurée dans l'interface d'administration) reçoit les SMS, stocke dans un fichier les réponses et diffuse le sondage à la liste de diffusion. Le second fichier mixte HTML et PHP pour afficher les résultats du sondage.
IV-B. Post It
Pour illustrer l'API mail, je vous propose de réaliser une application de Post It Web.
Ce programme utilise les principales méthodes de l'API Mail.
Le fonctionnement est le suivant :
V. Utilisation des API avec le Zend Framework en PHP
Un sous-ensemble des API Yahoo, Google, Amazon est intégré au Zend Framework.
Ce n'est évidemment pas le cas des API d'Orange (du moins pour le moment).
Cependant, on peut parfaitement utiliser les API SMS et Mail avec
les classes Web Services génériques mis à disposition par ce framework.
Pour le Zend Framework, la classe que nous allons utiliser est Zend_Rest_Client.
L'exemple ci-dessous affiche le nombre de messages dans sa boîte mail.
VI. ConclusionVI-A. A vous de jouer
Cet article s'est attaché à décrire les API SMS et Mail d'Orange qui pourront enrichir
les canaux de communication de vos programmes. Les possibilités
sont nombreuses : de la commande de pizzas,
aux jeux par SMS en passant par une intégration dans Facebook.
D'autres API sont actuellement en cours de développement et feront
l'objet d'autres articles dans un proche avenir.
VI-B. Pour aller plus loin
Ce blog présente des applications réalisées à partir des API d'Orange :
http://telcoapps.wordpress.com/ Le site programmableweb présente un catalogue de WEB Services : http://www.programmableweb.com/apilist L'article de J. Sorel présente les API GoogleMaps : http://jsorel.developpez.com/tutoriels/sig/googlemaps1/ La documentation de l'API SMS : http://www.orangepartner.com/site/enuk/develop/devplayzone/smsapi/p_sms_api_alpha.jsp La documentation de l'API Mail : http://www.orangepartner.com/site/enuk/develop/devplayzone/emailapi/p_email_api_alpha.jsp
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
|