Integración de avisos sms en tu servidor mediante php

Publicado en Enviar sms | Etiquetas: , , ,

Un caso muy habitual del uso de avisos sms es la necesidad que tienen muchos webmasters o proveedores de servicios de monitorizar sus sistemas, y sobre todo de recibir avisos inmediatas en su teléfono móvil con los eventos y errores más importantes de los sistemas monitorizados.

pasarela sms http

En estos casos, el envío del sms no puede realizarse mediante un sistema de envíos de sms via web, sino que el propio envío del sms tiene que integrarse en el código que opera en la página web o en el servidor para enviar el aviso mediante sms a los número de teléfono móviles que estén al cargo de realizar las labores de mantenimiento del sistema.

Lo más sencillo en el caso de páginas web es implementar los avisos mediante la inserción de una función php para el envío de sms, y llamar a esa función php desde los puntos críticos del sistema que requieran una acción inmediata del personal de soporte técnico de tu empresa o centro servidor de datos.

Php es el lenguaje de programación más utilizado en el mundo web, así que una sencilla integración del envío de mensajes mediante php en tu servidor web te facilitará el manejo del envío de los avisos necesarios para el funcionamiento de tu sistema.

En una entrada anterior se incluía un código de ejemplo que facilitaba la integración del envío de sms en php, que puede ser utilizado en este caso con gran facilidad. Como siempre, es muy importante el uso de un proveedor sms de confianza, puesto que los avisos son críticos y se debe asegurar la calidad del servicio.

Dado que estamos en un entorno web, lo más normal será utilizar el protocolo http para el envío de los sms con la información del aviso.

Envío de un sms wap push desde php

Ya vimos hace tiempo el envío de sms de texto con php. La función que presentamos hoy permite realizar el envío de sms con php de tipo wappush. De esta forma tu código php corriendo en tu servidor podrá enviar contenidos o urls a los usuarios de tu página php que les sean útiles

Como en anteriores ejemplos, para hacer real el envío, es necesario un proveedor sms que sirve de intermediario entre nuestro servidor php y los operadores de telefonía móvil. El ejemplo utiliza la pasarela de envío de sms masivo de Altiria con php.

El protocolo http es el utilizado para las comunicaciones con el proveedor.

Este método se puede llamar desde cualquier parte de tu servidor para hacer el envío de sms. Integrar el envío de sms con php se hará, por ejemplo, con el siguiente código que envía un sms a los números 34600111222 y 34600111333. El sms enviado de tipo wap push será  mostrando un texto en caso de que el envío del sms se haya realizado correctamente y el texto de error generado en caso de error en el envío de sms.

Un mensaje wap push se compone de la url a la que se conectará el teléfono móvil más una alerta que es el aviso que le aparecerá en el móvil al usuario.

<!--? // sDestination: lista de núumeros, comenzando por 34 y separados por comas // sMessage: hasta 160 caracteres // XX, YY y ZZ se corresponden con los valores de identificación del // usuario en el sistema. // Como ejemplo la petición se envía a www.pasarelasms.net/sustituirPOSTsms // Se debe reemplazar la cadena ’/sustituirPOSTsms’ por la parte correspondiente // de la URL suministrada por Altiria al dar de alta el servicio function AltiriaSMS($sDestination,$sMessage,$sUrl) { $sData = "cmd=sendwappush&domainId=XX&login=YY&passwd=ZZ&dest=".str_replace(",","&dest=",$sDestination)."&msg=".urlencode(utf8_encode(substr($sMessage,0,30)))."&url=".urlencode(utf8_encode(substr($sUrl,0,85))); $fp = fsockopen("www.pasarelasms.net", 80); // Reemplazar la cadena ’/sustituirPOSTsms’ por la parte correspondiente // de la URL suministrada por Altiria al dar de alta el servicio $buf = "POST /sustituirPOSTsms HTTP/1.0\r\n"; $buf .= "Host: www.pasarelasms.net\r\n"; $buf .= "Content-type: application/x-www-form-urlencoded; charset=UTF-8\r\n"; $buf .= "Content-length: ".strlen($sData)."\r\n"; $buf .= "\r\n"; $buf .= $sData; fputs($fp, $buf); $buf = ""; while (!feof($fp)) $buf .= fgets($fp,128); fclose($fp); if (strstr($buf,"ERROR")) return $buf; else return ""; } /* $resp= AltiriaSMS("34600111222,34600111333", "Texto de prueba", "http://www.pasarelasms.es"); if (!$resp) print "Mensaje enviado correctamente!\n"; else echo strstr($resp,"ERROR"); */ ?-->

Enviar sms desde php

Publicado en Enviar sms | Etiquetas: , , ,

La siguiente función permite realizar el envío de sms con php. De esta forma tu código php corriendo en tu servidor podrá enviar alertas que te sean útiles (una caída de un servicio, una compra, un registro de usuario)

Como en anteriores ejemplos, para hacer real el envío, es necesario un proveedor sms que sirve de intermediario entre nuestro servidor php y los operadores de telefonía móvil. El ejemplo utiliza la pasarela de envío de sms de Altiria con php.

El protocolo http para el envío de sms es el utilizado para las comunicaciones con el proveedor.

Este método se puede llamar desde cualquier parte de tu servidor para hacer el envío de sms. Integrar el envío de sms con php se hará, por ejemplo, con el siguiente código que envía un sms a los números 34600111222 y 34600111333, mostrando un texto en caso de que el envío del sms se haya realizado correctamente y el texto de error generado en caso de error en el envío de sms desde php.

<!--? // sDestination: lista de núumeros, comenzando por 34 y separados por comas  
// sMessage: hasta 160 caracteres  
// XX, YY y ZZ se corresponden con los valores de identificación del  
// usuario en el sistema.  
// Como ejemplo la petición se envía a www.pasarelasms.net/sustituirPOSTsms  
// Se debe reemplazar la cadena ’/sustituirPOSTsms’ por la parte correspondiente 
// de la URL suministrada por Altiria al dar de alta el servicio de envío de sms desde PHP
function AltiriaSMS($sDestination,$sMessage) {  $sData = "cmd=sendsms&#038;domainId=XX&#038;login=YY&#038;passwd=ZZ&#038;dest=".str_replace(",","&#038;dest=",$sDestination)."&#038;msg=" .urlencode(utf8_encode(substr($sMessage,0,160)));  
$fp = fsockopen("www.pasarelasms.net", 80);  
// Reemplazar la cadena ’/sustituirPOSTsms’ por la parte correspondiente // de la URL suministrada por Altiria al dar de alta el servicio $buf = "POST /sustituirPOSTsms HTTP/1.0\r\n";  
$buf .= "Host: www.pasarelasms.net\r\n";  
$buf .= "Content-type: application/x-www-form-urlencoded; charset=UTF-8\r\n";  
$buf .= "Content-length: ".strlen($sData)."\r\n";  
$buf .= "\r\n"; $buf .= $sData;  fputs($fp, $buf); 
$buf = "";  while (!feof($fp)) 
$buf .= fgets($fp,128); 
fclose($fp); 
if (strstr($buf,"ERROR"))  return $buf; else return ""; } 
/* $resp= AltiriaSMS("34600111222,34600111333", "Texto de prueba"); if (!$resp) print "Mensaje enviado correctamente!\n"; else echo strstr($resp,"ERROR"); */ ?-->