Totvs custom tabs box items |
---|
default | yes |
---|
referencia | filiais |
---|
| Filiais - api/rh/v1/HrBranchesDbHrBranches API responsável por trazer todas as filiais para serem utilizadas no filtro do Dashboard RH. Assim será possível ter uma visão macro da empresa ou apenas de uma filial em específico. Ativação/Desativação da APIPor padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST. Controle de AmbienteExige que os seguintes pontos sejam revisados: - Protheus com sua arquitetura devidamente estruturada.
Controle de VersãoO grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release. Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus. SuporteO suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs. Esta API traz a funcionalidade exclusivamente para consultar todas as filiais cadastradas para serem utilizadas no filtro do Dashboard RH. CadastroEsta API contempla apenas a consulta das filiais cadastradas. ProcessosO Dashboard RH realizará o consumo da API para buscar todas as filiais. Como realizar a chamada da API REST- Preenchimento do EndPoint da API PONAPIDSB;
- Utilizar a chamada do método Get GET e do Serviço api/rh/v1/HrBranchesDbHrBranches;
Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo: https://tdn.totvs.com/x/jIUoI Por ser uma API que retorna todas as filiais, não existe qualquer parâmetro que precisa ser enviado. Image Removed
Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/HrBranchesDbHrBranches Response da API: Application/json { "Branchesbranches": [ "D MG 01 ", "D MG 02 ", "D RJ 01 ", "D RJ 02 ", "M PR 01 ", "M PR 02 ", "M SP 01 ", "M SP 02 ", "M SP 03 " ] } Image RemovedImage Added |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | totalfuncgestores |
---|
| Total de Funcionários Filiais - api/rh/v1/DashbHrTotalEmployeesDbHrManagers API responsável por retornar apenas os funcionários que utilizam o ponto eletrônico, que não foram demitidos antes do período selecionado ou os funcionários demitidos dentro do período selecionadotrazer todos os gestores para serem utilizados no filtro do Dashboard RH. Assim será possível realizar filtros dos funcionários separados por gestor ou gestores. Ativação/Desativação da APIPor padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST. Controle de AmbienteExige que os seguintes pontos sejam revisados: - Protheus com sua arquitetura devidamente estruturada.
Controle de VersãoO grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release. Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus. SuporteO suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs. Esta API traz a funcionalidade exclusivamente para trazer o total de funcionários que utilizam o ponto eletrônico, que não foram demitidos antes do período selecionado ou os funcionários demitidos dentro do período selecionadoconsultar todos os gestores cadastrados para serem utilizadas no filtro do Dashboard RH. CadastroEsta API contempla apenas a consulta do cadastro de funcionáriosdos gestores cadastrados. ProcessosO Dashboard RH realizará o consumo da API para buscar e exibir a quantidade total de funcionários que utilizam o ponto eletrônicotodos os gestores. Como realizar a chamada da API REST- Preenchimento do EndPoint da API PONAPIDSB;
- Utilizar a chamada do método Get e método GET e do Serviço api/rh/v1/DashbHrTotalEmployeesDbHrManagers;
- Preenchimento dos parâmetros obrigatórios da API;
Internamente Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo: https://tdn.totvs.com/x/jIUoI As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD
Parâmetros de Entrada: | Parâmetro | Valor de Exemplo | Obrigatório | Tipo | Parâmetro | Descrição |
---|
startDate | 2022-06-01 | Sim | Date | Query | Data inicial do período | endDate | 2022-06-30 | Sim | Date | Query | Data final do período | filial | D MG 01 ou todas | Sim | String | Query | Filtro da filial | accept | application/json | Sim | String | Header | content-type | application/json | Sim | String | Header | Image Removed Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DashbHrTotalEmployees Response da API: Application/json { "TotalEmployees": 3 } Image Removed
Situações de Erros TratadosO envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros. Desta forma, foram criados alguns tratamentos de erros listados abaixo, cada um com sua respectiva mensagem e solução. Mensagens de Pré-ValidaçãoCódigo | Erro | Detalhe |
---|
400 | "Parâmetros inválidos: Verifique se os parâmetros startDate, endDate e filial foram enviados." | Por ser uma API que retorna todos os gestores, não existe qualquer parâmetro que precisa ser enviado.
Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DbHrManagers Response da API: Application/json { "managers": [ "GESTOR FINANCEIRO D MG (D MG 01 - 000001)", "GESTOR RH M SP (M SP 01 - 000001)", "GESTOR TI D MG (D MG 01 - 000002)" ] } Image Added Observações: 1 - Para que o Dashboard RH consiga localizar corretamente os funcionários que percentem à um gestor é necessário informar a filial e matrícula (separados por espaço + "-" + espaço) dos gestores entre parênteses. Exemplo: Gestor A (M SP 01 - 000001), Gestor B (M SP 01 - 000002) e Gestor C (M SP 01 - 000003). 2 - Caso o ERP não possua uma hierarquia ou não foram encontrados os gestores, o retorno a API deverá ser um Array vazio. Enviado um Array vazio o Dashboard RH irá desativar o filtro por gestor e o botão de enviar e-mail para os gestores. Image Added
Totvs custom tabs box items |
---|
| Totvs custom tabs box items |
---|
| Ponto Completo e Incompleto - api/rh/v1/DashbHrAttendanceControlDbHrAttendanceControl API responsável por retornar o total de funcionários, funcionários com o ponto completo, incompleto e sem marcações, que não foram demitidos antes do período selecionado ou os funcionários demitidos dentro do período selecionado. Basicamente esta API irá verificar a quantidade de marcações realizadas no período pelo funcionário e irá validar com a quantidade em que o funcionário deveria realizar de acordo com o seu turno. Por exemplo um funcionário precisa realizar a marcação do ponto 4 vezes ao dia (entrada jornada, saída para o almoço, volta do almoço e saída da jornada). Na semana o funcionário trabalha de segunda à sexta, então teremos 5 dias trabalhados, onde cada dia o funcionário precisa bater o ponto 4 vezes, totalizando 20 marcações na semana. Se o funcionário possuir 20 ou mais marcações o sistema irá contabilizar como ponto completo, caso o funcionário tenha menos de 20 marcações na semana, será considerado como ponto incompletoSe o funcionário possuir 4 ou mais marcações o sistema irá contabilizar como ponto completo, caso o funcionário tenha menos de 4 marcações, será considerado como ponto incompleto e se o funcionário não possuir marcações no dia, será contabilizado com funcionário sem marcação, com exceção dos finais de semandas, feriados ou em dias em que o funcionário não trabalha. Quando for selecionado um período de 30 dias, por exemplo, a validação do ponto completo será realizada diariamente, ou seja, se o funcionário tiver 4 marcações todos os dias do período selecionado ele será considerado como ponto completo. Se no período existir pelo menos 1 dia com marcações faltantes, ele será considerado ponto incompleto e se o funcionário não possuir marcações no período selecionado, será considerado como funcionário sem marcações.
Observação: O dia da demissão do funcionário contará como dia trabalhado, caso o funcionário seja demitido no dia 19/08/2022 e o filtro do período é de 01/08/2022 à 19/08/2022, a quantidade de marcações do dia 19/08/2022 será contabilizado normalmente. Ativação/Desativação da APIPor padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST. Controle de AmbienteExige que os seguintes pontos sejam revisados: - Protheus com sua arquitetura devidamente estruturada.
Controle de VersãoO grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release. Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus. SuporteO suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs. Esta API traz a funcionalidade exclusivamente para trazer o total de funcionários, funcionários que estão com o ponto completo, incompleto e sem marcações CadastroEsta API contempla as consultas do cadastro de funcionários, turnos, tabela de horário padrão e marcações realizadas pelo funcionários. ProcessosO Dashboard RH realizará o consumo da API para buscar e exibir a quantidade total de funcionários, funcionários que estão com o ponto completo, incompleto e sem marcações Como realizar a chamada da API REST- Preenchimento do EndPoint da API PONAPIDSB;
- Utilizar a chamada do método Get POST e do Serviço api/rh/v1/DashbHrAttendanceControlDbHrAttendanceControl;
- Preenchimento dos parâmetros obrigatórios da API;
Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo: https://tdn.totvs.com/x/jIUoI As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD Parâmetros de Entrada: Parâmetro | Valor de Exemplo | Obrigatório | Tipo | Parâmetro | Descrição |
---|
startDate | 20222024-0801-1601 | Sim | Date | QueryBody | Data inicial do período. | endDate | 20222024-01-08-17 | Sim | Date | QueryBody | Data final do período. | branches | ["D MG 01"] ["D MG 01","M SP 01"] ["todas"] | filial | D MG 01 ou todas | Sim | StringArray | QueryBody | Filtro da filial. | managers | ["GESTOR FINANCEIRO D MG (D MG 01 - 000001)"] ["GESTOR FINANCEIRO D MG (D MG 01 - 000001)","GESTOR RH M SP (M SP 01 - 000001)"] ["todos"]
| Sim | Array | Body | Gestores selecionados no filtro. | accept | application/json | Sim | String | Header |
| content-type | application/json | Sim | String | Header |
Image Removed
Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DashbHrAttendanceControlDbHrAttendanceControl Response da API: Application/json{
"TotalEmployees": 5, "ClockMarkingsComplete": 3, "ClockMarkingsIncomplete": 1, "WithoutClockMarkings": 1 } Image Removed Situações de Erros TratadosO envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros. Desta forma, foram criados alguns tratamentos de erros listados abaixo, cada um com sua respectiva mensagem e solução. Mensagens de Pré-Validação | Código | Erro | Detalhe |
---|
400 | "Parâmetros inválidos: Verifique se os parâmetros startDate, endDate e filial foram enviados." | Totvs custom tabs box items |
---|
default | no |
---|
referencia | clockin |
---|
| Integrações Clock In - api/rh/v1/DashbHrClockin API responsável por retornar o total de marcações no Clock In, total de marcações integradas, total de marcações a serem integradas e o total de marcações sem NSR gerada. Ativação/Desativação da APIPor padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST. Controle de AmbienteExige que os seguintes pontos sejam revisados: - Protheus com sua arquitetura devidamente estruturada.
Controle de VersãoO grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release. Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus. SuporteO suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs. Esta API traz a funcionalidade exclusivamente para trazer o total de funcionários que estão com o ponto completo e o total de funcionários com o ponto incompleto. CadastroEsta API contempla as consultas de marcações do Clock In e marcações integradas com o ERP. ProcessosO Dashboard RH realizará o consumo da API para buscar e exibir a quantidade total de marcações no Clock In, total de marcações integradas, total de marcações a serem integradas e o total de marcações sem NSR gerada. Como realizar a chamada da API REST- Preenchimento do EndPoint da API PONAPIDSB;
- Utilizar a chamada do método Get e do Serviço api/rh/v1/DashbHrClockin;
- Preenchimento dos parâmetros obrigatórios da API;
Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo: https://tdn.totvs.com/x/jIUoI As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD
Parâmetros de Entrada: Bloco de código |
---|
| {
"1": {
"branch": "Todas as Filiais",
"totalEmployees": 9,
"totalDetails": [
{
"branch": "D MG 01 ",
"registration": "000003",
"name": "DASH PNT COMPLETO FINANCEIRO",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000004",
"name": "DASH PNT INCOMPLET FINANCEIRO",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000005",
"name": "DASH PNT SEM MARC FINANCEIRO",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000006",
"name": "DASH PNT COMPLETO TI",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
},
{
"branch": "D MG 01 ",
"registration": "000007",
"name": "DASH PNT INCOMPLETO TI",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
},
{
"branch": "D MG 01 ",
"registration": "000008",
"name": "DASH PNT SEM MARC TI",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
},
{
"branch": "M SP 01 ",
"registration": "000002",
"name": "DASH PNT COMPLETO RH",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
},
{
"branch": "M SP 01 ",
"registration": "000003",
"name": "DASH PNT INCOMPLETO RH",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
},
{
"branch": "M SP 01 ",
"registration": "000004",
"name": "DASH PNT SEM MARC RH",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
}
],
"clockMarkingsComplete": 3,
"completeDetails": [
{
"branch": "D MG 01 ",
"registration": "000003",
"name": "DASH PNT COMPLETO FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000006",
"name": "DASH PNT COMPLETO TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
},
{
"branch": "M SP 01 ",
"registration": "000002",
"name": "DASH PNT COMPLETO RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
}
],
"clockMarkingsIncomplete": 3,
"incompleteDetails": [
{
"branch": "D MG 01 ",
"registration": "000004",
"name": "DASH PNT INCOMPLET FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"dateTime": "05/01/2024",
"reason": "Dia sem marcação",
"estimated": "09:00 - 12:00 - 13:00 - 18:00",
"performed": "",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000007",
"name": "DASH PNT INCOMPLETO TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"dateTime": "03/01/2024",
"reason": "1 Marcação faltante",
"estimated": "09:00 - 12:00 - 13:00 - 18:00",
"performed": " 09:00 - 12:00 - 13:00 ",
"managerId": "D MG 01 - 000002"
},
{
"branch": "M SP 01 ",
"registration": "000003",
"name": "DASH PNT INCOMPLETO RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"dateTime": "04/01/2024",
"reason": "Dia sem marcação",
"estimated": "08:00 - 13:00 - 14:00 - 17:00",
"performed": "",
"managerId": "M SP 01 - 000001"
}
],
"withoutClockMarkings": 3,
"withoutDetails": [
{
"branch": "D MG 01 ",
"registration": "000005",
"name": "DASH PNT SEM MARC FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000008",
"name": "DASH PNT SEM MARC TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
},
{
"branch": "M SP 01 ",
"registration": "000004",
"name": "DASH PNT SEM MARC RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
}
]
},
"2": {
"branch": "D MG 01",
"totalEmployees": 6,
"totalDetails": [
{
"branch": "D MG 01 ",
"registration": "000003",
"name": "DASH PNT COMPLETO FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000006",
"name": "DASH PNT COMPLETO TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
},
{
"branch": "D MG 01 ",
"registration": "000004",
"name": "DASH PNT INCOMPLET FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000007",
"name": "DASH PNT INCOMPLETO TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
},
{
"branch": "D MG 01 ",
"registration": "000005",
"name": "DASH PNT SEM MARC FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000008",
"name": "DASH PNT SEM MARC TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
}
],
"clockMarkingsComplete": 2,
"completeDetails": [
{
"branch": "D MG 01 ",
"registration": "000003",
"name": "DASH PNT COMPLETO FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000006",
"name": "DASH PNT COMPLETO TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
}
],
"clockMarkingsIncomplete": 2,
"incompleteDetails": [
{
"branch": "D MG 01 ",
"registration": "000004",
"name": "DASH PNT INCOMPLET FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"dateTime": "05/01/2024",
"reason": "Dia sem marcação",
"estimated": "09:00 - 12:00 - 13:00 - 18:00",
"performed": "",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000007",
"name": "DASH PNT INCOMPLETO TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"dateTime": "03/01/2024",
"reason": "1 Marcação faltante",
"estimated": "09:00 - 12:00 - 13:00 - 18:00",
"performed": " 09:00 - 12:00 - 13:00 ",
"managerId": "D MG 01 - 000002"
}
],
"withoutClockMarkings": 2,
"withoutDetails": [
{
"branch": "D MG 01 ",
"registration": "000005",
"name": "DASH PNT SEM MARC FINANCEIRO ",
"department": "FINANCEIRO ",
"manager": "GESTOR FINANCEIRO D MG ",
"managerId": "D MG 01 - 000001"
},
{
"branch": "D MG 01 ",
"registration": "000008",
"name": "DASH PNT SEM MARC TI ",
"department": "TI ",
"manager": "GESTOR TI D MG ",
"managerId": "D MG 01 - 000002"
}
]
},
"3": {
"branch": "M SP 01",
"totalEmployees": 3,
"totalDetails": [
{
"branch": "M SP 01 ",
"registration": "000002",
"name": "DASH PNT COMPLETO RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
},
{
"branch": "M SP 01 ",
"registration": "000003",
"name": "DASH PNT INCOMPLETO RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
},
{
"branch": "M SP 01 ",
"registration": "000004",
"name": "DASH PNT SEM MARC RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
}
],
"clockMarkingsComplete": 1,
"completeDetails": [
{
"branch": "M SP 01 ",
"registration": "000002",
"name": "DASH PNT COMPLETO RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
}
],
"clockMarkingsIncomplete": 1,
"incompleteDetails": [
{
"branch": "M SP 01 ",
"registration": "000003",
"name": "DASH PNT INCOMPLETO RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"dateTime": "04/01/2024",
"reason": "Dia sem marcação",
"estimated": "08:00 - 13:00 - 14:00 - 17:00",
"performed": "",
"managerId": "M SP 01 - 000001"
}
],
"withoutClockMarkings": 1,
"withoutDetails": [
{
"branch": "M SP 01 ",
"registration": "000004",
"name": "DASH PNT SEM MARC RH ",
"department": "RH ",
"manager": "GESTOR RH M SP ",
"managerId": "M SP 01 - 000001"
}
]
}
}
|
ObservaçãoCaso os indicadores não possuam dados a serem exibido, será necessário enviar no retorno da API as propriedades da resposta com 0 e o detalhamento com um array vazio. Exemplo: Bloco de código |
---|
{
"1": {
"branch": "Todas as Filiais",
"totalEmployees": 0,
"totalDetails": [],
"clockMarkingsComplete": 0,
"completeDetails": [],
"clockMarkingsIncomplete": 0,
"incompleteDetails": [],
"withoutClockMarkings": 0,
"withoutDetails": []
},
"2": {
"branch": "Filial A",
"totalEmployees": 0,
"totalDetails": [],
"clockMarkingsComplete": 0,
"completeDetails": [],
"clockMarkingsIncomplete": 0,
"incompleteDetails": [],
"withoutClockMarkings": 0,
"withoutDetails": []
},
"3": {
"branch": "Filial B",
"totalEmployees": 0,
"totalDetails": [],
"clockMarkingsComplete": 0,
"completeDetails": [],
"clockMarkingsIncomplete": 0,
"incompleteDetails": [],
"withoutClockMarkings": 0,
"withoutDetails": []
}
}
|
ObservaçãoCaso seja selecionada 2 ou mais filiais, a primeira posição da resposta obrigatoriamente será o totalizador, para a demais posições serão as filiais e suas informações. Se for selecionado apenas 1 filial no filtro só haverá 1 posição na resposta da API. Chamada API:Image Added Possíveis situações no envio dos filtros de filiais Bloco de código |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"todas"
],
"managers":[
"todos"
]
} |
Bloco de código |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"D MG 01"
],
"managers":[
"todos"
]
} |
Bloco de código |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"D MG 01",
"M SP 01"
],
"managers":[
"todos"
]
} |
Observação1 - Para o filtro de gestor caso selecionado todos os gestores deverá ser retornado todos os funcionários, independemente se o funcionário possui ou não um gestor direto. 2 - Quando selecionado 1 ou mais gestores apenas os funcionários que respondem diretamente aos gestores selecionados deverão ser listados. 3 - Não há quebra dos indicadores separados por gestor, como existe na quebra por filial. Possíveis situações no envio dos filtros de filiais Bloco de código |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"todas"
],
"managers":[
"todos"
]
} |
Bloco de código |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"todas"
],
"managers":[
"GESTOR FINANCEIRO D MG (D MG 01 - 000001)"
]
} |
Bloco de código |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"todas"
],
"managers":[
"GESTOR FINANCEIRO D MG (D MG 01 - 000001)",
"GESTOR RH M SP (M SP 01 - 000001)"
]
} |
Situações de Erros TratadosO envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros. Desta forma, foram criados alguns tratamentos de erros listados abaixo, cada um com sua respectiva mensagem e solução. Mensagens de Pré-ValidaçãoCódigo | Erro | Detalhe |
---|
400 | "Parâmetros inválidos: Verifique se os parâmetros startDate, endDate e filial foram enviados." |
|
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | clockin |
---|
| Integrações Clock In - api/rh/v1/DbHrClockin API responsável por retornar o total de marcações no Clock In, total de marcações integradas, total de marcações a serem integradas e o total de marcações sem NSR gerada. Ativação/Desativação da APIPor padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST. Controle de AmbienteExige que os seguintes pontos sejam revisados: - Protheus com sua arquitetura devidamente estruturada.
Controle de VersãoO grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release. Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus. SuporteO suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs. Esta API traz a funcionalidade exclusivamente para trazer o total de funcionários que estão com o ponto completo e o total de funcionários com o ponto incompleto. CadastroEsta API contempla as consultas de marcações do Clock In e marcações integradas com o ERP. ProcessosO Dashboard RH realizará o consumo da API para buscar e exibir a quantidade total de marcações no Clock In, total de marcações integradas, total de marcações a serem integradas e o total de marcações sem NSR gerada. Como realizar a chamada da API REST- Preenchimento do EndPoint da API PONAPIDSB;
- Utilizar a chamada do método POST e do Serviço api/rh/v1/DbHrClockin;
- Preenchimento dos parâmetros obrigatórios da API;
Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo: https://tdn.totvs.com/x/jIUoI As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD Parâmetros de Entrada: Parâmetro | Valor de Exemplo | Obrigatório | Tipo | Parâmetro | Descrição |
---|
startDate | 2022-05-01 | Sim | Date | Body | Data inicial do período. | endDate | 2022-05-31 | Sim | Date | Body | Data final do período. | branches | ["D MG 01"] ["D MG 01","M SP 01"] ["todas"] | Sim | Array | Body | Filtro da filial. | accept | application/json | Sim | String | Header |
| content-type | application/json | Sim | String | Header |
|
Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DbHrClockin Response da API: Application/json Bloco de código |
---|
| {
"1": {
"branch": "Todas",
"totalClockMarkings": 7,
"totalDetails": [
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 1,
"dateTime": "01/03/2023 09:00"
},
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 2,
"dateTime": "01/03/2023 12:00"
},
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 3,
"dateTime": "01/03/2023 13:00"
},
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 0,
"dateTime": "01/03/2023 18:00"
},
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 1,
"dateTime": "01/03/2023 09:00"
},
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 2,
"dateTime": "01/03/2023 12:00"
},
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 0,
"dateTime": "01/03/2023 13:00"
}
],
"totalIntegrated": 3,
"integratedDetails": [
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 1,
"dateTime": "01/03/2023 09:00"
},
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 2,
"dateTime": "01/03/2023 12:00"
},
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 1,
"dateTime": "01/03/2023 09:00"
}
],
"totalToBeIntegrated": 2,
"toBeIntegratedDetails": [
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 3,
"dateTime": "01/03/2023 13:00"
},
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 2,
"dateTime": "01/03/2023 12:00"
}
],
"totalWhitoutNSR": 2,
"whitoutNsrDetails": [
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 0,
"dateTime": "01/03/2023 18:00"
},
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 0,
"dateTime": "01/03/2023 18:00"
}
]
},
"2": {
"branch": "Filial A",
"totalClockMarkings": 4,
"totalDetails": [
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 1,
"dateTime": "01/03/2023 09:00"
},
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 2,
"dateTime": "01/03/2023 12:00"
},
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 3,
"dateTime": "01/03/2023 13:00"
},
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 0,
"dateTime": "01/03/2023 18:00"
}
],
"totalIntegrated": 2,
"integratedDetails": [
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 1,
"dateTime": "01/03/2023 09:00"
},
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 2,
"dateTime": "01/03/2023 12:00"
}
],
"totalToBeIntegrated": 1,
"clockMarkings": [
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 3,
"dateTime": "01/03/2023 13:00"
}
],
"totalWhitoutNSR": 1,
"whitoutNsrDetails": [
{
"cnpj": "99999999999999",
"cpf": "44379500039",
"pis": "61743152540",
"branch": "Filial A",
"name": "Func A",
"device": "dispositivo A",
"nsr": 0,
"dateTime": "01/03/2023 18:00"
}
]
},
"3": {
"branch": "Filial B",
"totalClockMarkings": 3,
"totalDetails": [
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 1,
"dateTime": "01/03/2023 09:00"
},
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 2,
"dateTime": "01/03/2023 12:00"
},
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 0,
"dateTime": "01/03/2023 13:00"
}
],
"totalIntegrated": 1,
"integratedDetails": [
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 1,
"dateTime": "01/03/2023 09:00"
}
],
"totalToBeIntegrated": 1,
"toBeIntegratedDetails": [
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 2,
"dateTime": "01/03/2023 12:00"
}
],
"totalWhitoutNSR": 1,
"whitoutNsrDetails": [
{
"cnpj": "99999999999999",
"cpf": "88888888888",
"pis": "77777777777",
"branch": "Filial B",
"name": "Func B",
"device": "dispositivo B",
"nsr": 0,
"dateTime": "01/03/2023 13:00"
}
]
}
} |
ObservaçãoCaso os indicadores não possuam dados a serem exibido, será necessário enviar no retorno da API as propriedades da resposta com 0 e o detalhamento com um array vazio. Exemplo: Bloco de código |
---|
{
"1": {
"branch": "Todas as Filiais",
"totalClockMarkings": 0,
"totalDetails": [],
"totalIntegrated": 0,
"integratedDetails": [],
"totalToBeIntegrated": 0,
"toBeIntegratedDetails": [],
"totalWhitoutNSR": 0,
"whitoutNsrDetails": []
},
"2": {
"branch": "Filial A",
"totalClockMarkings": 0,
"totalDetails": [],
"totalIntegrated": 0,
"integratedDetails": [],
"totalToBeIntegrated": 0,
"toBeIntegratedDetails": [],
"totalWhitoutNSR": 0,
"whitoutNsrDetails": []
},
"3": {
"branch": "Filial B",
"totalClockMarkings": 0,
"totalDetails": [],
"totalIntegrated": 0,
"integratedDetails": [],
"totalToBeIntegrated": 0,
"toBeIntegratedDetails": [],
"totalWhitoutNSR": 0,
"whitoutNsrDetails": []
}
} |
ObservaçãoCaso seja selecionada 2 ou mais filiais, a primeira posição da resposta obrigatoriamente será o totalizador, para a demais posições serão as filiais e suas informações. Se for selecionado apenas 1 filial no filtro só haverá 1 posição na resposta da API. Chamada API: Image Added
Possíveis situações no envio dos filtros Bloco de código |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"todas"
]
} |
Bloco de código |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"D MG 01"
]
} |
Bloco de código |
---|
title | Duas ou mais filiais |
---|
| {
"startDate":"2024-01-01",
"endDate":"2024-01-05",
"branches":[
"D MG 01",
"M SP 01"
]
} |
Situações de Erros TratadosO envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros. Desta forma, foram criados alguns tratamentos de erros listados abaixo, cada um com sua respectiva mensagem e solução. Mensagens de Pré-ValidaçãoCódigo | Erro | Detalhe |
---|
400 | "Parâmetros inválidos: Verifique se os parâmetros startDate, endDate e filial foram enviados." |
|
|
Totvs custom tabs box items |
---|
| Integrações Clock In - api/rh/v1/DbHrEmail API responsável por enviar um e-mail com um HTML que é uma cópia do Dashboard e uma planilha do excel contendo os dados dos indicadores. Ativação/Desativação da APIPor padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST. Controle de AmbienteExige que os seguintes pontos sejam revisados: - Protheus com sua arquitetura devidamente estruturada.
Controle de VersãoO grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release. Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus. SuporteO suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs. Esta API traz a funcionalidade exclusivamente para enviar as informações exibidas no Dashboard RH por e-mail. CadastroEsta API contempla os resultados das informações exibidas no Dashboard RH, no caso o resultado das APIs anteriores (DbHrAttendanceControl e DbHrClockin). ProcessosO Dashboard RH realizará o consumo da API para enviar um e-mail, contendo um HTML do Dashboard RH anexa. Como realizar a chamada da API REST- Preenchimento do EndPoint da API PONAPIDSB;
- Utilizar a chamada do método POST e do Serviço api/rh/v1/DbHrEmail;
- Preenchimento dos parâmetros obrigatórios da API;
Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo: https://tdn.totvs.com/x/jIUoI As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD Parâmetros de Entrada: Parâmetro | Valor de Exemplo | Obrigatório | Tipo | Parâmetro | Descrição |
---|
lastUpdate | 09:31 (02/05/2023) | Sim | String | Body | Data da última atualizado do Dashboard. | startDate | 2023-04-30 | Sim | Date | Body | Data Inicial do filtro. | endDate | 2023-05-01 | Sim | Date | Body | Data final do filtro. | branches | ["todas"] |
| Array | Body | Filiais selecionadas no filtro | managerIsEmpty | false |
| Boolean | Body | Indica se existe a hierarquia de gestores | sendToManager | false |
| Boolean | Body | Indica se o e-mail deve ser disparado apenas para o gestor | managers | ["todos"] |
| Array | Body | Gestores selecionados no filtro | data | "data": [ { "manager": "", "grpIndicators": [ { "indicatorGroup": "Indicadores de funcionários - Todas as Filiais", "indicators": [ { "indicatorBranch": "Todas as Filiais", "title": "Total de funcionários", "classTitle": "totalCard_title", "amount": 9, "details": [ { "branch": "D MG 01 ", "registration": "000003", "name": "DASH PNT COMPLETO FINANCEIRO", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000004", "name": "DASH PNT INCOMPLET FINANCEIRO", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000005", "name": "DASH PNT SEM MARC FINANCEIRO", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000006", "name": "DASH PNT COMPLETO TI", "department": "TI ", "manager": "GESTOR TI D MG ", "managerId": "D MG 01 - 000002" }, { "branch": "D MG 01 ", "registration": "000007", "name": "DASH PNT INCOMPLETO TI", "department": "TI ", "manager": "GESTOR TI D MG ", "managerId": "D MG 01 - 000002" }, { "branch": "D MG 01 ", "registration": "000008", "name": "DASH PNT SEM MARC TI", "department": "TI ", "manager": "GESTOR TI D MG ", "managerId": "D MG 01 - 000002" }, { "branch": "M SP 01 ", "registration": "000002", "name": "DASH PNT COMPLETO RH", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000003", "name": "DASH PNT INCOMPLETO RH", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000004", "name": "DASH PNT SEM MARC RH", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "Todas as Filiais", "title": "funcionários com pontos completos", "classTitle": "accomplishedCard_title", "amount": 3, "details": [ { "branch": "D MG 01 ", "registration": "000003", "name": "DASH PNT COMPLETO FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000006", "name": "DASH PNT COMPLETO TI ", "department": "TI ", "manager": "GESTOR TI D MG ", "managerId": "D MG 01 - 000002" }, { "branch": "M SP 01 ", "registration": "000002", "name": "DASH PNT COMPLETO RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "Todas as Filiais", "title": "funcionários com pontos incompletos", "classTitle": "attentionCard_title", "amount": 3, "details": [ { "branch": "D MG 01 ", "registration": "000004", "name": "DASH PNT INCOMPLET FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "dateTime": "05/01/2024", "reason": "Dia sem Marcação", "estimated": "09:00 - 12:00 - 13:00 - 18:00", "performed": "", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000007", "name": "DASH PNT INCOMPLETO TI ", "department": "TI ", "manager": "GESTOR TI D MG ", "dateTime": "03/01/2024", "reason": "1 Marcação faltante", "estimated": "09:00 - 12:00 - 13:00 - 18:00", "performed": " 09:00 - 12:00 - 13:00 ", "managerId": "D MG 01 - 000002" }, { "branch": "M SP 01 ", "registration": "000003", "name": "DASH PNT INCOMPLETO RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "dateTime": "04/01/2024", "reason": "Dia sem Marcação", "estimated": "08:00 - 13:00 - 14:00 - 17:00", "performed": "", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "Todas as Filiais", "title": "funcionários sem marcações", "classTitle": "criticalCard_title", "amount": 3, "details": [ { "branch": "D MG 01 ", "registration": "000005", "name": "DASH PNT SEM MARC FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000008", "name": "DASH PNT SEM MARC TI ", "department": "TI ", "manager": "GESTOR TI D MG ", "managerId": "D MG 01 - 000002" }, { "branch": "M SP 01 ", "registration": "000004", "name": "DASH PNT SEM MARC RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] } ] }, { "indicatorGroup": "Indicadores de marcações do Clock In - Todas as Filiais", "indicators": [ { "indicatorBranch": "Todas as Filiais", "title": "Total de marcações no período", "classTitle": "totalCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "Todas as Filiais", "title": "marcações processadas", "classTitle": "accomplishedCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "Todas as Filiais", "title": "marcações existentes para integração", "classTitle": "attentionCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "Todas as Filiais", "title": "marcações sem NSR", "classTitle": "criticalCard_title", "amount": 0, "details": [] } ] } ] } ] | Sim | Object | Body | Array dados dos indicadores. | accept | application/json | Sim | String | Header |
| content-type | application/json | Sim | String | Header |
|
Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DbHrEmail Response da API: Application/json { "Response": "E-mail enviado com sucesso." } Para o envio do e-mail com os dados do Dashboard será necessário verificar se o e-mail deverá ser enviado para o gestor ou não, através do parâmetro sendToManager, caso ele esteja true o e-mail deverá ser separado por gestor, assim como os dados do dashboard, caso ele esteja com false o e-mail será enviado para um único destinatário, configurado no parâmetro do Protheus. sendToManager envio do e-mail para os gestores: Image Added
Json completo com o parâmetro sendToManager = true
View file |
---|
name | sendToManager = true.txt |
---|
height | 250 |
---|
|
Observação Quando o parâmetro sendToManager estiver com true o parâmetro "data" será um array, onde cada posição é referente ao dados de 1 gestor. Por exemplo, se for selecionado dois gestores, a 1º posição terá os dados do Gestor A, a 2º posição terá os dados do Gestor B. Dessa maneira na hora de montar a planilha do excel ou o HTML com os dados do Dashboard RH, não será necessário realizar qualquer filtro, o Dashboard RH enviará os dados já separados por gestor. Exemplo 1º posição: Image Added
Exemplo 2º posição: Image Added
sendToManager envio do e-mail para o parâmetro (não para os gestores): Image Added
Json completo com o parâmetro sendToManager = false
View file |
---|
name | sendToManager = false.txt |
---|
height | 250 |
---|
|
Observação Quando o parâmetro sendToManager estiver com false o parâmetro "data" será um único array contendo os dados do Dashboard RH.
Situações de Erros TratadosO envio de dado inesperado no parâmetro de entrada da API REST pode ocasionar alguns erros. Desta forma, foram criados alguns tratamentos de erros listados abaixo, cada um com sua respectiva mensagem e solução. Mensagens de Pré-ValidaçãoCódigo | Erro | Detalhe |
---|
400 | "Falha no envio do e-mail, verifique as configurações do sistema para o envio de e-mails." |
| 401 | "Parâmetros inválidos: Verifique se todos os parâmetros foram enviados corretamente." |
|
|
Totvs custom tabs box items |
---|
| Filiais - api/rh/v1/DbHrGetExcel API responsável por gerar os dados do Dashboard RH em uma planilha do Excel. Ativação/Desativação da APIPor padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST. Controle de AmbienteExige que os seguintes pontos sejam revisados: - Protheus com sua arquitetura devidamente estruturada.
Controle de VersãoO grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release. Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus. SuporteO suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs. Esta API traz a funcionalidade exclusivamente para gerar uma planilha do Excel contendo os dados do Dashboard RH. CadastroEsta API contempla os resultados das informações exibidas no Dashboard RH, no caso o resultado das APIs anteriores (DbHrAttendanceControl e DbHrClockin). ProcessosO Dashboard RH irá enviar para a API os dados dos indicadores e terá como retorno uma planilha do Excel. Como realizar a chamada da API REST- Preenchimento do EndPoint da API PONAPIDSB;
- Utilizar a chamada do método POST e do Serviço api/rh/v1/DbHrGetExcel;
- Preenchimento dos parâmetros obrigatórios da API;
Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo: https://tdn.totvs.com/x/jIUoI As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD Parâmetros de Entrada: Parâmetro | Valor de Exemplo | Obrigatório | Tipo | Parâmetro | Descrição |
---|
managerIsEmpty | false | Sim | Boolean | Body | Indica se existe gestor, em caso de true criar a coluna Gestor com o nome do gestor, caso false não criar a coluna Gestor no Excel. | data | "manager": "", "grpIndicators": [ { "indicatorGroup": "Indicadores de funcionários - Todas as Filiais", "indicators": [ { "indicatorBranch": "Todas as Filiais", "title": "Total de funcionários", "classTitle": "totalCard_title", "amount": 6, "details": [ { "branch": "D MG 01 ", "registration": "000003", "name": "DASH PNT COMPLETO FINANCEIRO", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000004", "name": "DASH PNT INCOMPLET FINANCEIRO", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000005", "name": "DASH PNT SEM MARC FINANCEIRO", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000002", "name": "DASH PNT COMPLETO RH", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000003", "name": "DASH PNT INCOMPLETO RH", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000004", "name": "DASH PNT SEM MARC RH", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "Todas as Filiais", "title": "Funcionários com pontos completos", "classTitle": "accomplishedCard_title", "amount": 2, "details": [ { "branch": "D MG 01 ", "registration": "000003", "name": "DASH PNT COMPLETO FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000002", "name": "DASH PNT COMPLETO RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "Todas as Filiais", "title": "Funcionários com pontos incompletos", "classTitle": "attentionCard_title", "amount": 2, "details": [ { "branch": "D MG 01 ", "registration": "000004", "name": "DASH PNT INCOMPLET FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "dateTime": "05/01/2024", "reason": "Dia sem marcação", "estimated": "09:00 - 12:00 - 13:00 - 18:00", "performed": "", "managerId": "D MG 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000003", "name": "DASH PNT INCOMPLETO RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "dateTime": "04/01/2024", "reason": "Dia sem marcação", "estimated": "08:00 - 13:00 - 14:00 - 17:00", "performed": "", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "Todas as Filiais", "title": "Funcionários sem marcações", "classTitle": "criticalCard_title", "amount": 2, "details": [ { "branch": "D MG 01 ", "registration": "000005", "name": "DASH PNT SEM MARC FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000004", "name": "DASH PNT SEM MARC RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] } ] }, { "indicatorGroup": "Indicadores de marcações do Clock In - Todas as Filiais", "indicators": [ { "indicatorBranch": "Todas as Filiais", "title": "Total de marcações no período", "classTitle": "totalCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "Todas as Filiais", "title": "Marcações processadas", "classTitle": "accomplishedCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "Todas as Filiais", "title": "Marcações existentes para integração", "classTitle": "attentionCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "Todas as Filiais", "title": "Marcações sem NSR", "classTitle": "criticalCard_title", "amount": 0, "details": [] } ] }, { "indicatorGroup": "Indicadores de funcionários - D MG 01", "indicators": [ { "indicatorBranch": "D MG 01", "title": "Total de funcionários", "classTitle": "totalCard_title", "amount": 3, "details": [ { "branch": "D MG 01 ", "registration": "000003", "name": "DASH PNT COMPLETO FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000004", "name": "DASH PNT INCOMPLET FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" }, { "branch": "D MG 01 ", "registration": "000005", "name": "DASH PNT SEM MARC FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" } ] }, { "indicatorBranch": "D MG 01", "title": "Funcionários com pontos completos", "classTitle": "accomplishedCard_title", "amount": 1, "details": [ { "branch": "D MG 01 ", "registration": "000003", "name": "DASH PNT COMPLETO FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" } ] }, { "indicatorBranch": "D MG 01", "title": "Funcionários com pontos incompletos", "classTitle": "attentionCard_title", "amount": 1, "details": [ { "branch": "D MG 01 ", "registration": "000004", "name": "DASH PNT INCOMPLET FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "dateTime": "05/01/2024", "reason": "Dia sem marcação", "estimated": "09:00 - 12:00 - 13:00 - 18:00", "performed": "", "managerId": "D MG 01 - 000001" } ] }, { "indicatorBranch": "D MG 01", "title": "Funcionários sem marcações", "classTitle": "criticalCard_title", "amount": 1, "details": [ { "branch": "D MG 01 ", "registration": "000005", "name": "DASH PNT SEM MARC FINANCEIRO ", "department": "FINANCEIRO ", "manager": "GESTOR FINANCEIRO D MG ", "managerId": "D MG 01 - 000001" } ] } ] }, { "indicatorGroup": "Indicadores de marcações do Clock In - D MG 01", "indicators": [ { "indicatorBranch": "D MG 01", "title": "Total de marcações no período", "classTitle": "totalCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "D MG 01", "title": "Marcações processadas", "classTitle": "accomplishedCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "D MG 01", "title": "Marcações existentes para integração", "classTitle": "attentionCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "D MG 01", "title": "Marcações sem NSR", "classTitle": "criticalCard_title", "amount": 0, "details": [] } ] }, { "indicatorGroup": "Indicadores de funcionários - M SP 01", "indicators": [ { "indicatorBranch": "M SP 01", "title": "Total de funcionários", "classTitle": "totalCard_title", "amount": 3, "details": [ { "branch": "M SP 01 ", "registration": "000002", "name": "DASH PNT COMPLETO RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000003", "name": "DASH PNT INCOMPLETO RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" }, { "branch": "M SP 01 ", "registration": "000004", "name": "DASH PNT SEM MARC RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "M SP 01", "title": "Funcionários com pontos completos", "classTitle": "accomplishedCard_title", "amount": 1, "details": [ { "branch": "M SP 01 ", "registration": "000002", "name": "DASH PNT COMPLETO RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "M SP 01", "title": "Funcionários com pontos incompletos", "classTitle": "attentionCard_title", "amount": 1, "details": [ { "branch": "M SP 01 ", "registration": "000003", "name": "DASH PNT INCOMPLETO RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "dateTime": "04/01/2024", "reason": "Dia sem marcação", "estimated": "08:00 - 13:00 - 14:00 - 17:00", "performed": "", "managerId": "M SP 01 - 000001" } ] }, { "indicatorBranch": "M SP 01", "title": "Funcionários sem marcações", "classTitle": "criticalCard_title", "amount": 1, "details": [ { "branch": "M SP 01 ", "registration": "000004", "name": "DASH PNT SEM MARC RH ", "department": "RH ", "manager": "GESTOR RH M SP ", "managerId": "M SP 01 - 000001" } ] } ] }, { "indicatorGroup": "Indicadores de marcações do Clock In - M SP 01", "indicators": [ { "indicatorBranch": "M SP 01", "title": "Total de marcações no período", "classTitle": "totalCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "M SP 01", "title": "Marcações processadas", "classTitle": "accomplishedCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "M SP 01", "title": "Marcações existentes para integração", "classTitle": "attentionCard_title", "amount": 0, "details": [] }, { "indicatorBranch": "M SP 01", "title": "Marcações sem NSR", "classTitle": "criticalCard_title", "amount": 0, "details": [] } ] } ] |
|
|
|
| accept | application/json | Sim | String | Header |
| content-type | application/json | Sim | String | Header |
|
Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DbHrGetExcel
Response da API: Application/json { "fileName": "dashboard_rh.xlsx", "file":"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" } Observação 1 - O "fileName" será o nome do arquivo que será feito donwload. 2 - O "file" deverá ser um arquivo convertido no formato base 64 (BLOB). Image Added Exemplo do retorno da API: View file |
---|
name | Retorno DbHrGetExcel.txt |
---|
height | 250 |
---|
|
| Parâmetro | Valor de Exemplo | Obrigatório | Tipo | Parâmetro | Descrição |
---|
startDate | 2022-06-01 | Sim | Date | Query | Data inicial do período | endDate | 2022-06-30 | Sim | Date | Query | Data final do período | filial | D MG 01 ou todas | Sim | String | Query | Filtro da filial | accept | application/json | Sim | String | Header | content-type | application/json | Sim | String | Header | Image Removed Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DashbHrClockin Response da API: Application/json { "TotalWhitoutNSR": 1, "TotalClockMarkings": 3, "TotalIntegrated": 2, "TotalToBeIntegrated": 0 }
Image Removed Situações de Erros TratadosO envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros. Desta forma, foram criados alguns tratamentos de erros listados abaixo, cada um com sua respectiva mensagem e solução. Mensagens de Pré-ValidaçãoCódigo | Erro | Detalhe |
---|
400 | "Parâmetros inválidos: Verifique se os parâmetros startDate, endDate e filial foram enviados." | Totvs custom tabs box items |
---|
| Integrações Clock In - api/rh/v1/DashbHrClockin API responsável por enviar um e-mail com as informações do dashboard. Ativação/Desativação da APIPor padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST. Controle de AmbienteExige que os seguintes pontos sejam revisados: - Protheus com sua arquitetura devidamente estruturada.
Controle de VersãoO grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release. Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus. SuporteO suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs. Esta API traz a funcionalidade exclusivamente para enviar as informações exibidas no Dashboard por e-mail, gerando uma imagem do Dashboard e anexando no e-mail a ser enviado. CadastroEsta API contempla os resultados das informações exibidas no Dashboard, no caso o resultado das APIs anteriores. ProcessosO Dashboard RH realizará o consumo da API para enviar um e-mail, contendo uma imagem do Dashboard anexa. Como realizar a chamada da API REST- Preenchimento do EndPoint da API PONAPIDSB;
- Utilizar a chamada do método Post e do Serviço api/rh/v1/HrDashbEmail;
- Preenchimento dos parâmetros obrigatórios da API;
Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo: https://tdn.totvs.com/x/jIUoI A Entrada de dado tipo string será um arquivo convertido para a base 64.
A string contendo o arquivo convertido na base 64 deverá ser enviado no body da requisição, conforme o exemplo demonstrado usando o Postman. Parâmetros de Entrada: | Parâmetro | Valor de Exemplo | Obrigatório | Tipo | Parâmetro | Descrição |
---|
blob64 | "iVBORw0KGgoAAAANSUh..." | Sim | String | Query | Arquivo convertido para a base 64. | accept | application/json | Sim | String | Header | content-type | application/json | Sim | String | Header | Image Removed Parâmetros e Chamada do Método: Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo: {protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/HrDashbEmail Response da API: Application/json { "Response": "E-mail enviado com sucesso." }
Image Removed Situações de Erros TratadosO envio de dado inesperado no parâmetro de entrada da API REST pode ocasionar alguns erros. Desta forma, foram criados alguns tratamentos de erros listados abaixo, cada um com sua respectiva mensagem e solução. Mensagens de Pré-ValidaçãoCódigo | Erro | Detalhe |
---|
400 | "Falha no envio do e-mail, verifique as configurações do sistema para o envio de e-mails." | 401 | "A imagem do Dashboard não foi enviada."
|