Skip to content

6. O policial consulta uma placa ou uma pessoa ​

As consultas que o policial faz em campo, com a própria sessão. A de placa já existe e está em produção; a de pessoa ainda não tem porta no .

Placa ​

Duas rotas fora dos plugins, autenticadas com a sessão do usuário. A fonte que responde varia por ambiente: ramifique por provider.

GET /consulta-placa?placa=ABC1D23&observacoes=abordagem      Authorization: Bearer <token>
→ 200 {"provider":"detran-es","formato":"json","fonte":"DETRAN-ES",
       "data":{"placa":"ABC1D23","descMarca":"…","descCor":"…","nomeDetentorVeiculo":"…","flgFurtoRoubo":"N",…},
       "interesses":[{"tipo":"furto_ou_roubo","descricao":"…","registrado_em":"…","fonte":"geohub","atualizado_em":"…"}]}

GET /omitir-alerta?placa=ABC1D23
→ 200 {"placa":"ABC1D23","omitir_alerta":false,"mensagem":"Alerta não deve ser omitido","interesses":[…]}
  • Ao menos um de placa, placa_original (como o leu) ou placa_corrigida (correção do operador, tem precedência) é obrigatório. observacoes vai à .
  • provider é detran-es (Detran-ES Cerco Eletrônico) ou ssp-al (SSP-AL Videomonitoramento), e data fica no formato nativo da fonte. A ordem das fontes e a estratégia (failover ou priority_race) são configuradas por ambiente.
  • interesses[] combina a coleção furto_roubo_veiculo do Geohub com as fontes externas; é best-effort (uma falha devolve lista vazia).
  • omitir_alerta tem três estados: true omite, false não omite (furto ou roubo recente), null nenhuma fonte soube responder. Compare com === true e === false.
  • Toda consulta grava um registro somente leitura em consulta_veiculo, com o usuário. formato=html devolve uma página pronta; sem nenhuma fonte configurada, 503.

As duas operações estão documentadas na API (tag "Consulta de veículo").

O app ainda não usa essa rota

No app de smartphone e no Conexão CIODES a consulta de veículo vai ao proxy legado, fora do Geohub. A migração para /consulta-placa está decidida.

Pessoa ​

Não existe endpoint de consulta de pessoa no Geohub

Não há rota por CPF, RG ou nome nas extensões nem na OpenAPI. A busca que o app faz hoje (nome, CPF, RG, nome da mãe) vai ao proxy legado, fora do Geohub, e a$ resposta traz identidade, foto, descrição física, restrição, pendência criminal e boletins. Para o Conexão CIODES consultar pessoas pelo Geohub, essa porta ainda precisa ser desenhada, no mesmo molde da .

O que o Geohub tem do lado de pessoas é o registro de identificação em campo e a notificação ao NIR:

  • Informar : o app envia as fotos por POST /files e cria o item com POST /items/pessoa_identificacao (nome, cpf, mae_nome, data_cadastro, localizacao, fotos[], observacoes), com a sessão do policial. O papel tem pessoa.identificar e pessoa.consultar-cadastro.
  • Ciclo do registro: status PENDENTE, VERIFICANDO, CONCLUIDA; o operador preenche os dados encontrados, a fonte (IDENTIFICACAO_FACIAL), o resultado (NAO_IDENTIFICADA, CORRESPONDENCIA, IDENTIFICADA, INCONCLUSIVA) e a situação (SEM_RESTRICAO, COM_RESTRICAO, OUTRO).
  • NIR: a extensão pessoa-interesse cria uma notificação por usuário ativo dos papéis configurados; o push sai pela extensão de push notification. A notificação não leva dado pessoal.
  • Busca facial: só o simulador buscador-pessoas-simulador, página do operador sobre pessoas fictícias. Não é API para o app.
POST /files                              -F file=@foto.jpg
POST /items/pessoa_identificacao
     {"nome":"…","cpf":"…","mae_nome":"…","data_cadastro":"…","localizacao":{…},
      "fotos":[{"sort":1,"foto":"<id do file>"}],"observacoes":"…"}