Começar: o que você entrega e o que recebe
Antes do primeiro comando existe um cadastro, e ele não é seu: o administrador do cadastra o pelo . Esta página diz o que você manda para esse cadastro, o que recebe de volta, e o que precisa estar pronto do seu lado.
O que você entrega
| item | o que é |
|---|---|
callback_url | o endereço HTTPS, público, onde o seu sistema recebe o . Certificado de CA pública; IP privado, loopback e host sem DNS são recusados |
| hosts permitidos | os hosts para onde o webhook pode ser entregue, normalmente só o do callback_url |
| a escala, quando chegar a hora | quem são os policiais, por matrícula: a tabela de identidades que traduz a sua matrícula para o usuário do é carregada pelo administrador |
O que você recebe
| item | o que é |
|---|---|
| a URL do Geohub | a raiz do deployment, por exemplo https://geohub.exemplo.gov.br; os plugins ficam em /plugins e a OpenAPI em /openapi.json |
| o usuário de serviço | com o papel Integração - Sistema de despacho: o token estático, que não vence, ou e-mail e senha, se preferir uma sessão com refresh |
| o id do integrador | é o id do usuário de serviço, o mesmo que GET /users/me devolve com o seu token. Vai no x-autoria e identifica o seu eco nos eventos |
| o segredo do webhook | o que assina cada entrega (X-Geohub-Assinatura); confira sobre o corpo cru, antes de qualquer parse |
Com isso em mãos, o primeiro comando está na página do SDK e, sem SDK, em REST.
Token estático ou sessão
O token estático do usuário de serviço vai direto como Bearer e não expira; é o caminho mais simples para um sistema. O login com e-mail e senha devolve uma sessão de 15 minutos com refresh de uso único, como o usa, e só vale a pena se o seu sistema já tem esse ciclo.
O ciclo diário, do ponto de vista do CAD
O que o declara, o que é da pelo app, e o que o Geohub faz sozinho:
Dois pontos que valem a pena ler antes do primeiro dia:
- O CAD e o app declaram a mesma escala. Se o policial já se apresentou pelo app, o
registrarApresentacaodo CAD voltajornada-ja-ativa: não é erro, é a que já existe. ConsulteGET /plugins/policiais/{matricula}/jornada-ativaantes de apresentar, e siga com a que estiver lá. - O fim de turno. O CAD encerra jornadas (
encerrarJornada) e desfaz que nunca operou (`dissolverGuarnicao`). A deuma guarnição que operou ainda é do policial ou do supervisor pelo app; a extensão do alcance do CAD para agir em nome da equipe (chegada, encerramento, desmobilização, quando o policial avisa pelo rádio) está decidida e entra numa próxima versão desta página.
Antes de ir para produção
- Homologação. Peça ao administrador o deployment de homologação do seu cliente, com efetivo e fictícios; é nele que o callback e a escala se provam.
- Rede. O webhook sai do Geohub central para a internet. Se o seu sistema está numa rede privada, o
callback_urlprecisa de um ponto público (gateway ou proxy reverso) com certificado de CA pública. - Retry. Um comando que a rede derrubou pode ter chegado. Repita com a mesma chave de , nunca com uma nova; é o que o exemplo do integrador faz, e o que separa um retry de uma segunda .