Introdução

O site de uma imobiliária ou corretor de imóveis pode ser facilmente integrado com o uso de nossa API DE INTEGRAÇÃO DE SITES E ACESSO AOS DADOS. Isto significa que você pode fazer seu site com o design que desejar, em sua agência favorita e ao mesmo tempo ter um sistema completo de gestão, CRM, integrado com Portais Imobiliários e muito mais! Tudo integrado.

Os sites imobiliários possuem algumas páginas com conteúdo estático e algumas páginas com conteúdos dinâmicos, como Busca de imóveis, Imóveis em Destaque, Listagem de Imóveis, Dados de Contato da Empresa, Ficha do Imóvel, Galeria de Fotos do Imóvel, etc. Através da nossa API, essas informações dinâmicas, atualizadas no Smart Imobiliário, podem ser consultadas do Banco de Dados da conta da empresa e apresentadas nas diversas páginas de seu site ou landing pages.

Abaixo, temos alguns exemplos de integrações em páginas de uma imobiliária. Os exemplos são de páginas desenvolvidas em php, mas outras tecnologias para desenvolvimento de site terão a integração bem semelhante.

Exemplo 1: Apartamentos para Alugar em Destaque

Vamos supor que você queira criar uma seção no site de sua imobiliária com os alguns apartamentos para alugar em destaque (alugueis selecionados como destaque dento do aplicativo Smart Imobiliário da empresa).

Passo 1 – Criar página com conteúdo estático

Para criar a página com os imóveis para aluguel em destaque, o ideal é você criar primeiramente uma página estática e finalizada, com todo o conteúdo a ser apresentado pronto (html, css, scripts, etc). Em nosso caso,  uma página com os apartamentos,  as informações que se deseja mostrar,  foto,  tudo já em html, sem se preocupar ainda com a integração com a API.

imoveis-alugues-destaque
Página implementada com aluguéis em destaque

Passo 2 – Escolher qual (ou quais) métodos da API DE INTEGRAÇÃO DE SITES E ACESSO AOS DADOS você vai precisar usar.

Para o nosso exemplo, o método escolhido para listar os apartamentos para alugar e em destaque foi Obter Lista de Imóveis por Filtro

O método escolhido recebe como parâmetro um filtro com os parâmetro que se deseja para selecionar os imóveis específicos, no caso: Imóveis do tipo: APARTAMENTO, que estejam cadastrados como DESTAQUE e esteja com o status: DISPONÍVEIS PARA ALUGAR.

O Retorno desse método será uma lista de imóveis que atendem ao critérios do filtro passado.

Passo 3 – Identificar a URL do método escolhido e o filtro desejado para a consulta.

Para aplicar o método a nossa página criada, vamos precisar identificar as informações necessárias na seção no método  Obter Lista de Imóveis por Filtro, como:

URL: http://app.smart.youdigital.com.br/sites/v1/imovel/listarImoveisFiltro?filtro={FILTRO}

FILTRO: Os parâmetros que deverão ser utilizados para o retorno desejado. Em nosso caso, vamos usar um include para uma pagina php que irá receber o filtro definido. Note abaixo, que além dos parâmetros tipo do Imóvel e status, filtramos também o estado, se o imóvel tem fotos para se mostrado na galeria e a quantidade de imóveis, para caber bem no espaço reservado para este conteúdo.

 

Passo 4 – Aplicar o método escolhido de nossa API na página criada no Passo 1.

Em nosso exemplo, criamos uma página em php que faz chamadas ao método de Obter a Lista de Imóveis por Filtro.

A página basicamente cria o filtro com os parâmetros desejados e faz a  chamada método montando a página com os imóveis retornados como resposta.

 Recebendo o filtro e seus parâmetro:

Para facilitar a chamada aos métodos, criamos as três funções auxiliares a seguir. Essas funções podem ser colocadas, se preferir, em um arquivo funcoes-api-smart.php, por exemplo, pois podem ser usadas em todo o desenvolvimento do site. Para ter acesso, basta incluí-las em um include de cada página.

Observação: Caso seu site esteja sendo desenvolvido em php, disponibilizamos AQUI um arquivo php com as funções prontas para você. Basta baixar, descompactar e usar em sua integração.

//Abaixo, funções auxuliares para facilitar a chamada que podem ser colocados em 
um arquivo funcoes-api-smart.php e importadas para a página através de include

//funções de apoio usadas para chamada de um método/URL da API
function myUrlEncode($string) {
   $entities = array('%22', '%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
   $replacements = array('"', '!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]");
   return str_replace($entities, $replacements, urlencode($string));
}

function my_file_get_contents( $site_url ){
   $url = myUrlEncode($site_url);
   $ch = curl_init(); 
   $timeout = 10; 
   curl_setopt ($ch, CURLOPT_URL, $url); 
   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
   curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
   $file_contents = curl_exec($ch); 
   curl_close($ch); 
   $file_contents;
}

//método criado para facilitar a chamada de uma função da API
function obterListaImoveis($filtro){
   $responseJson = my_file_get_contents('http://app.smart.youdigital.com.br/sites/v1/imovel/listarImoveisFiltro?filtro='.$filtro);
   return json_decode($responseJson);
}

...

Usando as funcões auxiliares para chamar o método desejado

//IMPORTANDO AS FUNÇÕES AUXILIARES DO ARQUIVO funcoes-api-smart.php
<?php include"funcoes-api-smart.php"; ?>

//chamando os a lista dos imóveis $objJsonImoveis = obterListaImoveis($filtroAluguel); if (isset($objJsonImoveis->imoveis)){ $imoveis = $objJsonImoveis->imoveis; } else{ $imoveis = null; }

 

Apresentando as informações manipuladas dos imóveis recebidos no código HTML
Pronto! os dados dos imóveis já podem ser apresentados em sua página! Use a tabela de Atributos do Imóvel da API DE INTEGRAÇÃO DE SITES E ACESSO AOS DADOS para verifica todos os campos de imóvel que deseja apresentar.

//Descrição do Imóvel
<?php echo $imovel->descricao ?>


//Bairro, Cidade - UF
<?php
$endereco = ($imovel->nomeBairro).", ".($imovel->nomeCidade)." - ".($imovel->siglaEstado); 
 echo substr($endereco,0, 30);
?>

//url para a ficha do imóvel
<?php echo $urlBase."imovel/".($imovel->urlCustom)."/".($imovel->codigoImovel)."/pt/BR"; ?>

Trabalhando os dados recebidos com variáveis php antes de apresentar na página:

$quantidadeLista = sizeof($imoveis);
if ($quantidadeLista > 0){
   foreach ($imoveis as $imovel) {
      $pretensaoImovel = "Apartamento";
      $textoAnuncio = $imovel->descricao;
      $textoPreco = ""; 
      $quarto = "Quarto(s)";
      $area = "m²";
      $garagem = "vagas(s)";
      $aluguel = "Aluguel";
      $venda = "Venda";
      $areaTotal = "Área Total";
      $areaUtil = "Área Útil";
 
      if ($imovel->tipoOperacao == 'L'){
         $textoPreco = $imovel->preco;
         if($imovel->precoTemporada > 0.0){
            $textoPreco = $imovel->precoTemporada;
         }
      } else{
         $textoPreco = $imovel->preco;
      }
 
      if($imovel->tipoOperacao == 'L'){
         $textoPretensao = $aluguel;
      } else if($imovel->tipoOperacao == 'V'){
         $textoPretensao = $venda;
      } else if($imovel->tipoOperacao == 'V' && $imovel->tipoContrato == 'L'){
         $textoPretensao = $lancamento;
      } else if($imovel->temporada == '1'){
         $textoPretensao = $temporada;
      }


...
//outras manipulações necessárias
...

Manipulando as fotos dos imóveis retornados:

//variáveis para manipular as fotos
$img = "";
$imagemDestaque = ""; 
$quantidadeImagens = 0; 
$nomeImagemDestaque = "";

//loop nas fotos de um imóvel 
$fotoImovelList = $imovel->fotoImovelList;
foreach ($fotoImovelList as $foto) {
   if ($foto != null && $foto->nome != "") {
      
      //guarda o nome da foto
      if ($img == '' && $foto->nome != "" && $foto->destaque == 0){
         $img = $foto->nome;
      }

      //seleciona a foto destaque
      if($foto->destaque != null && $foto->destaque == 1){
         $nomeImagemDestaque = $foto->nome;
      }else{
         $nomeImagemDestaque = $img1;
      }

      $quantidadeImagens = $quantidadeImagens + 1;
   } 
}
 
//cria a url da foto
if($nomeImagemDestaque != ''){
   $imagemDestaque = $urlBaseSmart."/arquivos/smart/".($imovel->empresaId)."/fotos/".$nomeImagemDestaque;
} else{
   $imagemDestaque = $urlBaseSmart."/arquivos/smart/".($imovel->empresaId)."/fotos/".$img1;
}

Anúncios