Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Matthieu Napoli

blog technique

Envoyer des SMS depuis votre serveur en PHP (ou autre langage CGI)

Bonjour à tous,

J'utilise depuis peu un service génial : l'envoi de SMS depuis Internet, à partir d'un script PHP s'exécutant sur votre serveur. Voici un exemple d'utilisation pour vous faire comprendre à quel point c'est simple.

Tout d'abord, dans ce tutorial j'utiliserai la plateforme TM4B.com, car elle est :

  • pas chère (7 centimes d'euro le SMS en France)
  • facile à utiliser
  • fiable (d'après les échos que j'en ai eu)
  • pas de frais fixes pour l'inscription (on ne paye que les SMS, et pas de limite minimum d'achat)
  • on peut simuler un envoi pour débugger les développements

1. Création d'un compte

Inscrivez vous (gratuitement) sur leur site et achetez quelques crédits pour tester le système (100 crédits par exemple, vous donnent une dizaine de SMS, et coutent 1 euro). Attention, si vous payez avec paypal, votre compte doit être vérifié (ce que m'a fait attendre paypal plusieurs jours pour le faire personnellement).

2. Envoi d'un SMS

L'envoi d'un sms se fait par méthode POST HTTP. Voici un exemple de code source permettant d'en envoyer un (à compléter avec vos identifiants de connexion).

<?php

$request = "";
// Nom d'utilisateur du comte TM4B
$param["username"] = "Bob";
// Mot de passe du comte TM4B
$param["password"] = "12345";
// Le contenu du SMS
$param["msg"] = "Hello World !";
// Les destinataires (séparés par un "pipe" | s'il y'en a plusieurs)
$param["to"] = "33123456789";
// Celui qui envoie le message
$param["from"] = "BarackObama";
// Route à utiliser
$param["route"] = "frst";
// Determine si l'envoi est simulé (si oui, c'est gratuit)
// Valeurs : "yes" / "no"

$param["sim"] = "yes";
// Pour être compatible avec l'API 2.0
$param["type"] = "broadcast";

//Construit la requete
foreach($param as $key=>$val){
    $request .= $key . '=' . urlencode($val);
    $request .= '&';
}
// Supprime le dernier "&"
$request = substr($request, 0, strlen($request) - 1);

// URL de la passerelle
$url = "http://www.tm4b.com/client/api/http.php";

//Envoie la requete avec curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // retourne le resultat en variable
curl_setopt($ch, CURLOPT_POST, 1); // méthode POST nécessaire pour les envois multiples
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($ch);
curl_close($ch);

// Affiche le résultat
print $response;

?>

À noter que ce script nécessite l'extension PHP Curl (php_curl) activée.

La réponse du serveur, si il n'y a pas d'erreur, doit être de la forme : MT0015195005-1. Il s'agit de l'identifiant du SMS envoyé.


Voilà, bon courage pour la suite (l'API TM4B propose beaucoup de possibilité pour suivre le message). Par contre, pour recevoir des SMS, ça vous coutera plus cher.

Pour ma part, je compte surement installer ce système sur mon NSLU2 pour pouvoir recevoir des alertes à distance.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: dimanche 31 mai 2009 14:38 par MadMatt
Classé sous : , , , ,

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Evénement monfial Global Azure Bootcamp (10 000 participants) Venez !! par Blog de Vincent THAVONEKHAM, Objet Direct le 01-25-2015, 16:29

- Mon Blog déplacé vers une version anglaise... www.thavo.com par Blog de Vincent THAVONEKHAM, Objet Direct le 01-25-2015, 16:25

- Localisation et globalisation ne sont pas des options par Blog de Jérémy Jeanson le 01-17-2015, 11:47

- [Clean Code] les commentaires… par Fathi Bellahcene le 01-10-2015, 17:17

- Mise à jour de Test Professional 2013 par Blog de Jérémy Jeanson le 01-10-2015, 11:32

- [Dynamics CRM] Ajouter un bouton pour déclencher un workflow ou un script (dialogue) par Christine Dubois le 01-09-2015, 14:03

- RDV aux #SharePoint Days 2015 à Casablanca les 28 et 29 janvier ! par Le blog de Patrick [MVP Office 365] le 01-06-2015, 08:41

- TFS Online, vous allez aimer vos projets par Blog de Jérémy Jeanson le 01-03-2015, 11:19

- Bon code 2015 ! par Blog de Jérémy Jeanson le 01-02-2015, 19:01

- [Dynamics CRM] Créer un contact à partir d’une signature email par Christine Dubois le 12-30-2014, 14:37