Geolocalização de ativos e chamados no GLPI

O módulo Geolocation do NexTool captura as coordenadas GPS do técnico ao registrar acompanhamentos e soluções no GLPI e converte em endereço legível via geocoding reverso com Nominatim (OpenStreetMap), sem chave de API. Veja como funciona, como ativar, o requisito de HTTPS e quando o módulo não vale a pena.

Onde estava o técnico quando resolveu o chamado? O módulo Geolocation do NexTool responde essa pergunta sem depender da palavra de ninguém: captura as coordenadas GPS no momento em que o técnico registra o acompanhamento ou a solução e mostra o endereço físico direto na linha do tempo do ticket. Neste artigo mostramos a dor real que ele resolve, como funciona por baixo, como ativar e - com a mesma honestidade que aplicamos nos ambientes que sustentamos - quando ele não vale a pena.

O problema: atendimento externo sem prova de presença

Em operações de campo - manutenção de infraestrutura, troca de equipamento numa filial, visita técnica a cliente - saber onde o técnico estava ao registrar a ocorrência faz parte do controle. Auditoria de SLA, faturamento por deslocamento, planejamento de rota e a simples confiança na equipe dependem disso. O problema é que o GLPI, sozinho, não guarda essa informação.

A única forma nativa de registrar localização em um acompanhamento é digitar o endereço à mão no corpo do texto. E digitar endereço na correria de um atendimento é um convite ao erro: fica incompleto, vem com a rua trocada, ou simplesmente não vem. Pior, é autodeclarado - não há nenhuma coordenada por trás que sustente uma auditoria. O gestor que precisa confirmar presença física em um chamado externo acaba dependendo da palavra do técnico ou de um app de rastreamento paralelo que nunca conversa com o GLPI.

O resultado é uma lacuna de rastreabilidade que compromete tanto a qualidade dos dados operacionais quanto a credibilidade dos relatórios de atendimento.

Como o Geolocation funciona

O módulo injeta um botão "Obter Localização" nos formulários de acompanhamento e de solução do chamado. Ao clicar, o navegador pede a permissão de geolocalização e captura, via API nativa do browser, três dados:

  • Latitude e longitude - a coordenada crua, que é o dado que sustenta a auditoria.
  • Precisão em metros - a margem de erro da leitura, que varia muito conforme o dispositivo.
  • Endereço legível - obtido por geocoding reverso automático via Nominatim (OpenStreetMap), serviço gratuito e sem necessidade de chave de API.

Depois de salvar o acompanhamento ou a solução, um badge de localização aparece na linha do tempo do chamado com o endereço formatado, a precisão em metros e um link direto para o ponto no OpenStreetMap. Além do badge, o módulo oferece:

  • Histórico completo por ticket - toda captura fica vinculada ao chamado; um atendimento com várias visitas guarda todas.
  • Inserção de texto formatado - a localização pode ser inserida automaticamente no corpo do acompanhamento, não só no badge.
  • Página de teste integrada - valida captura, permissão do navegador e geocoding direto nas configurações, sem precisar abrir um chamado real.
  • Suporte a múltiplos provedores - Nominatim já implementado; Google Maps e Mapbox preparados para ativação futura, para quem precisar de mais precisão ou volume.

Na prática, a diferença em relação ao GLPI puro está menos no "onde" aparece e mais em quão confiável é o dado por trás:

CritérioEndereço digitado no acompanhamento (nativo)Módulo Geolocation
EndereçoTexto livre, sujeito a erro de digitaçãoPreenchido por geocoding reverso das coordenadas
PrecisãoNenhuma - não há coordenadaLatitude/longitude + margem em metros
AuditabilidadeAutodeclarado, sem provaCoordenada crua registrada no instante da ação
Esforço do técnicoDigitar o endereço inteiroUm clique em "Obter Localização"

O bloco de localização gravado no acompanhamento fica parecido com isto - endereço para o humano ler e link do mapa para conferir o ponto exato:

Localização registrada em 04/12 14:32
Endereço: Av. Paulista, 1578 - Bela Vista, São Paulo - SP
Precisão: ~18 m
Mapa: https://www.openstreetmap.org/?mlat=-23.5613&mlon=-46.6558

# Requisito de contexto seguro (o botão só aparece e funciona sob HTTPS):
#   Permissions-Policy: geolocation=(self)

Como ativar

  1. Instale o plugin NexTool no seu GLPI.
  2. Acesse Configuração > NexTool > Módulos.
  3. Localize o card Geolocação, clique em Instalar e depois em Ativar.
  4. Em Configurar, ajuste o provedor de geocoding e as opções de exibição do badge.
  5. Garanta que o ambiente responde por HTTPS - sem contexto seguro o navegador nem exibe o pedido de permissão e o botão falha em silêncio.

O que aprendemos usando em campo

Três detalhes só aparecem quando você opera o módulo de verdade. Primeiro: sem HTTPS o navegador não pede permissão de geolocalização e o botão falha silenciosamente - não dá erro visível, simplesmente não captura. Já perdemos tempo caçando "bug" que era apenas um ambiente de homologação servido em HTTP puro. Segundo: o Nominatim do OpenStreetMap é gratuito, mas tem política de uso justo e limite de taxa - ele serve para a captura pontual de um atendimento, não para geocodificar uma base inteira de uma vez; quem precisa de volume migra para Google Maps ou Mapbox. Terceiro: a precisão varia muito. Um celular com GPS a céu aberto entrega poucos metros; um desktop que se localiza por Wi-Fi e IP pode errar por quarteirões. Por isso o geocoding reverso às vezes devolve a rua vizinha - e é exatamente por isso que guardamos também a latitude e a longitude cruas: o endereço é conveniência para o humano ler, a coordenada é a prova que sustenta a auditoria.

Para quem é indicado - e quando não usar

O módulo rende para equipes de campo com atendimento externo, empresas que precisam auditar presença física em chamados de infraestrutura e gestores que querem enriquecer os dados do GLPI com contexto geográfico sem amarrar um sistema de rastreamento à parte.

Ele rende pouco - ou não funciona - em dois cenários. Uma equipe 100% interna ou remota, que atende do próprio posto sem deslocamento, ganha pouco: a localização registrada vai ser sempre a mesma sala. E um ambiente sem HTTPS simplesmente não tem como usar, porque o navegador bloqueia a geolocalização fora de contexto seguro. Se for esse o seu caso, resolva o certificado antes de pensar no módulo.

Compatibilidade

  • GLPI: 10.x e 11.x
  • Plano: sob demanda (PAID)
  • Plugin: NexTool 3.x ou superior

Próximo passo

O Geolocation é um dos módulos do NexTool, plugin modular para GLPI. Para saber se ele faz sentido na sua operação de campo, fale com a equipe.


Revisado pela equipe NexTool Solutions.

Perguntas Frequentes

Não. Nativamente só dá para digitar o endereço à mão no acompanhamento, sem coordenada por trás. O módulo Geolocation do NexTool captura latitude, longitude e precisão via GPS do navegador no momento da ação e converte em endereço legível por geocoding reverso.

Sim, é obrigatório. Os navegadores só concedem permissão de geolocalização em contexto seguro (HTTPS). Sem HTTPS o navegador nem exibe o pedido de permissão e o botão Obter Localização falha silenciosamente, sem erro visível.

Não. O Nominatim (OpenStreetMap) é gratuito e não exige chave. Ele tem, porém, política de uso justo e limite de taxa, servindo para a captura pontual de um atendimento e não para geocodificar bases inteiras de uma vez. Para volume ou mais precisão, o módulo prepara Google Maps e Mapbox.

Varia conforme o dispositivo. Um celular com GPS a céu aberto entrega poucos metros; um desktop localizado por Wi-Fi e IP pode errar por quarteirões. Por isso o módulo grava também a latitude e a longitude cruas junto do endereço, para que a auditoria se apoie na coordenada e não só no texto.

Sim. O módulo usa a API de geolocalização do navegador, que funciona em smartphones e tablets com GPS ativado, desde que o GLPI seja acessado por HTTPS.

Para equipes 100% internas ou remotas, que atendem sempre do mesmo posto sem deslocamento, o ganho é pequeno porque a localização será sempre a mesma. E ambientes sem HTTPS não conseguem usá-lo, já que o navegador bloqueia a geolocalização fora de contexto seguro.

Precisa de ajuda?