Réception de sms en javascript

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

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.