Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 acess_token, junto ao requisição. Esse acess_token deverá ser obetido da seguinte maneira:

...

Parâmetros

  • grant_type : urn:ietf:params:oauth:grant-type:jwt-bearer

  • assertion : {chave que será recebida da organização}

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:

  • 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'",

"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": {
"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:

Code Block
languagejson
{
    "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
languagejson
{
    "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).

CreatedDate

Datetime

Data de criação do imóvel.

snap_brok__codigo__c

String

Código gerado pelo sistema para identificar o imóvel.

snap_brok__codigo__c = 'I-000639'

snap_brok__area_privativa__c

Número

Área privativa do imóvel.

snap_brok__area_privativa__c >= 40

snap_brok__area_comum__c

Número

Área privativa do imóvel.

snap_brok__area_total__c

Número

Área total do imóvel.

snap_brok__area_total__c >= 100

snap_brok__Banheiros__c

Número

Quantidade de banheiros do imóvel.

snap_brok__Banheiros__c = 1

snap_brok__Score__c

Número

Indica a relevância do imóvel.

snap_brok__Disponivel_locacao__c

Boolean

Indica se o imóvel está disponível para locação.

  • Se snap_brok__Disponivel_locacao__c= True, então: Disponível para locação

  • Se snap_brok__Disponivel_locacao__c= False, então: Não disponível para locação

snap_brok__Disponivel_venda__c

Boolean

Indica se o imóvel está disponível para venda.

  • Se snap_brok__Disponivel_venda__c = True, então: Disponível para venda

  • Se snap_brok__Disponivel_venda__c = False, então: Não disponível para venda

snap_brok__Disponivel_venda__c = true

snap_brok__Dormitorios__c

Número

Quantidade de dormitórios do imóvel.

snap_brok__Dormitorios__c >=2

snap_brok__Endereco__c

String

Indica o endereço completo do imóvel.

snap_brok__Localizacao__Latitude__s

Número

Identifica as coordenadas (latitude) do endereço do imóvel.

snap_brok__Localizacao__Latitude__s = -23.567124500000000

snap_brok__Localizacao__Longitude__s

Número

Identifica as coordenadas (longitude) do endereço do imóvel.

snap_brok__Localizacao__Longitude__s = -46.649992300000000

snap_brok__Logradouro__c

String

Nome da rua onde o imóvel está localizado.

snap_brok__Numero__c

String

Número do endereço do imóvel.

snap_brok__Complemento__c

String

Complemento do endereço do imóvel.

snap_brok__Bairro_2__r.name

String

Identifica o bairro onde o imóvel está localizado.

snap_brok__Bairro_2__r.name = 'Bela Vista'

snap_brok__Cidade_2__r.name

String

Identifica a cidade onde o imóvel está localizado.

snap_brok__Cidade_2__r.name = 'São Paulo'

snap_brok__Cep_2__r.name

String

Indica o CEP do endereço do imóvel.

AND snap_brok__Cep_2__r.name = '01310-100'

snap_brok__Quadra__c

String

Indica a quada do loteamente onde o imóvel está localizado.

snap_brok__Lote__c

String

Indica o número do lote onde o imóvel está localizado.

snap_brok__Situacao__c

String

Indica a situação do imóvel em relação à sua disponibilidade para comercialização.

snap_brok__Situacao__c = 'Contrato gerado'.

snap_brok__Suites__c

Número

Número de suítes do imóvel.

snap_brok__Suites__c = 1

snap_brok__Tipo_uso_3__r.name

String

Indica o tipo de uso do imóvel.

AND snap_brok__Tipo_uso_3__r.name IN ('Residencial','Comercial')

snap_brok__Tipo_imovel_2__r.name

String

Indica o tipo do imóvel.

AND snap_brok__Tipo_imovel_2__r.name NOT IN ('Box','Clube')

snap_brok__Vagas_cobertas__c

Número

Indica a quantidade de vagas cobertas.

snap_brok__Vagas_descobertas__c

Número

Indica a quantidade de vagas descobertas.

snap_brok__Vagas__c

Número

Indica o total de vagas (cobertas e descobertas) do imóvel.

snap_brok__Vagas__c = 1

snap_brok__Valor_Condominio__c

Número

Valor mensal do condomínio.

snap_brok__Valor_Condominio__c = 240.00

snap_brok__Valor_locacao_total__c

Número

Valor total da locação (Aluguel + IPTU + Condomínio).

snap_brok__Valor_locacao_total__c = 1840.00

snap_brok__Valor_locacao_por_m2__c

Número

snap_brok__Valor_locacao_por_m2__c >= 39.00

snap_brok__Valor_IPTU__c

Número

Valor mensal do IPTU.

snap_brok__Valor_IPTU__c > 50

snap_brok__descricao__c

String

Descrição do imóvel.

snap_brok__Altura_pe_direito__c

Número

Altura do pé direiro (m²) do imóvel.

snap_brok__Andar__c

Número

Número do andar onde o imóvel está localizado.

snap_brok__Andar__c = 3

snap_brok__condominio__r.name

String

Identifica o condomínio onde está localizado o imóvel.

snap_brok__condominio__r.name = 'Residencial nova alvorada paulista'

snap_brok__Valor_total_condominio__c

Número

Valor total do condomínio.

snap_brok__Valor_desejado_aluguel__c

Número

Indica o valor desejado do aluguel.

snap_brok__Valor_desejado_aluguel__c =

snap_brok__Valor_mensal_IPTU_rateado__c

Número

Indica o valor mensal do IPTU rateado.

snap_brok__Valor_desejado_aluguel__c >= 1000.00

snap_brok__Valor_IPTU_total__c

Número

Indica o valor total do IPTU.

snap_brok__valor_venda__c

Número

Valor sugerido pelo locador para venda do imóvel.

snap_brok__valor_venda__c > 250000.00

snap_brok__Valor_desejado_aluguel_antigo__c

Número

Valor desejado do aluguel anterior ao reajuste.

snap_brok__Tempo_vacancia__c

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.

snap_brok__Fotos_de_im_vel__r

Array

Retorna uma lista com as fotos do imóvel

snap_brok__Possui_tour_virtual__c

Boolean

Indica se o imóvel possuí tour virtual, sendo:

snap_brok__Possui_tour_virtual__c = True: Possuí tour virtual.

snap_brok__Possui_tour_virtual__c = 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

totalSize

Retorna a quantidade de fotos do imóvel.

done

snap_brok__Imovel__c

Retornar o código do imóvel vinculado a foto.

Id

Retornar o ID da foto.

snap_brok__Url_imagem__c

Retorna link da imagem principal.

snap_brok__Url_imagem_200px__c

Retorna link da imagem 200px.

snap_brok__Url_imagem_400px__c

Retorna link da imagem 400px.

snap_brok__URL_imagem_800px__c

Retorna link da imagem 800px.

snap_brok__Ordem__c

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
                    },
               ]
            }