OpenInviter: script PHP para enviar mensajes a los contactos de tus visitantes
Muchas veces vemos como algunos sitios (por ejemplo facebook) nos piden los datos de nuestras cuentas de correo y obtienen acceso para extraer las direcciones de correo de todos nuestros contactos para enviarles invitaciones para que conozcan el sitio, se registren, compren algo, participen de alguna campaña, o lo que al creador del sitio se le haya ocurrido como funcionalidad.
La problemática de esto es que no todos los grandes proveedores de correo ofrecen un api para integrarse con nuestros desarrollos y lo que se hace habitualmente es un script que se conecte con la web de acceso del sistema de correo y ejecute las mismas acciones que haría el usuario: Ingresar e ir a la página de sus contactos (o agenda). El tema es que al ser de esta manera la obtención de los datos se logra parseando la información desde código html que no ha sido especialmente concebido para esto, siendo así, si el proveedor de correo cambia su código es muy posible que nuestro método deje de funcionar y tendremos que ponernos a investigar como adaptarlo al nuevo cambio.
Aquí es donde llega OpenInviter a salvarnos, intengrando en un script la posibilidad de extraer tus contactos desde muchísimos servicios de correo o, incluso, permitiendo que accedas y envíes invitaciones a los contactos que tus usuarios tengan en redes sociales. Todo con la promesa de actualizar el script en caso de que algún servicio cambie su estructura.
Lo primero que debes hacer es dirigirte a la web de OpenInviter, registrarte y colocar los datos del sitio web en el que lo usarás, con esto obtendrás un api de acceso y podrás descargar el script. Una vez descargado te llevarás una grata sorpresa al comprobar que la configuración del script viene lista con los datos generados a partir de tu registro.
Luego copias toda la carpeta a algún lugar dentro de tu proyecto web (obviamente con visibilidad a través de un webserver) y visitas, a través del browser, el archivo postinstall.php que se encontrará directamente dentro de la carpeta donde recide OpenInviter. Este archivo ejecutará una revisión de tu sistema y comprobará si está todo en orden para que puedas usar el script sin problemas. Una vez superado este paso debes borrar el archivo postinstall.php.
Ahora tenemos que usarlo, la forma más fácil de entender esto es con un ejemplo. Explicaré el método para obtener todos los contactos del correo de un usuario. Comenzamos con crear el formulario donde le pediremos los datos.
<form action="invitador.php" method="post">
Usuario: <input type="text" name="usuario" /><br />
Clave : <input type="password" name="clave" /><br />
Correo: <select name="correo"><option value="gmail">Gmail</option><option value="hotmail">Hotmail</option></select><br />
<input type="submit" value="Enviar" />
</form>
Con este formulario ya tenemos los datos básicos:
- Usuario
- Contraseña
- Sistema de correo utilizado por el usuario
Luego tenemos que crear el archivo que recibe la llamada del formulario, en este ejemplo el invitador.php.
<?php
//Agregamos el script OpenInviter
include( 'path_donde_dejaste_openinviter/openinviter.php');
//Instanciamos la clase OpenInviter
$inviter = new OpenInviter();
//Cargamos el plugin de conexión de acuerdo al sistema usado por el usuario
switch( $_POST['correo'] ){
case 'gmail':
$inviter->startPlugin('gmail');
break;
case 'hotmail':
$inviter->startPlugin('hotmail');
break;
}
if( !( $inviter->login( $_POST['usuario'] , $_POST['clave'] ) ) ){
//Qué hacer si el login en el correo del usuario no se registró correctamente
}
else{
//Si fue exitoso el login, obtenemos todos los contactos de correo
$inviter->getMyContacts();
//Accedemos a cada uno de los contactos
foreach ($contacts as $email => $name) {
/* Ahora tenemos en $email la dirección de correo
y en $name el nombre del contacto */
}
//Finalmente cerramos correctamente la sesión del usuario
$inviter->logout();
}
?>
Como ven es bastante simple y rápido. El script es gratuito y de acuerdo a la información que entregan es gratis y además puede ser modificado por ti sin ningún problema (aunque no tengo idea qué tipo de licencia utilizan). Lo único que es pagado por lo que pude leer es el servicio de actualizaciones automáticas, de todas formas, siempre que te falle un plugin puedes ir a buscar la versión más actualizada y copiarla a mano, es la opción automática la que se cobra.
Ahora al finalizar un tema que no puedo dejar pasar: Como habrás notado tendrás el dominio temporal de la cuenta y contraseña de tus usuarios: No los almacenes de ninguna forma, si alguno de tus usuarios ha ingresado sus datos es porque ha confiado en tu web, no traiciones su confianza.
Pueden obtener más información desde la web oficial de OpenInviter.

15 Jun, 2010
12:31