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 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
- 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)
- 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 madrid
- La última palabra ha de ser siempre el lugar
- 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 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] 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
- Descarga directa: http://recomiendame.googlecode.com/files/recomiendame-v1.0.rar (Proyecto completo con librerías)
- Google Code: http://code.google.com/p/recomiendame/
- Repositorio de código: svn checkout http://recomiendame.googlecode.com/svn/trunk/ recomiendame-read-only
- Librerías: http://code.google.com/p/recomiendame/downloads/list (La librería oos4php también se puede obtener en http://code.google.com/p/api-11870/ pero contiene algunos errores)
[editar] Probando la aplicación
Se ha realizado una instalación que puede ser usada para probar la aplicación. El formato de los mensajes debe ser el siguiente, enviando en primer lugar la clave propia del servicio de envío de SMS obtenida en el 770:
- clave cadena de búsqueda lugar TWT usuarioTwitter claveTwitter
- Ejemplo: 4564 hotel barato oviedo TWT minombre miclave
El mensaje ha de ser enviado 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:claveSMS hotel barato oviedo TWT usuarioTwitter claveTwitter
El tiempo máximo de la respuesta es de 5 minutos.
