Réception de sms en javascript

Soyez le premier à donner votre avis sur cette source.

Vue 9 313 fois - Téléchargée 854 fois

Description

Ce code présente comment recevoir des SMS dans un code javascript. Il repose sur une API d'SFR permettant de recevoir les SMS envoyes par des lignes SFR. De nombreuses API sont disponibles sur http://api.sfr.fr

Un fichier php, permet de déclencher les appels javascript vers le domaine des web services SFR et de protéger l'identifiant développeur d'un affichage du source javascript.

Il est possible de tester ce fichier en ouvrant http://hhoareau.free.fr/JQuerySFRAPI/index.htm et en envoyant gratuitement des SMS au 6010 depuis une ligne SFR commencant par #js#.

Source / Exemple :


<?php 
//ce fichier 'ajaxProxy.php' permet 
//  - de contourner la règle de securite du javascript sur l'unicite de domaine
//  - de proteger l'identifiant SFR API de l'affichage du source javascript
//
//ajaxProxy.php et les fichiers html hebergeant les fichiers javascrit doivent
//imperativement etre sur le meme domaine.

header("Content-Type: text/xml"); 

define("DEVTOKEN","0f0dfc69f4a3e15c4272edfa8af941ea");
//TOKEN généré à titre de demonstration par SFR,
//il est conseiller de vous inscrire
//sur api.sfr.fr pour obtenir votre propre token

$url=$_GET['url'];
if ( substr($url, 0, 7) == 'http://' ) {
	
	//s'il s'agit du domaine SFR API, on insère le token développeur
	if( substr($url,7,13) == 'ws.red.sfr.fr' ){
		$url=$url."&token=".DEVTOKEN;
		$url=str_replace("?&","?",$url);
	} 	
	
	//Ouverture du web service, l'hébergeur peut ne pas supporter 
	//fopen. cUrl peut être une alternative. 
	$handle = fopen($url, "rb"); 
	while ( !feof($handle) ) {echo fread($handle, 8192);} 
  	fclose($handle); 
} 
?>

<!-- le fichier index.html affiche les SMS envoyes gratuitement au 6010 commencant par #js# -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!--  ici on inclu la librairie jQuery simplifiant les appels AJAX -->
<script type="text/javascript" src="jquery-1.5.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Javascript (JQuery) et SFR API</title>
</head>
<body>

Pour voir apparaitre le message SMS : '#js# test' au 6010

<script>
	const url_proxy="ajaxProxy.php";
	//l'usage d'un timer permet de scruter la file d'attente des SMS
	setInterval(function() {
					$.getJSON(url_proxy+"?url=http://ws.red.sfr.fr/red-ws/red-b2c/resources/event/consume?responseType=json"
							,function(data){
								//si un SMS arrive, le code de la structure data passe a 11, 
								//voir sur api.sfr.fr le detail de la structure
								if(data.redEvent.eventCode==11)
									document.write("Mesage recu = "  + data.redEvent.eventMessage+"<br>");
								}
							);	
					}
			,5000);					 
</script>

Conclusion :


Ce code est une breve illustration de l'usage des API SFR en javascript.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
15
Date d'inscription
lundi 1 septembre 2003
Statut
Membre
Dernière intervention
11 octobre 2011

je n'ai pas essayer mais il me semble que ça devrait marcher en local
Messages postés
97
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
21 mars 2012
2
avec wampserver tu pense que sa va marcher, t'a essayer ?
Messages postés
15
Date d'inscription
lundi 1 septembre 2003
Statut
Membre
Dernière intervention
11 octobre 2011

Plutôt WampServeur (ou l'uploader chez un hébergeur) car la page PHP est appelé par le code javascript pour utiliser les web services. voir par exemple http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html qui traite ce point.
Messages postés
97
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
21 mars 2012
2
de rien, je voulais te demander, ce qui a dans le zip faut l'ouvrir avec qu'elle logiciel ? wampserver ? ou avec le navigateur ?
Messages postés
15
Date d'inscription
lundi 1 septembre 2003
Statut
Membre
Dernière intervention
11 octobre 2011

Merci. N'hésite pas a te lancer pour ton propre code avec d'autres API d'SFR. les web services sont exposés via des URL (REST).
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.