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

orgEndereço fornecido pelo administrador.

Exemplo:

https://

snapproperty-developer-edition.na132.force.com

Serviço

login.salesforce.com/services/

apexrest/snap_brok/imovel/pesquisar

oauth2/token

Parâmetros

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

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

Endpoint

https://

snapproperty-developer-edition.na132.force.

login.salesforce.com/services/

apexrest

oauth2/

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

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

quantidade de

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
}

...

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).

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__

codigo

Numero__c

String

Código gerado pelo sistema para identificar o

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

snap_brok__

codigo__c = 'I-000639'

Complemento__c

String

Complemento do endereço do imóvel.

snap_brok__

area

Bairro_

privativa

2__

cÁrea privativa do imóvel

r.name

Número

String

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

snap_brok__

area

Bairro_

privativa

2__

c >= 40

r.name = 'Bela Vista'

snap_brok__

Banheiros

Cidade_2__

cQuantidade de banheiros do imóvel

r.name

Número

String

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

snap_brok__Cidade_

Banheiros

2__

c = 1

r.name = 'São Paulo'

snap_brok__

Disponivel

Cep_

venda

2__

c

r.name

Boolean

String

Indica

se

o

imóvel está disponível para vendasnap

CEP do endereço do imóvel.

Se

AND snap_brok__

Disponivel

Cep_

venda

2__

c = True, então: Disponível para vendaSe

r.name = '01310-100'

snap_brok__

Disponivel

Quadra_

venda

_

_c = False, então: Não disponível para venda

c

String

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

snap_brok__

Disponivel

Lote_

venda

_

_c = true

c

String

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

snap_brok__

DormitoriosQuantidade de dormitórios do imóvel

Situacao__c

Número

String

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

snap_brok__

Dormitorios

Situacao__

c >=2

c = 'Contrato gerado'.

snap_brok__

Localizacao

Suites__

Latitude__s

c

Número

Identifica as coordenadas (latitude) do endereço do

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

snap_brok__

Localizacao

Suites__

Latitude__s = -23.567124500000000

c = 1

snap_brok__

Localizacao

Tipo_uso_

Longitude

3__

s

r.name

Número

Identifica as coordenadas (longitude) do endereço

String

Indica o tipo de uso do imóvel.

snap

AND snap_brok__

Localizacao

Tipo_uso_

Longitude

3__

s = -46.649992300000000

r.name IN ('Residencial','Comercial')

snap_brok__Tipo_imovel_

Logradouro

2__

c

r.name

String

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

Indica o tipo do imóvel.

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

snap_brok__

NumeroNúmero do endereço do imóvel

Vagas_cobertas__c

String

Número

Indica a quantidade de vagas cobertas.

snap_brok__

ComplementoComplemento do endereço do imóvel

Vagas_descobertas__c

String

Número

Indica a quantidade de vagas descobertas.

snap_brok__

Bairro

Vagas_

2

_

_r.name

String

Identifica o bairro onde o imóvel está localizado

c

Número

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

snap_brok__

Bairro

Vagas_

2

_

_r.name = 'Bela Vista'

c = 1

snap_brok__

Cidade

Valor_

2

Condominio__

r.nameIdentifica a cidade onde o imóvel está localizado

c

String

Número

Valor mensal do condomínio.

snap_brok__

Cidade

Valor_

2

Condominio__

r.name = 'São Paulo'

c = 240.00

snap_brok__

Cep

Valor_locacao_

2

total__

r.name

c

String

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

AND snap

Número

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

snap_brok__

Cep

Valor_locacao_

2

total__

r.name = '01310-100'

c = 1840.00

snap_brok__

Situacao

Valor_locacao_por_m2__c

String

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

Número

snap_brok__Valor_

Situacao

locacao_por_m2__

c = 'Contrato gerado'.

c >= 39.00

snap_brok__Valor_

Suites

IPTU__c

Número

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

Valor mensal do IPTU.

snap_brok__Valor_IPTU__c > 50

snap_brok__

Suites

descricao__c

= 1

String

Descrição do imóvel.

snap_brok__

Tipo

Altura_

uso

pe_

3

direito__

r.nameIndica o tipo de uso

c

String

Número

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

AND snap

snap_brok__

Tipo

Andar_

uso_3__r.name IN ('Residencial','Comercial')

_c

Número

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

snap_brok__Andar__

Tipo_imovel_2

c = 3

snap_brok__condominio__r.name

String

Indica o tipo do

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

AND snap

snap_brok__

Tipo

condominio_

imovel

_

2__

r.

name NOT IN ('Box','Clube')

name = 'Residencial nova alvorada paulista'

snap_brok__Valor_

Vagassnap_brok__Vagas__c = 1

total_condominio__c

Número

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

Valor total do condomínio.

snap_brok__Valor_desejado_

Condominio

aluguel__c

Número

Valor mensal do condomínio

Indica o valor desejado do aluguel.

snap_brok__Valor_desejado_

Condominio

aluguel__c =

240.00

snap_brok__Valor_

locacao

mensal_IPTU_

total

rateado__c

Número

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

Indica o valor mensal do IPTU rateado.

snap_brok__Valor_

locacao

desejado_

total

aluguel__

c

c >=

1840

 1000.00

snap_brok__Valor_locacao_por_m2__c

Número

snap_brok__Valor

_locacao

_

por

IPTU_

m2

total__c

>= 39.00

Número

Indica o valor total do IPTU.

snap_brok__

Valor

valor_

IPTU

venda__c

Número

Valor

mensal do IPTU

sugerido pelo locador para venda do imóvel.

snap_brok__

Valor

valor_

IPTU

venda__c >

50

250000.00

snap_brok__

descricao

Valor_desejado_aluguel_antigo__c

String

Número

Descrição do imóvel

Valor desejado do aluguel anterior ao reajuste.

snap_brok__

Altura

Tempo_

pe

vacancia_

direito_

_c

Número

Altura do pé direiro (m²)

Indica o intervalo de tempo (em dias) entre a data atual e a data de divulgação do imóvel.

snap_brok__

Andar do andar onde o imóvel está localizado.

Servicos_claro__c

Número

Número

Boolean

Indica se o imóvel possui serviço claro, sendo:

snap_brok__

Andar

Servicos_claro__

c = 3

c = True: Possui serviço.

snap_brok__Servicos_

condominio__r.name

String

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

claro__c = False: Não possui serviço.

snap_brok__Fotos_de_im_

condominio

vel__r

.name = 'Residencial nova alvorada paulista'

Array

Retorna uma lista com as fotos do imóvel

snap_brok__

Valor

Possui_

desejado

tour_

aluguel

virtual__c

Número

Boolean

Indica

o valor desejado do aluguel.

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

snap_brok__

Valor

Possui_

desejado

tour_

aluguel

virtual__c = True: Possuí tour virtual.

snap_brok__

Valor

Possui_

mensal

tour_

IPTU

virtual_

rateado__c

Número

Indica o valor mensal do IPTU rateado

_c = False: Não possuí tour virtual.

snap_brok__

Valor

Iframe_

desejado

tour_

aluguel

virtual__

c >= 1000.00

c

String

Link do tour virtual.

snap_brok__

valor

Ar_condicionado_

venda

parede__c

Número

Valor sugerido pelo locador para venda do imóvel.

snap_brok__

valor

Ar_condicionado_

venda

Split__c

> 250000.00

Número

snap_brok__

Fotos

Armarios_

de

embutidos_

im

_

vel__r

Array

Retorna uma lista com as fotos do imóvel

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

...