Visão geral
Documentação de uso para consumir a API Cadastro. Use esta referência junto com o Swagger disponível em /docs.
URL base e formato
- Base URL:
https://{host}/(substitua pelo domínio do ambiente contratado). - Todas as rotas respondem em JSON; envie
Content-Type: application/jsonquando houver corpo. - Padrão de paginação mais comum:
page(1-based) elimit/page_sizeouoffsetconforme o endpoint.
Autenticação
- Bearer (GlobalAuth):
Authorization: Bearer <token>– usado na maioria das rotas. O token é oauth_tokenemitido pelo Geo360 (tabelavm2.usuarios).
Convenções de rota
{municipio}: nome do tenant/banco (ex.:goiania,manaus).{camada}: nome da tabela/camada cadastral (ex.:lote,imobiliario).- Campos de filtro são passados via query string; buscas genéricas aceitam
type(exact,contains,icontains).
Visão por módulo
Health check (/health-check)
GET /health-check/– status da API.GET /health-check/startup/– verifica conexões aos bancos.GET /health-check/liveness/e/health-check/readiness/– probes de container.
Autenticação LDAP (/ldap)
POST /ldap/login/– login via LDAP. Envie credenciais conforme contrato do diretório; retorna erro 401 se inválido.
Integração PostgREST Manaus (/integracao-rest, Bearer Manaus)
GET /integracao-rest/{postgrest_query_path}– proxy parahttps://rest.integracao.manaus.web.etopocart.com.POST /integracao-rest/{camada}/– insere registro no PostgREST.GET /integracao-rest/{camada}/getall/– lista tudo.POST /integracao-rest/{postgrest_query_path}– atualização via PUT no destino (usa query string enviada).GET /integracao-rest/pagination/{camada}/{limit}/– paginação simples.
Provas digitais ICAD (/icad/provas-digitais, Basic Auth)
GET /icad/provas-digitais/{numero_cadastro}/– retorna prova digital por id de integração.GET /icad/provas-digitais/– lista todas.GET /icad/provas-digitais?filtros=...– busca por filtros (veja Swagger).POST /icad/provas-digitais/– cria.PUT /icad/provas-digitais/{id}/– atualiza.DELETE /icad/provas-digitais/{id}/– remove.
CRUD cadastral genérico (/crud, Bearer GlobalAuth)
Operações CRUD diretas sobre camadas do schema cadastro de cada município.
POST /crud/{municipio}/{camada}/– cria registro (body JSON). Ex.:POST /crud/goiania/lote/.PUT /crud/{municipio}/{camada}/– atualiza registro (body precisa doid).DELETE /crud/{municipio}/{camada}/?id={id}– exclui registro e relacionamentos principais.POST /crud/{municipio}/{camada}/import/– importação em lote.PUT /crud/{municipio}/{camada}/update/– atualização em lote.POST /crud/{municipio}/geo_image/save/ePUT /crud/{municipio}/geo_image/update/– gestão de geo_imagens.GET /crud/{municipio}/perfis/– amostra de perfis LIDAR (paginado).
Dados cadastrais e buscas (/ – router principal, Bearer GlobalAuth)
Rotas genéricas para leitura e busca de dados.
GET /{municipio}/{camada}/– lista registros com filtros via query (paginado).GET /{municipio}/{camada}/{id}/– busca por id (inclui relacionamentos paralote/imobiliario).GET /{municipio}/{camada}/pages/– número de páginas (opcionalbbox).GET /{municipio}/{camada}/search/{type}/{field}/{value}/– busca por campo.GET /{municipio}/{camada}/search2/params/– busca por múltiplos parâmetros via query string.GET /{municipio}/logradouro/buscar_endereco/– busca de imóvel por endereço/número/bairro.GET /{municipio}/{camada}/busca_imoveis/{id_lote}/e variantes – busca imóveis relacionados a lote.GET /{municipio}/{camada}/novos/– registros mais recentes.- Rotas específicas de integração (Quasar, Sabará, Santo Antônio de Jesus) descritas no Swagger.
Geo360 avançado (/geo360, Bearer GlobalAuth)
Operações geoespaciais e consultas enriquecidas.
GET /geo360/{municipio}/{camada}/– listagem com paginação e filtros.GET /geo360/{municipio}/{camada}/{id}/– detalhe (lote/imobiliario traz dados relacionados).GET /geo360/{municipio}/{camada}/pages/– paginação.GET /geo360/{municipio}/{camada}/search/{type}/{field}/{value}/– busca textual.GET /geo360/{municipio}/{camada}/intersectePOST /geo360/{municipio}/camadas/intersect/– interseção espacial.GET /geo360/{municipio}/filtro_relacionamentos/*– filtros de relacionamentos por lote.GET /geo360/{municipio}/usuarios/permissoes/– permissões do usuário autenticado.- Outras rotas específicas (webhook de integração, notificações Criciúma) vide Swagger.
Explorer SQL (/explorer, Bearer GlobalAuth)
Camada para montar/rodar consultas dinâmicas.
POST /explorer/{municipio}/query/previewou/preview2– gera SQL a partir de JSON.GET /explorer/{municipio}/{camada}– lista dados (paginado).POST /explorer/{municipio}/{camada}– cria.PUT /explorer/{municipio}/{camada}/{id}/DELETE– atualiza/remove.GET /explorer/{municipio}/tabelas/– catálogo de tabelas/campos.POST /explorer/{municipio}/report/{id}/export-excel|export-pdf– exportações.
PostgREST local (/postgrest, Bearer GlobalAuth)
GET /postgrest/tipos/valores/{camada}/{formulario}/{limite}/{offset}/– valores de formulário por camada.POST /postgrest/tipos/valores/geometrias/– retorna tipos de valores a partir de ids de geometrias.
Mapoteca (/mapoteca, Bearer GlobalAuth)
GET /mapoteca/{municipio}/busca/espacial/– recursos dentro de bbox (minLongitude,minLatitude,maxLongitude,maxLatitude, paginação).GET /mapoteca/{municipio}/busca/{palavras_chave}– busca por palavras-chave.PUT /mapoteca/{municipio}/item/{id}/eDELETE– atualizar/remover metadados de recurso.
Equação de valor venal (/equacao, Bearer Bnau)
POST /equacao/calculo/{municipio}/terreno/calcularvalor/– cálculo de terreno (body JSON com dados do imóvel).POST /equacao/calculo/{municipio}/construcao/calcularvalor/– cálculo de construção.
Arquivos e mídia (/midia, parte de arquivos)
- Upload base64:
POST /midia/{municipio}/storage(Bearer GlobalAuth) – upload base64 comarquivo,nome,extensao; retornalink.POST /midia/storage– mesma operação sem município (sem auth).
- Gestão no banco (Bearer GlobalAuth):
POST /midia/{municipio}/arquivos– cria registro de mídia.GET /midia/{municipio}/arquivos/{id}– consulta.PUT /midia/{municipio}/arquivos/{id}– atualiza.DELETE /midia/{municipio}/arquivos/{id}– remove.
POST /midia/storage-form– upload multipart (campofile, opcionalbucket).GET /midia/get?file_url=...– download direto.
Visualizador 360 (/visualizador360, Bearer GlobalAuth)
GET /visualizador360/{municipio}/nearest-panorama-from-feature/{layer}/{layer_id}– panorama mais próximo de uma feição.GET /visualizador360/{municipio}/get-panoramas-in-radius/{pano_id}/{distance}/{height_ref}– panoramas próximos.GET /visualizador360/{municipio}/get-imobiliarios-in-radius/{pano_id}/{distance}– imóveis próximos a um panorama.GET /visualizador360/{municipio}/nearest-panorama-and-azimuth/{layer}/{layer_id}– panorama + azimute.GET /visualizador360/{municipio}/formularios/{schema_table}– campos de formulário.GET /visualizador360/{municipio}/valores/{schema_table}/{id}– valores de registro.GET /visualizador360/{municipio}/ultima-alteracao/{schema_table}/{id}– último auditor.POST /visualizador360/{municipio}/atts– inserções/atualizações em lote via schema de atributos.GET /visualizador360/{municipio}/tenant-config/{id_tenants}– configurações do tenant.GET /visualizador360/auth– autentica pelo Bearer e retorna usuário + config.
Caracterização (/caracterizacao, Bearer GlobalAuth)
GET /caracterizacao/{municipio}/nearest-features/{layer_reference}/{layer_reference_id}/{layer_interest}/{limit}– feições mais próximas.GET /caracterizacao/{municipio}/get-data/{id_lote}– pacote completo do lote (imobiliário, pessoas, mídias, visitas).POST /caracterizacao/{municipio}/lookups/batch– múltiplas consultas simples para selects (arrayqueries).- Outras rotas: geração de logs/auditoria, integrações com webhook, etc. Consulte Swagger para filtros específicos.
Domínios (/dominio, Bearer GlobalAuth)
GET /dominio/{municipio}/{campo}– lista domínios (tabelas do schemadominio).POST /dominio/{municipio}/{campo}– cria (camposidecodigodevem ser iguais).PUT /dominio/{municipio}/{campo}/{id}– atualiza.DELETE /dominio/{municipio}/{campo}/{id}– remove.
Aplicativo móvel (/aplicativo, Bearer GlobalAuth na maioria)
GET /aplicativo/{municipio}/aplicativo/data/{id_lote}– pacote de dados do lote (geometrias, pessoas, mídias).POST /aplicativo/{municipio}/{camada}/intersect/bounding-box/– interseção por bounding box.POST /aplicativo/{municipio}/aplicativo/get-tiles-from-lote/– lista tiles XYZ que cobrem os lotes informados.POST /aplicativo/criar-issue-easyredmine– cria issue no Easy Redmine.POST /aplicativo/{city}/aplicativo/process-logs-v2/– processamento de logs offline.
Portal (/portal, Bearer GlobalAuth)
GET /portal/{municipio}/imovel– proxy de busca de imóveis (aceitainscricao_cartografica,numero_cadastro, etc.).GET /portal/{municipio}/avaliacao/terreno– avaliação de terreno.POST /portal/{municipio}/avaliacao/construcao– avaliação de construção.GET /portal/{municipio}/avaliacao/iptu– avaliação de IPTU.GET /portal/cache-reloader– recarrega cache de configurações (uso operacional).
Agendamento simples (/agendamento)
GET /agendamento/{municipio}/reservas– lista reservas.POST /agendamento/{municipio}/reservas– cria reserva.PUT /agendamento/{municipio}/reservas/{id}– atualiza.DELETE /agendamento/{municipio}/reservas/{id}– remove.PUT /agendamento/{municipio}/avanca-status/{id}– avança status conforme fluxo (agendado→em_progresso→concluido).GET /agendamento/{municipio}/horarios-disponiveis– slots de horário.
Atendimento e vistorias (/atendimento, Bearer GlobalAuth exceto rotas public)
GET /atendimento/{municipio}/protocolos– lista protocolos com filtros e paginação.POST /atendimento/{municipio}/vistoria– cria agendamento de vistoria.GET /atendimento/{municipio}/vistoria– lista vistorias com filtros.GET|PUT /atendimento/{municipio}/vistoria/{agendamento_id}– consulta/atualiza vistoria.- Público (sem Bearer, requer token de acesso específico no payload/request):
GET /atendimento/{municipio}/public/vistoria/{agendamento_id}PUT /atendimento/{municipio}/public/vistoria/{agendamento_id}
POST /atendimento/{municipio}/auditoria– registra auditoria de deferimento.
Exemplos rápidos (cURL)
# Health check
curl https://{host}/health-check/
# Lista lotes (Bearer)
curl -H "Authorization: Bearer <TOKEN>" \
"https://{host}/goiania/lote/?page=1&limit=50"
# Criar mídia com upload base64
curl -X POST "https://{host}/midia/goiania/storage" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{"arquivo":"<base64>","nome":"foto_imovel","extensao":".jpg"}'
# Cálculo de valor venal (equacao)
curl -X POST "https://{host}/equacao/calculo/goiania/terreno/calcularvalor/" \
-H "Authorization: Bearer jBO0n1oirCd1PZY12aLBVtXGBfjwtiMoPyZ0UjjFKn4vwqFlQygD644aac221ee68" \
-H "Content-Type: application/json" \
-d '{ "area": 300, "frente": 12, "topografia": "plano", "...": "..." }'Dicas finais
- Consulte
/docspara ver o contrato completo (schemas, exemplos e respostas). - Sempre envie
Authorizationquando a rota usar GlobalAuth ou tokens específicos; erros 401/403 indicam problema de credencial ou tenant inválido. - Inclua o
{municipio}correto: ele define o banco/schema onde a operação será executada. - Para integrações assíncronas, observe respostas de auditoria/webhook retornadas pelos endpoints de CRUD.