Esta documentação descreve os recursos da API de Apuração de Resultados do sistema Pontoweb. A API permite iniciar processos de apuração, acompanhar seu status, consultar os resultados apurados e gerenciar o re-consumo de eventos já processados.

As operações foram desenvolvidas para integração com sistemas de folha de pagamento, contabilidade ou outras aplicações corporativas que necessitam acessar dados de apuração de ponto e eventos contábeis dos colaboradores.

Todas as requisições exigem autenticação via HTTP Basic Auth, utilizando um usuário do tipo service. Algumas rotas também requerem cabeçalhos específicos de versionamento.

As respostas seguem o formato JSON, com mensagens claras de erro e sucesso para facilitar o tratamento por aplicações clientes.


ITG2.0-01 Autenticação

Inicia o processo de apuração de eventos contábeis e marcações de ponto para colaboradores em um determinado período. Permite filtrar por localidade, colaboradores específicos e recursos opcionais como totais diários, batidas diárias e totais mensais.


  • É permitido, no máximo, 3 processos diários para a "base full", para cada tipo de parâmetro "feature" consumido (daily.totals, daily.punches e monthly). Em chamadas informando o filtro de matrícula (não são "base full"), o consumo é livre.
  • É permitido o start de, no máximo, 4 processos simultâneos.

Item

Descrição

Fluxo:Cliente → PontoWeb
URL API:https://api.ahgora.com.br/reckons/process/start
Método:POST
Autenticação:Basic (ver)


Corpo da Requisição:

CampoTipoObrigatórioDescrição
registersarraySituacionalLista de matrículas dos colaboradores, se vazio, considera todos colaboradores. Quando o campo rescission for true, este campo se torna obrigatório e deve conter no mínimo uma matrícula.
rescissionbooleanSimIndica se deve considerar funcionários demitidos. Padrão: false.
monthstringSimMês de apuração no formato "MM".
yearstringSimAno de apuração no formato "YYYY".
paymentDatestringNãoData de pagamento no formato "YYYY-MM-DD".
infotypestringNãoIdentificação do tipo do evento. Padrão: 0015.
allowEmptybooleanNãoApresenta funcionários sem dados. Padrão: false.
locationsarray NãoFiltra funcionários por localização cadastrada no Pontoweb.
featuresarrayNãoTipo de Processamento solicitado. Opções:

  • "daily.punches"(Batidas Diárias),
  • "daily.totals" (Total diário),
  • "monthly" (Mensal).

    Padrão: monthly.
    Pode solicitar um específico ou mais de um. Caso não informe, será gerado o padrão.

includeEmptyCode

booleanNãoIndica ao fluxo que eventos sem código contábil também devem ser incluídos no retorno dos resultados. Padrão: false.


Exemplos de Requisições (Requests)


Corpo da Requisição:

{
    "registers": ["98a159Q"],
    "rescission": false,
    "month": "04",
    "year": "2025",
    "paymentDate": "2025-04-30",
    "infotype": "0015",
    "allowEmpty": false,
    "locations": [],
    "features": ["daily.punches", "daily.totals", "monthly"],
	"includeEmptyCode": false
}


Exemplos de Respostas (Responses)


Resposta quando SUCESSO - Code 200:

{
    "process": "6b28ff7e-dda5-415c-b5b4-ff776f92142b",
    "company": "a133595",
    "created_at": "2025-04-28T13:49:32.334Z"
}


ERRO de Autenticação - Code 401:

{
    "error": {
        "code": 401,
        "message": "Unauthorized"
    }
}


ERRO de Permissão - Code 403:

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Observação: Verificar as permissões do usuário para acessar a rota/serviço.


ERRO de Validação - Code 400:

{
    "error": "\"rescission\" is required"
}

Observação: Verifique os parâmetros obrigatórios do request.

Após a requisição do processamento, é possível consultar o status. Nesta consulta, retorna o status de um processo de apuração previamente iniciado. Informa se o processamento foi concluído, se houve erro e o progresso. É necessário fornecer o identificador do processo (process).


Item

Descrição

Fluxo:Cliente → PontoWeb
URL API:https://api.ahgora.com.br/reckons/process/status/:process
Método:GET
Autenticação:Basic (ver)
Parâmetro:Process

É o código identificador do processo iniciado, obtido no retorno da requisição de "Solicitar"

Exemplo: 6b28ff7e-dda5-415c-b5b4-ff776f92142b



Query Params
ChaveValor
Accept-Versionv1
v2


Corpo da Resposta:

CampoTipoDescrição
processstringCódigo do processo iniciado.
companystringCódigo da empresa no sistema PontoWeb.
statusstring

Status atual do processo:

processing – Processamento em andamento;

done – Processamento finalizado com sucesso;

error – Processamento finalizado com erro.

uniquestringCódigo identificador único para controle do processo.
progress.donenumberQuantidade de colaboradores com processamento finalizado.
progress.totalnumberQuantidade total de colaboradores a serem processados.


Exemplos de Respostas (Responses)


Resposta quando em PROCESSAMENTO - Code 200:

{
    "status": "processing",
    "unique": "323256d",
    "process": "323256d-d0df-4c0d-a6c1-8d9ca6fed06b",
    "company": "a133595",
     "progress": {
        "done": 0,
        "total": 0
    }
}


Resposta quando SUCESSO - Code 200:

{
    "status": "done",
    "unique": "3234ca5d",
    "process": "3234ca5d-d0df-4c0d-a6c1-8d9ca6fed06b",
    "company": "a133595",
    "progress": {
        "done": 1,
        "total": 1
    }
}


ERRO de Validação - Code 400:

Accept-Version v1
{
    "error": {
        "message": "Process not found",
        "code": 400
    }
}

Observação: Verifique o unique informado.


ERRO de Validação - Code 400:

Accept-Version v2:
{
    "error": "Process not found"
}

Observação: Verifique o unique informado.


ERRO de Autenticação - Code 401:

{
    "error": {
        "code": 401,
        "message": "Unauthorized"
    }
}

Observação: Verifique usuário e senha.

ERRO de Permissão - Code 403:

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Observação: Verificar as permissões do usuário para acessar a rota/serviço.



Obtém os resultados gerados do processamento, com base no código identificador único (unique). Os dados retornados podem incluir eventos mensais, totais diários e marcações de ponto, conforme definido na requisição solicitando os resultados apurados.
Os dados ficam disponíveis por 72 horas para consumo; após esse período, expiram automaticamente.


Importante: uma vez que os dados do processo são consultados com sucesso, os eventos retornados são marcados como "consumidos" e não serão exibidos novamente em chamadas futuras.
Para obter os mesmos eventos, será necessário ativar o re-consumo dos eventos através da rota 4. Habilitar re-consumo dos eventos.


Item

Descrição

Fluxo:Cliente → PontoWeb
URL API:https://api.ahgora.com.br/reckons/:unique
Método:GET
Autenticação:Basic (ver)
Parâmetro:
  • Unique (string): é o código identificador único para controle .

    Exemplo: 3234ca5d
  • Limit (number) (opcional): é o limite de registros que irão retornar na resposta.
    • Padrão: 1000.
    • Máximo: 1000.


Exemplos de Respostas (Responses)


Resposta - monthly

Exemplo de resposta quando o campo "features" é informado com "monthly" na solicitação de resultados apurados:

CampoTipoDescrição

unique

stringCódigo único identificador do processo.
companystringCódigo da empresa no sistema PontoWeb.
totalnumberQuantidade total de colaboradores.
dataarrayContém a lista com as informações do colaborador e dos eventos.
data.employeestringMatrícula do colaborador.
data.paymentDatestringData de pagamento no formato "YYYY-MM-DD".
data.infotypestringIdentificação do tipo do evento. 
data.resultsarrayContém a lista dos eventos mensais.
data.results.namestringNome do código contábil.
data.results.eventstringCódigo contábil do evento.
data.results.valuestring/number

Valor do evento contábil.

Exemplos:
Eventos em Dias: 2;
Eventos em Horas: "16:30" (Sexagesimais)
Eventos em Horas: "16,50" (Centesimais)

data.results.typestringTipo do evento contábil. Pode conter:
  • "days" - Para dias;
  • "hours" - Para horas.

Por padrão, as Faltas são enviadas em horas (value e type).



Resposta com SUCESSO - Code 200:

{
	"company": "a133595",
    "unique": "3234ca5d",
    "total": 1,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2025-04-30",
            "infotype": "0015",
            "results": [
                {
                      "name": "Horas previstas",
                      "event": "9077",
                      "value": "71:20",
                      "type": "hours"
                  },
                  {
                      "name": "Dias previstos",
                      "event": "9078",
                      "value": 1,
                      "type": "days"
                  }
            ]
        }
    ]
}


Resposta - daily.punches

Exemplo de resposta quando o campo "features" é informado com "daily.punches" na solicitação de resultados apurados:

CampoTipoDescrição

unique

stringCódigo único identificador do processo.
companystringCódigo da empresa no sistema PontoWeb.
totalnumberQuantidade total de dias com marcação.
dataarrayContém a lista com as informações do colaborador e das marcações de ponto.
data.employeestringMatrícula do colaborador.
data.paymentDatestringData de pagamento no formato "YYYY-MM-DD".
data.infotypestringIdentificação do tipo do evento. 
data.dailyarrayContém a lista das marcações de ponto
data.daily.daystringDia em que ocorreu a marcação de ponto no formato "YYYY-MM-DD".
data.daily.punchesarrayLista com as informações das marcações de ponto.
data.daily.punches.datestringData efetiva do registro da marcação de ponto.
data.daily.punches.hourstringHora do registro da marcação de ponto no formato "HHMM".
data.daily.punches.typestring

Tipo de registro. Pode conter:

  • "O" - REP ou Batida Online.
  • "I"   - Inclusão Manual.
  • "BI" - Registros de Pausas.
data.daily.punches.labelstringIndica se o registro é de entrada ou saída.


Resposta com SUCESSO - Code 200:

{
	"company": "a133595",
    "unique": "3234ca5d", 
    "total": 1,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "daily": [
                {
                    "day": "2022-07-29",
                    "punches": [
                        {
                            "date": "2022-07-28",
                            "hour": "0800",
                            "type": "O",
                            "label": "entrada-1"
                        },
                        {
                            "date": "2022-07-28",
                            "hour": "0900",
                            "type": "I",
                            "label": "saida-1"
                        }
                    ]
                }
            ]
        }
    ]
}


Resposta - daily.totals

Exemplo de resposta quando o campo "features" é informado com "daily.totals" na solicitação de resultados apurados:

CampoTipoDescrição

unique

stringCódigo único identificador do processo.
companystringCódigo da empresa no sistema PontoWeb.
totalnumberQuantidade total de dias apurados.
dataarrayContém a lista com as informações do colaborador e dos eventos diários
data.employeestringMatrícula do colaborador.
data.paymentDatestringData de pagamento no formato "YYYY-MM-DD".
data.infotypestringIdentificação do tipo do evento. 
data.dailyarrayContém a lista das batidas (Marcações de Ponto)
data.daily.daystringDia em que ocorreu a batida no formato "YYYY-MM-DD".
data.daily.resultsarrayContém a lista dos eventos diários.
data.daily.results.namestringNome do código contábil.
data.daily.results.eventstring

Código contábil do evento.

data.daily.results.valuestring

Valor do evento contábil.

Eventos em Dias: 2;
Eventos em Horas: "16:30" (Sexagesimais)
Eventos em Horas: "16,50" (Centesimais)

data.daily.results.typestring

Tipo do evento contábil. Pode conter:

  • "days" - Para dias;
  • "hours" - Para horas.


Resposta com SUCESSO - Code 200:

{
    "company": "a133595",
    "unique": "3234ca5d",
    "total": 1,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "daily": [
                {
                    "day": "2022-08-08",
                    "results": [
                        {
                            "name": "Horas previstas",
                            "event": "9077",
                            "value": "71:20",
                            "type": "hours"
                        },
                        {
                            "name": "Dias previstos",
                            "event": "9078",
                            "value": 1,
                            "type": "days"
                        }
                    ]
                }
            ]
        }
    ]
}


Resposta - daily.totals, daily.punches e monthly

Exemplo de resposta quando o campo "features" contém todas as opções.

Resposta com SUCESSO - Code 200:

{
    "company": "a133595",
    "unique": "3234ca5d",
    "total": 2,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "daily": [
                {
                    "day": "2022-08-08",
                    "results": [
                        {
                            "name": "Horas previstas",
                            "event": "9077",
                            "value": "71:20",
                            "type": "hours"
                        },
                        {
                            "name": "Dias previstos",
                            "event": "9078",
                            "value": 1,
                            "type": "days"
                        }
                    ],
                    "punches": [
                        {
                            "date": "2022-07-28",
                            "hour": "0800",
                            "type": "O",
                            "label": "entrada-1"
                        },
                        {
                            "date": "2022-07-28",
                            "hour": "0900",
                            "type": "I",
                            "label": "saida-1"
                        }
                    ]
                }
            ]
        },
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "results": [
                {
                    "name": "Horas previstas",
                    "event": "9077",
                    "value": "71:20",
                    "type": "hours"
                },
                {
                    "name": "Dias previstos",
                    "event": "9078",
                    "value": 1,
                    "type": "days"
                }
            ]
        }
    ]
}

ERRO de Autenticação - Code 401

{
    "error": {
        "code": 401,
        "message": "Unauthorized"
    }
}

Observação: Verificar usuário e senha informado.


ERRO de Permissão - Code 403

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Observação: Verificar as permissões do usuário para acessar a rota/serviço.

Restaura a disponibilidade dos eventos previamente consumidos em um processo de apuração. Após a execução desta rota, os dados associados ao identificador informado poderão ser obtidos novamente por meio da rota de consulta de resultados.



Item

Descrição

Fluxo:Cliente → PontoWeb
URL API:https://api.ahgora.com.br/reckons/reconsume/:unique
Método:GET
Autenticação:Basic (ver)
Parâmetro:
  • Unique (string): é o código identificador único para controle.

    Exemplo: 3234ca5d
Limite Máximo:1000 vezes (A apuração identificada pelo unique)

Cada apuração fica disponível por 72 horas, para re-consumo.
Depois deste tempo ela não é mais acessível.


Corpo da Resposta:

CampoTipoDescrição
companystringCódigo da empresa no sistema PontoWeb.
uniquestringCódigo único identificador do processo.

Exemplos de Respostas (Responses)

Resposta quando SUCESSO - Code 200:

{
    "company": "a133595",
    "unique": "3234ca5d"
}


ERRO de Validação - Code 400:

Accept-Version v1
{
    "error": {
        "message": "Process not found",
        "code": 400
    }
}

Observação: O processo é inexistente ou pode estar inexistente.


ERRO de Validação - Code 400:

Accept-Version v2:
{
    "error": "Process not found"
}

Observação: O processo é inexistente ou pode estar inexistente.


ERRO de Autenticação - Code 401:

{
    "error": {
        "code": 401,
        "message": "Unauthorized"
    }
}

Observação: Verifique usuário e senha.


ERRO de Permissão - Code 403:

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Observação: Verificar as permissões do usuário para acessar a rota/serviço.


ERRO de Limite diário de requisições excedido - Code 429:

Accept-Version v1
{
    "error": {
        "message": "The daily limit of 3 has been exceeded for the following features: daily.punches, daily.totals, monthly.",
        "code": 429
    }
}


Accept-Version v2
{
    "error": "The daily limit of 3 has been exceeded for the following features: daily.punches, daily.totals, monthly."
}



Em Construção


  1. Como identificar o limite de 1000 registros por pagina, o que é considerado um registro?

    Resposta: Cada registro é um Objeto retornado na propriedade "data" no body da requisição. No exemplo abaixo, temos 2 objetos dentro de "data" sendo um referente ao daily (daily.totals e punches) e o segundo referente ao monthly (results), então temos dois (2) registros:

    "company": "a123456",
    "unique": "3234ca5d",
    "total": 2,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "daily": [
                {
                    "day": "2022-08-08",
                    "results": [
                        {
                            "name": "Horas previstas",
                            "event": "9077",
                            "value": "71:20",
                            "type": "hours"
                        }
                    ],
                    "punches": [
                        {
                            "date": "2022-07-28",
                            "hour": "0800",
                            "type": "O",
                            "label": "entrada-1"
                        }
                    ]
                }
            ]
        },
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "results": [
                {
                    "name": "Horas previstas",
                    "event": "9077",
                    "value": "71:20",
                    "type": "hours"
                }
            ]
        }
    ]
    }


deck.tab.inactive.background = #fffffff
deck.tab.active.background = #b3a5ef



This documentation describes the features of the Pontoweb system's Results Calculation API. The API allows you to start calculation processes, monitor their status, consult the results calculated and manage the re-consumption of events that have already been processed.

The operations have been developed for integration with payroll systems, accounting systems or other corporate applications that need to access employees' time and attendance data and accounting events.

All requests require authentication via HTTP Basic Auth, using a service type user. Some routes also require specific versioning headers.

Responses are in JSON format, with clear error and success messages to facilitate handling by client applications.


ITG2.0-01 Authentication

Starts the process of calculating accounting events and clockings for employees in a given period. It allows you to filter by location, specific employees and optional features such as daily totals, daily punches and monthly totals.


  • A maximum of 3 daily processes are allowed for the “full base” for each type of ‘feature’ parameter consumed (daily.totals, daily.punches, and monthly). In calls informing the registration filter (not “full base”), consumption is free.
  • A maximum of 4 simultaneous processes are allowed to start.

Item

Description

Flow:Client → PontoWeb
URL API:https://api.ahgora.com.br/reckons/process/start
Method:POST
Auth:Basic (show)


Body Request:

FieldTypeRequiredDescription
registersarraySituationalList of employee registrations, if empty, considers all employees. When the rescission field is true, this field becomes mandatory and must contain at least one register.
rescissionbooleanYesIndicates whether to consider dismissed employees. Default: false.
monthstringYesCalculation month, expected format: “MM”.
yearstringYesCalculation year, expected format: “YYYY”.
paymentDatestringNoDate of payment, expected format: “YYYY-MM-DD”.
infotypestringNoIdentification of the event type. Default: 0015.
allowEmptybooleanNoDisplays employees without data. Default: false.
locationsarray NoFilters employees by location registered with Pontoweb.
featuresarrayNoType of processing requested. Options:
  • "daily.punches"
  • "daily.totals"
  • "monthly"

    Default: monthly.
    You can request a specific one or more than one. If you don't enter one, the default one will be generated.


Request examples:


Body Request:

{
    "registers": ["98a159Q"],
    "rescission": false,
    "month": "04",
    "year": "2025",
    "paymentDate": "2025-04-30",
    "infotype": "0015",
    "allowEmpty": false,
    "locations": [],
    "features": ["daily.punches", "daily.totals", "monthly"]
}


Responses examples:


Response when SUCCESS - Code 200:

{
    "process": "6b28ff7e-dda5-415c-b5b4-ff776f92142b",
    "company": "a133595",
    "created_at": "2025-04-28T13:49:32.334Z"
}


Authentication ERROR - Code 401:

{
    "error": {
        "code": 401,
        "message": "Unauthorized"
    }
}


Permission ERROR - Code 403:

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Note: Check the user's permissions to access the route/service.


Validation ERROR - Code 400:

{
    "error": "\"rescission\" is required"
}

Note: Check the mandatory parameters of the request.

Once you have requested processing, you can query the status. This query returns the status of a previously initiated calculation process. It informs you whether processing has been completed, whether there have been any errors and the progress. You must provide the process identifier.


Item

Description

Flow:Client → PontoWeb
URL API:https://api.ahgora.com.br/reckons/process/status/:process
Method:GET
Auth:Basic (show)
Parameters:Process

This is the identifier code of the initiated process, obtained on the response from the start process request.

Example: 6b28ff7e-dda5-415c-b5b4-ff776f92142b



Query Params
KeyValue
Accept-Versionv1
v2


Response body:

FieldTypeDescription
processstringInitiated process code.
companystringCompany code in the PontoWeb system.
statusstring

Current process status:

processing – Processing in progress;

done – Processing completed successfully;

error – Processing completed with error.

uniquestringUnique identifier code for process control.
progress.donenumberNumber of employees with completed processing.
progress.totalnumberTotal number of employees to be processed.


Response examples:


Response when in PROCESS - Code 200:

{
    "status": "processing",
    "unique": "323256d",
    "process": "323256d-d0df-4c0d-a6c1-8d9ca6fed06b",
    "company": "a133595",
     "progress": {
        "done": 0,
        "total": 0
    }
}


Response when SUCCESS - Code 200:

{
    "status": "done",
    "unique": "3234ca5d",
    "process": "3234ca5d-d0df-4c0d-a6c1-8d9ca6fed06b",
    "company": "a133595",
    "progress": {
        "done": 1,
        "total": 1
    }
}


Validation ERROR - Code 400:

Accept-Version v1
{
    "error": {
        "message": "Process not found",
        "code": 400
    }
}

Note: Check the unique code entered.


Validation ERROR - Code 400:

Accept-Version v2:
{
    "error": "Process not found"
}

Note: Check the unique code entered.


Authentication ERROR - Code 401:

{
    "error": {
        "code": 401,
        "message": "Unauthorized"
    }
}

Note: Check the username and password entered.

Permission ERROR - Code 403:

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Note: Check the user's permissions to access the route/service.

Obtains the generated processing results, based on the unique identifier code. The data returned can include monthly events, daily totals and punches (clockings), as defined in the request asking for the results.
The data is available for 72 hours for consumption; after this period, it automatically expires.


Important: once the process data has been successfully queried, the events returned are marked as “consumed” and will not be displayed again in future calls.
To obtain the same events, you will need to enable the re-consumption of events via route 4. Enable re-consumption of events.


Item

Description

Flow:Client → PontoWeb
URL API:https://api.ahgora.com.br/reckons/:unique
Method:GET
Auth:Basic (show)
Parameter:
  • Unique (string): is the unique identifier code for control.

    Example: 3234ca5d
  • Limit (number) (optional): is the limit of records that will be returned in the response.
    • Default: 1000.
    • Max: 1000.


Response examples:


Response - monthly

Example of a response when the “features” field is entered with “monthly” in the request for calculated results:

FieldTypeDescription

unique

stringUnique process identifier code.
companystringCompany code in the PontoWeb system.
totalnumberTotal number of employees.
dataarrayContains a list of employee and event information.
data.employeestringEmployee's registration.
data.paymentDatestringDate of payment, expected format: “YYYY-MM-DD”.
data.infotypestringIdentifying the type of event.
data.resultsarrayIt contains a list of monthly events.
data.results.namestringName of the accounting code.
data.results.eventstring

Accounting code for the event.

Observação: Quando o parâmetro do body includeEmptyCode estiver definido como true, este campo poderá vir com valor vazio.

data.results.valuestring/number

Value of the accounting event.

Example:
Events in Days: 2;
Events in Hours: "16:00" (For Sexagesimals)
Events in Hours: "16,60" (For Centesimals)

data.results.typestringType of accounting event. Can be:
  • "days"
  • "hours"

By default, Absent Time are sent in hours (value and type).



Response when SUCCESS - Code 200:

{
	"company": "a133595",
    "unique": "3234ca5d",
    "total": 1,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2025-04-30",
            "infotype": "0015",
            "results": [
                {
                      "name": "Horas previstas",
                      "event": "9077",
                      "value": "71:20",
                      "type": "hours"
                  },
                  {
                      "name": "Dias previstos",
                      "event": "9078",
                      "value": 1,
                      "type": "days"
                  }
            ]
        }
    ]
}


Response - daily.punches

Example of a response when the “features” field is entered with “daily.punches” in the request for calculated results:

FieldTypeDescription

unique

stringUnique process identifier code.
companystringCompany code in the PontoWeb system.
totalnumberTotal number of days counted.
dataarrayContains a list of employee and clock-in information.
data.employeestringMatrícula do colaborador.
data.paymentDatestringDate of payment, expected format: “YYYY-MM-DD”.
data.infotypestringIdentifying the type of event.
data.dailyarrayContains the list of clockings.
data.daily.daystringDay on which the clock-in occurred, expected format: “YYYY-MM-DD”.
data.daily.punchesarrayList of appointment information.
data.daily.punches.datestringEffective date of clock-in.
data.daily.punches.hourstringTime of clocking in, expected format:  "HHMM".
data.daily.punches.typestring

Record type. Can be:

  • "O" - ETR (Electronic Time Recording) or Online Clocking.
  • "I"   - Manual Entry.
  • "BI" - Break Records.
data.daily.punches.labelstringIndicates whether the record is incoming or outgoing.


Response when SUCCESS - Code 200:

{
	"company": "a133595",
    "unique": "3234ca5d", 
    "total": 1,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "daily": [
                {
                    "day": "2022-07-29",
                    "punches": [
                        {
                            "date": "2022-07-28",
                            "hour": "0800",
                            "type": "O",
                            "label": "entrada-1"
                        },
                        {
                            "date": "2022-07-28",
                            "hour": "0900",
                            "type": "I",
                            "label": "saida-1"
                        }
                    ]
                }
            ]
        }
    ]
}


Response - daily.totals

Example response when the “features” field is entered with “daily.totals” in the request for calculated results:

FieldTypeDescription

unique

stringUnique process identification code.
companystringCompany code in the PontoWeb system.
totalnumberTotal number of days counted.
dataarrayContains a list of employee information and daily events
data.employeestringEmployee's registration.
data.paymentDatestringDate of payment, expected format: “YYYY-MM-DD”.
data.infotypestringIdentification of the event type.
data.dailyarrayContains a list of the punches (clockings).
data.daily.daystringDay of the punches (clock-in), expected format: "YYYY-MM-DD".
data.daily.resultsarrayIt contains a list of daily events.
data.daily.results.namestringName of the accounting code.
data.daily.results.eventstring

Accounting code for the event.

Observação: Quando o parâmetro do body includeEmptyCode estiver definido como true, este campo poderá vir com valor vazio.

data.daily.results.valuestring

Value of the accounting event.

Example:
Events in Days: 2;
Events in Hours: "16:00" (For Sexagesimals)
Events in Hours: "16,60" (For Centesimals)

data.daily.results.typestring

Type of accounting event. Can be:

  • "days"
  • "hours"


Response when SUCESSO - Code 200:

{
    "company": "a133595",
    "unique": "3234ca5d",
    "total": 1,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "daily": [
                {
                    "day": "2022-08-08",
                    "results": [
                        {
                            "name": "Horas previstas",
                            "event": "9077",
                            "value": "71:20",
                            "type": "hours"
                        },
                        {
                            "name": "Dias previstos",
                            "event": "9078",
                            "value": 1,
                            "type": "days"
                        }
                    ]
                }
            ]
        }
    ]
}


Response - daily.totals, daily.punches e monthly

Example answer when the “features” field contains all the options.

Resposta when SUCESSO - Code 200:

{
    "company": "a133595",
    "unique": "3234ca5d",
    "total": 2,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "daily": [
                {
                    "day": "2022-08-08",
                    "results": [
                        {
                            "name": "Horas previstas",
                            "event": "9077",
                            "value": "71:20",
                            "type": "hours"
                        },
                        {
                            "name": "Dias previstos",
                            "event": "9078",
                            "value": 1,
                            "type": "days"
                        }
                    ],
                    "punches": [
                        {
                            "date": "2022-07-28",
                            "hour": "0800",
                            "type": "O",
                            "label": "entrada-1"
                        },
                        {
                            "date": "2022-07-28",
                            "hour": "0900",
                            "type": "I",
                            "label": "saida-1"
                        }
                    ]
                }
            ]
        },
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "results": [
                {
                    "name": "Horas previstas",
                    "event": "9077",
                    "value": "71:20",
                    "type": "hours"
                },
                {
                    "name": "Dias previstos",
                    "event": "9078",
                    "value": 1,
                    "type": "days"
                }
            ]
        }
    ]
}

Authentication ERROR - Code 401

{
    "error": {
        "code": 401,
        "message": "Unauthorized"
    }
}

Note: Check the username and password entered.


ERRO de Permissão - Code 403

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Note: Check the user's permissions to access the route/service.

Restores the availability of events previously consumed in a calculation process. After executing this route, the data associated with the identifier entered can be obtained again via the results query route.


Item

Description

Flow:

Client → PontoWeb

URL API:https://api.ahgora.com.br/reckons/reconsume/:unique
Method:GET
Auth:Basic (show)
Parameter:
  • Unique (string): is the unique identification code for control.

    Example: 3234ca5d
Max limit:1000 times (The results calculation identified by unique)

Each refill is available for 72 hours for re-consumption.
After this time it is no longer accessible.


Response Body:

FieldTypeDescription
companystringCompany code in the PontoWeb system.
uniquestringUnique process identification code.

Response examples:

Response when SUCESSO - Code 200:

{
    "company": "a133595",
    "unique": "3234ca5d"
}


Validation ERROR - Code 400:

Accept-Version v1
{
    "error": {
        "message": "Process not found",
        "code": 400
    }
}

Note: Check the unique code entered.


Validation ERROR - Code 400:

Accept-Version v2:
{
    "error": "Process not found"
}

Note: Check the unique code entered.


Authentication ERROR - Code 401:

{
    "error": {
        "code": 401,
        "message": "Unauthorized"
    }
}

Note: Check the username and password entered.


Permission ERROR - Code 403:

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Note: Check the user's permissions to access the route/service.


Daily requisition limit exceeded ERROR - Code 429:

Accept-Version v1
{
    "error": {
        "message": "The daily limit of 3 has been exceeded for the following features: daily.punches, daily.totals, monthly.",
        "code": 429
    }
}


Accept-Version v2
{
    "error": "The daily limit of 3 has been exceeded for the following features: daily.punches, daily.totals, monthly."
}



Under construction


  1. How to identify the limit of 1000 records per page, what is considered a record?

    Answer: Each record is an Object returned in the "data" property in the body of the request. In the example below, we have 2 objects within "data", one referring to the daily (daily.totals and punches) and the second referring to the monthly (results), so we have two (2) records:

    "company": "a123456",
    "unique": "3234ca5d",
    "total": 2,
    "data": [
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "daily": [
                {
                    "day": "2022-08-08",
                    "results": [
                        {
                            "name": "Horas previstas",
                            "event": "9077",
                            "value": "71:20",
                            "type": "hours"
                        }
                    ],
                    "punches": [
                        {
                            "date": "2022-07-28",
                            "hour": "0800",
                            "type": "O",
                            "label": "entrada-1"
                        }
                    ]
                }
            ]
        },
        {
            "employee": "98a159Q",
            "paymentDate": "2022-08-08",
            "infotype": "0015",
            "results": [
                {
                    "name": "Horas previstas",
                    "event": "9077",
                    "value": "71:20",
                    "type": "hours"
                }
            ]
        }
    ]
    }




deck.tab.inactive.background = #fffffff
deck.tab.active.background = #b3a5ef