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 |
Endereço fornecido pelo administrador.
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
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 >= |
Ordenacao
String
Define a regra para ordenação dos imóveis encontrados.
40" , "AND snap_brok__ |
Dormitorios_ |
_ |
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": "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,
…
}
]
...
Erro
...
Boolean
...
FALSE
Exemplo:
...
language | json |
---|
...
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": { |
...
|
...
"/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__cMensagem": 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_brok__Suites__c": 2, ""url": "/services/data/v51.0/sobjects/snap_brok__TipoImovel_uso_3__c": "a4I0B000000RI6uUAG",/a050B00000fnHxDQAU" "snap_brok__Tipo_imovel_2__c": "a4H0B000000QdY5UAK"}, "snap_brok__Vagas__cId": 2"a050B00000fnHxDQAU", "snap_brok__Valor_Condominio__cName": 77000.00"Rua T-38 0 Apto 2001", "snap_brok__Valorarea_locacao_totalprivativa__c": 77000158.0051, "snap_brok__Valor_locacao_por_m2Banheiros__c": 485.772, "snap_brok__ValorComplemento_IPTU__c": 9660.00"Apto 2001", "snap_brok__Fotos_decodigo_im_vel__r": {_c": "I-001299", "totalSize"snap_brok__Disponivel_venda__c": 2false, "donesnap_brok__Dormitorios__c": true2, "records"snap_brok__Localizacao__c": [null, "snap_brok__Logradouro__c": "Rua T-38", { "snap_brok__Numero__c": "0", "attributessnap_brok__Situacao__c": {"Disponível", "snap_brok__Suites__c": 2, "type": "snap_brok__FotoTipo_uso_Imovel3__c": "a4I0B000000RI6uUAG", "snap_brok__Tipo_imovel_2__c": "a4H0B000000QdY5UAK", "url": "/services/data/v51.0/sobjects/snap_brok__Foto_ImovelVagas__c/a060B00000jrTyeQAE": 2, "snap_brok__Valor_Condominio__c": 77000.00, }, "snap_brok__Valor_locacao_total__c": 77000.00, "snap_brok__Valor_Imovellocacao_por_m2__c": "a050B00000fnHxDQAU"485.77, "snap_brok__Valor_IPTU__c": 9660.00, "Idsnap_brok__Fotos_de_im_vel__r": { "a060B00000jrTyeQAE", "totalSize": 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": { }, { "attributes": { "type": "snap_"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", "Namesnap_brok__Imovel__c": "Residenciala050B00000fnHxDQAU", }, "snap_brok__Tipo_imovel_2__rId": {"a060B00000jrTyfQAE", "attributes": { "snap_brok__Url_imagem__c": "https://www.adorodecorar.com.br/wp-content/uploads/2015/07/2364-apartamentos-decorados-dicas.jpg", "type": "snap_brok__TipoOrdem_imovel__c",: 2 } "url": "/services/data/v51.0/sobjects/snap_brok__Tipo_imovel__c/a4H0B000000QdY5UAK" ] }, }, "Idsnap_brok__Tipo_uso_3__r": "a4H0B000000QdY5UAK",{ "Nameattributes": "Apartamento"{ } } ],"type": "snap_brok__Tipo_uso__c", "Errourl": 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 |
---|
...
"/services/data/v51.0/sobjects/snap_brok__Tipo_uso__c/a4I0B000000RI6uUAG" }, "Id": "a4I0B000000RI6uUAG", " |
...
Name": "Residencial" |
...
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
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__c
...
Identifica o bairro onde o imóvel está localizado.
...
snap_brok__Cidade_2__c
...
Identifica a cidade onde o imóvel está localizado.
...
snap_brok__Cep_2__c
...
Indica o CEP do endereço do imóvel.
...
snap_brok__Situacao__c
...
Indica a situação do imóvel em relação à sua disponibilidade para comercialização.
snap_brok__Situacao__c = 'Contrato gerado'
.
Opções de situação:
...
snap_brok__Suites__c
...
Número de suítes do imóvel.
...
snap_brok__Suites__c
= 1
...
snap_brok__Tipo_uso_3__c
...
Indica o tipo de uso do imóvel.
...
snap_brok__Tipo_imovel_2__c
...
Indica o tipo do imóvel.
...
snap_brok__Vagas__c
...
Indica o total de vagas (cobertas e descobertas) do imóvel.
...
snap_brok__Vagas__c
= 1
...
snap_brok__Valor_Condominio__c
...
Valor mensal do condomínio.
...
snap_brok__Valor_Condominio__c
= 240.00
...
snap_brok__Valor_locacao_total__c
...
Valor total da locação (Aluguel + IPTU + Condomínio).
...
snap_brok__Valor_locacao_total__c
= 1840.00
...
snap_brok__Valor_locacao_por_m2__c
...
snap_brok__Valor_locacao_por_m2__c
>= 39.00
...
snap_brok__Valor_IPTU__c
...
Valor mensal do IPTU.
...
snap_brok__Valor_IPTU__c
> 50
...
snap_brok__descricao__c
...
Descrição do imóvel.
...
snap_brok__Altura_pe_direito__c
...
Altura do pé direiro (m²) do imóvel.
...
snap_brok__Andar__c
...
Número do andar onde o imóvel está localizado.
...
snap_brok__condominio__c
...
Identifica o condomínio onde está localizado o imóvel.
...
snap_brok__Valor_desejado_aluguel__c
...
Indica o valor desejado do aluguel.
...
snap_brok__Valor_mensal_IPTU_rateado__c
...
Indica o valor mensal do IPTU rateado.
...
snap_brok__valor_venda__c
...
Valor sugerido pelo locador para venda do imóvel.
...
snap_brok__Fotos_de_im_vel__r
...
Retorna uma lista com as fotos do imóvel
...
snap_brok__Imovel__c
...
Retorna o código do imóvel vinculado a foto.
...
snap_brok__Url_imagem__c
...
Retorna link da foto.
},
"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. |
|
| 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:
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 |
...
Retorna link da foto 200px.
": "https://storage.googleapis.com/snapproperty_imgs/dev/a064P00001MGDS7QAP_200.jpg", "snap_brok__Url_imagem_400px__c |
...
Retorna link da foto 400px.
": "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
},
]
} |