64 votes

SMS depuis une application web

Je veux juste envoyer des SMS depuis mon application web en PHP. Quelqu'un peut-il me dire comment faire ? Quelles sont les choses que je dois faire pour cela ?

51voto

Paolo Bergantino Points 199336

Je ne sais pas si cela s'applique à vous, mais ce que j'ai fait plusieurs fois pour économiser de l'argent, c'est demander à l'utilisateur dans son profil quel est son transporteur, puis essayer de le faire correspondre avec this list . En fait, la plupart des opérateurs ont une adresse électronique liée à un numéro de téléphone qui vous permet d'envoyer facilement des SMS à ce numéro. Par exemple, si vous avez ATT et que votre numéro de téléphone est le 786-262-8344, un e-mail à 7682628344@txt.att.net vous enverra un SMS avec l'objet/le corps de l'e-mail, gratuitement. Cette technique permet de couvrir gratuitement la quasi-totalité de vos utilisateurs américains. Évidemment, selon les besoins de votre application, cela peut ne pas être possible/adéquat/souhaité, mais c'est une option à connaître.

6 votes

L'envoi d'adresses spécifiques aux transporteurs a été largement utilisé et abusé par les spammeurs, et est moins efficace aujourd'hui qu'à l'époque où la réponse a été rédigée. De plus, dans les cas où cette approche fonctionne encore, il n'est pas rare de constater de longs délais entre le moment où l'e-mail a été envoyé et celui où les SMS arrivent.

0 votes

Comment font-ils pour être spammés ? Voulez-vous dire si le numéro de téléphone est visible ? Qu'en est-il d'un formulaire de contact avec captcha ?

26voto

James Burgess Points 4616

Votre principale option pour envoyer des SMS est d'utiliser un fournisseur de SMS existant. D'après mon expérience (qui porte sur les applications Web de messagerie SMS), vous constaterez souvent que la négociation avec différents fournisseurs est le meilleur moyen d'obtenir la meilleure offre pour votre application.

Les différents fournisseurs offrent souvent des services différents, et des caractéristiques différentes. Mon fournisseur préféré, et en fait, celui qui a volontiers négocié avec moi des tarifs plus bas dans le passé, est TM4B ( http://www.tm4b.com ). Ces personnes ont d'excellents tarifs, couvrent une grande partie du globe et ont un excellent service clientèle.

Vous trouverez ci-dessous du code extrait (et certaines parties obscurcies) d'une de mes applications web en ligne, pour envoyer un message simple via leur API :

require_once("tm4b.lib.php");
$smsEngine = new tm4b();

// Prepare the array for sending
$smsRequest["username"] = "YOURUNAME";
$smsRequest["password"] = "YOURPWORD";
$smsRequest["to"] = "+441234554443";
$smsRequest["from"] = "ME!";
$smsRequest["msg"] = "Hello, test message!";

// Do the actual sending
$smsResult = $smsEngine->ClientAPI($smsRequest);

// Check the result
if( $smsResult['status'] == "ok" ) {
    print "Message sent!";
} else {
    print "Message not sent.";
}

De nombreux autres fournisseurs que j'ai utilisés dans le passé ont des interfaces très similaires et sont tous très compétitifs en termes de prix. Il vous suffit de chercher un fournisseur qui réponde à vos besoins.

En ce qui concerne le coût, les prix varient de quelques pence/cents pour la plupart des pays occidentaux (les prix sont un peu plus élevés pour la plupart des pays du tiers-monde, alors faites attention). La plupart des fournisseurs vous demanderont de payer en gros, si vous voulez bénéficier de tarifs décents, mais ils négocieront souvent avec vous pour des lots plus petits que d'habitude. La plupart des fournisseurs proposent une option de post-paiement, mais uniquement lorsque vous avez effectué quelques transactions avec eux... d'autres la proposent dès le départ, mais les prix sont exorbitants.

1 votes

Connaissez-vous un fournisseur aux États-Unis ?

0 votes

Je n'en connais aucun qui soit basé directement aux États-Unis... mais la plupart d'entre eux enverront aux États-Unis à des tarifs très compétitifs, car les bons fournisseurs font des affaires sur une base locale pays par pays.

13voto

sblom Points 15074

Envoyer seulement, mais bon marché et facile

Le moyen le plus simple est certainement d'utiliser le piratage d'email que @ Paolo Bergantino mentionné ci-dessus. Il est facile de demander à vos utilisateurs de taper leur numéro de téléphone et de sélectionner leur opérateur dans une liste. Il est également facile, sur n'importe quelle plateforme de développement, d'envoyer un courrier électronique une fois que vous avez les informations de l'utilisateur.

J'ai toutefois découvert deux limites très importantes à cette approche :

  1. La première est que les opérateurs cellulaires donnent tous la priorité aux messages SMS envoyés par leurs passerelles de courrier électronique, au détriment du reste du trafic SMS. Probablement parce qu'ils ne sont pas payés par l'expéditeur pour ces messages. N'utilisez pas cette méthode si la réduction de la latence est importante pour vous.
  2. La seconde est que, surtout à l'ère des numéros de téléphone portables, les utilisateurs changent d'opérateur de temps en temps et oublient presque toujours de vous en informer. Si vous devez être en mesure d'envoyer des SMS de manière fiable aux mêmes personnes dans un an ou deux, cette méthode commencera à échouer.

Envoyer et recevoir à bas prix

Si vous essayez de mettre en place votre site pour envoyer et recevoir Pour envoyer des SMS avec un budget limité, vous pouvez utiliser un service tel que TextMarks . TextMarks vous permet de choisir un mot clé pour votre service qui permet aux utilisateurs d'acheminer des messages vers vous par le biais du numéro court partagé de TextMarks, le 41411. Le hic, c'est qu'ils réservent 20 caractères dans chaque message pour des publicités courtes afin de payer leurs services.

Qualité professionnelle

Si vous avez besoin d'une faible latence, d'une grande fiabilité et de l'absence de publicité, vous devrez passer par un agrégateur de SMS, à moins que vous ne soyez suffisamment important pour négocier individuellement avec chaque opérateur.

La principale chose dont il faut se méfier avec les agrégateurs de SMS, c'est que beaucoup d'entre eux sont conçus comme des sociétés de marketing, et non comme des hébergeurs d'applications - ils ne comprennent pas vraiment comment utiliser le SMS comme un canal permettant aux utilisateurs d'interagir avec les fournisseurs de services. J'ai constaté que les agrégateurs qui utilisent l'expression " votre campagne " plutôt que " votre application " sont les pires contrevenants. Restez loin d'eux et trouvez un agrégateur qui comprend vos besoins en tant que développeur d'applications.

11voto

Tim Lytle Points 10699

Twilio a récemment publié une API permettant d'envoyer Messages SMS . L'api est plutôt simple, basique Interface REST pour l'envoi de SMS et un afficher le document de retour pour répondre .

8voto

Jarod Reyes Points 186

Bonjour, je m'appelle Jarod et je travaille pour Twilio.com, je suis donc un peu partial. Mais ceci dit, il est incroyablement facile d'envoyer un SMS depuis votre application web PHP en utilisant la fonction API REST de Twilio . Voici un exemple simple :

<?php
// Get the PHP helper library from twilio.com/docs/php/install
require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library

// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "{{ account_sid }}"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token);

$client->account->messages->sendMessage("+14158141829", "+14159352345", "Hi Shyju, Sorry it took me so long to get back to you. <3 The Internet.");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X