Documentation
Fonctionnement
Lorsqu'un SMS contenant un de vos mots clés est reçu sur le numéro de téléphone indiqué dans votre compte, alors SMStoHTTP appelera via GET ou POST la page que vous aurez indiquée (en lui transmettant les paramètres indiqués ci-dessous). À vous ensuite de traiter ces informations.
Mon compte
Depuis
mon compte vous pouvez ajouter des mots clés. Un mot clé est composé exclusivement de
lettres et de chiffres. Les accents et caractères spéciaux ne sont pas autorisés. Pour chaque mot clé vous indiquez :
- la page qui sera appelée par SMStoHTTP lorsque le mot clé sera reçu par SMS. Il s'agit d'une adresse http du type http://votresite.com/motclerecu.php,
- si l'utilisation étendue est autorisée. Si vous ne l'autorisez pas, la page que vous aurez indiquée ne sera appelée que lorsqu'un SMS contenant uniquement le mot clé et rien d'autre sera reçu,
- la méthode selon laquelle vous souhaitez que SMStoHTTP appelle votre page. Il peut s'agir de GET ou POST.
C'est sur
mon compte que vous trouverez pour chaque mot clé le
numéro de téléphone auquel le mot clé doit être envoyé.
Page appelée
Que la méthode soit GET ou POST les paramètres transmis à votre page sont les même. Il s'agit de :
- numero : le numéro du téléphone qui a envoyé le SMS,
- mot : le mot clé
- etendu : le message qui suit le mot clé. Vide s'il n'y en a pas ou si vous avez désactivé l'utilisation étendue pour ce mot clé,
- date : le timestamp de réception du message,
- clé : la clé de vérification. Attention, il ne s'agit pas de la clé indiquée dans votre compte. Il s'agit d'une clé unique pour chaque message calculée de la manière suivante : <?php md5($date . $cle); ?> où $date est le paramètre date et où $cle est cette fois la clé indiquée dans votre compte.
Sécuritée
Pour vous assurer que c'est bien SMStoHTTP qui appelle votre page vous pouvez vérifier trois choses :
- l'adresse ip qui appelle votre page. Elle doit être 91.121.11.176,
- que le paramètre date est bien celui du serveur de SMStoHTTP, accessible ici : http://api.smstohttp.fr/date.php (cependant, comprenez qu'il peut y avoir une différence de quelques secondes),
- calculez vous même la clé avec la méthode indiquée précédemment et vérifiez qu'elle correspond à celle transmise.
Sondages
SMStoHTTP vous permet de réaliser facilement des sondages par SMS.
Concrètement, vous louez un mot clé, par exemple SECRETSTORY. Puis vous demandez à vos clients de voter en envoyant SECRETSTORY 1 pour Flora, SECRETSTORY 2 pour Sebastien ou SECRETSTORY 3 pour Thomas au +336xxxxxxxx. Et SMStoHTTP va compter les réponses pour vous et vous afficher un graphique.
Mise en place
- Allez sur Mon compte,
- Louez le mot clé de votre choix,
- Puis dans la partie Sondages, créez un nouveau sondage :
- Mot clé : choisissez le mot clé précédemment créé,
- Nom : donnez un nom à votre sondage,
- Un seul vote par numéro : en cochant cette case, vous empêchez les gens de voter plusieurs fois,
- Réponses : indiquez les réponses possibles et leur signification, en respectant la syntaxe (voir remarque ci-dessous),
- C'est bon, vous pouvez consulter les réponses en cliquant sur le lien Résultats.
Remarques
API
Historique des SMS reçus
Récupérer la liste de tous les SMS reçus sur un mot clé :
http://api.smstohttp.fr/keyword/votre-mot-cle/sms/la-cle-du-mot-cle
où :
- votre-mot-cle est à remplacer par le mot clé dont vous souhaitez récupérer les SMS,
- la-cle-du-mot-cle est à remplacer par la clé associée au mot clé et indiquée dans mon compte.
Format de retour :
json.
Exemple de retour :
{
"keyword":"votre-mot-cle",
"sms":[
{"message":"le message après le mot clé dans le cas d'un mot clé étendu",
"tel":"le numéro de téléphone qui a envoyé le message, au format international +336xxxxxxxx",
"date":"la date de réception du message au format Y-m-d H:i:s"}
]
}
Résultats d'un sondage
Récupérer le nombre de votes par réponse pour un sondage :
Retrouvez l'adresse directement sur la page
Résultats de votre sondage, accessible depuis
Mon compte.
Format de retour :
json.
Exemple de retour :
{
"title":"le nom de votre sondage",
"responses":[
{"name":"la signification de la réponse",
"number":le nombre de votes}
]
}