Recomiendame
De Open movilforum wiki
Aplicación que recomienda al usuario, según su localización y demanda (hotel, restaurante, conciertos, etc.), los servicios y sitios valorados por los usuarios en comunidades como 11870.com, o los conciertos de nvivo.es.
El usuario puede también enviar a twitter la acción solicitada por sms para que sus seguidores vean que está solicitando y el lugar, así ellos también podrán recomendarle algún sitio en el momento.
Actualización 27-05-2008: se ha implementado el API de Geocoding de Google para localizar los servicios de 11870 más cercanos y se ha modificado el formato de los mensajes (Ver Forma de uso)
Actualización 11-05-2008: se ha prescindido del uso del API Localízame, ya que la actual implementación no permite que el uso sea sencillo para los usuarios del servicio.
Tabla de contenidos |
[editar] Documentación
Esta es la primera versión del mashup Recomiéndame, es un prototipo que muestra la idea general. Este proyecto se ha desarrollado con PHP5 OO. Cada módulo puede ser reutilizado en otros proyectos y se pueden añadir nuevos servicios rápidamente.
[editar] APIs utilizadas
- API Recepción de SMS (Open movilforum)
- Interfaz HTTP de envío de SMS (Open movilforum)
- 11870.com Aplicación web para compartir con tus amigos opiniones, fotos y vídeos de todo tipo de servicios
- Twitter API Sistema de microblogging
- Google Geocodig
- Feeds de Nvivo.es Información sobre conciertos
[editar] Funcionamiento, implementación
- El usuario envía un SMS solicitando algún servicio e indicando el lugar
- El programa que monitorea la cuenta de correo asociada a la API de recepción de SMS extrae los emails nuevos que han llegado desde la última vez que se comprobó y se marcan como leídos.
- Se parsean los emails y se crea una representación del SMS por cada uno.
- El texto de cada SMS se parsea extrayendo:
- El tipo de información que el usuario solicita (servicio, concierto, etc.).
- La cadena de búsqueda enviada (ejemplo: 'sidreria tapas').
- El lugar en el que se encuentra (oviedo, madrid, etc.).
- Datos de acceso a Twitter en caso de que el usuario los haya enviado.
- Si el usuario envió sus datos de Twitter se actualiza su status solicitando que le recomienden x servicio.
- Dependiendo del tipo de dato solicitado se crea el servicio que buscará la información llamando a las APIs y los feeds de 11870.com, nvivo.es, etc. (de momento estos dos)
- Si el usuario solicitó un servicio de 11870 se coge la dirección indicada en el SMS (p.e: gran via madrid) y se llama a la API de Geocoding HTTP de Google para obtener las coordenadas de esa posición. Estas coordenadas se pasan a la API de 11870 indicando también que los servicios se encuentren dentro de 1 Km de radio.
- Se parsean los datos obtenidos, en este caso XML, y se envían al usuario usando el API HTTP de envío de SMS.
[editar] Forma de uso
Formato de los mensajes:
- Solicitando servicios:
- cadena de búsqueda, lugar
- Ejemplo: hotel barato, gran via madrid
- Siempre separando con coma lo que se busca y la posición o dirección
- Solicitando conciertos para hoy:
- conciertos, lugar
- Ejemplo: conciertos, barcelona
- Con Twitter:
- cadena de búsqueda, lugar TWT usuario password
- conciertos, lugar TWT usuario password
- Ejemplos: hotel barato, gran via madrid TWT enjuto h4ck3r - conciertos, barcelona TWT miusuario miclave
Imágen:[1]
[editar] Respuesta
Formato de los mensajes:
- Respuesta servicios:
- Nombre local 1: Dirección Tlfno: teléfono, Nombre local 2: Dirección Tlfno: teléfono
- Respuesta conciertos:
- Grupo/artista 1, local ciudad, Grupo/artista 2, local ciudad
[editar] Probando la aplicación
El mensaje se ha de enviar al número 638444951
También se puede enviar un correo a recomiendamesms@gmail.com con el siguiente formato:
Asunto: OPEN SMS Cuerpo del email: Movil:346xxxxxxxx Texto:hotel barato, calle uria oviedo TWT usuarioTwitter claveTwitter
El tiempo máximo de la respuesta es de 5 minutos.
[editar] Instalación
- La aplicación ha sido probada en una instalación Linux, Apache 2.2.6, PHP 5.2.5.
- En la sección de descargas puedes encontrar las librerías utilizadas: oos4php, ZendGdata, SimplePie.
[editar] Requisitos
- PHP 5.2
- Librería cURL
- Librería IMAP
- Posibilidad de programar tareas
- La cuenta de correo usada en el API de recepción debe tener acceso IMAP.
[editar] Configuración
- Crear una tarea programada (cron para unix) para ejecutar CronRecomiendame.php cada x minutos o segundos.
- Configurar CronRecomiendame.php con los datos para el envío de SMS del API:
- define('USER_SMS', '6xxxxxxxx');
- define('PASSWORD_SMS', 'xxxx');
- Configurar Imap.php con los datos de acceso IMAP de la cuenta de correo para la recepción de SMS:
- define('IMAP_MAILBOX', '{imap.gmail.com:993/imap/ssl}'); //Para Gmail
- define('IMAP_USER', 'xxx');
- define('IMAP_PASSWORD', 'xxx');
- Configurar servicios/Servicios11870.php con los datos del API de 11870.com:
- define('APPSECRET_11870', 'xxx');
- define('APPTOKEN_11870', 'xxx');
- define('USERSLUG_11870', 'xxx');
- define('EMAIL_11870', 'xxx');
- define('PASSWORD_11870', 'xxx');
[editar] ToDo, ampliaciones, mejoras
- Implementar la API Localízame si se mejora su utlización.
- Añadir nuevos sitios de recomendaciones. (Estaría bien que [salir.com] tuviera API o feeds RSS para las búsquedas).
- Implementar más opciones del API de 11870, por ejemplo, para dar una opinión por SMS o enviar fotos de un local. Varias opciones en las búsquedas [2]
- Posibilidad de enviar MMS con más información.
- Si se necesitaran muchos datos de cuentas de usuario (twitter, 11870, etc.) se podría dotar de una interfaz web para manejar todos los perfiles y así disminuir el tamaño de los SMS enviados.
[editar] Descarga
- Google Code: http://code.google.com/p/recomiendame/
- Descargas: http://code.google.com/p/recomiendame/downloads/list
[editar] ChangeLog
- v1.1:
- Se ha añadido el API de Geocoding de Google
- Nuevo formato para los mensajes, ahora se debe colocar una coma entre el servicio solicitado y la posición
