Skip to Content
VersõesUnstableAPIAgente

/unstable/agentes/todos

Method: GET

Essa rota retorna a lista paginada de agentes vinculados à imobiliária autenticada. Pode ser utilizada para alimentar a página de “Equipe” ou “Corretores” do site da imobiliária.

O usuário autenticado precisa ter um plano ativo. Os agentes são ordenados pelo VGV do portfólio (decrescente).

Ela aceita as seguintes Query Strings:

types.ts
search: string currentPage: number perPage: number state?: UF city?: string areas?: string[]

O parâmetro search é obrigatório e faz uma busca de texto nos campos: nome, e-mail (o mesmo devolvido em email: o profissional do corretor), telefone, e nas áreas de atuação (estado, cidade e bairro). Use string vazia para não filtrar.

Os parâmetros currentPage e perPage são obrigatórios e definem a paginação.

O parâmetro state é opcional e filtra os agentes que possuem ao menos uma área de atuação no estado selecionado.

O parâmetro city é opcional e filtra os agentes que possuem ao menos uma área de atuação na cidade selecionada.

O parâmetro areas é opcional e aceita uma lista de bairros separados por vírgula. Filtra os agentes que possuem ao menos uma área de atuação em algum dos bairros selecionados.

Retorna um objeto com a lista de AgentsPageAgent e o total de resultados.

actions.ts
export async function getAllAgents({ search, currentPage, perPage, state, city, areas, }: { search: string; currentPage: number; perPage: number; state?: UF; city?: string; areas?: string[]; }) { const headers = new Headers(); headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`); const response = await fetch( `${BASE_URL}/${VERSION}/agentes/todos?search=${search}&currentPage=${currentPage} &perPage=${perPage}&state=${state}&city=${city}&areas=${areas?.join(",")}`, { headers, ...CONFIG }, ); if (response.ok) return (await response.json()) as { agents: AgentsPageAgent[]; total: number; }; return { agents: [], total: 0 }; }

/unstable/agentes/[slug]

Method: GET

Essa rota retorna o perfil completo de um agente da imobiliária autenticada, identificado pelo slug. Pode ser utilizada para alimentar a página de perfil do corretor no site.

O agente precisa estar vinculado à imobiliária autenticada e o usuário autenticado precisa ter um plano ativo.

Retorna um objeto com o UserProfile no campo agent.

actions.ts
export async function getAgent(slug: string) { const headers = new Headers(); headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`); const response = await fetch( `${BASE_URL}/${VERSION}/agentes/${slug}`, { headers, ...CONFIG }, ); if (response.ok) { const { agent } = (await response.json()) as { agent: UserProfile }; return agent; } return null; }

/unstable/agentes/portfolio/[slug]

Method: GET

Essa rota retorna a lista paginada de imóveis do portfólio de um agente da imobiliária autenticada, identificado pelo slug. Permite separar entre imóveis ativos (selecionados no painel de integrações  do site) e imóveis vendidos pelo agente.

O slug precisa ser o de um agente vinculado à imobiliária autenticada (a mesma regra do /agentes/[slug]) ou o da própria imobiliária, que traz o portfólio de todos os agentes dela. Qualquer outro slug, inclusive inexistente, responde 404 com { "error": "agent not found" }. O usuário autenticado precisa ter um plano ativo.

Ela aceita as seguintes Query Strings:

types.ts
currPage: number perPage: number sold: boolean

Os parâmetros currPage e perPage são obrigatórios e definem a paginação.

O parâmetro sold é obrigatório. Quando false retorna os imóveis ativos do agente que estão no site da imobiliária: exclusivos, disponíveis para venda ou locação (sem negociação em andamento), com ao menos uma foto e sem preço ou endereço ocultos (ordenados pela data de criação, decrescente). Quando true retorna os imóveis vendidos creditados ao agente (ordenados pelo valor de venda, decrescente): os negócios fechados em que ele aparece como corretor, imobiliária, gestor compartilhado ou parceiro, e aqueles em que ele está entre os participantes da comissão, identificado pelo CPF (agente) ou CNPJ (pessoa jurídica) cadastrado na conta. O documento não é obrigatório: sem ele, a lista traz só os negócios do primeiro grupo.

Nem sempre foi assim. Até 18/10/2026 a rota ignorava o slug: qualquer valor, mesmo inexistente, devolvia o portfólio da imobiliária autenticada inteira, e a conta autenticada sem CPF ou CNPJ cadastrado recebia 400 com user has no document. Se a sua integração montava a visão por agente com esta rota, os números mudaram: agora cada slug traz só o portfólio daquele agente.

Retorna um objeto com a lista de CardProperty e o total de resultados.

actions.ts
export async function getAgentPortfolio({ slug, currPage, perPage, sold, }: { slug: string; currPage: number; perPage: number; sold: boolean; }) { const headers = new Headers(); headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`); const response = await fetch( `${BASE_URL}/${VERSION}/agentes/portfolio/${slug}?currPage=${currPage} &perPage=${perPage}&sold=${sold}`, { headers, ...CONFIG }, ); if (response.ok) return (await response.json()) as { properties: CardProperty[]; total: number; }; return { properties: [], total: 0 }; }

Last updated on