Comment ajouter une fonctionnalité de messagerie texte à mon site Web?


57

Je souhaite ajouter la possibilité d'envoyer des rappels aux personnes par e-mail et SMS pour les événements spécifiques auxquels ils ont souscrit sur une application Web que je suis en train de créer. La partie email n’est pas difficile, mais je me demande où trouver une bonne solution pour envoyer des SMS.

Ce serait également un avantage si cette solution permettait la communication SMS bidirectionnelle avec mon application Web, de sorte que les personnes puissent répondre avec un type de message CONFIRM ou CANCEL.

Quelqu'un at-il mis en œuvre quelque chose comme ça? Est-ce que quelqu'un connaît de bons outils sur le marché?

EDIT: Je me rends compte qu’il s’agit plus d’une question du type "beaucoup de façons de traiter ce chat" et je l’ai donc changée en wiki de communauté.


+1, je connais une douzaine de fournisseurs d’API SMS à sens unique, mais aucun n’a un message de retour si une réponse est reçue.
Tim Post

J'ai ajouté une prime à cette question dans l'espoir d'améliorer les réponses à cette question.
artlung

jessegavin, Si vous avez le goût de choisir la meilleure réponse, n'hésitez pas, la prime se termine demain!
artlung

Réponses:


25

J'ai dû modifier cette réponse à quelques reprises car les services que j'avais initialement recommandés ont cessé leurs activités. Je crois que le nouveau chef de file de l'industrie, Twilio , possède une excellente API et des prix raisonnables. Tropo , Plivo et Nexmo sont d’ autres solutions intéressantes .

Cela fait un petit moment que j'utilise IMified pour faire des choses similaires et j'ai trouvé que ça fonctionnait bien. Il vous permet de recevoir des SMS (ou des messages Twitter et IM) sous forme de HTTP POST et la réponse de votre serveur Web est envoyée en réponse. Ils offrent également un service Web qui peut être utilisé pour engager une conversation et envoyer des messages .

Alors que je cherchais d'autres options, je suis tombé sur Zeep Mobile (Remarque: Zeep Mobile ne sera plus en activité à compter du 01/08/2013) qui dispose d'une API pour l'envoi et la réception de SMS. Il est gratuit et financé par la publicité ou disponible moyennant des frais mensuels. Je n'ai pas essayé, mais ça a l'air assez intéressant.

Vous pouvez également utiliser une passerelle SMS comme ClickATell .

Bonne chance!

EDIT: J'ai trouvé une question sur StackOverflow qui contient beaucoup plus de suggestions, dont certaines peuvent être obsolètes.


J'utilise aussi CLickATell et je suis satisfait de leur service.
Alex

Je vais donner un coup de pouce pour le service payant Plivo, c’est très bon. Nous avions l'habitude d'utiliser Twilio, qui est également exceptionnel mais coûte plus cher.
Frank

15

J'ai eu un ami qui a réussi à mettre en œuvre cela par courrier électronique. Je crois qu'il l'a fait exactement de la même manière que ce site recommande :

T-Mobile: numéro de téléphone @ tmomail.net
Virgin Mobile: numéro de téléphone @ vmobl.com
Cingular: numéro de téléphone @ cingularme.com
AT & T: numéro de téléphone@txt.att.net
Sprint: numéro de téléphone @ messaging.sprintpcs.com
Verizon: numéro de téléphone @ vtext.com
Nextel : phonenumber @ messaging.nextel.com

numéro de téléphone = votre numéro de téléphone à 10 chiffres


1
Je viens de tester cela et mon opérateur (AT & T) a ajouté les éléments FROM: [Nom de l'expéditeur], SUBJ: [Ligne de sujet], MSG: [Contenu du message] au début du message texte. - C'est donc au moins 21 caractères qui s'utilisent avec cette méthode. Je pense que (du moins pour moi), cela ne serait pas acceptable pour la plupart des applications Web destinées au public.
jessegavin


7
Vous voulez dire en.wikipedia.org/wiki/List_of_SMS_gateways , mais merci!
artlung

2
Dans mon pays (Argentine), vous devez payer les SMS reçus par courrier électronique (vos clients pourraient ne pas aimer)
Eduardo Molteni

1
Comment déterminez-vous qui est le transporteur?
Adam

9

J'utilise Twilio pour la voix et j'ai été très impressionné. Je suis sûr que leur système SMS n'est pas très différent. Cela vous permettra d’envoyer à n’importe quel transporteur sans connaître l’adresse électronique à laquelle envoyer (comme je l’ai remarqué, elles changent avec le temps).


Donc, vous utilisez leur API? Comment l'utilisez vous?
artlung

1
J'utilise leur API vocale pour effectuer des appels déclenchés via des scripts PHP. Je l'utilise pour passer des appels et je l'utilise pour composer un texte, puis accepter les réponses de l'utilisateur.
Darryl Hein


4

Deux autres options que j'ai envisagées dans le passé:

API Skype
Envoyez et recevez des SMS à l'aide de la nouvelle API Skype. Je suppose que Twilio est moins cher, mais Skype est disponible dans plusieurs pays (si vous souhaitez recevoir des SMS)

Connecter un téléphone à votre serveur
Si vous résidez dans un pays (comme l’Argentine) où les entreprises de passerelle SMS facturent beaucoup, il est peut-être moins cher d’acheter un téléphone et de le brancher sur votre serveur (en fonction de l’environnement de votre hébergement, bien sûr). Vous pouvez ensuite utiliser un logiciel tel que SMSToolkit pour interagir avec le téléphone.



2

J'ai écrit un système de messagerie SMS de deux manières utilisant Vidicom UK en tant que fournisseur de SMS (je ne sais pas s'ils vont encore). Fondamentalement, ils ont une API basée sur HTTP où vous pouvez envoyer et recevoir des messages SMS. C'est trop compliqué à expliquer en détail, mais j'avais essentiellement deux tables de base de données, une pour les messages entrants reçus de la passerelle et une autre pour les messages sortants mis en file d'attente puis envoyés à la passerelle.

En gros, je devais ensuite analyser les messages entrants pour voir s’ils contenaient des mots clés tels que CANCEL ou STOP, puis traiter le message en conséquence. Malheureusement, vous recevez beaucoup de messages erronés - vous seriez surpris du nombre de personnes qui envoient des SMS au mauvais numéro - vous devez donc répondre en disant "Message non compris", etc.


2

Si vous voulez un fournisseur de SMS en masse abordable, avec une API de développeur, vous pouvez utiliser www.SourceSMS.com - ils offrent une couverture internationale et des scripts que vous pouvez simplement télécharger et intégrer à votre site Web.


1

Une autre option consiste à utiliser la fonction mail de PHP et une liste des serveurs de messagerie de l'opérateur, comme suit:

Faire un formulaire HTML sur un fichier PHP,

<select name="carrier" style="width: 130px" >
<option selected="" value="1">Verizon Wireless</option>
<option value="2">Alltel</option>
<option value="3">Boost Mobile</option>
<option value="4">Cingular</option>
<option value="5">Nextel</option>
<option value="6">Sprint</option>
<option value="7">T-Mobile</option>
<option value="8">Virgin Mobile</option>
<option value="9">AT&T</option>
</select>

Puis définissez où le courrier sera envoyé:

if ($carrier == "1") {
    $email = "$to@vtext.com";
} elseif ($carrier == "2") {
    $email = "$to@message.alltel.com";
} elseif ($carrier == "3") {
    $email = "$to@myboostmobile.com";
} elseif ($carrier == "4") {
    $email = "$to@cingularme.com";
} elseif ($carrier == "5") {
    $email = "$to@messaging.nextel.com";
} elseif ($carrier == "6") {
    $email = "$to@messaging.sprintpcs.com";
} elseif ($carrier == "7") {
    $email = "$to@tmomail.net";
} elseif ($carrier == "8") {
    $email = "$to@vmobl.com";
} elseif ($carrier == "9") {
    $email = "$to@txt.att.net";
}

Envoyer le courrier: ($ email, $ sujet, $ msg, $ maildefra besoin d'être défini et dans un format approprié, recommande également de nettoyer les entrées)

if (mail($email, $subject, $msg, $mailfrom)) {
    echo "<h4>Your Text Was Successfully Sent.</h4>";
    echo "<br />";
    if ($backurl == "") {
        echo "<a href='javascript:history.back(1);'>Back</a>";
    } else {
        echo "<a href='" . $backurl . "'>Back</a>";
    }
    echo "</body></html>";
} else {
    echo "<h4><b>Error Sending Message</b></h4><br>Can't send txt to $to. <br> Contact the site Administrator.";
}

Assurez-vous que PHP possède des paramètres de messagerie valides dans php.ini. Si vous avez des questions, vous avez juste à me les poser.



0

Il existe de nombreux producteurs et fournisseurs de services. Je connais Ozeki SMS Gateway. Les URL suivantes peuvent vous aider si vous souhaitez une solution interne avec votre propre modem GSM, votre fournisseur SMPP / UCP / CMD ou autre. Quand vous faites une décision, la première question: combien de SMS voulez-vous envoyer ou recevoir?

HTTP SMS API avec des exemples .

API SMS pour les développeurs ASP / ASP.NET et exemples pour PHP Les développeurs qui expliquent comment configurer les pages de fonctionnalité SMS peuvent vous fournir des informations utiles.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.