it-swarm-es.com

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

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 de 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 bidireccional SMS con mi aplicación web para que las personas pudieran responder con un tipo de mensaje CONFIRM o CANCEL.

¿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 formas de desollar a este gato", así que la cambié a wiki de la comunidad.

57
jessegavin

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 POST HTTP y la respuesta de su servidor web se envía como respuesta. También ofrecen un servicio web que se puede utilizar para iniciar conversación y enviar mensajes .

Mientras buscaba otras opciones, me encontré con Zeep Mobile (Nota: Zeep Mobile ya no estará en el negocio a partir de 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 SMS Puerta de enlace como ClickATell.

¡La mejor de las suertes!

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

25
Adam

Tenía un amigo que logró implementar esto por correo electrónico. Creo que lo hizo exactamente de la misma manera 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 número de teléfono = su número de teléfono de 10 dígitos

15
Mike

He estado usando Twilio para voz y me ha impresionado bastante. Estoy seguro de que su sistema 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).

9
Darryl Hein

Esto es solo para enviar, pero he usado Penny SMS para un proyecto y tuve buena suerte con él. Si estás usando Ruby, mira el penny_sms_muncher gem .

5
Matthew Shanley

Otras dos opciones que he considerado en el pasado:

API de Skype
Envía y recibe SMS usando 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)

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

4
Eduardo Molteni

Recomendaría buscar en la API de dos vías proporcionada por http://www.world-text.com/ .

3
AronHopkins

Si desea un proveedor a granel SMS 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.

2
Liam Harris

He escrito un sistema SMS de dos maneras usando Vidicom UK como el proveedor SMS (no estoy seguro de si todavía están funcionando). Básicamente tienen una API basada en HTTP donde puede enviar y recibir SMS mensajes. 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 SMS mensajes al número equivocado, por lo que debe responder de nuevo diciendo "Mensaje no entendido", etc.

2
Dan Diplo

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:

Cree 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.

1
ionFish

Hay muchos productores y proveedores de servicios. Conozco a 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 hace una decesión, la primera pregunta: ¿cuántos SMS desea enviar o recibir?

HTTP SMS API con ejemplos .

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

0
Lilio Luami

No estoy seguro de si podría hacer algo con las respuestas, hay algunas API que se han hecho para implementar la funcionalidad de texto con Google Voice.

http://code.google.com/p/pygooglevoice/

http://code.google.com/p/google-voice-Java/

0
Nick Painter