GESTÃO PARA A QUALIDADE TOTAL RQV_035-Integração dos imóveis no Website ver2_rev00 INTEGRAÇÃO DOS IMÓVEIS NO WEBSITE VISTA SOFTWARE E INTERNET Integração dos imóveis no WebSite Sistema de Gestão da Qualidade – Vista Software e Internet Ltda. RQV_004-Integração dos imóveis no Website_rev00 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 ---------------------------------------- 6 3.1.3. Listagens para Buscas -------------------- 8 3.1.4. Documentos do Imóvel -------------------- 8 4. Origem de dados ------------------------------------------ 10 4.1.1. Dados Estáticos --------------------------------- 11 4.1.2. Dados Dinâmicos -------------------------------- 11 GESTÃO PARA A QUALIDADE TOTAL RQV_035-Integração dos imóveis no Website ver2_rev00 INTEGRAÇÃO DOS IMÓVEIS NO WEBSITE 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 Sistema de Gestão da Qualidade – Vista Software e Internet Ltda. RQV_004-Integração dos imóveis no Website_rev00 String: É o módulo de consulta. Na integração de websites, deve SEMPRE conter a string “imoveis”. 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’ 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. Parâmetro: limit 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. GESTÃO PARA A QUALIDADE TOTAL RQV_035-Integração dos imóveis no Website ver2_rev00 INTEGRAÇÃO DOS IMÓVEIS NO WEBSITE 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] => http://strgbrk.vistahosting.com.br/vista.imobi/fotos/ [Descricao] => ) [1] => Array ( [Codigo] => 773 Sistema de Gestão da Qualidade – Vista Software e Internet Ltda. RQV_004-Integração dos imóveis no Website_rev00 [Categoria] => Apartamento [Valor] => 735000 [Cidade] => São Paulo [Bairro] => Vila Mascote [Dormitorios] => 3 [Foto] => i_8784_773_19b78.jpg [Url] => http://strgbrk.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://strgbrk.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://strgbrk.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> GESTÃO PARA A QUALIDADE TOTAL RQV_035-Integração dos imóveis no Website ver2_rev00 INTEGRAÇÃO DOS IMÓVEIS NO WEBSITE 3.1.2. Fotos Parâmetro: method = ‘busca_fotos’ 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); Sistema de Gestão da Qualidade – Vista Software e Internet Ltda. RQV_004-Integração dos imóveis no Website_rev00 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://strgbrk.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://strgbrk.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’ 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 Array: Podem ser especificados filtros de pesquisa para as consultas. GESTÃO PARA A QUALIDADE TOTAL RQV_035-Integração dos imóveis no Website ver2_rev00 INTEGRAÇÃO DOS IMÓVEIS NO WEBSITE 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] => => => => => => => => => => brooklin, Campo Belo, Campo Grande, Casa Verde, Cerqueira Cezar, Cidade Ademar, Jaçana, Jardim França, Jardim Marajoara, 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> </soap> Sistema de Gestão da Qualidade – Vista Software e Internet Ltda. RQV_004-Integração dos imóveis no Website_rev00 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); GESTÃO PARA A QUALIDADE TOTAL RQV_035-Integração dos imóveis no Website ver2_rev00 INTEGRAÇÃO DOS IMÓVEIS NO WEBSITE 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://strgbrk.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://strgbrk.vistahosting.com.br/vista.imobi/documentos/</Url> <Descricao/> </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. Sistema de Gestão da Qualidade – Vista Software e Internet Ltda. RQV_004-Integração dos imóveis no Website_rev00 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 GESTÃO PARA A QUALIDADE TOTAL RQV_035-Integração dos imóveis no Website ver2_rev00 INTEGRAÇÃO DOS IMÓVEIS NO WEBSITE 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. Sistema de Gestão da Qualidade – Vista Software e Internet Ltda. RQV_004-Integração dos imóveis no Website_rev00 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>