Skip to Content
UsuárioAPI'sAPI Cadastro

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/json quando houver corpo.
  • Padrão de paginação mais comum: page (1-based) e limit/page_size ou offset conforme o endpoint.

Autenticação

  • Bearer (GlobalAuth): Authorization: Bearer <token> – usado na maioria das rotas. O token é o auth_token emitido pelo Geo360 (tabela vm2.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 para https://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 do id).
  • 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/ e PUT /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 para lote/imobiliario).
  • GET /{municipio}/{camada}/pages/ – número de páginas (opcional bbox).
  • 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}/intersect e POST /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/preview ou /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}/ e DELETE – 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 com arquivo, nome, extensao; retorna link.
    • 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 (campo file, opcional bucket).
  • 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 (array queries).
  • 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 schema dominio).
  • POST /dominio/{municipio}/{campo} – cria (campos id e codigo devem 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 (aceita inscricao_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 (agendadoem_progressoconcluido).
  • 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 /docs para ver o contrato completo (schemas, exemplos e respostas).
  • Sempre envie Authorization quando 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.