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
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:
Operador lógico (ex.: AND, OR)
Campo (ex.: snap_brok__Disponivel_locacao__c)
Operador para comparação (ex.: =, IN, NOT IN )
Valor (ex.: TRUE)
[ "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'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 |
" |
Ordenacao
String
Define a regra para ordenação dos imóveis encontrados.
, "AND snap_brok__ |
Vagas_ |
_ |
c |
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": {"type": "
>= 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__ |
},
"Id": "a050B00000fnHxDQAU",
"Name": "Rua T-38 0 Apto 2001",
"
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 |
…
}
]
Erro
Boolean
FALSE
Exemplo:
...
language | json |
---|
...
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": { |
...
|
...
"/services/data/v51.0/sobjects/snap_brok__Imovel__c/a050B00000fnHxDQAU" |
...
|
...
"a050B00000fnHxDQAU", |
...
|
...
"Rua |
...
T-38 |
...
0 |
...
Apto |
...
2001", |
...
|
...
158.51, |
...
|
...
2, |
...
|
...
"Apto |
...
2001", |
...
|
...
"I-001299", |
...
|
...
false, |
...
|
...
2, } | |||
Erro | Boolean | FALSE |
Exemplo:
Code Block | ||
---|---|---|
| ||
{ "Total": 90, "snap_brok__Localizacao__c"Mensagem": null"Pesquisa realizada com sucesso", "Imoveis": [ "snap_brok__Logradouro__c": "Rua T-38", { "snap_brok__Numero__cattributes": "0", { "type": "snap_brok__SituacaoImovel__c": "Disponível",, "snap_url": "/services/data/v51.0/sobjects/snap_brok__SuitesImovel__c/a050B00000fnHxDQAU": 2, "snap_brok__Tipo_uso_3__c": "a4I0B000000RI6uUAG"}, "snap_brok__Tipo_imovel_2__cId": "a4H0B000000QdY5UAKa050B00000fnHxDQAU", "snap_brok__Vagas__cName": 2"Rua T-38 0 Apto 2001", "snap_brok__Valorarea_Condominioprivativa__c": 77000158.0051, "snap_brok__Valor_locacao_totalBanheiros__c": 77000.002, "snap_brok__Valor_locacaoComplemento_por_m2__c": 485.77 "Apto 2001", "snap_brok__Valor_IPTUcodigo__c": 9660.00"I-001299", "snap_brok__FotosDisponivel_devenda_im_vel__rc": {false, "totalSize"snap_brok__Dormitorios__c": 2, "done"snap_brok__Localizacao__c": truenull, "recordssnap_brok__Logradouro__c": [ "Rua T-38", "snap_brok__Numero__c": "0", { "snap_brok__Situacao__c": "Disponível", "attributes"snap_brok__Suites__c": {2, "snap_brok__Tipo_uso_3__c": "a4I0B000000RI6uUAG", "type": "snap_brok__Tipo_Fotoimovel_Imovel2__c": "a4H0B000000QdY5UAK", "snap_brok__Vagas__c": 2, "url": "/services/data/v51.0/sobjects/snap_brok__FotoValor_ImovelCondominio__c/a060B00000jrTyeQAE": 77000.00, }"snap_brok__Valor_locacao_total__c": 77000.00, "snap_brok__Valor_locacao_por_m2__c": 485.77, "snap_brok__Valor_ImovelIPTU__c": "a050B00000fnHxDQAU",9660.00, "snap_brok__Fotos_de_im_vel__r": { "IdtotalSize": "a060B00000jrTyeQAE"2, "done": true, "snap_brok__Url_imagem__c": "http://www.essenciamoveis.com.br/blog/wp-content/uploads/2017/01/cozinha-conjugada-com-sala-de-jantar.jpg", "records": [ "snap_brok__Ordem__c": 1 }, { "attributes": { "type": "snap_brok__Foto_Imovel__c", "url": "/services/data/v51.0/sobjects/snap_brok__Foto_Imovel__c/a060B00000jrTyfQAEa060B00000jrTyeQAE" }, "snap_brok__Imovel__c": "a050B00000fnHxDQAU", "Id": "a060B00000jrTyfQAEa060B00000jrTyeQAE", "snap_brok__Url_imagem__c": "httpshttp://www.adorodecoraressenciamoveis.com.br/blog/wp-content/uploads/20152017/07/2364-apartamentos-decorados-dicas01/cozinha-conjugada-com-sala-de-jantar.jpg", "snap_brok__Ordem__c": 21 }, ] { }, "snap_brok__Tipo_uso_3__rattributes": { "attributes": { "type": "snap_brok__TipoFoto_usoImovel__c", "url": "/services/data/v51.0/sobjects/snap_brok__TipoFoto_usoImovel__c/a4I0B000000RI6uUAGa060B00000jrTyfQAE" }, }, "Id": "a4I0B000000RI6uUAG", "Name":snap_brok__Imovel__c": "Residenciala050B00000fnHxDQAU", }, "snap_brok__Tipo_imovel_2__r": { "Id": "a060B00000jrTyfQAE", "attributes": { "type": "snap_brok__TipoUrl_imovelimagem__c", : "https://www.adorodecorar.com.br/wp-content/uploads/2015/07/2364-apartamentos-decorados-dicas.jpg", "url": "/services/data/v51.0/sobjects/snap_brok__TipoOrdem_imovel__c/a4H0B000000QdY5UAK": 2 }, } "Id": "a4H0B000000QdY5UAK", ] }, "Name": "Apartamento" "snap_brok__Tipo_uso_3__r": { "attributes": { } } ], "Errotype": 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:
...
language | json |
---|
...
"snap_brok__Tipo_uso__c", "url": "/services/data/v51.0/sobjects/snap_brok__Tipo_uso__c/a4I0B000000RI6uUAG" }, " |
...
Id": |
...
"a4I0B000000RI6uUAG", " |
...
Name": |
...
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
...
Descrição
...
Exemplo
...
Name
...
Nome do imóvel.
...
ID
...
ID interno do imóvel no SnapProperty (não é o código do imóvel).
...
snap_brok__codigo__c
...
Código gerado pelo sistema para identificar o imóvel.
...
snap_brok__codigo__c = 'I-000639'
...
snap_brok__area_privativa__c
...
Área privativa do imóvel.
...
snap_brok__area_privativa__c
>= 40
...
snap_brok__Banheiros__c
...
Quantidade de banheiros do imóvel.
...
snap_brok__Banheiros__c
= 1
...
snap_brok__Disponivel_venda__c
...
Indica se o imóvel está disponível para venda.
Se
snap_brok__Disponivel_venda__c
= True, então: Disponível para vendaSe
snap_brok__Disponivel_venda__c
= False, então: Não disponível para venda
...
snap_brok__Disponivel_venda__c
= true
...
snap_brok__Dormitorios__c
...
Quantidade de dormitórios do imóvel.
...
snap_brok__Dormitorios__c
>=2
...
snap_brok__Localizacao__Latitude__s
...
Identifica as coordenadas (latitude) do endereço do imóvel.
...
snap_brok__Localizacao__Latitude__s
= -23.567124500000000
...
snap_brok__Localizacao__Longitude__s
...
Identifica as coordenadas (longitude) do endereço do imóvel.
...
snap_brok__Localizacao__Longitude__s
= -46.649992300000000
...
snap_brok__Logradouro__c
...
Nome da rua onde o imóvel está localizado.
...
snap_brok__Numero__c
...
Número do endereço do imóvel.
...
snap_brok__Complemento__c
...
Complemento do endereço do imóvel.
...
snap_brok__Bairro_2__r.name
...
Identifica o bairro onde o imóvel está localizado.
...
snap_brok__Bairro_2__r.name
= 'Bela Vista'
...
snap_brok__Cidade_2__r.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
} |
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. |
|
|
|
|
Indica o tipo 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:
|
|
|
|
|
|
|
= False: Não possuí tour virtual. | |
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. |
| |
|
|
snap_brok__condominio__r.name
| 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. | |
|
Indica o valor mensal do IPTU rateado.
| 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 |
...
Valor sugerido pelo locador para venda do imóvel.
", "url": "/services/data/v51.0/sobjects/snap_brok__ |
...
Foto_ |
...
snap_brok__Fotos_de_im_vel__r
...
Retorna uma lista com as fotos do imóvel
Imovel__c/a064P00001MGDS7QAP" }, "snap_brok__Imovel__c |
...
Retorna o código do imóvel vinculado a foto.
": "a05U0000000q508IAA", "Id": "a064P00001MGDS7QAP", "snap_brok__Url_imagem__c |
...
Retorna link da foto.
": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_800.jpg", "snap_brok__Url_imagem_200px__c |
...
Retorna link da foto 200px.
": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_200.jpg", "snap_brok__Url_imagem_400px |
...
Retorna link da foto 400px.
__c": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_400.jpg", "snap_brok__URL_imagem_800px__c |
...
Retorna link da foto 800px.
": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_800.jpg", "snap_brok__Ordem__c |
...
": 0
},
]
} |