1. Home
  2. Integração com o TopPonto
  3. Protocolo Integração TopPonto

Protocolo Integração TopPonto

11 Cálculos

A funcionalidade de visualização de marcações com cálculos é composta por três etapas principais:

1ª Etapa: Criar o processo de visualizar o cálculo das marcações
Inicie o processo enviando uma requisição com os dados dos funcionários e o período desejado. Esse passo gera um processo assíncrono de cálculo das marcações.

2ª Etapa: Acompanhar o progresso
Com o código retornado na criação do processo, acompanhe o progresso da geração. O sistema indicará a porcentagem de conclusão do cálculo.

3ª Etapa: Visualizar o resultado do cálculo
Quando o processo estiver 100% concluído, utilize o mesmo código para acessar o resultado.


11.1.1 Criar processo funcionário

Criar um novo processo de cálculo de marcações para um funcionário.

Endpoint

https://integracao.topponto.com.br/calculo/funcionario

Estrutura

MétodoCabeçalhoBody
POSTContent-Type: application/json 
X-Auth-Token: “token”
X-Api-Version: 1
JSON

Parâmetros

CampoTipoRestriçãoObrigatórioDescrição
idFuncionarioNumber1 a N (Número Positivo) ou NULLNãoIdentificador único do funcionario.
idDepartamentoNumber1 a N (Número Positivo) ou NULLNãoIdentificador único do departamento.
idEmpresaNumber1 a N (Número Positivo) ou NULLNãoIdentificador único da Empresa.
idEquipeNumber1 a N (Número Positivo) ou NULLNãoIdentificador único da Equipe
dataInicioStringExatos 10 caracteresSimData de inicio do dados (formato DD/MM/AAAA).
dataFimStringExatos 10 caracteresSimData final do dados (formato DD/MM/AAAA).

Requisição (JSON)

{
    "idFuncionario": 1,
    "idDepartamento": null,
    "idEmpresa": null,
    "idEquipe": null,
    "dataInicio": "01/01/2025",
    "dataFim": "31/01/2025"
}

Resposta

{
    "message": "Criado com sucesso.",
    "body": {
        "codigo": "d8a46ea0-2c11-444f-8d98-0957e9ab0f28",
        "descricao": "INICIANDO_PROCESSO",
        "dataAtualizacao": 1752769096213,
        "progresso": 0.0
    },
    "status": 201
}

Erros catalogados

CampoMensagemCódigo Http
idFuncionarioO id do funcionário deve ser maior que 0.400 – Bad Request
idEmpresaO id da empresa deve ser maior que 0.400 – Bad Request
idDepartamentoO id do departamento deve ser maior que 0.400 – Bad Request
idEquipeO id da equipe deve ser maior que 0.400 – Bad Request
dataInicioA data de início deve estar no formato dd/MM/yyyy e ser uma data válida.400 – Bad Request
O data de início ultrapassou o limite definido.400 – Bad Request
A data de início não pode ser vazia.400 – Bad Request
dataFimA data de fim deve estar no formato dd/MM/yyyy e ser uma data válida.400 – Bad Request
A data de fim não pode ser vazia.400 – Bad Request
A data de fim ultrapassou o limite definido.400 – Bad Request
A data de fim não pode ser menor à data inicial.400 – Bad Request
dataInicio
dataFim
O intervalo entre as datas excede o limite permitido de meses para consulta de marcações.400 – Bad Request

11.1.2 Criar processo funcionários

Criar um novo processo de cálculo de marcações para uma lista de funcionário.

Endpoint

https://integracao.topponto.com.br/calculo/funcionarios

Estrutura

MétodoCabeçalhoBody
POSTContent-Type: application/json 
X-Auth-Token: “token”
X-Api-Version: 1
JSON

Parâmetros

CampoTipoRestriçãoObrigatórioDescrição
funcionariosArray<Integer>IDs de funcionáriosNãoLista de identificadores únicos dos funcionários.
departamentosArray<Integer>IDs de departamentosNãoLista de identificadores únicos dos departamentos.
empresasArray<Integer>IDs de empresasNãoLista de identificadores únicos das empresas.
equipesArray<Integer>IDs de equipesNãoLista de identificadores únicos das equipes.
dataInicioStringExatos 10 caracteresSimData de inicio do dados (formato DD/MM/AAAA).
dataFimStringExatos 10 caracteresSimData final do dados (formato DD/MM/AAAA).

Requisição (JSON)

{
    "funcionarios": [1],
    "departamentos": null,
    "empresas": null,
    "equipes": null,
    "dataInicio": "01/01/2025",
    "dataFim": "31/01/2025"
}

Resposta

{
    "message": "Criado com sucesso.",
    "body": {
        "codigo": "d8a46ea0-2c11-444f-8d98-0957e9ab0f28",
        "descricao": "INICIANDO_PROCESSO",
        "dataAtualizacao": 1752769096213,
        "progresso": 0.0
    },
    "status": 201
}

Erros catalogados

CampoMensagemCódigo Http
dataInicioA data de início deve estar no formato dd/MM/yyyy e ser uma data válida.400 – Bad Request
O data de início ultrapassou o limite definido.400 – Bad Request
A data de início não pode ser vazia.400 – Bad Request
dataFimA data de fim deve estar no formato dd/MM/yyyy e ser uma data válida.400 – Bad Request
A data de fim não pode ser vazia.400 – Bad Request
A data de fim ultrapassou o limite definido.400 – Bad Request
A data de fim não pode ser menor à data inicial.400 – Bad Request
dataInicio
dataFim
O intervalo entre as datas excede o limite permitido de meses para consulta de marcações.400 – Bad Request

11.2 Acompanhar processo

Retorna o processo de calculo das marcações de acordo com o codigo informado no endpoint — este codigo é obtido nas etapas anteriores.

Durante a operação:

  • O campo descricao refletirá o estado atual do processo, sendo seu último estado "CONCLUIDO".
  • O campo progresso indicará o percentual de conclusão, aumentando gradativamente até atingir "progresso": 100.0.

Quando o campo progresso alcançar 100%, o resultado do cálculo estará pronto para ser solicitado conforme como descrito na etapa 11.3 – Consultar marcações calculo.

Como se trata de um processo assíncrono, recomenda-se realizar consultas ao endpoint em intervalos de pelo menos 5 segundos, a fim de evitar sobrecarga no servidor por excesso de requisições.

Endpoint

https://integracao.topponto.com.br/calculo/processo/codigo

Estrutura

MétodoCabeçalhoPath Variable
GETContent-Type: application/json X-Auth-Token: “token”X-Api-Version: 1Integer

Parâmetros

CampoTipoRestriçãoObrigatórioDescrição
codigoStringGerado e retornado no processo de marcações. Não deve ser informado manualmente.SimIdentificador único do processo de marcações.

Requisição (URL)

https://integracao.topponto.com.br/calculo/processo/d8a46ea0-2c11-444f-8d98-0957e9ab0f28


Resposta

{
    "message": "Consulta realizada com sucesso.",
    "body": {
        "codigo": "d8a46ea0-2c11-444f-8d98-0957e9ab0f28",
        "descricao": "CALCULO_CONCLUIDO",
        "dataAtualizacao": 1752769096213,
        "progresso": 100.0
    },
    "status": 200
}

Erros catalogados

CampoMensagemCódigo Http
codigoProcesso cancelado, realize uma nova solicitação.200 – OK
Código informado não pode ser nulo ou vazio.400 – Bad Request
Verifique o código informado, não foram encontrados processos.404 – Not Found

11.3 Cancelar processo

A partir do código, encerra o processo de cálculo caso ele ainda esteja em andamento.

Endpoint

https://integracao.topponto.com.br/calculo/codigo

Estrutura

MétodoCabeçalhoPath Variable
DELETEContent-Type: application/json X-Auth-Token: “token”X-Api-Version: 1Integer

Parâmetros

CampoTipoRestriçãoObrigatórioDescrição
codigoStringGerado e retornado no processo de criação do processo.SimIdentificador único do processo de exportação.

Requisição (URL)

https://integracao.topponto.com.br/calculo/2a11a912-9af3-4e0a-8039-ca543b3c1829

Resposta

{
    "message": "Cancelado com sucesso.",
    "body": {
        "codigo": "2a11a912-9af3-4e0a-8039-ca543b3c1829",
        "descricao": "CARREGANDO_DADOS_GERA_FREQUENCIA",
        "dataAtualizacao": 1734520976153,
        "progresso": 6.523579201934719
    },
    "status": 200
}

Erros catalogados

CampoMensagemCódigo Http
codigoCódigo informado não pode ser nulo ou vazio.404 – Not Found

11.4 Consultar

Retorna o resultado do cálculo, após concluído a partir do código e retorna seu conteúdo diretamente na resposta da requisição.

Endpoint

https://integracao.topponto.com.br/calculo/codigo

Estrutura

MétodoCabeçalhoPath Variable
GETContent-Type: application/json 
X-Auth-Token: “token”
X-Api-Version: 1
Integer

Parâmetros

CampoTipoRestriçãoObrigatórioDescrição
codigoStringGerado e retornado no processo de marcações. Não deve ser informado manualmente.SimIdentificador único do processo de marcações.

Requisição (URL)

https://integracao.topponto.com.br/calculo/d8a46ea0-2c11-444f-8d98-0957e9ab0f28


Resposta

{
    "message": "Consulta realizada com sucesso.",
    "body": [
        {
            "funcionario": {
                "idFuncionario": 1,
                "nome": "Funcionario 1"
            },
            "calculoDia": [
                {
                    "data": 1754265600000,
                    "dataFormatada": "04/08/2025",
                    "dataFormatadaDiaSemana": "04/08/2025 Seg.",
                    "jornadasDeTrabalho": [
                        {
                            "entrada": "08:00",
                            "saida": "12:00"
                        },
                        {
                            "entrada": "13:00",
                            "saida": "18:00"
                        }
                    ],
                    "marcacoes": [
                        {
                            "marcacaoEntrada": {
                                "idMarcacao": 1,
                                "horario": "07:50",
                                "status": "Incluída"
                            },
                            "marcacaoSaida": {
                                "idMarcacao": 2,
                                "horario": "12:00",
                                "status": "Incluída"
                            },
                            "totalPeriodo": "04:10"
                        },
                        {
                            "marcacaoEntrada": {
                                "idMarcacao": 3,
                                "horario": "12:50",
                                "status": "Incluída"
                            },
                            "marcacaoSaida": {
                                "idMarcacao": 4,
                                "horario": "18:10",
                                "status": "Incluída"
                            },
                            "totalPeriodo": "05:20"
                        }
                    ],
                    "horasTrabalhadas": {
                        "diurnas": "09:30",
                        "noturnas": "00:00",
                        "total": "09:30"
                    },
                    "horasPrevistas": {
                        "diurnas": "09:00",
                        "noturnas": "00:00",
                        "total": "09:00"
                    },
                    "horasNormais": {
                        "diurnas": "09:00",
                        "noturnas": "00:00",
                        "total": "09:00"
                    },
                    "horasExtras": {
                        "diurnas": "00:30",
                        "noturnas": "00:00",
                        "total": "00:30"
                    },
                    "horasAusencias": {
                        "diurnas": "00:00",
                        "noturnas": "00:00",
                        "total": "00:00"
                    },
                    "bancoDeHoras": {
                        "credito": "00:00",
                        "debito": "00:00",
                        "saldo": "00:00"
                    },
                    "saldoDsr": {
                        "normal": {
                            "pagar": "00:00"
                        },
                        "ausencias": {
                            "acumulado": "00:00",
                            "desconto": "00:00"
                        },
                        "extras": {
                            "acumulado": "00:00",
                            "saldo": "00:00"
                        }
                    },
                    "abono": {
                        "totalHoras": "--:--",
                        "motivo": null
                    },
                    "desconsideradas": [],
                    "observacoes": []
                }
            ]
        }
    ],
    "status": 200
}

Erros catalogados

CampoMensagemCódigo Http
codigoCódigo informado não pode ser nulo ou vazio.400 – Bad Request
O arquivo solicitado ainda não foi processado. Tente novamente mais tarde.400 – Bad Request
Verifique o código informado, não foram encontrados processos.404 – Not Found
Não foram encontrados arquivos com o codigo informado.404 – Not Found
O arquivo está vazio. Nenhum dado encontrado para os parâmetros informados.404 – Not Found

Mais páginas

Mais Páginas

Introdução
Cadastros
Eventos
Marcações
Painel
Erros Catalogados


Páginas: 1 2 3 4 5 6 7
Esse artigo foi útil?