VISTA SOFTWARE E INTERNET
Sumário
1.Conceito Estrutural --- 3
2. Acesso ao Servidor SOAP --- 3
3. Métodos e Parâmetros --- 3
3.1. Especificações de Consulta --- 4
3.1.1. Busca de Imóveis --- 4
3.1.2. Fotos --- 7
3.1.3. Listagens para Buscas --- 8
3.1.4. Documentos do Imóvel --- 10
3.1.5. Corretores do Imóvel --- 11
4. Origem de dados --- 13
4.1.1. Dados Estáticos --- 13
1. Conceito estrutural
A integração dos sistemas Vista.Office e Vista.Broker com o Website da imobiliária é realizado através de WebService, utilizando o protocolo SOAP, conforme estabelecido pelo W3C.
http://www.w3.org/TR/soap12-part1/ http://www.w3.org/TR/soap12-part2/
As especificações do protocolo SOAP podem ser encontradas em:
http://www.w3.org/TR/soap12-part0/
2. Acesso ao servidor SOAP
URI: HTTP://soap.imo.bi/Endereço do SOAP (Location): http://soap.imo.bi/soap.dll
Chave da requisição: O desenvolvedor deve solicitar à equipe técnica da Vista a chave de utilização do SOAP da imobiliária em questão. Esta chave irá identificar a imobiliária para retornar os dados solicitados.
3. Métodos e Parâmetros
A requisição deve conter os parâmetros básicos para a interpretação da consulta.
Parâmetro: Key
String: Deve conter a Chave da Imobiliária, solicitada previamente à equipe técnica da Vista. Esta chave faz a identificação de qual imobiliária devem ser consultados os dados.
Parâmetro: module
String: É o módulo de consulta. A especificação detalhada deste parâmetro encontra-se neste documento em 3.1. Especificações de Consultas.
Parâmetro: method
String: Este parâmetro é o identificador de tipo de consulta. Cada consulta possui uma string específica que deve ser informada neste parâmetro. A especificação detalhada deste parâmetro encontra-se neste documento em 3.1. Especificações de Consultas.
Parâmetro: field
Array: Neste parâmetro deve-se especificar a lista de campos a serem consultados. Como valores, podem ser especificados rótulos para os campos. Para informações dos nomes de campos, consulte 4. Origem de Dados deste documento.
Parâmetro: return
String: Determina o tipo de retorno da consulta. Os tipos de retorno estão especificados neste documento nas definições de retorno. Por padrão, o retorno é em formato array.
3.1. Especificações de Consultas
Para cada tipo de consulta, deve ser informado o parâmetro method que identifique a solicitação.
3.1.1. Busca de Imóveis
Parâmetro: method = ‘busca_imoveis’ module = ‘imoveis’
Este método retorna um ou mais imóveis. Para especificar quais informações dos imóveis devem retornar, devem ser informados os campos no parâmetro field. Os seguintes parâmetros podem ser informados na consulta:
Parâmetro: order
Array: Podem ser especificadas quais informações devem ser ordenadas, com os valores ASC para ascendente e DESC para descendente.
String: Pode ser especificado o limite de resultados, podendo ser um valor numérico simples ou paginação. Para paginação, deve-se utilizar o formato x,y, onde x é o número do registro e y é o limite de registros.
Parâmetro: filter
Array: Podem ser especificados filtros de pesquisa para as consultas.
Exemplos: Exemplo de consulta em php: $array = array( 'key' => 'a197a1cbe24bb2895d7ffada57fb856d', 'module' =>'imoveis', 'method' => 'busca_imoveis', 'field' => array( 'CODIGO' => 'Codigo', 'CATEGORIA' => 'Categoria', 'VLR_VENDA' => 'Valor', 'CIDADE' => 'Cidade', 'BAIRRO' => 'Bairro', 'DORMITORIO' => 'Dormitorios', 'VAGAS' => 'NumeroVagas', 'IMAGEM_G' => 'Foto', 'URL_FOTO' => 'Url', 'DESCRICAO' => 'Descricao' );
$client = new SoapClient(null, array(
'uri' => 'http://soap.imo.bi/', 'location' =>
'http://soap.imo.bi/soap.dll',
'trace' => 'trace' ));
$array['order'] = array('VLR_VENDA' => 'DESC'); $array['limit'] = '0,10';
$res = $client->get($array);
Exemplo de um dump do retorno em array (php):
Array ( [0] => Array ( [Codigo] => 875 [Categoria] => Apartamento [Valor] => 550000
[Cidade] => São Paulo [Bairro] => Paraíso [Dormitorios] => 1
[Foto] => i_8357_875_6c7f2.jpg [Url] =>
[Descricao] => ) [1] => Array ( [Codigo] => 773 [Categoria] => Apartamento [Valor] => 735000
[Cidade] => São Paulo [Bairro] => Vila Mascote [Dormitorios] => 3
[Foto] => i_8784_773_19b78.jpg [Url] =>
http://strg-brk.vistahosting.com.br/vista.imobi/fotos/
[Descricao] => Apartamento Novo 110 m² / 3 Dormitórios sendo 1 Suíte / home office / lavabo / Rico em Armários / 2 Vagas de Garagem ) [total_registros] => 2 ) Exemplo de retorno em XML: <soap> <registro linha="0"> <Codigo >875</Codigo> <Categoria>Apartamento</Categoria> <Valor>550000</Valor> <Cidade>São Paulo</Cidade> <Bairro>Paraíso</Bairro> <Dormitorios></Dormitorios> <Foto>i_8357_875_6c7f2.jpg</Foto> <Url>http://strg-brk.vistahosting.com.br/vista.imobi/fotos/</Url> <Descricao/> </registro> <registro linha="1"> <Codigo>773</Codigo> <Categoria>Apartamento</Categoria> <Valor>735000</Valor> <Cidade>São Paulo</Cidade> <Bairro>Vila Mascote</Bairro> <Dormitorios>3</Dormitorios> <Foto>i_8784_773_19b78.jpg</Foto> <Url>http://strg-brk.vistahosting.com.br/vista.imobi/fotos/</Url>
<Descricao>Apartamento Novo 110 m² / 3 Dormitórios sendo 1 Suíte / home office / lavabo / Rico em Armários / 2 Vagas de
Garagem</Descricao> </registro>
<total_registros>2</total_registros> </soap>
3.1.2. Fotos
Parâmetro: method = ‘busca_fotos’ module = ‘imoveis’
Este método retorna os registros das fotos dos imóveis. Para especificar quais informações dos imóveis devem retornar, devem ser informados os campos no parâmetro field.
Os seguintes parâmetros podem ser informados na consulta:
Parâmetro: order
Array: Podem ser especificadas quais informações devem ser ordenadas, com os valores ASC para ascendente e DESC para descendente.
Parâmetro: filter
Array: Podem ser especificados filtros de pesquisa para as consultas.
Exemplos: Exemplo de consulta em php: $array = array( 'key' => 'a197a1cbe24bb2895d7ffada57fb856d', 'module' =>'imoveis', 'method' => 'busca_fotos', 'field' => array( 'CODIGO' => 'Codigo', 'IMAGEM_G' => 'Foto', 'IMAGEM_P' => 'Thumbnail', 'URL_FOTO' => 'Url', 'DESCRICAO' => 'Descricao' ), 'filter' => array( 'CODIGO' => 875 ), );
$client = new SoapClient(null, array(
'uri' => 'http://soap.imo.bi/', 'location' => 'http://soap.imo.bi/soap.dll', 'trace' => 'trace' )); $res = $client->get($array);
Exemplo de dump de retorno em array (php): Array ( [0] => Array ( [Codigo] => 875 [Foto] => i_8357_875_6c7f2.jpg [Thumbnail] => i_8357_875_6c7f2p.jpg [Url] => http://strg-brk.vistahosting.com.br/vista.imobi/fotos/ [Descricao] => ) [total_registros] => 1 ) Exemplo de retorno em XML: <soap> <registro linha="0"> <Codigo >875</Codigo> <Foto>i_8357_875_6c7f2.jpg</Foto> <Thumbnail>i_8357_875_6c7f2p.jpg</Thumbnail> <Url>http://strg-brk.vistahosting.com.br/vista.imobi/fotos/</Url> <Descricao/> </registro> <total_registros>1</total_registros> </soap>
3.1.3. Listagens para Buscas
Parâmetro: method = ‘lista_itens_filtro’ module = ‘imoveis’
Este método retorna uma lista distinta do conteúdo de um campo para utilização em buscas. Para especificar qual campo deverá ser consultado, deve-se informar no parâmetro field.
Os seguintes parâmetros podem ser informados na consulta:
Parâmetro: filter
Exemplos: Exemplo de consulta em php: $array = array( 'key' => 'a197a1cbe24bb2895d7ffada57fb856d', 'module' =>'imoveis', 'method' => 'lista_itens_filtro', 'field' => 'BAIRRO', 'filter' => array(
'CIDADE' => 'São Paulo' ),
);
$client = new SoapClient(null, array(
'uri' => 'http://soap.imo.bi/', 'location' => 'http://soap.imo.bi/soap.dll', 'trace' => 'trace' )); $res = $client->get($array);
Exemplo de dump de retorno em array (php):
Array ( [0] => brooklin, [1] => Campo Belo, [2] => Campo Grande, [3] => Casa Verde, [4] => Cerqueira Cezar, [5] => Cidade Ademar, [6] => Jaçana, [7] => Jardim França, [8] => Jardim Marajoara, [9] => Jardim Prudência [total_registros] => 9 ) Exemplo de retorno em XML: <soap> <registro linha="0">brooklin</registro> <registro linha="1">Campo Belo</registro> <registro linha="2">Campo Grande</registro> <registro linha="3">Casa Verde</registro> <registro linha="4">Cerqueira Cezar</registro> <registro linha="5">Cidade Ademar</registro> <registro linha="6">Jaçana</registro>
<registro linha="7">Jardim França</registro> <registro linha="8">Jardim Marajoara</registro> <registro linha="9">Jardim Prudência</registro> <total_registros>9</total_registros>
3.1.4. Documentos do Imóvel
Parâmetros:
method = ‘listar_documentos’ module = ‘documentos’
Este método retorna os arquivos de documentos anexados ao imóvel. Deve-se especificar as informações que se quer obter do documento no parâmetro Field. Os seguintes parâmetros podem ser informados na consulta:
Parâmetro: order
Array: Podem ser especificadas quais informações devem ser ordenadas, com os valores ASC para ascendente e DESC para descendente.
Parâmetro: filter
Array: Podem ser especificados filtros de pesquisa para as consultas. Exemplos: Exemplo de consulta em php: $array = array( 'key' => 'a197a1cbe24bb2895d7ffada57fb856d', 'module' => 'documentos', 'method' => 'listar_documentos', 'field' => array( 'doc.CODIGO_O' => 'Codigo', 'doc.CODIGO_DOC' => 'CodigoDoc, 'doc.DESCRICAO' => 'Descricao', 'doc.ARQUIVO' => 'NomeArquivo', 'URL_DOC' => 'Url', ), 'order' => array( 'CODIGO_DOC' => 'DESC' ), 'filter' => array( 'CONDICAO' => 'CODIGO_DOC > 0' ), 'limit' => '0,10' );
$client = new SoapClient(null, array(
'uri' => 'http://soap.imo.bi/', 'location' => 'http://soap.imo.bi/soap.dll', 'trace' => 'trace' )); $res = $client->get($array);
Exemplo de dump de retorno em array (php): Array ( [0] => Array ( [Codigo] => 875 [CodigoDoc] => 1 [Descricao] => Autorizacao.pdf [NomeArquivo] => da_imobiliaria_875_1.pdf [Url] => http://strg-brk.vistahosting.com.br/vista.imobi/documentos/ ) [total_registros] => 1 ) Exemplo de retorno em XML: <soap> <registro linha="0"> <Codigo>875</Codigo> <CodigoDoc>1</CodigoDoc> <Descricao>Autorizacao.pdf</Descricao> <NomeArquivo>Autorizacao.pdf</NomeArquivo> <Url>http://strg-brk.vistahosting.com.br/vista.imobi/documentos/</Url> <Descricao/> </registro> <total_registros>1</total_registros> </soap> 3.1.5. Corretores do Imóvel Parâmetro: method = ‘listar_corretores’ module = ‘corretores’
Este método retorna os registros dos usuários (Corretores, Captadores) vinculados aos imóveis. Para especificar quais informações dos corretores devem retornar, devem ser informados os campos no parâmetro field. Todos os campos disponíveis estão listados no exemplo a seguir.
Os seguintes parâmetros podem ser informados na consulta:
Parâmetro: order
Array: Podem ser especificadas quais informações devem ser ordenadas, com os valores ASC para ascendente e DESC para descendente.
Array: Podem ser especificados filtros de pesquisa para as consultas. OBS: A consulta fará automaticamente o filtro por corretores marcados para exibir no site. Caso não retorne nenhum, verifique com a imobiliária para marcar esse campo nos cadastros.
Exemplos: Exemplo de consulta em php: $array = array( 'key' => 'a197a1cbe24bb2895d7ffada57fb856d', 'module' => 'corretores', 'method' => 'listar_corretores', 'field' => array( 'NOME'=>'Nome', 'NOME_COMPLETO'=>'NomeCompleto', 'CELULAR'=>'Celular', 'EMAIL'=>'Email', 'FONE'=>'Telefone', 'CRECI'=>'Creci', 'TIPO'=>'Tipo' ), 'order' => array( 'NOME'=> 'DESC' ), 'filter' => array(
'CODIGO' => '777', //CODIGO IMOVEL 'TIPO' => 'Captador',
'CONDICAO' => ' CRECI != "" ' ),
'limit' => '0,10' );
$client = new SoapClient(null, array(
'uri' => 'http://soap.imo.bi/', 'location' => 'http://soap.imo.bi/soap.dll', 'trace' => 'trace' )); $res = $client->get($array);
Exemplo de dump de retorno em array (php):
Array (
[0] => Array (
[Nome] => CORRETOR1
[NomeCompleto] => CORRETOR1 TESTE [Celular] => 11 1111.1111 [Email] => corretor1@vistasoft.com.br [Telefone] => 11 6666.6666 [Creci] => 0000000 [Tipo] => Captador ) [total_registros] => 1 )
Exemplo de retorno em XML: <soap> <registro linha="0"> <Nome>CORRETOR1</Nome> <NomeCompleto>CORRETOR1 TESTE</NomeCompleto> <Celular>11 1111.1111 </Celular> <Email>corretor1@vistasoft.com.br</Email> <Telefone>11 6666.6666</Telefone> <Creci>0000000</Creci> <Tipo>Captador</Tipo> </registro> <total_registros>1</total_registros> </soap>
4. Origem de Dados
Os nomes campos disponíveis para integração com o Website da imobiliária devem ser obtidos através do método listar_origens especificado neste documento em 4.1.2. Listagem de Origem de Dados. Esta listagem é dinâmica, sendo distinta entre as imobiliárias.
Algumas informações são de origem estática. Esta lista está descrita neste documento em 4.1.1. Dados Estáticos.
4.1. Especificações de Origem de Dados
4.1.1. Dados Estáticos
Os dados de origem estática são acessados através de uma string chave, que é fixo na integração e não é necessário efetuar uma requisição para obter as origens. Cada string obtém um dado específico do imóvel.
Origem: IMAGEM_G
Informando esta origem, retorna como conteúdo o nome do arquivo da imagem grande do imóvel. Para o caminho completo, é necessário concatenar com a origem URL_FOTO.
Origem: IMAGEM_P
Informando esta origem, retorna como conteúdo o nome do arquivo da imagem thumbnail do imóvel. Para o caminho completo, é necessário concatenar com a origem URL_FOTO.
Origem: URL_FOTO
Informando esta origem, retorna a URL que contém o diretório das imagens.
Origem: CATEGORIA
Esta origem retorna a categoria do imóvel (ex: Apartamento).
Origem: CODIGO
Esta origem retorna o código seqüencial do imóvel. A imobiliária deve ser
consultada para que seja certificado de que, em seu procedimento, a mesma não utiliza um código manual para divulgação em mídias.
Origem: PLACA
Em caso de imobiliárias que utilizam código manual para divulgação em mídias, esta origem irá obter esta informação.
Origem: CORRETOR
Esta origem obtém os nomes dos corretores que agenciam o imóvel. Os nomes são separados por vírgula.
Origem: AGENCIA
Esta origem retorna o nome da agência do imóvel
Filtro: CONDICAO
Este filtro permite o desenvolvedor informar uma condição para o filtro, podendo especificar seu algorítimo.
Exemplo de especificação de condição de filtro em php:
$array = array( 'key' => 'a197a1cbe24bb2895d7ffada57fb856d', 'module' =>'imoveis', 'method' => 'busca_imoveis', 'field' => array( 'CODIGO' => 'Codigo',
'CATEGORIA' => 'Categoria', 'VLR_VENDA' => 'Valor', 'CIDADE' => 'Cidade', 'BAIRRO' => 'Bairro',
'DORMITORIO' => 'Dormitorios', 'VAGAS' => 'Numero Vagas', 'IMAGEM_G' => 'Foto', 'URL_FOTO' => 'Url', 'DESCRICAO' => 'Descricao' ), 'filter' => array( 'CONDICAO' => 'VLR_VENDA > 5000000' ) );
$client = new SoapClient(null, array(
'uri' => 'http://soap.imo.bi/', 'location' =>
'http://soap.imo.bi/soap.dll',
'trace' => 'trace' ));
$array['order'] = array('VLR_VENDA' => 'DESC'); $array['limit'] = '0,10';
$res = $client->get($array);
4.1.2. Listagem de Origem de Dados
Parâmetro: method = ‘listar_origens’
String: Este método retorna uma lista de origens de dados disponíveis (campos) com sua respectiva descrição e tipo.
Exemplo de consulta em php: $array = array( 'key' => 'a197a1cbe24bb2895d7ffada57fb856d', 'module' =>'imoveis', 'method' => listar_origens' );
$client = new SoapClient(null, array(
'uri' => 'http://soap.imo.bi/', 'location' => 'http://soap.imo.bi/soap.dll', 'trace' => 'trace' )); $res = $client->get($array);
Exemplo de dump de retorno em array (php): Array ( [0] => array( 'field' => LIVING_LAREIRA, 'description' => Lareira, 'type' => Checagem (Sim/Nao) )
[1] => array(
'field' => APTOS_ANDAR,
'description' => Aptos por Andar, 'type' => Numero inteiro
) [total_registros] => 2 ) Exemplo de retorno em XML: <soap> <registro linha="0"> <field>LIVING_LAREIRA</field> <description>Lareira</description> <type>Checagem (Sim/Nao)</type> </registro> <registro linha="1"> <field>APTOS_ANDAR</field>
<description>Aptos por Andar</description> <type>Numero inteiro</type>
</registro> </soap>