Este artigo descreve o serviço da API responsável pela pesquisa de imóveis. Este serviço geralmente é consumido pelo site do cliente.
Table of Contents |
---|
Segurança
Para acessar o serviço de pesquisa, a aplicação deve enviar um token de acesso fornecido pelo administradora da organização.
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çãoacess_token, junto ao requisição. Esse acess_token deverá ser obetido da seguinte maneira:
Verbo | POST |
---|---|
Url |
Serviço
Parâmetros |
|
Endpoint | https:// |
login.salesforce.com/services/ |
oauth2/ |
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
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:
Code Block | ||
---|---|---|
| ||
{ "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:
Code Block | ||
---|---|---|
| ||
{ "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 } |
...
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.
...
ID
...
String
...
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. | |
|
|
|
|
Número
String | Identifica o bairro onde o imóvel está localizado. |
|
|
|
|
|
|
|
Número
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. | |
|
|
Número
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. |
|
|
-23.567124500000000
|
|
|
|
|
Número
String | Indica o tipo de uso do imóvel. |
|
|
|
-46.649992300000000
|
|
|
| String |
Indica o tipo do imóvel. |
|
|
|
String
Número | Indica a quantidade de vagas cobertas. | |
|
|
String
Número | Indica a quantidade de vagas descobertas. | |
|
|
|
String
| Número | Indica o total de vagas (cobertas e descobertas) do imóvel. |
|
|
|
|
|
|
|
|
String
Número | Valor mensal do condomínio. |
|
|
|
|
|
|
|
|
String
Indica o CEP do endereço do imóvel.
Número | Valor total da locação (Aluguel + IPTU + Condomínio). |
|
|
|
|
|
|
String
Número |
|
|
|
|
| Número |
Valor mensal do IPTU. |
|
|
|
String | Descrição do imóvel. | ||
|
|
|
|
|
String
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_ |
snap_brok__Vagas__c
= 1total_condominio__c | Número |
Indica o total de vagas (cobertas e descobertas) do imóvel.
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_locacao_por_m2__c
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 |
Número
Boolean | Indica se o imóvel possui serviço claro, sendo: snap_brok__ |
Servicos_claro__ |
c = True: Possui serviço. snap_brok__Servicos_ |
String
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:
|
|
|
|
|
|
|
Número
| |
snap_brok__ |
Iframe_ |
tour_ |
virtual__ |
c | String | Link do tour virtual. | |
snap_brok__ |
Ar_condicionado_ |
parede__c | Número |
Valor sugerido pelo locador para venda do imóvel.
snap_brok__ |
Ar_condicionado_ |
Split__c |
250000.00
Número | |||
snap_brok__ |
Armarios_ |
embutidos_ |
_ |
Array
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:
Code Block |
---|
"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 }, ] } |
...