Pesquisar imóveis [API]
Este artigo descreve o serviço da API responsável pela pesquisa de imóveis. Este serviço geralmente é consumido pelo site do cliente.
Segurança
Para acessar o serviço de pesquisa, a aplicação deve enviar um acess_token, junto ao requisição. Esse acess_token deverá ser obetido da seguinte maneira:
Verbo | POST |
---|---|
Url | |
Parâmetros |
|
Endpoint | https://login.salesforce.com/services/oauth2/token?grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertiona=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ0YXJnZXIfYXVkaWVuY2UiOm51bGwsInN1YiI6InJpY2FyZG2uZ2lnbGlvQHNuYXBwcm9wZXJ0eS5jb20uYnIiLLJzY29wZSI6bnVsbCwiaXNzIjoiM01WRzlRRHg4SVg4blA1U0l5RGE0WUNLWjViYlFYdk1SRERxSW1ZbUJ1QXFKbXNQU0laVkJOTXV6MTZWMWtlUmo1QUg3enZqby5McnBLTVBZaHMxRiIsImlhdCI6MTYyMDMyBjA2NSwiZXhwIjoxOTM1ODk1MzI1LVJhdWQiOiJodHRwczovL2xvZ2luLnNhbGVzZm3yY2UuY29tIn0=.Kp37sR4YQRynlDtl6oXxHYSHw9VX725elzdqDS-vFknPV7pCujOJwVHoIKZaeGVkahazod8FoRWXQfRXrgH4vV_cucRV15OgkR-RrvZAQyglEbBDJFETLc5biCmKoHOgvlZh7zu2U1ED8yb13Ww7EP8dPfG4nVvDYV1r49n7Rwmj85FjviOh45olm8vM6dUS4wHB20zOs2SoeE7UUSq3974y-RmLntbvBoFQR7AIsvJblfIHOdY7ruuSb9mhzZ2NB7_0TSzrhL4fk3luYmAdqhh7M87l0jFojtPsaM03PIMMWO7SAo56R5ykm_aOr-s8WPlWwZRaLBOOA5xKJdFQHw |
Uma vez obtido o acess_token após essa requisição no header da requisição de pesquisa deve ser enviado o Autorization : Bearer + {espaço} + acess_token
Endpoint
Para acessar o serviço de pesquisa o sistema deve fazer uma requisição do tipo "POST” no “EndPoint” definido pela “URL Org” da organização
Verbo | POST |
---|---|
Url org | Endereço fornecido pelo administrador. Exemplo: https://snapproperty-developer-edition.na132.force.com |
Serviço | /services/apexrest/snap_brok/imovel/pesquisar |
Endpoint | https://snapproperty-developer-edition.na132.force.com/services/apexrest/snap_brok/imovel/pesquisar |
Parâmetros para pesquisa
Os parâmetros utilizados para pesquisa estão descritos na tabela abaixo.
Parâmetro | Tipo | Descrição | Exemplo |
---|---|---|---|
Offset | Número | Utilizado na paginação de registros para definir a posição inicial do primeiro imóvel a ser retornado. | 0 |
RegistrosPagina | Número | Utilizado na paginação de registros para definir a quantidade de imóveis que devem ser retornados. | 25 |
Filtros | Array[String] | Lista de filtros que devem ser considerados na pesquisa de imóveis. Cada filtro deve ser composto por:
| [ "AND snap_brok__Disponivel_venda__c = true" , "AND snap_brok__Banheiros__c >= 1" , "AND snap_brok__area_privativa__c >= 40" , "AND snap_brok__Dormitorios__c >=2" , "AND snap_brok__Situacao__c <> 'Indisponível'", "AND snap_brok__Suites__c >= 1" , "AND snap_brok__Vagas__c >= 1" , "AND snap_brok__Valor_Condominio__c <= 500.00" , "AND snap_brok__Valor_locacao_total__c <= 2000.00" , "AND snap_brok__Valor_IPTU__c > 20", "AND snap_brok__Tipo_uso_3__r.name IN ('Residencial','Comercial')", "AND snap_brok__Tipo_imovel_2__r.name NOT IN ('Box','Clube')", "AND snap_brok__Bairro_2__r.name = 'Bela Vista'", "AND snap_brok__Cidade_2__r.name = 'São Paulo'", "AND snap_brok__condominio__r.name = 'Residencial nova alvorada paulista'", "AND snap_brok__Valor_desejado_aluguel__c >= 1.000" ] |
Ordenacao | String | Define a regra para ordenação dos imóveis encontrados. | snap_brok__Valor_locacao_total__c DESC |
Retorno da pesquisa
Retorno com sucesso
Na tabela abaixo estão descritos os campos retornados pelo serviço quando a pesquisa é realizada com sucesso.
Campo | Tipo | Descrição | Exemplo |
---|---|---|---|
Total | Número | Indica a quantidade total de imóveis encontrados com os filtros aplicados. | 90 |
Mensagem | String | Mensagem do sistema | "Pesquisa realizada com sucesso" |
Imoveis | Array[Imovel] | Array com os registros dos imóveis retornados pela pesquisa. | [ { "attributes": { } |
Erro | Boolean | FALSE |
|
Exemplo:
{
"Total": 90,
"Mensagem": "Pesquisa realizada com sucesso",
"Imoveis": [
{
"attributes": {
"type": "snap_brok__Imovel__c",
"url": "/services/data/v51.0/sobjects/snap_brok__Imovel__c/a050B00000fnHxDQAU"
},
"Id": "a050B00000fnHxDQAU",
"Name": "Rua T-38 0 Apto 2001",
"snap_brok__area_privativa__c": 158.51,
"snap_brok__Banheiros__c": 2,
"snap_brok__Complemento__c": "Apto 2001",
"snap_brok__codigo__c": "I-001299",
"snap_brok__Disponivel_venda__c": false,
"snap_brok__Dormitorios__c": 2,
"snap_brok__Localizacao__c": null,
"snap_brok__Logradouro__c": "Rua T-38",
"snap_brok__Numero__c": "0",
"snap_brok__Situacao__c": "Disponível",
"snap_brok__Suites__c": 2,
"snap_brok__Tipo_uso_3__c": "a4I0B000000RI6uUAG",
"snap_brok__Tipo_imovel_2__c": "a4H0B000000QdY5UAK",
"snap_brok__Vagas__c": 2,
"snap_brok__Valor_Condominio__c": 77000.00,
"snap_brok__Valor_locacao_total__c": 77000.00,
"snap_brok__Valor_locacao_por_m2__c": 485.77,
"snap_brok__Valor_IPTU__c": 9660.00,
"snap_brok__Fotos_de_im_vel__r": {
"totalSize": 2,
"done": true,
"records": [
{
"attributes": {
"type": "snap_brok__Foto_Imovel__c",
"url": "/services/data/v51.0/sobjects/snap_brok__Foto_Imovel__c/a060B00000jrTyeQAE"
},
"snap_brok__Imovel__c": "a050B00000fnHxDQAU",
"Id": "a060B00000jrTyeQAE",
"snap_brok__Url_imagem__c": "http://www.essenciamoveis.com.br/blog/wp-content/uploads/2017/01/cozinha-conjugada-com-sala-de-jantar.jpg",
"snap_brok__Ordem__c": 1
},
{
"attributes": {
"type": "snap_brok__Foto_Imovel__c",
"url": "/services/data/v51.0/sobjects/snap_brok__Foto_Imovel__c/a060B00000jrTyfQAE"
},
"snap_brok__Imovel__c": "a050B00000fnHxDQAU",
"Id": "a060B00000jrTyfQAE",
"snap_brok__Url_imagem__c": "https://www.adorodecorar.com.br/wp-content/uploads/2015/07/2364-apartamentos-decorados-dicas.jpg",
"snap_brok__Ordem__c": 2
}
]
},
"snap_brok__Tipo_uso_3__r": {
"attributes": {
"type": "snap_brok__Tipo_uso__c",
"url": "/services/data/v51.0/sobjects/snap_brok__Tipo_uso__c/a4I0B000000RI6uUAG"
},
"Id": "a4I0B000000RI6uUAG",
"Name": "Residencial"
},
"snap_brok__Tipo_imovel_2__r": {
"attributes": {
"type": "snap_brok__Tipo_imovel__c",
"url": "/services/data/v51.0/sobjects/snap_brok__Tipo_imovel__c/a4H0B000000QdY5UAK"
},
"Id": "a4H0B000000QdY5UAK",
"Name": "Apartamento"
}
}
],
"Erro": false
}
Retorno com erro
Campo | Tipo | Descrição | Exemplo |
---|---|---|---|
Total | Número |
| null |
Mensagem | String | Mensagem de erro gerada pelo serviço | "Erro na pesquisa de imóveis: Erro na pesquisa de imóveis: unexpected token: '100' - linha: 493 na linha 502" |
Imoveis | Array[Imovel] |
| null |
Erro | Boolean | TRUE |
|
Exemplo:
{
"Total": null,
"Mensagem": "Erro na pesquisa de imóveis: Erro na pesquisa de imóveis: unexpected token: '100' - linha: 493 na linha 502",
"Imoveis": null,
"Erro": true
}
Filtros
Na tabela abaixo estão relacionados os campos que são retornado pelo serviço e que também podem ser utilizados como opções de filtro.
Campo | Tipo | Descrição | Exemplo |
---|---|---|---|
Name | String | Nome do imóvel. |
|
snap_brok__ID_externo__c | String | Código externo do imóvel. | snap_brok__ID_externo__c = 'CR25000' |
ID | String | ID interno do imóvel no SnapProperty (não é o código do imóvel). |
|
| Datetime | Data de criação do imóvel. |
|
| String | Código gerado pelo sistema para identificar o imóvel. |
|
| Número | Área privativa do imóvel. |
|
| Número | Área privativa do imóvel. |
|
| Número | Área total do imóvel. |
|
| Número | Quantidade de banheiros do imóvel. |
|
| Número | Indica a relevância do imóvel. |
|
| Boolean | Indica se o imóvel está disponível para locação.
|
|
| Boolean | Indica se o imóvel está disponível para venda.
|
|
| Número | Quantidade de dormitórios do imóvel. |
|
| String | Indica o endereço completo do imóvel. |
|
| Número | Identifica as coordenadas (latitude) do endereço do imóvel. |
|
| Número | Identifica as coordenadas (longitude) do endereço do imóvel. |
|
| String | Nome da rua onde o imóvel está localizado. |
|
| String | Número do endereço do imóvel. |
|
| String | Complemento do endereço do imóvel. |
|
| String | Identifica o bairro onde o imóvel está localizado. |
|
| String | Identifica a cidade onde o imóvel está localizado. |
|
| String | Indica o CEP do endereço do imóvel. |
|
| String | Indica a quada do loteamente onde o imóvel está localizado. |
|
| String | Indica o número do lote onde o imóvel está localizado. |
|
| String | Indica a situação do imóvel em relação à sua disponibilidade para comercialização. |
|
| Número | Número de suítes do imóvel. |
|
| String | Indica o tipo de uso do imóvel. |
|
| String | Indica o tipo do imóvel. |
|
| Número | Indica a quantidade de vagas cobertas. |
|
| Número | Indica a quantidade de vagas descobertas. |
|
| Número | Indica o total de vagas (cobertas e descobertas) do imóvel. |
|
| Número | Valor mensal do condomínio. |
|
| Número | Valor total da locação (Aluguel + IPTU + Condomínio). |
|
| Número |
|
|
| Número | Valor mensal do IPTU. |
|
| String | Descrição do imóvel. |
|
| Número | Altura do pé direiro (m²) do imóvel. |
|
| Número | Número do andar onde o imóvel está localizado. |
|
| String | Identifica o condomínio onde está localizado o imóvel. |
|
snap_brok__Valor_total_condominio__c | Número | Valor total do condomínio. |
|
| Número | Indica o valor desejado do aluguel. |
|
| Número | Indica o valor mensal do IPTU rateado. |
|
snap_brok__Valor_IPTU_total__c | Número | Indica o valor total do IPTU. |
|
| Número | Valor sugerido pelo locador para venda do imóvel. |
|
| Número | Valor desejado do aluguel anterior ao reajuste. |
|
| Número | Indica o intervalo de tempo (em dias) entre a data atual e a data de divulgação do imóvel. |
|
snap_brok__Servicos_claro__c | Boolean | Indica se o imóvel possui serviço claro, sendo: snap_brok__Servicos_claro__c = True: Possui serviço. snap_brok__Servicos_claro__c = False: Não possui serviço. |
|
| Array | Retorna uma lista com as fotos do imóvel |
|
| Boolean | Indica se o imóvel possuí tour virtual, sendo:
|
|
snap_brok__Iframe_tour_virtual__c | String | Link do tour virtual. |
|
snap_brok__Ar_condicionado_parede__c | Número |
|
|
snap_brok__Ar_condicionado_Split__c | Número |
|
|
snap_brok__Armarios_embutidos__c | Número |
|
|
Lista de fotos
Campo | Descrição |
---|---|
| Retorna a quantidade de fotos do imóvel. |
|
|
| Retornar o código do imóvel vinculado a foto. |
| Retornar o ID da foto. |
| Retorna link da imagem principal. |
| Retorna link da imagem 200px. |
| Retorna link da imagem 400px. |
| Retorna link da imagem 800px. |
|
|
Exemplo:
"snap_brok__Fotos_de_im_vel__r": {
"totalSize": 6,
"done": true,
"records": [
{
"attributes": {
"type": "snap_brok__Foto_Imovel__c",
"url": "/services/data/v51.0/sobjects/snap_brok__Foto_Imovel__c/a064P00001MGDS7QAP"
},
"snap_brok__Imovel__c": "a05U0000000q508IAA",
"Id": "a064P00001MGDS7QAP",
"snap_brok__Url_imagem__c": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_800.jpg",
"snap_brok__Url_imagem_200px__c": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_200.jpg",
"snap_brok__Url_imagem_400px__c": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_400.jpg",
"snap_brok__URL_imagem_800px__c": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_800.jpg",
"snap_brok__Ordem__c": 0
},
]
}