sms-gateway-android.png

Qui n'a pas rêvé d'envoyer gratuitement des SMS via Webservices REST ? Il existe sur la toile de nombreuses API pour envoyer des SMS, mais elles sont malheureusement généralement payantes.

Il est désormais possible de construire sa propre Gateway SMS, il vous suffit pour cela de trois ingrédients :

  • Une carte SIM Free à 0 euros avec un forfait illimité de SMS.
  • Un vieux téléphone Android inutilisé.
  • L'application Android SMS Gateway.

L'application Android SMS Gateway possède deux fonctionnalités intéressantes pour un développeur. Elle est en effet capable d'appeler un webservice REST tiers dès qu'un SMS est reçu et elle expose un webservice REST pour permettre l'envoi de SMS à partir d'un applicatif tiers.

gateway sms

Voici à titre d'exemple un script Node JS permettant d'envoyer un SMS via un appel HTTP au webservice REST exposé par l'application Android SMS Gateway :

var request = require('request');

function send(phone,message){

     // Set the headers
     var headers = {
        'User-Agent':       'Domogeek/'+config.version,
        'Content-Type':     'application/x-www-form-urlencoded'
     }

     // Configure the request
     var options = {
        url: "http://montelephone:9090/sendsms",
        method: 'GET',
        headers: headers,
        qs: {'phone': phone, 'text': message}
     }

     // Start the request
     request(options, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.info('SMS sended to: %s => %s', phone, message);
        } else {
            console.error('SMS error : %s => %s', error, message);
        }
     });
}

Enfin, voici un exemple de script pour traiter les SMS reçus via un simple script Node JS / Express de quelques lignes :

/**
 * HTTP GET /sms
 * Returns:
 */
app.get('/sms', function (req, resp, next) {

    if (!req.query['phone']){
        resp.json(400, { message: "Missing phone number"});
    }

    var phone = req.query['phone'];
    var message = req.query['text'];
    
    ....
}

Vous voilà désormais prêt à jouer avec votre passerelle de SMS pour superviser vos serveurs pour bien remonter des alertes de votre système domotique. A vous votre API REST de SMS gratuits !

1. Le , 11:58 par Funigtor
65f8b28e6f397ec6cf02fff03445d9b6

"Il existe sur la toile de nombreuses API pour envoyer des SMS, mais elles sont malheureusement généralement payantes."

Il me semble que Free Mobile en propose une gratuite, accessible via une URL et des arguments à passer. Mais elle ne fonctionne que vers son propre téléphone.

2. Le , 23:07 par Ludovic
9ab09dd3e305f924f8930e20e1a35843

Merci pour la news, effectivement, l'API permet d'envoyer un SMS seulement vers son propre téléphone ...
http://domotique-info.fr/2014/06/no...

3. Le , 02:10 par snooppy
653cbd7dcac2057ae9b57c84a3057c81

vas sur http://www.gatewaysms.fr

Appli est gratuite , tu installe et tu crée ton code API comme tu veut avec ton téléphone !

4. Le , 15:04 par rhouma amine
daffe2e27002f8dee728c4c5a3e269d4

Bonjours,
Comment reçu un sms d'un téléphone vers pc avec nodejs et smsGateway ?

5. Le , 08:00 par Clever Technologies
6f9f28518b804c930b182401488d6851

Plate-forme autonome de diffusion des messages sur tous les médias avec la passerelle de Clever Technologies

6. Le , 08:00 par Clever Technologies
6f9f28518b804c930b182401488d6851

Plate-forme autonome de diffusion des messages sur tous les médias avec la passerelle de Clever Technologies :
http://www.clever.fr/nos-produits/g...

7. Le , 14:32 par malongow
2219546f0d1c3c90b375436186833055

Bonjour à tous,
Est-il possible d'envoyer des MMS avec le même système ?
Merci

8. Le , 00:42 par zlatane ibra
ff35be435fd8c304886beee53ac8c235

salut mon frere

9. Le , 17:30 par Bendera
be0ea0275a11d6876cdaaaa43c9086e5

Salut, y aurait-il une aide pour moi de traiter les SMS réçu en PHP ? puisque mon appliction tourne sur un server local android, et Node JS (sauf faute de renseignement) ne passerait pas sur android.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.