¿Cómo agregar funcionalidad de mensajería de texto SMS a mi sitio web?

57

Quiero agregar la capacidad de enviar recordatorios a las personas por correo electrónico y SMS para eventos específicos para los que se han registrado en una aplicación web que estoy creando. La parte del correo electrónico no es difícil, pero me pregunto dónde encontrar una buena solución para enviar mensajes SMS.

También sería una ventaja si esta solución permitiera la comunicación por SMS bidireccional con mi aplicación web para que las personas puedan responder con un tipo de mensaje CONFIRMAR o CANCELAR.

¿Alguien ha implementado algo como esto? ¿Alguien sabe de buenas herramientas por ahí?

EDITAR: Me estoy dando cuenta de que esta es más una pregunta de "muchas maneras de desollar a este gato", así que la cambié a wiki de la comunidad.

revs jessegavin
fuente
+1, conozco una docena de proveedores de API de SMS unidireccionales, pero ninguno que devuelva la respuesta si se recibe una respuesta.
Tim Post
Agregué una recompensa por esta pregunta con la esperanza de mejorar las respuestas sobre esta pregunta.
artlung
jessegavin, si te apetece elegir la mejor respuesta, siéntete libre de ¡la recompensa termina mañana!
artlung

Respuestas:

25

He tenido que editar esta respuesta varias veces ya que los servicios que inicialmente recomendé se han cerrado. Creo que el nuevo líder de la industria es Twilio , tienen una excelente API y precios razonables. Algunas alternativas que vale la pena considerar son Tropo , Plivo y Nexmo .

He estado usando IMified por un tiempo para hacer cosas similares a eso y he encontrado que funciona bien. Le permite recibir SMS (o mensajes de Twitter e IM) como HTTP POST y la respuesta de su servidor web se envía como respuesta. También ofrecen un servicio web que se puede utilizar para iniciar una conversación y enviar mensajes .

Mientras buscaba otras opciones, me encontré con Zeep Mobile (Nota: Zeep Mobile ya no estará en funcionamiento a partir del 8/1/2013) que tiene una API para enviar y recibir SMS. Es gratis y con publicidad o está disponible por una tarifa mensual. No lo he probado, pero parece bastante interesante.

También puede usar una puerta de enlace SMS como ClickATell .

¡La mejor de las suertes!

EDITAR: Encontré una pregunta en StackOverflow que tiene muchas más sugerencias, algunas pueden estar desactualizadas.

Adam
fuente
Estoy usando CLickATell también y estoy satisfecho con su servicio.
Alex
Voy a intervenir para el servicio pago de Plivo, es muy bueno. Solíamos usar Twilio, que también es excepcional pero cuesta más.
Frank
15

Tenía un amigo que logró implementar esto por correo electrónico. Creo que lo hizo exactamente de la misma manera que este sitio recomienda :

T-Mobile: phonenumber @ tmomail.net
Virgin Mobile: phonenumber @ vmobl.com
Cingular: phonenumber @ cingularme.com
AT&T: [email protected]
Sprint: phonenumber @ messaging.sprintpcs.com
Verizon: phonenumber @ vtext.com
Nextel : número de teléfono @ messaging.nextel.com

donde numero de teléfono = el número de teléfono de 10 dígitos

Miguel
fuente
1
Acabo de probar esto y mi operador (AT&T) agregó FROM: [Nombre del remitente], SUBJ: [Asunto], MSG: [Contenido del mensaje] al comienzo del mensaje de texto. - Entonces, eso es (al menos) 21 caracteres que se usan con este método. Estoy pensando que (al menos para mí) esto no sería aceptable para la mayoría de las aplicaciones web públicas.
jessegavin
3
@artlung en.wikipedia.org/wiki/List_of_carriers_provide_SMS_transitis una lista bastante completa.
Yahel
77
Te refieres a en.wikipedia.org/wiki/List_of_SMS_gateways , ¡pero gracias!
artlung
2
En mi país (Argentina) tiene que pagar los SMS recibidos por correo electrónico (puede que a sus clientes no les guste)
Eduardo Molteni
1
¿Cómo se determina quién es el transportista?
Adam
9

He estado usando Twilio para la voz y me ha impresionado bastante. Estoy seguro de que su sistema de SMS no es muy diferente. Esto le permitirá enviar a cualquier operador sin saber la dirección de correo electrónico a la que debe enviar (como he notado que cambian con el tiempo).

Darryl Hein
fuente
Entonces, ¿estás usando su API? ¿Cómo lo estás utilizando?
artlung
1
Estoy usando su API de voz para hacer llamadas activadas a través de scripts PHP. Lo estoy usando para hacer llamadas y lo uso para hacer voz a texto y luego acepto las respuestas del usuario.
Darryl Hein
4

Otras dos opciones que he considerado en el pasado:

API de Skype
Envíe y reciba SMS utilizando la nueva API de Skype. Supongo que Twilio es más barato, pero Skype está disponible en más países (si desea recibir SMS)

Conecta un teléfono a tu servidor
Si vives en un país (como Argentina) donde las compañías de puerta de enlace de SMS cobran mucho, puede que te resulte más barato comprar un teléfono y enchufarlo a tu servidor (dependiendo de tu entorno de alojamiento, por supuesto). Luego puede usar un software como SMSToolkit para interactuar con el teléfono.

Eduardo Molteni
fuente
2

He escrito un sistema de SMS de dos maneras usando Vidicom UK como proveedor de SMS (no estoy seguro de si todavía van a funcionar). Básicamente tienen una API basada en HTTP donde puedes enviar y recibir mensajes SMS. Es demasiado complejo explicarlo en detalle, pero en esencia tenía dos tablas de base de datos, una para los mensajes entrantes recibidos de la puerta de enlace y otra para los mensajes salientes que se ponen en cola y luego se envían a la puerta de enlace.

Básicamente, tuve que analizar los mensajes entrantes para ver si contenían palabras clave como CANCELAR o DETENER y luego procesar el mensaje en consecuencia. Desafortunadamente, recibe muchos mensajes basura, se sorprendería de cuántas personas envían mensajes SMS al número incorrecto, por lo que debe responder diciendo "Mensaje no entendido", etc.

Dan Diplo
fuente
2

Si desea un proveedor de SMS a granel asequible, con una API de desarrollador puede usar www.SourceSMS.com: ofrecen cobertura internacional y tienen scripts que puede descargar e integrar en su sitio web.

Liam Harris
fuente
1

Otra opción es usar la función de correo de PHP y una lista de servidores de correo electrónico del operador, de esta manera:

Hacer un formulario HTML en un archivo 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>

Luego, establezca dónde se enviará el correo:

if ($carrier == "1") {
    $email = "[email protected]";
} elseif ($carrier == "2") {
    $email = "[email protected]";
} elseif ($carrier == "3") {
    $email = "[email protected]";
} elseif ($carrier == "4") {
    $email = "[email protected]";
} elseif ($carrier == "5") {
    $email = "[email protected]";
} elseif ($carrier == "6") {
    $email = "[email protected]";
} elseif ($carrier == "7") {
    $email = "[email protected]";
} elseif ($carrier == "8") {
    $email = "[email protected]";
} elseif ($carrier == "9") {
    $email = "[email protected]";
}

Envíe el correo: ($ email, $ subject, $ msg, $ mailfrom deberán definirse y en el formato adecuado, recomendar también desinfectar entradas)

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.";
}

Asegúrese de que PHP tenga una configuración de correo válida en php.ini. Si tiene alguna pregunta solo pregunte.

ionFish
fuente
0

Hay muchos productores y proveedores de servicios. Sé Ozeki SMS Gateway. Las siguientes URL pueden ayudarlo si desea una solución interna con módem gsm propio o SMPP / UCP / CMD u otro proveedor. Cuando haces una decesión, la primera pregunta: ¿cuántos SMS quieres enviar o recibir?

HTTP SMS API con ejemplos .

API de SMS para desarrolladores de ASP / ASP.NET y ejemplos para desarrolladores de PHP sobre cómo configurar páginas de funcionalidad de SMS que pueden proporcionarle información útil.

Lilio Luami
fuente