<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Insoft Hikvision Service no Ponto Soft]]></title><description><![CDATA[<h1>Insoft Hikvision Service para Ponto Soft</h1>
<h2>Objetivo</h2>
<p dir="auto">Esta documentação explica como usar o <strong>Insoft Hikvision Service</strong> integrado ao <strong>Ponto Soft</strong>.</p>
<p dir="auto">Nesse modo, o serviço é responsável por manter os dispositivos Hikvision sincronizados com os funcionários cadastrados no Ponto Soft. Ele envia pessoas, cartões, biometrias faciais e digitais para os equipamentos, acompanha comandos pendentes e recebe as marcações realizadas nos dispositivos.</p>
<p dir="auto">Quando uma pessoa registra o ponto no equipamento, o dispositivo envia o evento ao Insoft Hikvision Service. Depois disso, o serviço grava o evento localmente e sincroniza a marcação com a API do Ponto Soft.</p>
<h2>Pré-requisitos</h2>
<p dir="auto">Antes de iniciar o serviço, confirme os itens abaixo.</p>
<h3>API e licença</h3>
<ul>
<li>A API do Ponto Soft deve estar acessível pela rede.</li>
<li>A API precisa responder aos endpoints de autenticação, saúde e informações da API.</li>
<li>A versão da API do Ponto Soft deve ser <strong>2.1.0 ou superior</strong>.</li>
<li>O servidor configurado no serviço deve existir na API principal.</li>
<li>A licença dos equipamentos deve estar válida. Quando a licença está inválida, o serviço interrompe a consulta de dispositivos.</li>
</ul>
<h3>Serviço e servidor</h3>
<ul>
<li>O Insoft Hikvision Service deve estar instalado em um servidor Windows.</li>
<li>O servidor precisa ter permissão de rede para acessar a API do Ponto Soft.</li>
<li>O servidor precisa acessar os dispositivos Hikvision diretamente pela rede ou acessar o Hik Device Gateway, se esse modo estiver habilitado.</li>
<li>O diretório do serviço precisa permitir escrita, pois o serviço cria logs, banco SQLite local e arquivos de imagem de eventos.</li>
<li>A porta do servidor de eventos deve estar liberada para receber chamadas dos dispositivos. Por padrão, a porta usada é <code>8888</code>, mas ela pode ser alterada no arquivo de configuração.</li>
<li>Os requisitos de CPU, memória, armazenamento, latência, TCP/UDP quando aplicável, IPv4, DNS, hostnames e firewall devem ser validados em <a href="https://forum.insoft4.com.br/topic/533/infraestrutura-e-requisitos-t%C3%A9cnicos" rel="nofollow ugc">Infraestrutura e requisitos técnicos</a>.</li>
</ul>
<h3>Dispositivos Hikvision</h3>
<ul>
<li>Os equipamentos devem estar cadastrados no Ponto Soft como dispositivos Hikvision.</li>
<li>O campo de tipo do equipamento deve indicar Hikvision. O serviço filtra os equipamentos do Ponto Soft pelo tipo <code>HV</code>.</li>
<li>O cadastro do equipamento deve conter endereço IP ou host, porta, usuário, senha, número de série e permissões de cadastro facial ou digital.</li>
<li>O usuário configurado no equipamento precisa ter permissão para consultar, cadastrar e remover pessoas, cartões, faces, digitais e eventos.</li>
<li>O horário do equipamento deve estar correto ou deve permitir ajuste pelo serviço.</li>
<li>A ISAPI do equipamento deve estar ativa e acessível.</li>
</ul>
<h3>Comunicação de eventos</h3>
<p dir="auto">O dispositivo precisa conseguir chamar o endereço do servidor onde o serviço está escutando eventos.</p>
<p dir="auto">O serviço registra nos dispositivos um endpoint parecido com este:</p>
<pre><code class="language-text">http://SERVIDOR_DO_SERVICO:PORTA/eventRegistration
</code></pre>
<p dir="auto">Se essa comunicação não funcionar, os cadastros podem ser enviados ao equipamento, mas as marcações não chegarão ao Ponto Soft.</p>
<p dir="auto">Além da porta de eventos, valide as liberações de rede descritas em <a href="https://forum.insoft4.com.br/topic/533/infraestrutura-e-requisitos-t%C3%A9cnicos" rel="nofollow ugc">Infraestrutura e requisitos técnicos</a>, principalmente:</p>
<ul>
<li>saída do servidor do serviço para a API do Ponto Soft;</li>
<li>saída do servidor do serviço para os equipamentos, quando sem Gateway;</li>
<li>entrada dos equipamentos ou Gateway na porta <code>eventServerPort</code>;</li>
<li>resolução de hostnames, caso IP fixo não seja usado.</li>
</ul>
<h3>Uso com Hik Device Gateway</h3>
<p dir="auto">Se <code>deviceGatewayEnabled</code> estiver habilitado, além dos requisitos anteriores, consulte também:</p>
<ul>
<li><a href="https://forum.insoft4.com.br/topic/532/insoft-hikvision-service-hik-device-gateway" rel="nofollow ugc">Insoft Hikvision Service + Hik Device Gateway</a></li>
</ul>
<p dir="auto">Nesse modo, o serviço não chama diretamente a ISAPI de cada equipamento. Ele chama o Hik Device Gateway, que faz a comunicação com os dispositivos por ISUP.</p>
<h2>Arquivos de configuração</h2>
<p dir="auto">O serviço utiliza configurações separadas por responsabilidade. Os arquivos ficam dentro do diretório da aplicação instalada.</p>
<h3>Configuração do serviço Hikvision</h3>
<p dir="auto">Arquivo:</p>
<pre><code class="language-text">device-serviceConfig/application.json
</code></pre>
<p dir="auto">Exemplo para comunicação direta com os dispositivos:</p>
<pre><code class="language-json">{
  "useAllDigitsMifare": false,
  "deviceGatewayEnabled": false,
  "deviceGatewayWebServiceHost": null,
  "deviceGatewayEventListenerHost": null,
  "useSsl": false,
  "deviceGatewayPort": null,
  "deviceGatewayLogin": null,
  "deviceGatewayPassword": null
}
</code></pre>
<p dir="auto">Exemplo para uso com Hik Device Gateway:</p>
<pre><code class="language-json">{
  "useAllDigitsMifare": false,
  "deviceGatewayEnabled": true,
  "deviceGatewayWebServiceHost": "192.168.0.10",
  "deviceGatewayEventListenerHost": "192.168.0.20",
  "useSsl": false,
  "deviceGatewayPort": 8180,
  "deviceGatewayLogin": "admin",
  "deviceGatewayPassword": "senha-do-gateway"
}
</code></pre>
<p dir="auto">Campos principais:</p>
<ul>
<li><code>useAllDigitsMifare</code>: quando habilitado, os cartões Mifare são enviados com todos os dígitos, preenchendo com zeros à esquerda quando necessário.</li>
<li><code>deviceGatewayEnabled</code>: ativa ou desativa o uso do Hik Device Gateway.</li>
<li><code>deviceGatewayWebServiceHost</code>: endereço do WebService do Gateway.</li>
<li><code>deviceGatewayEventListenerHost</code>: endereço que o Gateway ou os dispositivos devem usar para enviar eventos ao serviço.</li>
<li><code>useSsl</code>: define se a comunicação com o Gateway será feita por HTTPS.</li>
<li><code>deviceGatewayPort</code>: porta do Gateway. Quando não informada, o modo HTTP usa <code>8180</code>.</li>
<li><code>deviceGatewayLogin</code> e <code>deviceGatewayPassword</code>: credenciais usadas na autenticação Digest do Gateway.</li>
</ul>
<h3>Configuração de segurança e API principal</h3>
<p dir="auto">Arquivo:</p>
<pre><code class="language-text">security-gear-lib-apiConfig/application.json
</code></pre>
<p dir="auto">Exemplo:</p>
<pre><code class="language-json">{
  "urlApi": "https://api-pontosoft.exemplo.com",
  "login": "usuario-integracao",
  "password": "senha",
  "serverId": 1,
  "logType": "INFORMATION"
}
</code></pre>
<p dir="auto">Campos principais:</p>
<ul>
<li><code>urlApi</code>: endereço base da API do Ponto Soft.</li>
<li><code>login</code> e <code>password</code>: credenciais de integração.</li>
<li><code>serverId</code>: identificador do servidor cadastrado na API.</li>
<li><code>logType</code>: nível de log desejado.</li>
</ul>
<p dir="auto">O serviço autentica na API, guarda o token e renova a autenticação periodicamente. Se a API ficar indisponível, o serviço pausa as chamadas dependentes da API e tenta se recuperar automaticamente.</p>
<h3>Configuração comum</h3>
<p dir="auto">Arquivo:</p>
<pre><code class="language-text">common-gear-lib-apiConfig/application.json
</code></pre>
<p dir="auto">Exemplo:</p>
<pre><code class="language-json">{
  "systemModule": "PontoSoft",
  "deviceModelType": "HV",
  "eventServerPort": 8888,
  "eventValidationTimeout": 3,
  "eventServerAddress": "192.168.0.20",
  "commandProcessingDelay": 3,
  "internalCommandDelay": 100,
  "apiErrorCommandDelay": 10,
  "deploymentMode": false,
  "eventLimitApiSync": 50,
  "eventSyncPauseTime": 5
}
</code></pre>
<p dir="auto">Campos principais:</p>
<ul>
<li><code>systemModule</code>: deve indicar <code>PontoSoft</code>.</li>
<li><code>deviceModelType</code>: tipo de modelo usado ao consultar equipamentos. Para Hikvision, use <code>HV</code>.</li>
<li><code>eventServerPort</code>: porta em que o serviço receberá eventos.</li>
<li><code>eventServerAddress</code>: endereço do servidor que será informado ao dispositivo.</li>
<li><code>commandProcessingDelay</code>: intervalo mínimo entre ciclos de comandos por dispositivo.</li>
<li><code>apiErrorCommandDelay</code>: pausa aplicada quando a API principal falha.</li>
<li><code>deploymentMode</code>: quando habilitado, eventos anteriores ao início da implantação podem ser ignorados.</li>
<li><code>eventLimitApiSync</code>: quantidade de eventos processados por ciclo de sincronização.</li>
<li><code>eventSyncPauseTime</code>: intervalo entre sincronizações de eventos com a API.</li>
</ul>
<h3>Configuração da automação facial</h3>
<p dir="auto">Arquivo:</p>
<pre><code class="language-text">insoft-automacao-facial-lib-apiConfig/application.json
</code></pre>
<p dir="auto">Exemplo:</p>
<pre><code class="language-json">{
  "beginTime": "00:00:00",
  "finishTime": "04:00:00",
  "routinePauseInterval": 5,
  "automationEnabled": true
}
</code></pre>
<p dir="auto">Essa rotina compara a base da API, a base local e a base do dispositivo. Quando encontra diferenças, ela cria comandos de sincronização para corrigir cadastros, faces e digitais.</p>
<h2>Fluxo de inicialização</h2>
<p dir="auto">Ao iniciar, o serviço executa as seguintes etapas:</p>
<ol>
<li>Cria os diretórios de recursos, logs, imagens e banco local.</li>
<li>Lê as configurações do serviço, da API, do módulo comum e da automação.</li>
<li>Autentica na API do Ponto Soft.</li>
<li>Confere a versão da API.</li>
<li>Inicializa o banco SQLite local.</li>
<li>Carrega a lista de dispositivos Hikvision cadastrados no Ponto Soft.</li>
<li>Inicia o monitoramento dos dispositivos, o processamento de comandos e o recebimento de eventos.</li>
</ol>
<p dir="auto">Se algum arquivo de configuração obrigatório não existir, o serviço não inicia corretamente.</p>
<h2>Como os dispositivos são identificados</h2>
<p dir="auto">O serviço busca os equipamentos na API do Ponto Soft e considera apenas os dispositivos do tipo Hikvision.</p>
<p dir="auto">Os principais dados usados são:</p>
<ul>
<li>código do equipamento;</li>
<li>endereço IP ou host;</li>
<li>porta de comunicação;</li>
<li>usuário e senha do equipamento;</li>
<li>número de série;</li>
<li>permissões de cadastro facial;</li>
<li>permissões de cadastro digital;</li>
<li>modelo e informações técnicas.</li>
</ul>
<p dir="auto">Dispositivos sem dados mínimos de comunicação são tratados como offline ou inválidos até que o cadastro seja corrigido.</p>
<h2>Cadastro de pessoas, cartões e biometrias</h2>
<p dir="auto">O serviço mantém o equipamento alinhado com o cadastro do Ponto Soft.</p>
<p dir="auto">Para cada funcionário, o serviço pode enviar:</p>
<ul>
<li>dados básicos da pessoa;</li>
<li>cartão;</li>
<li>biometria facial;</li>
<li>biometria digital.</li>
</ul>
<p dir="auto">O envio acontece por comandos vindos da API ou pela rotina de automação, quando habilitada.</p>
<h3>Pessoas</h3>
<p dir="auto">O serviço consulta os funcionários na API do Ponto Soft e envia ao equipamento os dados necessários para que o acesso ou marcação funcione.</p>
<p dir="auto">Se uma pessoa existe no equipamento, mas não existe mais na API para aquele dispositivo, o serviço pode removê-la do equipamento durante a sincronização.</p>
<h3>Cartões</h3>
<p dir="auto">Os cartões são comparados entre a API e o equipamento.</p>
<p dir="auto">Quando há divergência, o serviço remove cartões incorretos e cadastra os cartões corretos. Isso evita que um cartão fique vinculado à pessoa errada ou com tipo incorreto no dispositivo.</p>
<h3>Biometria facial</h3>
<p dir="auto">A biometria facial pode ser enviada da API para o equipamento ou coletada do equipamento para ser salva na API, dependendo do comando executado.</p>
<p dir="auto">Ao enviar uma face ao dispositivo, a imagem precisa estar em condições aceitas pelo equipamento. Imagens muito pequenas, sem nitidez, com rosto distante ou fora do padrão podem ser recusadas pelo próprio Hikvision.</p>
<h3>Biometria digital</h3>
<p dir="auto">O serviço também pode enviar ou coletar digitais. Cada pessoa pode ter até 10 posições de digitais no equipamento.</p>
<p dir="auto">Se o dispositivo não tiver módulo de digital, os comandos de digital não são aplicáveis.</p>
<h2>Comandos utilizados pelo Ponto Soft</h2>
<p dir="auto">O serviço consulta comandos pendentes na API e executa cada comando no dispositivo correspondente.</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Código</th>
<th>Finalidade</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>100</code></td>
<td>Ajustar data e hora do equipamento</td>
</tr>
<tr>
<td><code>103</code></td>
<td>Buscar eventos do equipamento por data e enviar para a API</td>
</tr>
<tr>
<td><code>108</code></td>
<td>Sincronizar pessoa, cartão, face e digital</td>
</tr>
<tr>
<td><code>110</code></td>
<td>Copiar digitais do equipamento para a API</td>
</tr>
<tr>
<td><code>111</code></td>
<td>Enviar digitais da API para o equipamento</td>
</tr>
<tr>
<td><code>112</code></td>
<td>Remover digitais do equipamento</td>
</tr>
<tr>
<td><code>113</code></td>
<td>Conferir se a pessoa existe no equipamento</td>
</tr>
<tr>
<td><code>130</code></td>
<td>Copiar face do equipamento para a API</td>
</tr>
<tr>
<td><code>131</code></td>
<td>Enviar face da API para o equipamento</td>
</tr>
<tr>
<td><code>132</code></td>
<td>Remover face do equipamento</td>
</tr>
<tr>
<td><code>133</code></td>
<td>Capturar face remotamente no equipamento</td>
</tr>
<tr>
<td><code>134</code></td>
<td>Capturar digital remotamente no equipamento</td>
</tr>
</tbody>
</table>
<p dir="auto">Alguns comandos exigem parâmetros:</p>
<ul>
<li>comandos de pessoa, face e digital normalmente exigem o código da pessoa ou funcionário;</li>
<li>o comando de busca de eventos por backup exige uma data no formato <code>dd/MM/yyyy</code>.</li>
</ul>
<h2>Cargas de funcionários</h2>
<p dir="auto">No modo Ponto Soft, o serviço também acompanha cargas de funcionários.</p>
<p dir="auto">As cargas pendentes são consultadas na API, processadas e confirmadas. Quando uma carga falha, o serviço informa o erro de retorno para que o suporte consiga identificar a causa.</p>
<h2>Recebimento de marcações</h2>
<p dir="auto">O dispositivo envia eventos ao endpoint:</p>
<pre><code class="language-text">/eventRegistration
</code></pre>
<p dir="auto">O serviço interpreta o evento, identifica o dispositivo e grava a marcação no banco local. Depois, o sincronizador do Ponto Soft envia a marcação para:</p>
<pre><code class="language-text">/v1/registro
</code></pre>
<p dir="auto">Para a marcação ser sincronizada corretamente, a pessoa precisa ter dados suficientes na API, especialmente CPF e vínculo com empregador quando exigido pelo Ponto Soft.</p>
<h2>Rotina de automação</h2>
<p dir="auto">Quando habilitada, a automação roda dentro da janela de horário configurada.</p>
<p dir="auto">Ela compara:</p>
<ul>
<li>pessoas existentes na API;</li>
<li>pessoas existentes no equipamento;</li>
<li>cartões;</li>
<li>faces;</li>
<li>digitais;</li>
<li>registros locais de sincronização.</li>
</ul>
<p dir="auto">Quando encontra divergências, cria comandos na API para corrigir os cadastros. Isso reduz a necessidade de manutenção manual, principalmente em ambientes com muitos equipamentos.</p>
<h2>Modo direto por ISAPI</h2>
<p dir="auto">Quando <code>deviceGatewayEnabled</code> está desabilitado, o serviço acessa cada equipamento pelo endereço IP e porta cadastrados no Ponto Soft.</p>
<p dir="auto">Exemplo de destino:</p>
<pre><code class="language-text">http://IP_DO_EQUIPAMENTO:PORTA/ISAPI/...
</code></pre>
<p dir="auto">Nesse modo, o próprio serviço autentica no equipamento usando autenticação Digest e executa chamadas de cadastro, consulta, remoção, captura e configuração.</p>
<h2>Modo com Hik Device Gateway</h2>
<p dir="auto">Quando <code>deviceGatewayEnabled</code> está habilitado, o serviço acessa o Hik Device Gateway.</p>
<p dir="auto">Exemplo de destino:</p>
<pre><code class="language-text">http://HOST_DO_GATEWAY:8180/ISAPI/...
</code></pre>
<p dir="auto">O Gateway encaminha as operações ao dispositivo Hikvision correspondente. O serviço usa o identificador interno do dispositivo no Gateway, chamado <code>devIndex</code>, para direcionar a chamada ao equipamento correto.</p>
<p dir="auto">Para detalhes de instalação, requisitos e solução de problemas, consulte:</p>
<ul>
<li><a href="https://forum.insoft4.com.br/topic/532/insoft-hikvision-service-hik-device-gateway" rel="nofollow ugc">Insoft Hikvision Service + Hik Device Gateway</a></li>
</ul>
<h2>Operação diária</h2>
<p dir="auto">No dia a dia, a equipe de suporte deve acompanhar:</p>
<ul>
<li>se o serviço está em execução;</li>
<li>se a API do Ponto Soft está respondendo;</li>
<li>se a licença está válida;</li>
<li>se os dispositivos aparecem online;</li>
<li>se há comandos parados em processamento;</li>
<li>se existem eventos pendentes ou com erro de API;</li>
<li>se os arquivos de log mostram falhas de autenticação, conexão ou cadastro.</li>
</ul>
<h2>Problemas comuns</h2>
<h3>Dispositivo offline</h3>
<p dir="auto">Verifique IP, porta, usuário, senha, rede, firewall e se o equipamento está ligado. Em modo Gateway, verifique se o equipamento está online dentro do Gateway.</p>
<h3>Eventos não chegam ao Ponto Soft</h3>
<p dir="auto">Confirme se o dispositivo consegue acessar o servidor do serviço na porta configurada. Também confirme se o endpoint <code>/eventRegistration</code> foi configurado no equipamento.</p>
<h3>Marcações ficam pendentes</h3>
<p dir="auto">Verifique se a API do Ponto Soft está disponível e se a pessoa possui os dados necessários para sincronização, como CPF e empregador.</p>
<h3>Comando de face falha</h3>
<p dir="auto">Confira a qualidade da imagem facial. O equipamento pode recusar imagens com baixa nitidez, rosto distante, enquadramento inadequado ou tamanho fora do padrão.</p>
<h3>Comando de digital falha</h3>
<p dir="auto">Confirme se o equipamento possui módulo de digital e se a pessoa ainda possui posições disponíveis. O limite tratado pelo serviço é de até 10 digitais por pessoa.</p>
<h3>Licença inválida</h3>
<p dir="auto">O serviço não processa normalmente a lista de equipamentos se a licença retornada pela API estiver inválida. Nesse caso, regularize a licença no sistema principal.</p>
<h2>Checklist de implantação</h2>
<ul>
<li>API do Ponto Soft acessível.</li>
<li>Versão da API validada como <code>2.1.0</code> ou superior.</li>
<li><code>systemModule</code> configurado como <code>PontoSoft</code>.</li>
<li><code>deviceModelType</code> configurado como <code>HV</code>.</li>
<li>Servidor cadastrado e <code>serverId</code> correto.</li>
<li>Equipamentos Hikvision cadastrados como <code>HV</code>.</li>
<li>Credenciais dos equipamentos testadas.</li>
<li>Porta de eventos liberada.</li>
<li>Eventos recebidos em <code>/eventRegistration</code>.</li>
<li>Requisitos de infraestrutura validados em <a href="https://forum.insoft4.com.br/topic/533/infraestrutura-e-requisitos-t%C3%A9cnicos" rel="nofollow ugc">Infraestrutura e requisitos técnicos</a>.</li>
<li>Comandos de pessoa, cartão, face e digital testados.</li>
<li>Sincronização de marcações validada na API.</li>
<li>Se usar Gateway, requisitos do <a href="https://forum.insoft4.com.br/topic/532/insoft-hikvision-service-hik-device-gateway" rel="nofollow ugc">Insoft Hikvision Service + Hik Device Gateway</a> validados.</li>
</ul>
]]></description><link>http://insoft-docker1:4567/topic/534/insoft-hikvision-service-no-ponto-soft</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 04:40:07 GMT</lastBuildDate><atom:link href="http://insoft-docker1:4567/topic/534.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 Aug 2026 20:31:00 GMT</pubDate><ttl>60</ttl></channel></rss>