API REST segura para consulta de parceiros e empreendimentos Helbor.
v1.0.0 · ProduçãoTodas as requisições (exceto /health) exigem o header:
Requisições sem chave ou com chave inválida retornam 401 Unauthorized.
Consulta um parceiro por telefone, e-mail ou CPF/CNPJ. Pelo menos um parâmetro é obrigatório. Quando múltiplos registros são encontrados, retorna o de maior id (mais recente).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
phone | string | Condicional | Celular ou telefone em qualquer formato. O código do país +55 é removido automaticamente. |
email | string | Condicional | E-mail exato do parceiro (case-insensitive). |
document | string | Condicional | CPF ou CNPJ em qualquer formato (pontos, traços e barras são removidos). |
curl "https://public-api.corretoron.com.br/api/partners/lookup?phone=11983523452" \ -H "x-api-key: <sua-chave>"
curl "https://public-api.corretoron.com.br/api/partners/lookup?email=parceiro@exemplo.com" \ -H "x-api-key: <sua-chave>"
curl "https://public-api.corretoron.com.br/api/partners/lookup?document=123.456.789-00" \ -H "x-api-key: <sua-chave>"
Verifica se a API e o banco de dados estão acessíveis.
curl "https://public-api.corretoron.com.br/api/partners/health"
Lista as cidades que possuem empreendimentos ativos, com contagem por cidade.
curl "https://public-api.corretoron.com.br/api/developments/cities" \ -H "x-api-key: <sua-chave>"
Busca empreendimentos ativos. Todos os parâmetros são opcionais e combináveis. Suporta busca fuzzy por nome e cidade — erros de digitação são resolvidos automaticamente. Quando fuzzy, a resposta inclui "fuzzy": true e "city_resolved" com o nome da cidade resolvida.
| Parâmetro | Tipo | Descrição |
|---|---|---|
q | string | Busca por nome (LIKE %q%, com fallback fuzzy). |
neighborhood | string | Filtro por bairro (LIKE %neighborhood%). |
city | string | Filtro por cidade com busca fuzzy (ex: Moji → Mogi das Cruzes). |
status | string | Filtro por status: LAN, OBR, OBR_INICIADA, CON, BREVE, FUTURO. |
curl "https://public-api.corretoron.com.br/api/developments/search?q=BRK" \ -H "x-api-key: <sua-chave>"
curl "https://public-api.corretoron.com.br/api/developments/search?city=Moji" \ -H "x-api-key: <sua-chave>"
curl "https://public-api.corretoron.com.br/api/developments/search?city=S%C3%A3o+Paulo&status=LAN" \ -H "x-api-key: <sua-chave>"
Retorna todos os dados de um empreendimento: ficha técnica, tabelas de preço, galeria, plantas, materiais de apoio, tour virtual, vídeo e posts de redes sociais. Campos sensíveis retornam "restricted" quando o celular não é de um parceiro cadastrado.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
phone | string | Opcional | Celular do parceiro (qualquer formato, ex: 5511983523452 ou 11 9 8352-3452). Se fornecido e cadastrado, libera campos protegidos. |
curl "https://public-api.corretoron.com.br/api/developments/174" \ -H "x-api-key: <sua-chave>"
curl "https://public-api.corretoron.com.br/api/developments/174?phone=5511983523452" \ -H "x-api-key: <sua-chave>"
Localiza o e-mail cadastrado de um parceiro por telefone ou CPF e retorna apenas a versão mascarada — nunca o endereço completo. Use este endpoint antes de forgot-password para confirmar com o usuário qual e-mail será utilizado.
| Parâmetro | Tipo | Descrição |
|---|---|---|
phone | string | Celular ou telefone do parceiro. Aceita qualquer formatação: 11983523452, 11 98352-3452, +5511983523452. |
cpf | string | CPF do parceiro. Aceita com ou sem pontuação: 123.456.789-00 ou 12345678900. |
# Com número sem formatação curl "https://public-api.corretoron.com.br/api/auth/find-email?phone=11983523452" \ -H "x-api-key: <sua-chave>" # Com número formatado (espaço e hífen são aceitos) curl "https://public-api.corretoron.com.br/api/auth/find-email?phone=11+98352-3452" \ -H "x-api-key: <sua-chave>" # Por CPF curl "https://public-api.corretoron.com.br/api/auth/find-email?cpf=123.456.789-00" \ -H "x-api-key: <sua-chave>"
{ "found": true, "email_masked": "co********@ma*********.com" }
| Código | Significado |
|---|---|
200 | Parceiro encontrado — e-mail mascarado retornado. |
400 | Nenhum parâmetro informado. |
401 | API key ausente ou inválida. |
404 | Nenhum parceiro encontrado com os dados informados. |
503 | Falha de banco de dados. |
Envia um e-mail com link para criação de nova senha. Aceita email, phone ou cpf como identificador do parceiro.
| Campo | Tipo | Descrição |
|---|---|---|
email | string | E-mail cadastrado do parceiro. |
phone | string | Celular ou telefone (com ou sem +55/DDI). |
cpf | string | CPF do parceiro (com ou sem pontuação). |
curl -X POST "https://public-api.corretoron.com.br/api/auth/forgot-password" \
-H "x-api-key: <sua-chave>" \
-H "Content-Type: application/json" \
-d '{"email": "parceiro@exemplo.com"}'
{ "success": true, "message": "E-mail de redefinição de senha enviado com sucesso." }
| Código | Significado |
|---|---|
200 | E-mail enviado com sucesso. |
400 | Nenhum campo informado ou e-mail inválido. |
401 | API key ausente ou inválida. |
404 | Parceiro não encontrado com os dados informados. |
503 | Falha de banco de dados ou no envio do e-mail. |
{
"found": true,
"partner": {
"name": "Maike Robert",
"razaoSocial": "",
"email": "corretoron@maikerobert.com",
"type": "corretor_imobiliario",
"cadastroType": "PF",
"createdAt": "2024-05-10T14:56:57.000Z",
"gpName": "João Pedro",
"gpPhone": "(11) 99780-1997",
"regions": ["Brooklin", "Mogi das Cruzes", "São Bernardo do Campo"]
}
}
{ "found": false, "partner": null }
| Campo | Tipo | Descrição |
|---|---|---|
found | boolean | Indica se o parceiro foi localizado. |
partner.name | string | Nome completo do parceiro. |
partner.razaoSocial | string | Razão social (vazio para PF). |
partner.email | string | E-mail cadastrado. |
partner.type | string | Tipo de usuário (ex: corretor, imobiliaria). |
partner.cadastroType | string | Tipo de cadastro (ex: PF, PJ). |
partner.createdAt | string (ISO 8601) | null | Data e hora de cadastro do parceiro (UTC). |
partner.gpName | string | null | Nome do GP associado, ou null. |
partner.gpPhone | string | null | Telefone do GP, ou null. |
partner.regions | string[] | Regiões de interesse cadastradas (array de nomes, pode ser vazio). |
{
"count": 7,
"cities": [
{ "id": 9668, "name": "São Paulo", "uf": "SP", "total": 36 },
{ "id": 9369, "name": "Mogi das Cruzes", "uf": "SP", "total": 6 }
]
}
| Campo | Tipo | Descrição |
|---|---|---|
count | number | Total de cidades retornadas. |
cities[].id | number | ID interno da cidade. |
cities[].name | string | Nome da cidade. |
cities[].uf | string | Sigla do estado. |
cities[].total | number | Quantidade de empreendimentos ativos nessa cidade. |
{
"count": 2,
"city_resolved": "Mogi das Cruzes",
"developments": [
{
"id": 174,
"name": "BRK by Helbor",
"slug": "brk-by-helbor",
"neighborhood": "Brooklin",
"city": "São Paulo",
"uf": "SP",
"status": "OBR_INICIADA",
"status_name": "Obras iniciadas",
"bedrooms": "1",
"area": "37 à 43",
"fuzzy": true
}
]
}
| Campo | Tipo | Descrição |
|---|---|---|
count | number | Total de resultados. |
city_resolved | string | Presente apenas quando a cidade foi resolvida por busca fuzzy. |
developments[].id | number | ID do empreendimento (usar em /:id). |
developments[].name | string | Nome completo. |
developments[].slug | string | Slug para URL. |
developments[].neighborhood | string | Bairro. |
developments[].city | string | Cidade. |
developments[].uf | string | Estado. |
developments[].status | string | Código do status: LAN, OBR, OBR_INICIADA, CON, BREVE, FUTURO. |
developments[].status_name | string | Status legível: Lançamento, Em obras, Obras iniciadas, Concluído, Em breve, Futuro lançamento. |
developments[].bedrooms | string | Quantidade de dorm. |
developments[].area | string | Área privativa (m²). |
developments[].fuzzy | boolean | Presente e true quando o resultado veio de busca aproximada. |
| Campo | Tipo | Descrição |
|---|---|---|
id, name, slug | number/string | Identificação do empreendimento. |
neighborhood, city, uf | string | Localização. |
address, number, cep | string | Endereço completo. |
latitude, longitude | string | Coordenadas geográficas. |
status, status_name, status_color | string | Status do empreendimento (código, legĂvel e cor hex). |
description, short_description | string | Descrição completa e resumida. |
incorporator, construction_company | string | Incorporadora e construtora. |
delivery_date | string | Previsão de entrega (YYYY-MM-DD). |
bedrooms, suites, bathroom | string | Ficha técnica — dormitórios. |
area, towers, floors, total_units | string | Ficha técnica — dimensões. |
cover_photo, image_open_graph | string | Foto de capa e imagem para compartilhamento. |
is_partner | boolean | Indica se o phone fornecido é de um parceiro cadastrado. |
is_featured | boolean | Empreendimento em destaque. |
is_social_ai | boolean | Possui posts de redes sociais gerados por IA. |
promotion_table | number | Flag de tabela em promoção. |
Quando phone é omitido ou não pertence a um parceiro cadastrado, esses campos retornam a string "restricted" em vez do valor real.
| Campo | Tipo | Descrição |
|---|---|---|
tables | string[] | "restricted" | URLs dos PDFs de tabela de preço. |
gallery | string[] | "restricted" | URLs das fotos individuais. |
images | string[] | "restricted" | Galeria (alias de gallery, mantido por compatibilidade). |
floor_plans | string[] | "restricted" | URLs das plantas. |
image_thumbs | string[] | "restricted" | Thumbnails das fotos. |
floor_plan_thumbs | string[] | "restricted" | Thumbnails das plantas. |
compressed_images | string | null | "restricted" | URL do ZIP de fotos. |
compressed_floor_plans | string | null | "restricted" | URL do ZIP de plantas. |
video_share | string | null | "restricted" | URL do vídeo de divulgação. |
youtube | string | null | "restricted" | Link do YouTube. |
virtual_tour | string | null | "restricted" | URL do tour virtual. |
references | object[] | "restricted" | Materiais de apoio: paper, caderno técnico, pacotes de fotos/plantas, perspectivas. |
social_media_posts | object[] | "restricted" | Posts de redes sociais (media_url, media_type, post_location, thumb). |
| Status | Significado |
|---|---|
200 | Sucesso — verifique o campo found. |
400 | Nenhum parâmetro válido fornecido. |
401 | API key ausente ou inválida. |
429 | Rate limit atingido (100 req/min por IP). |
503 | Banco de dados temporariamente inacessível. |
500 | Erro interno inesperado. |