Foi criada a API para uso dos produtos de Folha de Pagamento das linhas RM, Datasul e Protheus, que será utilizada na nova tela "Histórico de Provisão", desenvolvida em Smart UI. Esta tela oferece novos recursos visuais e funcionais do Histórico de Provisões que já conhecíamos anteriormente.
Este módulo contém dados relativos às provisões mensais de Férias e 13º salário.

Este documento contém detalhes técnicos sobre os parâmetros, os retornos de cada um e a funcionalidade da API.


Informações Técnicas das API's utilizadas 

Endpoint:  /api/rh/v1/ConsultaMovimentoPassivoTrabalhista/Schema
Método:
GET
Objetivo: 
Retornar o Schema utilizado neste endpoint, com propriedades e tipos de dados

{
    "title": "Consulta Movimento Passivo Trabalhista",
    "version": "1.0",
    "identifier": "ConsultationMovementPassiveLabor",
    "fields": [
        {
            "layoutDefinition": [
                {
                    "visible": false,
                    "componentType": "TableLayout"
                },
                {
                    "visible": false,
                    "componentType": "DetailLayout"
                }
            ],
            "key": true,
            "property": "codColigada",
            "label": "Coligada",
            "disabled": true,
            "type": "string",
            "componentType": "Input"
        },
        {
            "quickFilter": true,
            "columns": [
                {
                    "fieldLabel": false,
                    "label": "Chapa",
                    "property": "chapa"
                },
                {
                    "fieldLabel": false,
                    "label": "Nome",
                    "property": "nome"
                }
            ],
            "required": true,
            "searchService": "/api/rh/v1/chapa",
            "format": [
                "chapa",
                "nome"
            ],
            "fieldLabel": "nome",
            "fieldValue": "chapa",
            "layoutDefinition": [
                {
                    "gridColumns": 3,
                    "visible": false,
                    "componentType": "DetailLayout"
                },
                {
                    "order": 1,
                    "componentType": "FilterLayout"
                }
            ],
            "clean": true,
            "noAutoComplete": true,
            "key": true,
            "property": "chapa",
            "label": "Matrícula",
            "componentType": "Lookup"
        },
        {
            "layoutDefinition": [
                {
                    "componentType": "TableLayout"
                },
                {
                    "gridColumns": 9,
                    "componentType": "DetailLayout"
                }
            ],
            "property": "nome",
            "label": "Nome da pessoa colaboradora",
            "type": "string",
            "componentType": "Input"
        },
        {
            "quickFilter": true,
            "layoutDefinition": [
                {
                    "componentType": "TableLayout"
                },
                {
                    "gridColumns": 4,
                    "componentType": "DetailLayout"
                }
            ],
            "key": true,
            "property": "codEvento",
            "label": "Código do Evento",
            "type": "string",
            "componentType": "Input"
        },
        {
            "layoutDefinition": [
                {
                    "componentType": "TableLayout"
                },
                {
                    "gridColumns": 4,
                    "componentType": "DetailLayout"
                }
            ],
            "property": "evento",
            "label": "Evento",
            "type": "string",
            "componentType": "Input"
        },
        {
            "layoutDefinition": [
                {
                    "visible": false,
                    "componentType": "TableLayout",
                    "allowColumnsManager": false
                },
                {
                    "gridColumns": 4,
                    "visible": false,
                    "componentType": "DetailLayout"
                }
            ],
            "property": "tipoEvento",
            "label": "Id Tipo de Evento",
            "type": "string",
            "componentType": "Input"
        },
        {
            "layoutDefinition": [
                {
                    "componentType": "TableLayout"
                },
                {
                    "gridColumns": 4,
                    "componentType": "DetailLayout"
                }
            ],
            "property": "nomeTipoEvento",
            "label": "Tipo de Evento",
            "type": "string",
            "componentType": "Input"
        },
        {
            "layoutDefinition": [
                {
                    "visible": false,
                    "componentType": "TableLayout",
                    "allowColumnsManager": false
                },
                {
                    "gridColumns": 2,
                    "visible": false,
                    "componentType": "DetailLayout"
                }
            ],
            "property": "hora",
            "label": "Hora",
            "type": "string",
            "componentType": "Input"
        },
        {
            "layoutDefinition": [
                {
                    "gridColumns": 2,
                    "componentType": "DetailLayout"
                },
                {
                    "componentType": "TableLayout"
                }
            ],
            "property": "horaFormatada",
            "label": "Horas",
            "type": "string",
            "componentType": "Input"
        },
        {
            "decimalsLength": 2,
            "thousandMaxlength": 6,
            "minValue": "0.00",
            "layoutDefinition": [
                {
                    "gridColumns": 2,
                    "componentType": "DetailLayout"
                },
                {
                    "componentType": "TableLayout"
                }
            ],
            "property": "ref",
            "label": "Referência",
            "type": "decimal",
            "componentType": "Decimal"
        },
        {
            "decimalsLength": 2,
            "thousandMaxlength": 6,
            "minValue": "0.00",
            "layoutDefinition": [
                {
                    "gridColumns": 3,
                    "componentType": "DetailLayout"
                },
                {
                    "componentType": "TableLayout"
                }
            ],
            "property": "valor",
            "label": "Valor",
            "type": "currency",
            "componentType": "Decimal"
        },
        {
            "layoutDefinition": [
                {
                    "visible": false,
                    "componentType": "TableLayout",
                    "allowColumnsManager": false
                },
                {
                    "gridColumns": 2,
                    "visible": false,
                    "componentType": "DetailLayout"
                }
            ],
            "property": "origemMov",
            "label": "Id Origem do Movimento",
            "type": "string",
            "componentType": "Input"
        },
        {
            "layoutDefinition": [
                {
                    "componentType": "TableLayout"
                },
                {
                    "gridColumns": 4,
                    "componentType": "DetailLayout"
                }
            ],
            "property": "desOrigemMov",
            "label": "Origem do Movimento",
            "type": "string",
            "componentType": "Input"
        }
    ],
    "groups": []
}


Endpoint:  /api/rh/v1/HistoricoProvisao/
Método:
POST
Objetivo: 
Incluir registros no Histórico da provisão de maneira manual, não necessitando do processo de geração de historico de provisão.

{
  "codigoColigada": 1,
  "ano": 2024,
  "mes": 7,
  "chapa": "F0002",
  "dataVencimentoFerias": "2025-02-01T00:00:00-03:00",
  "valorPagoFeriasMes": 0,
  "valorProvisaoFeriasEmDobro": 210.46,
  "avosFeriasVencidos": 24,
  "mediasFeriasVencidas": 150,
  "valorProvisaoFeriasVencidas": 960,
  "avosFeriasProporcionais": 9.85,
  "mediasFeriasProporcionais": 0,
  "valorProvisaoFeriasProporcionais": 110.23,
  "valorAbatimentoFerias": 1083.8,
  "valorSemAbatimentoFerias": 1083.8,
  "valorProvisaoFerias": 4400.97,
  "avos13": 9.9,
  "medias13Salario": 15.96,
  "valorProvisao13": 792
}

Status Code: 201 Created

{

    "codigoColigada": 1,
    "ano": 2024,
    "mes": 7,
    "chapa": "F0002",
    "dataVencimentoFerias": "2025-02-01T00:00:00-03:00",
    "valorPagoFeriasMes": 0.0,
    "valorProvisaoFeriasEmDobro": 210.46,
    "avosFeriasVencidos": 24.0,
    "mediasFeriasVencidas": 150.0,
    "valorProvisaoFeriasVencidas": 960.0,
    "avosFeriasProporcionais": 9.85,
    "mediasFeriasProporcionais": 0.0,
    "valorProvisaoFeriasProporcionais": 110.23,
    "valorAbatimentoFerias": 1083.8,
    "valorSemAbatimentoFerias": 1083.8,
    "valorProvisaoFerias": 4400.97,
    "avos13": 9.9,
    "medias13Salario": 15.96,
    "valorProvisao13": 792.0
}

Para análise rápida, importe a seguinte collection no Postman:



Para a utilização da collection, podemos utilizar um mock, para melhor visualização da API, basta importar o seguinte arquivo .json, usando a ferramenta Mockoon, basta importar o enviroment na ferramenta e iniciar o servidor:



Endpoint:   /api/rh/v1/HistoricoProvisao/CODCOLIGADA %7C ANOCOMP %7C MESCOMP %7C  CHAPA ( Este end point é dinâmico, onde o que se mantém sempre é %7C e o que sempre se altera são as informações CODCOLIGADA / ANOCOMP / MESCOMP / CHAPA   )

Exemplo de requisição com Endpoint montado:

/api/rh/v1/HistoricoProvisao/1%7C1998%7C2%7C00004

Método:  POST

Objetivo: Alterar um registro já incluido anteriormente

{
    "codigoColigada": 1,
    "ano": 1998,
    "mes": 2,
    "chapa": "00003",
    "dataVencimentoFerias": "1997-08-14T00:00:00-03:00",
    "valorPagoFeriasMes": 0,
    "valorProvisaoFeriasEmDobro": 15,
    "avosFeriasVencidos": 12,
    "mediasFeriasVencidas": 200,
    "valorProvisaoFeriasVencidas": 0,
    "avosFeriasProporcionais": 6,
    "mediasFeriasProporcionais": 0,
    "valorProvisaoFeriasProporcionais": 0,
    "valorAbatimentoFerias": 4400.97,
    "valorSemAbatimentoFerias": 4400.97,
    "valorProvisaoFerias": 4400.97,
    "avos13": 2,
    "medias13Salario": 0,
    "valorProvisao13": 323.18
}


Status Code: 200  OK

{
    "codigoColigada": 1,
    "ano": 1998,
    "mes": 2,
    "chapa": "00003",
    "dataVencimentoFerias": "1997-08-14T00:00:00-03:00",
    "valorPagoFeriasMes": 0.0,
    "valorProvisaoFeriasEmDobro": 15.0,
    "avosFeriasVencidos": 12.0,
    "mediasFeriasVencidas": 200.0,
    "valorProvisaoFeriasVencidas": 0.0,
    "avosFeriasProporcionais": 6.0,
    "mediasFeriasProporcionais": 0.0,
    "valorProvisaoFeriasProporcionais": 0.0,
    "valorAbatimentoFerias": 4400.97,
    "valorSemAbatimentoFerias": 4400.97,
    "valorProvisaoFerias": 4400.97,
    "avos13": 2.0,
    "medias13Salario": 0.0,
    "valorProvisao13": 323.18
}

Para análise rápida, importe a seguinte collection no Postman:



Para a utilização da collection, podemos utilizar um mock, para melhor visualização da API, basta importar o seguinte arquivo .json, usando a ferramenta Mockoon, basta importar o enviroment na ferramenta e iniciar o servidor:



Endpoint:   /api/rh/v1/HistoricoProvisao/CODCOLIGADA %7C ANOCOMP %7C MESCOMP %7C  CHAPA ( Este end point é dinâmico, onde o que se mantém sempre é %7C e o que sempre se altera são as informações CODCOLIGADA / ANOCOMP / MESCOMP / CHAPA   )

Exemplo de requisição com Endpoint montado:

/api/rh/v1/HistoricoProvisao/1%7C1998%7C2%7C00004

Método:  DELETE

Objetivo: Excluir um registro já incluido anteriormente

Status Code: 204  No Content

Para análise rápida, importe a seguinte collection no Postman:



Para a utilização da collection, podemos utilizar um mock, para melhor visualização da API, basta importar o seguinte arquivo .json, usando a ferramenta Mockoon, basta importar o enviroment na ferramenta e iniciar o servidor: