Imóveis
A carteira da conta: ler, sincronizar pelo código do seu sistema, mudar status, confirmar disponibilidade, enviar fotos por endereço e mandar para a lixeira.
- GET/v1/properties— Listar a carteira
- GET/v1/properties/by-ref/{ref}— Um imóvel pelo seu código
- GET/v1/properties/{propertyId}— Um imóvel
- GET/v1/feed— Estado da sincronização do feed
- POST/v1/feed/sync— Sincronizar o feed agora
- PUT/v1/properties/by-ref/{ref}— Criar ou atualizar pelo seu código
- POST/v1/properties— Cadastrar um imóvel
- PATCH/v1/properties/{propertyId}— Alterar parte de um imóvel
- POST/v1/properties/{propertyId}/status— Mudar o status
- POST/v1/properties/confirm— Confirmar disponibilidade em lote
- DELETE/v1/properties/{propertyId}— Mandar para a lixeira
As rotas
/v1/propertiesListar a carteira
A carteira da conta, mais recentes antes, com filtros. Para sincronizar, use updatedSince — ou os eventos.
properties:readFiltros e paginação
limitinteger- Itens por página: de 1 a 100 (padrão 50).
cursorstring- O
nextCursorda página anterior. A lista acabou quando ele vem nulo. Ele vale só para esta rota e esta conta. statusstring- Status (
DELETED= lixeira).um deACTIVEINACTIVESOLDRENTEDDELETED purposestring- Finalidade.um de
VENDALOCACAO typestring- Subtipo.um de
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA citySlugstring- Identificador da cidade no catálogo.
updatedSincestring- Só o que mudou desde esta data/hora (ISO 8601, UTC).
radarstringpending= só quem tem pendência para as recomendações;ready= só quem está pronto.um dependingready
Resposta200OK
datalista de Propertyobrigatório- Os imóveis.
nextCursorstringobrigatóriopode vir nulo- Cursor da próxima página (nulo = acabou).
Exemplo
curl -X GET 'https://api.imobyflow.com.br/v1/properties' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR'Erros desta rota
/v1/properties/by-ref/{ref}Um imóvel pelo seu código
O imóvel pelo código do seu sistema (externalRef).
properties:readParâmetros no caminho
refstringobrigatório- O código do imóvel no seu sistema (até 80 caracteres; codifique espaço e
/).
Resposta200OK
dataPropertyobrigatório- O imóvel.
Exemplo
curl -X GET 'https://api.imobyflow.com.br/v1/properties/by-ref/AP1234' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR'Erros desta rota
/v1/properties/{propertyId}Um imóvel
O imóvel, com a situação nas recomendações, na análise e na confirmação.
properties:readParâmetros no caminho
propertyIdstringobrigatório- Id do imóvel (
prop-…).
Resposta200OK
dataPropertyobrigatório- O imóvel.
Exemplo
curl -X GET 'https://api.imobyflow.com.br/v1/properties/prop-3f9a1c2b7d4e' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR'Erros desta rota
/v1/feedEstado da sincronização do feed
Como terminou a última sincronização do link do CRM e se há outra agendada — para conferir o resultado depois de um POST /v1/feed/sync. Nunca traz o link nem o token.
properties:readResposta200OK
dataFeedSyncobrigatório- O estado.
Exemplo
curl -X GET 'https://api.imobyflow.com.br/v1/feed' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR'Erros desta rota
/v1/feed/syncSincronizar o feed agora
Avise depois de mudar a carteira no CRM: a ImobyFlow busca o MESMO link do feed, pela mesma sincronização de 6 em 6 horas — só o que mudou é gravado. A primeira chamada de cada janela de 10 minutos sincroniza na hora; as seguintes deixam UMA sincronização agendada para o fim da janela, então nenhuma alteração espera as 6 horas e chamar a cada mudança não sobrecarrega nada. Acompanhe por GET /v1/feed ou pelos eventos dos imóveis.
properties:writeAceita modo ensaioAceita Idempotency-KeyFiltros e paginação
dryRunbooleantrue= modo ensaio: valida e diz o que aconteceria, sem gravar nada.
Resposta202Aceito200 quando já havia uma agendada (`ALREADY_SCHEDULED`) e no ensaio.
dataFeedSyncobrigatório- O estado.
resultFeedSyncResultobrigatório- O desfecho.
Exemplo
# Modo ensaio: nada é gravado. Tire o ?dryRun=true para gravar de verdade.
curl -X POST 'https://api.imobyflow.com.br/v1/feed/sync?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR' \
-H "Idempotency-Key: $(uuidgen)"Erros desta rota
/v1/properties/by-ref/{ref}Criar ou atualizar pelo seu código
O caminho natural de sincronização: cria o imóvel se o código for novo (201) ou atualiza o que existe (200). Campo ausente não apaga; nada mudou = UNCHANGED, sem escrita. A edição feita na tela vence e volta em result.conflicts.
properties:writeAceita modo ensaioAceita Idempotency-KeyParâmetros no caminho
refstringobrigatório- O código do imóvel no seu sistema (até 80 caracteres; codifique espaço e
/).
Filtros e paginação
dryRunbooleantrue= modo ensaio: valida e diz o que aconteceria, sem gravar nada.
Corpo do pedido
externalRefstring- O código do imóvel no seu sistema (só no POST; no PUT ele vai no caminho).
titlestring- Título. Marcação HTML é removida.
descriptionstring- Descrição.
<br>e</p>viram quebra de linha; o resto da marcação sai. typestring- Subtipo.um de
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA purposeslista de string- Finalidades.um de
VENDALOCACAO salePricenumberpode vir nulo- Preço de venda, em reais. Obrigatório com
VENDA. rentPricenumberpode vir nulo- Aluguel, em reais. Obrigatório com
LOCACAO. addressAddressInput- Endereço.
bedroomsintegerpode vir nulo- Quartos.
suitesintegerpode vir nulo- Suítes.
bathroomsintegerpode vir nulo- Banheiros.
parkingSpotsintegerpode vir nulo- Vagas.
areanumberpode vir nulo- Área privativa total, em m².
privateAreanumberpode vir nulo- Área coberta, em m².
listingUrlstringpode vir nulo- Endereço do anúncio no seu site (http ou https).
captadorNamestringpode vir nulo- Nome do captador em texto.
captadorAccountIdstringpode vir nulo- Id do corretor responsável da equipe.
partnershipTermsPartnershipTerms- Condições para parceiros.
photoslista de string- Até 30 endereços; a 1ª é a capa. Baixadas depois da resposta (veja
photoSync). Ausente = a galeria fica como está; lista vazia = tirar as fotos.
Exemplo de corpo
{
"title": "Apartamento 3 quartos no Bigorrilho",
"type": "APARTAMENTO",
"purposes": [
"VENDA"
],
"salePrice": 890000,
"address": {
"cityId": "4106902",
"neighborhoodSlug": "bigorrilho",
"street": "Rua Padre Anchieta",
"number": "1500",
"complement": "Ap 82"
},
"bedrooms": 3,
"suites": 1,
"bathrooms": 2,
"parkingSpots": 2,
"area": 98,
"photos": [
"https://www.suaimobiliaria.com.br/fotos/AP1234/1.jpg",
"https://www.suaimobiliaria.com.br/fotos/AP1234/2.jpg"
]
}Resposta200OK201 quando cria.
dataPropertyobrigatório- O objeto como ficou.
resultPropertyWriteResultobrigatório- O desfecho.
Exemplo
# Modo ensaio: nada é gravado. Tire o ?dryRun=true para gravar de verdade.
curl -X PUT 'https://api.imobyflow.com.br/v1/properties/by-ref/AP1234?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"title": "Apartamento 3 quartos no Bigorrilho",
"type": "APARTAMENTO",
"purposes": [
"VENDA"
],
"salePrice": 890000,
"address": {
"cityId": "4106902",
"neighborhoodSlug": "bigorrilho",
"street": "Rua Padre Anchieta",
"number": "1500",
"complement": "Ap 82"
},
"bedrooms": 3,
"suites": 1,
"bathrooms": 2,
"parkingSpots": 2,
"area": 98,
"photos": [
"https://www.suaimobiliaria.com.br/fotos/AP1234/1.jpg",
"https://www.suaimobiliaria.com.br/fotos/AP1234/2.jpg"
]
}
JSONErros desta rota
/v1/propertiesCadastrar um imóvel
Cria um imóvel. O mínimo: type, purposes, o preço de cada finalidade e o endereço com a cidade. Código que já existe → 409 com o id.
properties:writeAceita modo ensaioAceita Idempotency-KeyFiltros e paginação
dryRunbooleantrue= modo ensaio: valida e diz o que aconteceria, sem gravar nada.
Corpo do pedido
externalRefstring- O código do imóvel no seu sistema (só no POST; no PUT ele vai no caminho).
titlestring- Título. Marcação HTML é removida.
descriptionstring- Descrição.
<br>e</p>viram quebra de linha; o resto da marcação sai. typestring- Subtipo.um de
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA purposeslista de string- Finalidades.um de
VENDALOCACAO salePricenumberpode vir nulo- Preço de venda, em reais. Obrigatório com
VENDA. rentPricenumberpode vir nulo- Aluguel, em reais. Obrigatório com
LOCACAO. addressAddressInput- Endereço.
bedroomsintegerpode vir nulo- Quartos.
suitesintegerpode vir nulo- Suítes.
bathroomsintegerpode vir nulo- Banheiros.
parkingSpotsintegerpode vir nulo- Vagas.
areanumberpode vir nulo- Área privativa total, em m².
privateAreanumberpode vir nulo- Área coberta, em m².
listingUrlstringpode vir nulo- Endereço do anúncio no seu site (http ou https).
captadorNamestringpode vir nulo- Nome do captador em texto.
captadorAccountIdstringpode vir nulo- Id do corretor responsável da equipe.
partnershipTermsPartnershipTerms- Condições para parceiros.
photoslista de string- Até 30 endereços; a 1ª é a capa. Baixadas depois da resposta (veja
photoSync). Ausente = a galeria fica como está; lista vazia = tirar as fotos.
Exemplo de corpo
{
"externalRef": "AP1234",
"title": "Apartamento 3 quartos no Bigorrilho",
"type": "APARTAMENTO",
"purposes": [
"VENDA"
],
"salePrice": 890000,
"address": {
"cityId": "4106902",
"neighborhoodSlug": "bigorrilho",
"street": "Rua Padre Anchieta",
"number": "1500",
"complement": "Ap 82"
},
"bedrooms": 3,
"suites": 1,
"bathrooms": 2,
"parkingSpots": 2,
"area": 98,
"photos": [
"https://www.suaimobiliaria.com.br/fotos/AP1234/1.jpg",
"https://www.suaimobiliaria.com.br/fotos/AP1234/2.jpg"
]
}Resposta201Criado
dataPropertyobrigatório- O objeto como ficou.
resultPropertyWriteResultobrigatório- O desfecho.
Exemplo
# Modo ensaio: nada é gravado. Tire o ?dryRun=true para gravar de verdade.
curl -X POST 'https://api.imobyflow.com.br/v1/properties?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"externalRef": "AP1234",
"title": "Apartamento 3 quartos no Bigorrilho",
"type": "APARTAMENTO",
"purposes": [
"VENDA"
],
"salePrice": 890000,
"address": {
"cityId": "4106902",
"neighborhoodSlug": "bigorrilho",
"street": "Rua Padre Anchieta",
"number": "1500",
"complement": "Ap 82"
},
"bedrooms": 3,
"suites": 1,
"bathrooms": 2,
"parkingSpots": 2,
"area": 98,
"photos": [
"https://www.suaimobiliaria.com.br/fotos/AP1234/1.jpg",
"https://www.suaimobiliaria.com.br/fotos/AP1234/2.jpg"
]
}
JSONErros desta rota
/v1/properties/{propertyId}Alterar parte de um imóvel
Muda só o que vier. Para limpar um campo, mande null.
properties:writeAceita modo ensaioAceita Idempotency-KeyParâmetros no caminho
propertyIdstringobrigatório- Id do imóvel (
prop-…).
Filtros e paginação
dryRunbooleantrue= modo ensaio: valida e diz o que aconteceria, sem gravar nada.
Corpo do pedido
externalRefstring- O código do imóvel no seu sistema (só no POST; no PUT ele vai no caminho).
titlestring- Título. Marcação HTML é removida.
descriptionstring- Descrição.
<br>e</p>viram quebra de linha; o resto da marcação sai. typestring- Subtipo.um de
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA purposeslista de string- Finalidades.um de
VENDALOCACAO salePricenumberpode vir nulo- Preço de venda, em reais. Obrigatório com
VENDA. rentPricenumberpode vir nulo- Aluguel, em reais. Obrigatório com
LOCACAO. addressAddressInput- Endereço.
bedroomsintegerpode vir nulo- Quartos.
suitesintegerpode vir nulo- Suítes.
bathroomsintegerpode vir nulo- Banheiros.
parkingSpotsintegerpode vir nulo- Vagas.
areanumberpode vir nulo- Área privativa total, em m².
privateAreanumberpode vir nulo- Área coberta, em m².
listingUrlstringpode vir nulo- Endereço do anúncio no seu site (http ou https).
captadorNamestringpode vir nulo- Nome do captador em texto.
captadorAccountIdstringpode vir nulo- Id do corretor responsável da equipe.
partnershipTermsPartnershipTerms- Condições para parceiros.
photoslista de string- Até 30 endereços; a 1ª é a capa. Baixadas depois da resposta (veja
photoSync). Ausente = a galeria fica como está; lista vazia = tirar as fotos.
Exemplo de corpo
{
"salePrice": 870000
}Resposta200OK
dataPropertyobrigatório- O objeto como ficou.
resultPropertyWriteResultobrigatório- O desfecho.
Exemplo
# Modo ensaio: nada é gravado. Tire o ?dryRun=true para gravar de verdade.
curl -X PATCH 'https://api.imobyflow.com.br/v1/properties/prop-3f9a1c2b7d4e?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"salePrice": 870000
}
JSONErros desta rota
/v1/properties/{propertyId}/statusMudar o status
Disponível, arquivado, vendido ou alugado — a mesma função da tela: só disponível ocupa a cota do plano, e quem negocia o imóvel é avisado. Vendido não volta pelo feed.
properties:writeAceita modo ensaioAceita Idempotency-KeyParâmetros no caminho
propertyIdstringobrigatório- Id do imóvel (
prop-…).
Filtros e paginação
dryRunbooleantrue= modo ensaio: valida e diz o que aconteceria, sem gravar nada.
Corpo do pedido
statusstringobrigatório- O novo status.um de
ACTIVEINACTIVESOLDRENTED
Exemplo de corpo
{
"status": "SOLD"
}Resposta200OK
dataPropertyobrigatório- O objeto como ficou.
resultPropertyWriteResultobrigatório- O desfecho.
Exemplo
# Modo ensaio: nada é gravado. Tire o ?dryRun=true para gravar de verdade.
curl -X POST 'https://api.imobyflow.com.br/v1/properties/prop-3f9a1c2b7d4e/status?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"status": "SOLD"
}
JSONErros desta rota
/v1/properties/confirmConfirmar disponibilidade em lote
A régua dos 60 dias tira do ar o imóvel que ninguém confirma. Mande até 200 ids e refs; confirmado há menos de 24 h não regrava (ALREADY_CONFIRMED).
properties:writeAceita modo ensaioAceita Idempotency-KeyFiltros e paginação
dryRunbooleantrue= modo ensaio: valida e diz o que aconteceria, sem gravar nada.
Corpo do pedido
idslista de string- Ids dos imóveis.
refslista de string- Códigos do seu sistema.
Exemplo de corpo
{
"refs": [
"AP1234",
"CA0042"
]
}Resposta200OK
datalista de ConfirmItemobrigatório- O desfecho de cada imóvel.
resultobjetoobrigatório- O resumo.
result.dryRunbooleanobrigatório- Ensaio.
result.summarymapaobrigatório- Contagem por desfecho.
Exemplo
# Modo ensaio: nada é gravado. Tire o ?dryRun=true para gravar de verdade.
curl -X POST 'https://api.imobyflow.com.br/v1/properties/confirm?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"refs": [
"AP1234",
"CA0042"
]
}
JSONErros desta rota
/v1/properties/{propertyId}Mandar para a lixeira
Lixeira de 30 dias (restaurável pela tela). Trava de encolhimento: no máximo 20% da carteira (e pelo menos 10) em 24 horas — um laço no seu sistema não esvazia a carteira. Com o feed do CRM ligado, quem tira imóvel do ar é o feed.
properties:writeAceita modo ensaioAceita Idempotency-KeyParâmetros no caminho
propertyIdstringobrigatório- Id do imóvel (
prop-…).
Filtros e paginação
dryRunbooleantrue= modo ensaio: valida e diz o que aconteceria, sem gravar nada.
Resposta200OK
dataPropertyobrigatório- O objeto como ficou.
resultPropertyWriteResultobrigatório- O desfecho.
Exemplo
# Modo ensaio: nada é gravado. Tire o ?dryRun=true para gravar de verdade.
curl -X DELETE 'https://api.imobyflow.com.br/v1/properties/prop-3f9a1c2b7d4e?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: pt-BR' \
-H "Idempotency-Key: $(uuidgen)"Erros desta rota
Os objetos
Address
O endereço completo — o imóvel é da própria conta.
neighborhoodstringobrigatóriopode vir nulo- Nome do bairro.
neighborhoodSlugstringobrigatóriopode vir nulo- Bairro do catálogo. Nulo quando o bairro ainda não foi reconhecido — aí o imóvel fica fora das recomendações até a curadoria decidir.
citystringobrigatóriopode vir nulo- Nome da cidade.
cityIdstringobrigatóriopode vir nulo- Código do IBGE.
citySlugstringobrigatóriopode vir nulo- Identificador da cidade no catálogo.
statestringobrigatóriopode vir nulo- Estado (UF).
streetstringobrigatóriopode vir nulo- Rua.
numberstringobrigatóriopode vir nulo- Número.
complementstringobrigatóriopode vir nulo- Complemento.
PartnershipTerms
As condições para parceiros.
commissionPercentnumberobrigatóriopode vir nulo- Comissão de venda oferecida a parceiros, em %.
rentCommissionMonthsnumberobrigatóriopode vir nulo- Comissão de locação, em aluguéis.
splitListingPercentnumberobrigatóriopode vir nulo- Parte da comissão que fica com quem captou, em %.
PropertyRadar
A situação do imóvel nas recomendações (Radar).
eligiblebooleanobrigatório- Entra nas recomendações agora (ativo e sem pendência).
pendinglista de stringobrigatório- O que falta para entrar nas recomendações. A capa é obrigatória.um de
CITY_MISSINGCITY_NOT_IN_CATALOGNEIGHBORHOOD_MISSINGNEIGHBORHOOD_NOT_IN_CATALOGTYPE_MISSINGPURPOSE_MISSINGSALE_PRICE_MISSINGRENT_PRICE_MISSINGCOVER_PHOTO_MISSINGOTHER labelslista de stringobrigatório- As mesmas pendências, por extenso.
Curation
A análise do imóvel pela ImobyFlow antes de ele aparecer para parceiros. Imóvel novo pela API nasce em análise.
statusstringobrigatóriopode vir nuloPENDING,APPROVEDouREJECTED.reasonstringobrigatóriopode vir nulo- O motivo da recusa, em código.um de
LANCAMENTOSEM_VALORQUALIDADE_BAIXANAO_ANGARIACAOMARCA_DAGUAFOTOS_INSUFICIENTESDADOS_INCOERENTESOUTRO labelstringobrigatóriopode vir nulo- O motivo por extenso.
Confirmation
A régua dos 60 dias: imóvel não confirmado sai do ar. Gravar o imóvel pela API (ou confirmar) renova a data.
lastConfirmedAtstringobrigatóriopode vir nulo- Última confirmação de que segue disponível.
dueAtstringobrigatóriopode vir nulo- Quando a confirmação vence (a cada 60 dias).
noticeAtstringobrigatóriopode vir nulo- Quando o aviso de confirmação foi mandado.
offlineAtstringobrigatóriopode vir nulo- Quando sai do ar sem resposta (7 dias depois do aviso).
LaunchBlock
Dados de lançamento (empreendimento e tipologia).
constructionStagestringobrigatóriopode vir nulo- Estágio da obra.um de
LAUNCHOFF_PLANNEWREADY deliveryDatestringobrigatóriopode vir nulo- Previsão de entrega.
constructionProgressintegerobrigatóriopode vir nulo- Andamento da obra, em %.
unitsTotalintegerobrigatóriopode vir nulo- Unidades no total.
unitsAvailableintegerobrigatóriopode vir nulo- Unidades disponíveis.
unitsReservedintegerobrigatóriopode vir nulo- Unidades reservadas.
unitsSoldintegerobrigatóriopode vir nulo- Unidades vendidas.
floorPlanslista de stringobrigatório- As plantas.
PhotoSync
O download das fotos mandadas por endereço. Ele acontece depois da resposta — é aqui que você vê se a galeria entrou.
statestringobrigatórioQUEUED(na fila),DONE,PARTIAL(algumas falharam),FAILEDouNOT_QUEUED(a fila recusou — o próximo pedido tenta de novo).requestedintegerobrigatóriopode vir nulo- Fotos pedidas.
ingestedintegerobrigatóriopode vir nulo- Fotos baixadas e gravadas.
failedintegerobrigatóriopode vir nulo- Fotos que falharam.
queuedAtstringobrigatóriopode vir nulo- Quando entrou na fila.
finishedAtstringobrigatóriopode vir nulo- Quando terminou.
Property
Um imóvel da carteira da conta.
idstringobrigatório- Id do imóvel.
externalRefstringobrigatóriopode vir nulo- O código do imóvel no SEU sistema.
kindstringobrigatórioPROPERTY(avulso),DEVELOPMENT(empreendimento) ouTYPOLOGY(tipologia de um empreendimento).um dePROPERTYDEVELOPMENTTYPOLOGYdevelopmentIdstringobrigatóriopode vir nulo- O empreendimento desta tipologia.
statusstringobrigatório- Situação.
DELETED= na lixeira (30 dias).um deACTIVEINACTIVESOLDRENTEDDELETED typestringobrigatóriopode vir nulo- Subtipo (veja as listas de valores).um de
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA categorystringobrigatóriopode vir nulo- Categoria do subtipo.um de
RESIDENCIALCOMERCIALTERRENORURAL purposeslista de stringobrigatório- Finalidades:
VENDA,LOCACAOou as duas.um deVENDALOCACAO salePricenumberobrigatóriopode vir nulo- Preço de venda, em reais.
rentPricenumberobrigatóriopode vir nulo- Aluguel mensal, em reais.
titlestringobrigatóriopode vir nulo- Título do anúncio.
descriptionstringobrigatóriopode vir nulo- Descrição, em texto corrido.
addressAddressobrigatório- Endereço.
bedroomsintegerobrigatóriopode vir nulo- Quartos.
suitesintegerobrigatóriopode vir nulo- Suítes.
bathroomsintegerobrigatóriopode vir nulo- Banheiros.
parkingSpotsintegerobrigatóriopode vir nulo- Vagas de garagem.
areanumberobrigatóriopode vir nulo- Área privativa total, em m² — a que se compara entre imóveis.
privateAreanumberobrigatóriopode vir nulo- Área coberta, em m² (só exibição).
amenitieslista de stringobrigatório- Itens do imóvel e do condomínio.
coverPhotostringobrigatóriopode vir nulo- A capa (a 1ª foto). Sem capa o imóvel não entra nas recomendações.
photoslista de stringobrigatório- A galeria, na ordem.
listingUrlstringobrigatóriopode vir nulo- Endereço do anúncio no seu site.
captadorobjetoobrigatóriopode vir nulo- O corretor responsável da equipe.
captador.accountIdstringobrigatório- Id do corretor.
captador.namestringobrigatóriopode vir nulo- Nome.
captadorNamestringobrigatóriopode vir nulo- Nome do captador em texto (quem não está na equipe).
sharedToNetworkbooleanobrigatório- Compartilhado com parceiros.
partnershipTermsPartnershipTermsobrigatório- Condições para parceiros.
radarPropertyRadarobrigatório- Situação nas recomendações.
curationCurationobrigatório- Análise da ImobyFlow.
confirmationConfirmationobrigatório- A confirmação de disponibilidade.
inactiveReasonstringobrigatóriopode vir nulo- Por que está arquivado (só com
status=INACTIVE). deletedAtstringobrigatóriopode vir nulo- Quando foi para a lixeira.
launchLaunchBlockobrigatóriopode vir nulo- Dados de lançamento (só empreendimento e tipologia).
photoSyncPhotoSyncobrigatóriopode vir nulo- O download das fotos mandadas por endereço.
createdAtstringobrigatório- Quando foi criado (UTC).
updatedAtstringobrigatório- Última alteração (UTC).
AddressInput
O endereço. Vem inteiro quando vem.
cityIdstring- Código do IBGE (7 dígitos). Com ele,
cityestatesão dispensáveis. citystring- Nome da cidade (com
state). Nome desconhecido volta 400 com sugestões. statestring- UF, 2 letras.
neighborhoodSlugstring- Bairro pelo identificador do catálogo — o caminho garantido.
neighborhoodstring- Bairro em texto. Ele passa pelo dicionário de apelidos; o que não for reconhecido fica pendente para a curadoria, nunca vira um bairro inventado.
streetstring- Rua.
numberstring- Número.
complementstring- Complemento.
PropertyInput
Os campos que a API aceita no imóvel. Campo desconhecido é erro (400). Campo ausente não apaga; para limpar, mande null.
externalRefstring- O código do imóvel no seu sistema (só no POST; no PUT ele vai no caminho).
titlestring- Título. Marcação HTML é removida.
descriptionstring- Descrição.
<br>e</p>viram quebra de linha; o resto da marcação sai. typestring- Subtipo.um de
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA purposeslista de string- Finalidades.um de
VENDALOCACAO salePricenumberpode vir nulo- Preço de venda, em reais. Obrigatório com
VENDA. rentPricenumberpode vir nulo- Aluguel, em reais. Obrigatório com
LOCACAO. addressAddressInput- Endereço.
bedroomsintegerpode vir nulo- Quartos.
suitesintegerpode vir nulo- Suítes.
bathroomsintegerpode vir nulo- Banheiros.
parkingSpotsintegerpode vir nulo- Vagas.
areanumberpode vir nulo- Área privativa total, em m².
privateAreanumberpode vir nulo- Área coberta, em m².
listingUrlstringpode vir nulo- Endereço do anúncio no seu site (http ou https).
captadorNamestringpode vir nulo- Nome do captador em texto.
captadorAccountIdstringpode vir nulo- Id do corretor responsável da equipe.
partnershipTermsPartnershipTerms- Condições para parceiros.
photoslista de string- Até 30 endereços; a 1ª é a capa. Baixadas depois da resposta (veja
photoSync). Ausente = a galeria fica como está; lista vazia = tirar as fotos.
PropertyWriteResult
O desfecho da escrita.
outcomestringobrigatório- O que aconteceu:
CREATED,UPDATED,UNCHANGED(nada mudou, nada gravado),CONFIRMED(só a data de disponibilidade),STATUS_SET,DELETED,ALREADY_DELETED… dryRunbooleanobrigatório- Foi um ensaio — nada foi gravado.
conflictslista de stringobrigatório- Campos que a equipe editou na tela e que por isso não foram sobrescritos — a edição na tela vence.
photosstringobrigatóriopode vir nulo- A galeria:
UNCHANGED,QUEUED,ALREADY_QUEUEDouCLEARED. Nulo quando o pedido não falou de fotos.
FeedSync
A sincronização do feed do CRM. Nunca traz o link nem o token.
configuredbooleanobrigatório- O link do feed do CRM está cadastrado na conta.
connectorstringobrigatóriopode vir nulo- O CRM do link (o formato do feed).
autoSyncbooleanobrigatório- A sincronização de 6 em 6 horas está ligada.
statusstringobrigatóriopode vir nulo- Como terminou a última sincronização (a mesma situação da tela) —
QUEUEDenquanto ela anda. messagestringobrigatóriopode vir nulo- A frase da última sincronização, a mesma da tela.
lastSyncAtstringobrigatóriopode vir nulo- Quando a última terminou.
feedCountintegerobrigatóriopode vir nulo- Imóveis no feed na última leitura.
countsobjetoobrigatório- O que a última sincronização fez.
counts.createdintegerobrigatóriopode vir nulo- Criados.
counts.updatedintegerobrigatóriopode vir nulo- Atualizados.
counts.archivedintegerobrigatóriopode vir nulo- Arquivados (saíram do feed e passaram da carência).
counts.skippedintegerobrigatóriopode vir nulo- Pulados (incompletos ou fora da cota).
counts.unchangedintegerobrigatóriopode vir nulo- Conferidos sem mudança (nada gravado).
counts.confirmedintegerobrigatóriopode vir nulo- Confirmados (só a data de disponibilidade renovada).
conflictsintegerobrigatório- Imóveis com campo editado na tela que o feed quis mudar — esperam a decisão em Imóveis › Importar.
scheduledForstringobrigatóriopode vir nulo- A sincronização agendada por
POST /v1/feed/syncpara o fim da janela (nulo = nenhuma).
FeedSyncResult
O desfecho.
outcomestringobrigatórioQUEUED(sincroniza já) ·SCHEDULED(agendada para o fim da janela de 10 minutos) ·ALREADY_SCHEDULED(já havia uma agendada — nada novo).um deQUEUEDSCHEDULEDALREADY_SCHEDULEDdryRunbooleanobrigatório- Foi ensaio (nada enfileirado).
ConfirmItem
O desfecho de um imóvel na confirmação.
idstring- O id pedido (quando o pedido veio por
ids). refstring- O código pedido (quando o pedido veio por
refs). propertyIdstringobrigatóriopode vir nulo- O imóvel achado (nulo quando não achou).
outcomestringobrigatórioCONFIRMED,ALREADY_CONFIRMED(há menos de 24 h — não regrava) ouNOT_FOUND.um deCONFIRMEDALREADY_CONFIRMEDNOT_FOUND