InmoDir

Información para desarrolladores

Ejemplos con datos tabulados

Ejemplos prácticos mediante datos tabulados: Resumen de anuncios

  1. Introducción
  2. Tipos de resumen de anuncios
  3. Resumen simple
  4. Resumen simple: Parámetros
  5. Resumen simple: Resultado
  6. Resumen complejo
  7. Resumen complejo: Parámetros
  8. Resumen complejo: Resultado
  9. Ejemplos de conexión remota
  10. Ejemplos de conexión remota: cURL
  11. Ejemplos de conexión remota: file_get_contents()
  12. Ejemplos de conexión remota: fopen()
  13. Resultado final

Introducción

Con usabilidad nos referimos a la rapidéz y facilidad con la que un navegante de la página web puede realizar una tarea concreta, como por ejemplo encontrar la información que necesita. Por ello, crear una buena estructura para el sitio web de la inmobiliaria es importante. Un menú principal donde el navegante puede acceder a una sección para obtener información de la empresa o ir a la sección de contacto es importante, lo mismo poder volver al inicio facilmente.

Tipos de resumen de anuncios

Que el navegante del sitio web de nuestro cliente pueda acceder al listado de anuncios de alquiler o de venta con un simple "clic" es muy necesario. Y para ello, ¿qué mejor cosa que conocer cuántos anuncios hay de cada tipo? Pudiendo agregarse esos valores a continuación de cada enlace en el menú principal.

De esta forma, el menú principal quedaría mas o menos así:

Inicio | Propiedades en alquiler (23) | Propiedades en venta (15) | Quienes somos | Contacto

Esto sería obtener un resumen simple de los anuncios de la inmobiliaria. Hay dos maneras, la otra es obteniendo un resumen complejo pudiendo obtener de manera detallada no sólo la cantidad de anuncios de alquiler o de venta de la inmobiliaria, sino también, un detalle de la cantidad según el tipo de inmueble, de esta forma podríamos tener un submenú similar a esto:

Anuncios de alquiler: (23)
Casas/chalets (2)
Monoambientes (2)
Pisos (1)
áticos (15)
Adosados (3)

Resumen simple

El resumen simple nos va a dar dos datos principales: La cantidad de anuncios de alquiler y la cantidad de anuncios de venta.

Resumen simple: Parámetros

Para obtener la información resumida de la cantidad de anuncios simplemente hay que ir a esta URL:
http://es.inmodir.com/lab/tab/adsresume/, luego se explicará cómo guardar los datos obtenidos en una variable o imprimirlos de la manera que queramos.

http://es.inmodir.com/lab/tab/adsresume/?icode=12345678901234567890123456789012

Es importante notar que dentro de esa URL va el código de la inmobiliaria, indicado con el parámetro icode, aqui se utiliza uno inexistente a modo de ejemplo.

Resumen simple: Resultado

Como resultado se obtendrá una página web con el siguiente contenido:

Alvarez|23|8|

Se obtendrán los valores siempre separados por una barra, mostrando siempre: 1º El nombre de la inmobiliaria, 2º la cantidad de anuncios de alquiler y 3º la cantidad de anuncios de venta.

Resumen complejo

El resumen complejo nos va a dar la información de la cantidad total de los anuncios de un tipo de operación (alquiler o venta), junto con el detalle de esa misma cantidad según el tipo de inmueble.

Resumen complejo: Parámetros

Para obtener la información resumida de la cantidad de anuncios simplemente hay que ir a esta URL:
http://es.inmodir.com/lab/tab/adsresume/, (igual que para obtener un resumen simple pero con un parámetro extra).

Siguiendo el mismo ejemplo con un código aqui inexistente de inmobiliaria con el parámetro icode con el código de la inmobiliaria, a continuación se indica en este caso el parámetro opertype cuyo valor debe ser siempre '1' ó '2', sea para anuncios de alquiler o venta respectivamente:

http://es.inmodir.com/lab/tab/adsresume/?icode=12345678901234567890123456789012&opertype=1

Es importante notar que dentro de esa URL va el código de la inmobiliaria, indicado con el parámetro icode, aqui se utiliza uno inexistente a modo de ejemplo. Y al indicar también el tipo de propiedad (alquiler o venta), con el parámetro opertype, el resultado será un resumen complejo.

Resumen complejo: Resultado

Como resultado se obtendrá una página web con contenido similar a este:

23|2|2|1|0|15|0|0|0|3|0|

Como siempre, se obtendrán los valores separados por una barra, mostrando en este caso el total de anuncios, de alquiler o venta según se haya indicado con el parámetro opertype siendo opertype=1 para alquileres o opertype=2 para anuncios de venta.

A continuación, aparecerá esa misma cantidad detallada según inmueble:

  • Posición '0': Total de anuncios (en este ejemplo: anuncios de alquiler).
  • Posición '1': de casas/chalets
  • Posición '2': de monoambientes
  • Posición '3': de pisos
  • Posición '4': de lofts
  • Posición '5': de áticos
  • Posición '6': de bajos/oficinas
  • Posición '7': de garajes/trasteros/almacenajes
  • Posición '8': de naves
  • Posición '9': de adosados
  • Posición '10': de terrenos/parcelas

En el ejemplo, como resultado se ha obtenido que hay 23 anuncios de alquiler, de los cuales 2 son de Casas/chalets, 2 son de Monoambientes, 1 pertenece a un anuncio de Piso, 15 pertenecen a alquileres de áticos, y 3 a Adosados.

La lista de inmuebles siempre será así, por ejemplo la posición '1' corresponderá a 'Casas/chalets', la posición '2' corresponderá a 'Monoambientes', la posición '3' a 'Pisos', etcétera.

Ejemplos de conexión remota

Como ya se indicó al inicio de este capítulo, para hacer correr este script y obtener los resultados necesarios nos tenemos que conectar a la siguiente URL: http://es.inmodir.com/lab/tab/adsresume/. Con al menos un parámetro, que será el código de la inmobiliaria, indicado con el parámetro icode y, opcionalmente, el parámetro del tipo de operación, con el parámetro propertype. Ahora veremos ejemplos de tres maneras diferentes para que nuestro sitio se conecte de forma remota con la base de datos de InmoDir y almacenar la información requerida en una variable a la que llamaremos $inmodata.

Tomar en cuenta que antes de aplicar la función, se forzará a interpretar el resultado según la codificación UTF-8, esto evitará problemas con los acentos y apóstrofes. Lo único que tendrás que modificar con tus propios datos son los contenidos de las tres variables que aparecen alcomienzo de cada script, donde pone: "Valores", sobre todo las dos últimas variables $inmoscript_icode y $inmoscript_moreparams.

Conectarse y obtener los datos utilizando las librerías de cURL

<?php
/*
 * Obtener de forma remota con cURL
 * la lista de anuncios de mi cliente en InmoDir.
 */

/* Valores. */
$inmoscript_url = "http://es.inmodir.com/lab/tab/adsresume/?icode="; // url del script.
$inmoscript_icode = "12345678901234567890123456789012"; // iCode de tu cliente.
$inmoscript_moreparams = "&opertype=1"; // 1: Anuncios de alquiler, 2: Anuncios de venta (resumen complejo).
/* Funciones. */
$ch = curl_init($inmoscript_url.$inmoscript_icode.$inmoscript_moreparams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if(curl_exec($ch) === false)
{
 echo'Curl error: '.curl_error($ch);
}
 else
{
 curl_setopt($ch, CURLOPT_URL, $inmoscript_url.$inmoscript_icode.$inmoscript_moreparams);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_ENCODING, "UTF-8");
 $inmodata = curl_exec($ch); // Ejecutar  
 curl_close($ch); // Cerrar  
 /* Imprimimos para verificar. */
 echo$inmodata;
}
?>

Conectarse y obtener los datos utilizando la función file_get_contents()

<?php
/*
 * Obtener de forma remota con la función file_get_contents
 * la lista de anuncios de mi cliente en InmoDir.
 */

/* Valores. */
$inmoscript_url = "http://es.inmodir.com/lab/tab/adsresume/?icode="; // url del script.
$inmoscript_icode = "12345678901234567890123456789012"; // iCode de tu cliente.
$inmoscript_moreparams = "&opertype=1"; // 1: Anuncios de alquiler, 2: Anuncios de venta (resumen complejo).
/* Funciones. */
$opts = array(
  'http'=>array(
   'method'=>"GET",
   'header'=>implode("\r\n", array('Content-type: text/plain; charset=utf-8'))
  )
);
$context = stream_context_create($opts);
$inmodata = file_get_contents($inmoscript_url.$inmoscript_icode.$inmoscript_moreparams,false, $context);  
/* Imprimimos para verificar. */
echo$inmodata;
?>

Conectarse y obtener los datos utilizando la función fopen()

<?php
/*
 * Obtener de forma remota con fopen
 * la lista de anuncios de mi cliente en InmoDir.
 */

/* Valores. */
$inmoscript_url = "http://es.inmodir.com/lab/tab/adsresume/?icode="; // url del script.
$inmoscript_icode = "12345678901234567890123456789012"; // iCode de tu cliente.
$inmoscript_moreparams = "&opertype=1"; // 1: Anuncios de alquiler, 2: Anuncios de venta (resumen complejo).
/* Funciones. */
$opts = array(
  'http'=>array(
   'method'=>"GET",
   'header'=>implode("\r\n", array('Content-type: text/plain; charset=utf-8'))
  )
);
$context = stream_context_create($opts);
$inmodata = fopen($inmoscript_url.$inmoscript_icode.$inmoscript_moreparams, "r", false, $context);
$inmodata = stream_get_contents($inmodata);
/* Imprimimos para verificar. */
echo$inmodata;
?>

Resultado final

Como notarás, en los tres métodos de conexión, las funciones ya están establecidas, simplemente puedes hacer copiar & pegar. Como ya se comentó antes, lo único que deberás modificar son las tres variables que corresponden a los datos específicos, donde se indica mediante el comentario Valores, las variables son: $inmoscript_url, $inmoscript_icode y $inmoscript_moreparams.

Recuerda que al probarlo es muy probable que algunos caracteres y apóstrofes se vean un poco "raros" a pesar de codificarlo en UTF-8. Con el siguiente código php que genera un código html puedes imprimir el resultado, el siguiente código podrías colocarlo a continuación de algunos de los tres scripts anteriores, el que hayas utilizado, reemplazando el comentario que decía: "Imprimimos para verificar...", simplemente haz copiar & pegar:

<?php
/*
 * Continuación del script php que se conecta y obtiene los datos.
 * En este caso imprime el resultado generando una página web con código html.
 * Esto iría en reemplazo de donde pone 'Imprimimos para verificar.'
 */

echo"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
echo"<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"es-es\">\n";
echo" <head>\n";
echo"  <title>Prueba función annlist de InmoDir</title>\n";
echo"  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n"; // Importante!
echo" </head>\n";
echo" <body>\n";
if (isset($inmodata)){echo$inmodata."\n";} // Imprimimos variable porque ha sido definida.
else {echo"No se obtuvieron datos. \n";}
echo" </body>\n";
echo"</html>\n";
?>