Marcações de jornada de trabalho — registro via API, importação AFD (Portaria 671), consulta histórica, geração de comprovantes e auditoria com NSR sequencial.
Registro de ponto é o evento de marcação de jornada de um colaborador
— entrada, saída, intervalos. É a fonte primária para todo cálculo de
frequência, horas extras, banco de horas e folha de pagamento da
plataforma.A API permite que sistemas externos (REPs customizados homologados,
apps próprios, integradores de jornada) registrem batidas, importem
arquivos AFD pré-existentes e consultem históricos.
A Pontua atua como REP-P (Registrador Eletrônico de Ponto via Programa)
homologado pelo INPI sob a Portaria MTP 671/2021 e Portaria 1.486/2022.
Isso traz obrigações inegociáveis para qualquer integração que
manipula registros:
NSR — Número Sequencial de Registro
Cada batida recebe um NSR sequencial gerado pelo Pontua, nunca
pelo cliente. Esse número entra no AFD/AEJ e nos comprovantes
assinados. Sequência inválida (gaps, duplicatas) configura
irregularidade.
Comprovante de registro
Para cada batida registrada, o colaborador tem direito a um
comprovante assinado digitalmente (PAdES embed). O comprovante
contém o NSR + hash SHA-256 + metadata INPI.
AFD e AEJ assinados
Arquivos exportados (AFD, AEJ) recebem assinatura digital CAdES
detached (.p7s). Os arquivos têm encoding ISO 8859-1 e estrutura
fixa por tipo (1 cabeçalho, 3 marcações, 99 trailer no AFD).
Soft-delete obrigatório
Registros nunca podem ser fisicamente removidos. Correções via API
geram novo registro com flag de ajuste + motivo + auditoria. O
histórico original é preservado por 5 anos (Art. 98).
POST /registro-ponto — Registra uma batida pontual.Quando usar:
REP customizado próprio (cliente que tem hardware homologado)
App de RH/onboarding que precisa registrar entrada manualmente
Sistema de portaria/controle de acesso integrado
Quando NÃO usar:
Sincronizar batidas históricas de outro sistema (use AFD em vez)
Importar grandes lotes de uma só vez (use AFD)
Eventos do app Pontua oficial (já passa por outra rota interna)
A jornada esperada do colaborador (turno) é validada no momento.
Batidas fora da janela de tolerância podem cair em status PENDENTE
aguardando aprovação de gestor. Veja Frequência.
POST /registro-ponto/afd — Importa arquivo AFD em conformidade
com Portaria 671.Quando usar:
Migrar histórico de outro sistema homologado
Importar batidas do REP-C físico que não roda Pontua
Onboarding de cliente vindo de outro REP
O arquivo deve seguir o layout exato da Portaria 671:
Encoding ISO 8859-1
Linhas tipo 1 (cabeçalho) + tipo 3 (marcações) + tipo 99 (trailer)
NSR sequencial sem gaps no arquivo
A API valida o arquivo, gera novos NSRs do lado Pontua e devolve
contadores totalRegistros, totalImportados, totalRejeitados
com motivo de rejeição linha-a-linha.
POST /registro-ponto/recibo — Gera comprovantes assinados em PDF
para um colaborador num período.O PDF contém todas as batidas do período com NSR, hash, e assinatura
PAdES embed (verificável em qualquer leitor PDF). Útil para:
GET /registro-ponto — Lista registros com filtros.Filtros típicos: colaboradorId, dataInicio, dataFim, status,
origem, departamentoId. Use paginação pagina + limite para
iterar grandes volumes — ver Paginação.Para sync incremental com seu sistema, salve um cursor de
timestamp e filtre por data crescente — ver Webhooks (polling).
GET /registro-ponto/ultimos — Retorna as últimas batidas de um
colaborador (limite default 10).Útil para:
Dashboard “quem bateu agora?”
Validar última marcação antes de novo registro
Detectar batida duplicada do lado do cliente
Endpoint
Retorna
GET /registro-ponto/localizacoes
Coordenadas GPS das batidas de uma jornada
GET /registro-ponto/fotos
URLs S3 (com expiração) das fotos de batida
Dados sensíveis sob LGPD. Localização e foto são dados pessoais.
Sua integração deve:
Acessar apenas com base legal documentada
Não armazenar fora do Pontua se não for necessário
Tratar URLs como temporárias (expirar em curto prazo)
Coletar apenas se o colaborador autorizou (configurado por UN)
Endpoints retornam vazio quando não há dados disponíveis ou
quando a UN não coleta GPS/foto.
Não tente enviar nsr no payload de POST /registro-ponto — é
ignorado ou rejeitado. O backend gera sequencial conforme Art. 80 da
Portaria 671. Misturar fontes de NSR é violação regulatória.
Sempre envie dataHora com offset explícito (ex: 2026-04-26T08:30:00-03:00).
Strings sem timezone são interpretadas como BRT, mas isso pode falhar
em horário de verão (ainda que abolido em 2019, alguns ambientes legados
têm problemas). Para máxima portabilidade: sempre com offset.
Se o período da dataHora está em fechamento concluído, o registro
é rejeitado ou cai em fluxo de ajuste com aprovação. Verifique
o status do fechamento antes de bulk-import histórico — ver
Fechamento.
São dados pessoais sensíveis. Sua integração deve:
Tratar com base legal explícita (consentimento ou execução de contrato)
Não trafegar fora do Brasil sem AIPD (Avaliação de Impacto)
Implementar política de retenção curta (URLs S3 com TTL no seu lado também)
GET /registro-ponto/gestao/dashboard, GET /registro-ponto/gestao/minha-equipe,
GET /registro-ponto/frequencias e variantes estão deprecated.
Use a tag Frequency para agregados — ver Frequência.