Hoy en día no cabe duda que el SMS es la herramienta de comunicación indirecta más veloz y usada en el mundo.
Un
SMS llega al destinatario en el mismo momento en que se realiza el
envío y, a diferencia del e-mail, la lectura del mismo es, por lo
general, inmediata.
Por eso, y debido al gran aumento de móviles
per cápita en la población, cada día existen más aplicaciones que
realizan las notificaciones a los usuarios mediante SMS en lugar de
utilizar e-mails.
Pero, pese a que el precio de estos mensajes
es relativamente bajo, existen proveedores de servicios que se
enriquecen increiblemente con los precios abusivos de los mismos.
Así,
muchos proveedores ofrecen envíos de SMS por 0.12€ cuando, siguiendo el
siguiente tutorial, podremos realizar envíos de SMS por no más de 0.06€
Desde
la rama de proveedores de soluciones Voip VoipBuster, podemos encontrar
un conjunto de partners con diversas tarifas para SMS.
Entre ellos se encuentran:
http://www.smsdiscount.com/
http://www.voipstunt.com/
http://www.voipwise.com/
http://www.voipbuster.com/
http://www.12voip.com/
http://www.poivy.com/
http://www.voipcheap.com/
http://www.voipzoom.com/
...
Vamos
a utilizar el servicio de envío de SMS que estos proveedores ponen a
nuestra disposición para poder realizar los envíos de notificación
desde nuestra web.
Para ello, utilizaremos y explicaremos una clase escrita en PHP y de uso sencillo y versátil.
En nuestra librería definiremos un grupo de constantes, detalladas a continuación:
constantes.php
Nuestra clase class.smsApi.php se definirá con la siguiente estructura:
class.smsApi.php(Los detalles de las funciones, podrás encontrarlos en el archivo adjunto al artículo)La
configuración de la llamada a la clase, dependerá de si en nuestro
servidor tenemos habilitado el uso de CURL ó el método file() de
lectura remota de ficheros.
Los parámetros que recibe cada función son los siguientes:
function smsApi:
$usr - login del usuario de la página que nos proveerá el servicio
$pass - contraseña del usuario
$module - Opcional: Módulo que realizará el envío. Se puede
utilizar una de las constantes definidas en nuestro script de constantes
$mobilephone - Opcional: En caso de querer hacer un envío con una
única llamada a una función, estrableceremos este parámetro. El valor a
recibir será el número destino, sin el prefijo internacional del país.
$country - Opcional: Prefijo internacional del país. Por ejemplo: España - '+34' ó '0034'
$message - Opcional: Cadena con el mensaje a enviar
$engine - Método a utilizar. Este valor puede ser 'curl' ó 'file'.
También se puede utilizar una de las constantes definidas en nuestro
script de constantes.
function setModule:
function addRecipient:
$mobilephone - Número destino a añadir a la lista de destinatarios. El valor a
recibir será el número destino, sin el prefijo internacional del país.
$country - Opcional: Prefijo internacional del país. Por ejemplo: España - '+34' ó '0034'
function setMessage:
$message - Cadena con el mensaje a enviar
function setEngine:
$message - Cadena con el mensaje a enviar
function send:
function send_CURL
function send_FILE
Así, las llamadas a este script se realizarían de la siguiente forma:
A partir de ahora, el coste de realizar envíos para notificación, se verá reducido increíblemente.
Los proveedores mencionados anteriormente, ofrecen unos pocos envíos de prueba por cada usuario.
Modificando los parámetros del archivo example.php podremos realizar pruebas para verificar el funcionamiento.