Introdução
Bem-vindo à API de Integração Voors. Nossa API pode ser usada para integração de sistemas de RH com a plataforma Voors
Autenticação
API de Integração Voors utiliza um token de API para autorização das requisições.
API de Integração Voors espera que o token seja incluído em todas as requisições.
Para autenticar existem 3 formas de enviar o token:
Authorization: my-45random-6767token
- Como o header "Authorization"
{
"token": "my-45random-6767token"
}
- No corpo do JSON (somente para POST e PUT):
/url?token=my-45random-6767token
- Como parâmetro da URL:
Filiais
Atributos
Atributo | Tipo | Descrição |
---|---|---|
name | string |
Nome social |
tradingName | string |
Nome fantasia |
cnpj | string |
CNPJ da filial |
cei | string |
CEI da filial |
address | string |
Endereço |
complement | string |
Complemento |
displayCode | integer |
Código da filial presente no cliente para exibição no holerite e/ou cartão ponto (opcional) |
zipcode | string |
CEP |
neighborhood | string |
Bairro |
number | string |
Número |
phoneDDD | string |
DDD do telefone |
phone | string |
Telefone |
city | string |
Cidade, identificada pelo código do IBGE |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
group | number |
Atributo que, através do id de um grupo já criado, identifica o grupo ao qual a filial faz parte (opcional) |
Criar ou editar filiais
Formato de JSON a ser enviado
{
"data": {
"branch": {
"name": "Nome Razão Social",
"tradingName": "Nome Fantasia",
"cnpj": "00000000000000",
"displayCode": 1234,
"address": "Rua da Tecnologia",
"complement": "Bloco C",
"zipcode": "00000000",
"neighborhood": "Centro",
"number": "000",
"phone": "00000000",
"phoneDDD": "00",
"group": 12,
"remoteId": {
"id": 23
},
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"branch": {
"id": 1,
"name": "Nome Razão Social",
"tradingName": "Nome Fantasia",
"cnpj": "00000000000000",
"displayCode": 1234,
"address": "Rua da Tecnologia",
"complement": "Bloco C",
"zipcode": "00000000",
"neighborhood": "Centro",
"number": "000",
"phone": "00000000",
"phoneDDD": "00",
"group": 12,
"remoteId": {
"id": 23
},
}
}
}
Esta rota cria ou edita filiais.
O identificador de uma filial é o remoteId.
Requisição
POST /branches
Grupos de filiais
Atributos
Atributo | Tipo | Descrição |
---|---|---|
title | string |
Título do grupo |
branches | array |
CNPJs das filiais que estão neste grupo |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Criar ou editar grupos de filiais
Uma filial pode estar em apenas um grupo, mas um grupo pode conter diversas filiais.
Formato de JSON a ser enviado
{
"data": {
"branchGroup": {
"title": "Título do grupo",
"branches": ["11111111111111", "22222222222222"],
"remoteId": {
"title": "Título do grupo",
"id": 23
}
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"branchGroup": {
"active": true,
"id": 1,
"title": "Título do grupo",
"remoteId": "23-Título do grupo",
"company": 111
}
}
}
Esta rota cria ou edita grupos de filiais.
Requisição
POST /branchGroups
Departamentos
Buscar todos os departamentos
A requisição retorna o seguinte JSON:
{
"data": {
"department": [
{
"id": 1,
"name": "Financeiro",
"description": "Departamento financeiro",
"displayCode": 123,
},
{
"id": 2,
"name": "RH",
"description": "Departamento de recursos humanos",
"displayCode": 456,
}
]
}
}
Esta rota retorna todos os departamentos da empresa.
Requisição
GET /departments
Buscar um departamento específico
A requisição retorna o seguinte JSON:
{
"data": {
"department": {
"id": 1,
"name": "Financeiro",
"description": "Departamento financeiro",
"displayCode": null,
}
}
}
Esta rota retorna um departamento específico.
Requisição GET
GET /departments/<ID>
Criar um novo departamento
Formato de JSON a ser enviado
{
"data" : {
"department": {
"name": "Vendas",
"description": "Departamento de vendas",
"displayCode": null,
"branch": {
"remoteId": 23
},
"remoteId": {
"id": 34,
"composedKey": 34323
}
}
}
}
A requisição retorna o seguinte JSON:
{
"data" : {
"department": {
"id": 3,
"name": "Vendas",
"description": "Departamento de vendas",
"branch": 1,
"displayCode": 1234,
"remoteId": {
"id": 34,
"composedKey": 34323
}
}
}
}
Esta rota cria uma novo departamento
Pode ser enviado um atributo remoteId
, que aceita um JSON, para registrar informações de identificação em uma aplicação que faz a integração. Para o relacionamento com a filial, deve ser enviado o atributo remoteId
usado na criação do modelo branch
.
Para exibir o código do departamento do cliente no holerite e cartão ponto deve ser informado o campo displayCode
.
Requisição POST
POST /departments
Editar um departamento
Formato de JSON a ser enviado
{
"data" : {
"department": {
"name": "Comercial",
}
}
}
A requisição retorna o seguinte JSON:
{
"data" : {
"department": {
"id": 3,
"name": "Comercial",
"description": "Departamento de vendas",
"displayCode": 1234,
}
}
}
Esta rota edita um departamento existente
Requisição PUT
PUT /departments/<ID>
Excluir um departamento
A requisição retorna apenas o código 200:
Esta rota edita um departamento
Requisição DELETE
DELETE /departments/<ID>
Cargos
Buscar todas os cargos
A requisição retorna o seguinte JSON:
{
"data": {
"jobRole": [
{
"id": 1,
"title": "Analista Programador",
"description": "Analista Programador",
"cbo": "317110",
"remoteId": null,
"company": 11,
"createdAt": "2017-10-05T17:05:08.000Z",
"updatedAt": "2017-10-17T15:37:43.000Z"
}
]
}
}
Esta rota retorna todos os cargos da empresa.
Requisição
GET /jobRoles
Buscar um cargo específica
A requisição retorna o seguinte JSON:
{
"data": {
"jobRole": {
"id": 2042,
"title": "Coordenador",
"description": "Coordenador",
"remoteId": null,
"company": 11,
"createdAt": "2017-10-05T17:05:08.000Z",
"updatedAt": "2017-10-17T15:37:43.000Z"
}
}
}
Esta rota retorna um cargo específico.
Requisição
GET /jobRoles/<ID>
Criar um novo cargo
Formato de JSON a ser enviado
{
"data": {
"jobRole": {
"title": "Analista Programador",
"description": "Analista Programador",
"cbo": "317110",
"remoteId": {
"id": 1
},
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "201",
"message": "Created",
"data": {
"jobRole": {
"id": 21171,
"title": "Analista Programador",
"description": "Analista Programador",
"cbo": "317110",
"remoteId": "1",
"company": 1,
"updatedAt": "2021-11-22T12:42:55.707Z",
"createdAt": "2021-11-22T12:42:55.707Z"
}
}
}
Esta rota cria um novo cargo
Pode ser enviado um atributo remoteId
, que aceita um JSON, para registrar informações de identificação em uma aplicação que faz a integração.
Requisição
POST /jobRoles
Editar um cargo
Formato de JSON a ser enviado
{
"data": {
"jobRole": {
"title": "Analista Programador",
"description": "Analista Programador",
"cbo": "317110",
"remoteId": {
"id": 1
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "201",
"message": "Created",
"data": {
"jobRole": {
"id": 21171,
"cbo": "317110",
"title": "Analista Programador",
"description": "Analista Programador",
"company": 1,
"remoteId": "1",
"createdAt": "2021-11-22T12:42:55.000Z",
"updatedAt": "2021-11-22T12:44:56.390Z"
}
}
}
Esta rota edita um cargo existente
Requisição
PUT /jobRoles/<ID>
Excluir um cargo
A requisição retorna apenas o código 200:
Esta rota edita um cargo existente
Requisição
DELETE /jobRoles/<ID>
Funções
Buscar todas as funções
A requisição retorna o seguinte JSON:
{
"data": {
"jobFunction": [
{
"id": 20424,
"title": "Coordenador",
"description": "Coordenador",
"displayCode": null,
"active": true,
"cbo": null,
"remoteId": null,
"company": 11,
"createdAt": "2017-10-05T17:05:08.000Z",
"updatedAt": "2017-10-17T15:37:43.000Z"
}
]
}
}
Esta rota retorna todos as funções da empresa.
Requisição
GET /jobFunctions
Buscar uma função específica
A requisição retorna o seguinte JSON:
{
"data": {
"jobFunction": {
"id": 2042
"title": "Coordenador",
"description": "Coordenador",
"displayCode": null,
"active": true,
"cbo": null,
"remoteId": null,
"company": 11,
"createdAt": "2017-10-05T17:05:08.000Z",
"updatedAt": "2017-10-17T15:37:43.000Z"
}
}
}
Esta rota retorna uma função específica.
Requisição
GET /jobFunctions/<ID>
Criar uma nova função
Formato de JSON a ser enviado
{
"data": {
"jobFunction": {
"title": "Programador",
"description": "Programador",
"displayCode": 1234,
"active": true,
"cbo": "3171-10 ",
"jobRole": {
"id": 54
},
"remoteId": {
"id": 45
},
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"jobFunction": {
"id": 2043
"company": 11,
"title": "Programador",
"description": "Programador",
"displayCode": 1234,
"active": true,
"cbo": "3171-10 ",
"jobRole": 3,
"remoteId": {
"id": 45
},
"createdAt": "2017-10-05T17:05:08.000Z",
"updatedAt": "2017-10-17T15:37:43.000Z"
}
}
}
Esta rota cria uma nova função
Pode ser enviado um atributo remoteId
, que aceita um JSON, para registrar informações de identificação em uma aplicação que faz a integração.
Para identificação do cargo (jobRole
), deve ser enviado o remoteId
do mesmo.
Para exibir o código da função do cliente no holerite e cartão ponto deve ser informado o campo displayCode
.
Requisição
POST /jobFunctions
Editar uma função
Formato de JSON a ser enviado
{
"data" : {
"jobFunction": {
"name": "Desenvolvedor"
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"jobFunction": {
"id": 2043,
"company": 11,
"displayCode": 1234,
"title": "Desenvolvedor",
"description": "Programador",
"active": true,
"cbo": "3171-10 ",
"remoteId": {
"id": 45
},
"createdAt": "2017-10-05T17:05:08.000Z",
"updatedAt": "2017-10-17T15:37:43.000Z"
}
}
}
Esta rota edita uma função existente
Requisição
PUT /jobFunctions/<ID>
Excluir uma função
A requisição retorna apenas o código 200:
Esta rota edita uma função existente
Requisição
DELETE /jobFunctions/<ID>
Horários
Buscar todos os horários
A requisição retorna o seguinte JSON:
{
"data": {
"horary": [
{
"id": 1,
"title": "Padrão",
"description": "Horário padrão",
"active": true,
"horaryEntry1": "07:45",
"horaryEntry2": "13:30",
"horaryExit1": "12:00",
"horaryExit2": "18:00",
"horaryEntry1Saturday": "07:45",
"horaryEntry2Saturday": "",
"horaryExit1Saturday": "12:00",
"horaryExit2Saturday": "",
"horaryEntry1Sunday": "08:00",
"horaryEntry2Sunday": "",
"horaryExit1Sunday": "11:00",
"horaryExit2Sunday": "",
"remoteId": {
"id": 1
},
"company": 12,
"createdAt": "2018-02-19T14:22:57.000Z",
"updatedAt": "2018-02-20T13:31:04.000Z"
},
{
"id": 2,
"title": "Francisco Beltrão",
"description": "Horário para funcionários de Francisco Beltrão",
"active": true,
"horaryEntry1": "07:45",
"horaryEntry2": "13:00",
"horaryExit1": "12:00",
"horaryExit2": "17:30",
"horaryEntry1Saturday": "07:45",
"horaryEntry2Saturday": "",
"horaryExit1Saturday": "12:00",
"horaryExit2Saturday": "",
"horaryEntry1Sunday": "08:00",
"horaryEntry2Sunday": "",
"horaryExit1Sunday": "11:00",
"horaryExit2Sunday": "",
"remoteId": null,
"company": 12,
"createdAt": "2018-02-19T14:26:46.000Z",
"updatedAt": "2018-02-19T14:26:46.000Z"
}
]
}
}
Esta rota retorna todos os horários da empresa.
Requisição
GET /horaries
Buscar um horário específico
A requisição retorna o seguinte JSON:
{
"data": {
"horary": {
"id": 1,
"title": "Padrão",
"description": "Horário padrão",
"active": true,
"horaryEntry1": "07:45",
"horaryEntry2": "13:30",
"horaryExit1": "12:00",
"horaryExit2": "18:00",
"horaryEntry1Saturday": "07:45",
"horaryEntry2Saturday": "",
"horaryExit1Saturday": "12:00",
"horaryExit2Saturday": "",
"horaryEntry1Sunday": "08:00",
"horaryEntry2Sunday": "",
"horaryExit1Sunday": "11:00",
"horaryExit2Sunday": "",
"remoteId": {
"id": 1
},
"company": 12,
"createdAt": "2018-02-19T14:22:57.000Z",
"updatedAt": "2018-02-20T13:31:04.000Z"
}
}
}
Esta rota retorna um horário específico.
Requisição
GET /horaries/<ID>
Criar um novo horário
Formato de JSON a ser enviado
{
"data": {
"horary": {
"title": "Francisco Beltrão",
"description": "Horário para funcionários de Francisco Beltrão",
"active": true,
"horaryEntry1": "07:45",
"horaryExit1": "12:00",
"horaryEntry2": "13:00",
"horaryExit2": "17:30",
"horaryEntry1Saturday": "07:45",
"horaryExit1Saturday": "12:00",
"horaryEntry2Saturday": "",
"horaryExit2Saturday": "",
"horaryEntry1Sunday": "08:00",
"horaryEntry2Sunday": "",
"horaryExit1Sunday": "11:00",
"horaryExit2Sunday": "",
"remoteId": {
"id": 2
}
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"horary": {
"id": 2,
"title": "Francisco Beltrão",
"description": "Horário para funcionários de Francisco Beltrão",
"active": true,
"horaryEntry1": "07:45",
"horaryEntry2": "13:00",
"horaryExit1": "12:00",
"horaryExit2": "17:30",
"horaryEntry1Saturday": "07:45",
"horaryEntry2Saturday": "",
"horaryExit1Saturday": "12:00",
"horaryExit2Saturday": "",
"horaryEntry1Sunday": "08:00",
"horaryEntry2Sunday": "",
"horaryExit1Sunday": "11:00",
"horaryExit2Sunday": "",
"remoteId": 2,
"company": 12,
"createdAt": "2018-02-19T14:26:46.000Z",
"updatedAt": "2018-02-19T14:26:46.000Z"
}
}
}
Esta rota cria um novo horário
Pode ser enviado um atributo remoteId
, que aceita um JSON, para registrar informações de identificação em uma aplicação que faz a integração.
Requisição
POST /horaries
Editar um horário
Formato de JSON a ser enviado
{
"data" : {
"horary": {
"description": "Horário para colaboradores de Francisco Beltrão",
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"horary": {
"id": 2,
"title": "Francisco Beltrão",
"description": "Horário para colaboradores de Francisco Beltrão",
"active": true,
"horaryEntry1": "07:45",
"horaryEntry2": "13:00",
"horaryExit1": "12:00",
"horaryExit2": "17:30",
"horaryEntry1Saturday": "07:45",
"horaryEntry2Saturday": "",
"horaryExit1Saturday": "12:00",
"horaryExit2Saturday": "",
"horaryEntry1Sunday": "08:00",
"horaryEntry2Sunday": "",
"horaryExit1Sunday": "11:00",
"horaryExit2Sunday": "",
"remoteId": null,
"company": 12,
"createdAt": "2018-02-19T14:26:46.000Z",
"updatedAt": "2018-02-19T14:26:46.000Z"
}
}
}
Esta rota edita um horário existente
Requisição
PUT /horaries/<ID>
Excluir um horário
A requisição retorna apenas o código 200:
Esta rota exclui um horário existente
Requisição
DELETE /horaries/<ID>
Usuários
Criar ou editar um usuário
Formato de JSON a ser enviado
{
"data": {
"user": {
"firstName": "João Pedro",
"lastName": "Silva",
"email": "joao.silva@email.com.br",
"cpf": "00000000000",
"birthDate": "18/11/1992",
"address": "Rua Brasil",
"number": "0",
"displayCode": 1234,
"complement": "Ap. 123",
"zipcode": "85501-530",
"neighborhood": "Centro",
"phone": "(00) 00000-0000",
"cellphone": "(00) 00000-0000",
"admissionDate": "20/01/2020",
"salary": 1.1,
"active": true,
"city": "4109236",
"birthCity": "4109236",
"voterRegistrationCard": "000000000000",
"instructionLevel": 1,
"cnh": "00000000000",
"cnhExpirationDate": "17/05/2025",
"cipeiro": false,
"brigade": false,
"department": {
"id": 24
},
"jobFunction": {
"id": 34
},
"jobRole": {
"id": 21
},
"horary": {
"id": 67
},
"meta": {
"maritalStatus": "Solteiro",
"employmentRelationships": ["00000000000000", "00000000000000"]
}
}
}
}
// Exemplo relacionamento com filiais com a modalidade CPF no cadastro da filial
"meta": {
"motherName": "Nome da mãe",
"fatherName": "Nome do pai",
"maritalStatus": "Solteiro",
"typeAddress": "Residencial",
"streetType": "Rua",
"electoralZone": "92",
"electoralSection": "74",
"employmentRelationships": [{
"cnpj": "80489218393",
"cei": "987654321"
},
{
"cnpj": "80489218393",
"cei": "123456789"
}
]
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "201",
"message": "Created",
"data": {
"user": {
"remoteId": "{\"id\":250}",
"remoteKeys": null,
"id": 5817,
"active": true,
"address": "Rua Brasil",
"admissionDate": "2020-01-20T03:00:00.000Z",
"companyDateBithday": "2020-01-22T03:00:00.000Z",
"approved": true,
"birthCity": "4109236",
"birthDate": "1992-11-18T02:00:00.000Z",
"brigade": true,
"cellphone": "(00) 00000-0000",
"city": null,
"cipeiro": false,
"company": 12,
"complement": "Ap. 123",
"cpf": "78532850197",
"ctps": "0000000",
"displayCode": 1234,
"email": "joao.silva@email.com.br",
"firstName": "João Pedro",
"lastName": "Silva",
"instructionLevel": 1,
"neighborhood": "Centro",
"number": 0,
"password": null,
"pis": "0000000000000",
"phone": "(00) 00000-0000",
"preferences": {
"receiveTaskAlertEmails": true
},
"registration": null,
"reservistNumber": "000000",
"voterRegistrationCard": "000000000000",
"rg": "000000000",
"salary": 1.1,
"superUser": false,
"status": "active",
"zipcode": "85501-530",
"cnh": "00000000000",
"cnhExpirationDate": "2025-05-17T03:00:00.000Z",
"createdAt": "2021-06-10T18:37:26.000Z",
"updatedAt": "2021-06-11T19:03:21.991Z",
"accessProfile": 42,
"department": 1026,
"userAccountId": 934,
"horary": null,
"jobFunction": 21166,
"jobRole": 21169
}
}
}
Esta rota cria ou edita um usuário.
O identificador de um usuário é o CPF.
Para os relacionamentos, deve ser enviado o atributo remoteId
usados na criação dos modelos,
exceto para city
, birthCity
e instructionLevel
.
Para os campos city
e birthCity
deve-se utilizar o código do IBGE da cidade.
Para o campo instructionLevel deve-se utilizar o id
da própria API.
Para vincular o usuário a múltiplas filiais devem ser passados os CNPJs em um array de strings
chamado employmentRelationships
dentro do objeto meta
.
Para exibir o código do usuário do cliente no holerite e cartão ponto deve ser informado o campo displayCode
.
Para enviar usuários que possuem relacionamentos com filiais que a modalidade da empresa utiliza CPF no cadastros deve ser enviado um objeto com o valor do cpf no atributo cnpj e o atributo CEI, no final do JSON possuí um exemplo.
Requisição
POST /users
Desativar um usuário
Desativando um usuário:
{
"data": {
"user": {
"cpf": "00000000000",
"active": false
}
}
}
Para desativar um usuário, basta enviar o CPF e o atributo active
com o valor false
.
Atualizar líder imediato do usuário
Formato de JSON a ser enviado:
{
"data": {
"user": {
"appraisedBy": "08336293957",
"cpf": "78532850197"
}
}
}
Para atualizar o líder imediato de um usuário, deve ser enviado no campo appraisedBy
o cpf do
usuário já cadastrado na base. Sendo assim, deve ser realizado o cadastro dos líderes antes de atualizar
no seu liderado.
Requisição
POST /users
Atualizar líder imediato do usuário
Formato de JSON a ser enviado:
{
"data": {
"user": {
"appraisedBy": "08336293957",
"cpf": "78532850197"
}
}
}
Para atualizar o líder imediato de um usuário, deve ser enviado no campo appraisedBy
o cpf do
usuário já cadastrado na base. Sendo assim, deve ser realizado o cadastro dos líderes antes de atualizar
no seu liderado.
Requisição
POST /users
Atributo | Tipo | Descrição |
---|---|---|
user | Recebe string , retorna integer |
Usuário LIDERADO para o registro. |
appraisedBy | Recebe string , retorna integer |
Usuário LÍDER para o registro. |
Ambos os identificadores do user
e appraisedBy
são os CPF's dos mesmos.
Contrato de Experiência
O contrato de experiência possuí dois métodos, sendo eles o post e o delete, que são usado, respectivamente, para criar e deletar registros.
Método POST
Requisição:
POST /experienceContracts
Formato de JSON a ser enviado
{
"data": {
"experienceContract": {
"cpf": "36949168063",
"branch": {
"cnpj": "86884214000193"
},
"admissionDate": "16/08/2022",
"endDate": "01/10/2022",
"remoteId": {
"id": 120,
"admissionDate": "16/08/2022"
}
}
}
}
cpf
Usado para vincular o usuário ao seu contrato de experiência. - Deve estar entre aspas duplas; - Ser escrito sem hífens ou pontos; - Haver um user cadastrado com este cpf;
branch
A branch é um objeto que recebe um atributo "cnpj". - Deve estar entre aspas duplas; - Ser escrito sem hífens ou pontos; - Haver uma filial cadastrada com este cnpj; - Caso a filial utilize CEI basta alterar o nome do campo para "cei" e passar seu devido valor;
admissionDate
Data de admissão do usuário do cpf. - Deve estar entre aspas duplas; - O formato deve ser DD/MM/YYYY ou DD-MM-YYY;
endDate
Data de conclusão do contrato de experiência. - Deve estar entre aspas duplas; - O formato deve ser DD/MM/YYYY ou DD-MM-YYY;
remoteId
Usado para identificar o seu registro. - Pode ser composto por tantos campos quanto forem desejados, basta seguir o padrão no exemplo;
Atenção: Para fazer uma edição basta passar o remoteId exatamente igual ao do registro que se deseja editar e alterar os campos que precisar.
Método DELETE
Requisição:
DELETE /experienceContracts
Formato de JSON a ser enviado
{
"data": {
"experienceContract": {
"remoteId": {
"id": 120,
"admissionDate": "16/08/2022"
}
}
}
}
O reconhecimento do registro ocorre por meio do id remoto, sendo assim, para que o método DELETE seja executado deve ser passado o exato remoteId que foi enviado para este registro no método POST.
Processo de cálculo
Criar ou editar um processo de cálculo
Formato de JSON a ser enviado
{
"data": {
"calculationProcess": {
"description": "Descrição",
"displayCode": 1234,
"remoteId": {
"id": 67
},
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"calculationProcess": {
"id": 1,
"description": "Descrição",
"displayCode": 1234,
}
}
}
Esta rota cria ou edita um processo de cálculo.
Para exibir o código de um processo de cálculo do cliente no holerite deve ser informado o campo displayCode
.(Opcional).
Requisição
POST /calculationProcesses
Causas de situação
Criar ou editar causas de situação
Formato de JSON a ser enviado
{
"data": {
"cause": {
"description": "Rescisão",
"remoteId": {
"id": 1
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"cause": [
{
"id": 1,
"description": "Rescisão",
"remoteId": "1",
"createdAt": "2021-06-15T13:43:22.000Z",
"updatedAt": "2021-06-15T14:48:57.000Z",
"company": 12
}
]
}
}
Requisição
POST /causes
Esta rota cria ou edita causas de situação.
Atributo | Tipo | Descrição |
---|---|---|
description | Recebe string , retorna integer |
Descrição da causa |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Deleta causas de situação.
Formato de JSON a ser enviado
{
"data": {
"cause": {
"remoteId": {
"id": 1
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Requisição
Esta rota deleta causas de situação.
DELETE /causes
Recibo de pagamento
Criar ou editar um recibo de pagamento
Formato de JSON a ser enviado
{
"data": {
"userCalculation": {
"user": "09025212093",
"calculationProcess": {
"id": 1
},
"branch": "12345678901234",
"employmentRelationships": "12345678901234",
"department": 127,
"jobRole": {
"id": 126
},
"jobFunction": {
"id":456
},
"description": "Mensal 01/2021",
"observation": "Observação",
"date": "31/01/2021",
"payday": "05/02/2021",
"baseinss": 2500,
"valueinss": 217.39,
"baseirrf": 2282.61,
"valueirrf": 28.39,
"basefgts": 2500,
"valuefgts": 200,
"earnings": 2500,
"benefits": 0,
"netSalary": 2254.22,
"discounts": 245.78,
"neutral": 0,
"salary": 2500,
"irrfRange": "7.5",
"remoteId": {
"estab": 2,
"data": "31/01/2021",
"seqfolha": 23
},
"calculationEvents": [
{
"description": "Horas Normais Diurnas",
"reference": "205:20",
"value": 2000,
"code": 1,
"operation": "V"
},
{
"description": "R.S.R sobre H. Variáveis",
"reference": "36:40",
"value": 500,
"code": 30,
"operation": "V"
}
]
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "201",
"message": "Created",
"data": {
"userCalculation": {
"id": 823,
"description": "Mensal 01/2021",
"observation": "Observação",
"branch": "12345678901234",
"department": 127,
"jobRole": 126,
"jobFunction": 112,
"date": "2021-01-31T03:00:00.000Z",
"payday": "2021-02-05T03:00:00.000Z",
"baseinss": 2500,
"valueinss": 217.39,
"baseirrf": 2282.61,
"valueirrf": 28.39,
"basefgts": 2500,
"valuefgts": 200,
"earnings": 2500,
"benefits": 0,
"netSalary": 2254.22,
"discounts": 245.78,
"neutral": 0,
"salary": 2500,
"irrfRange": "7.5",
"remoteId": "31/01/2021-2-23",
"company": 1,
"user": 1,
"calculationProcess": 18,
"updatedAt": "2021-11-22T12:53:42.883Z",
"createdAt": "2021-11-22T12:53:42.883Z"
}
}
}
É necessário um calculationProcess, veja acima.
Esta rota cria ou edita um recibo de pagamento
Atributo | Tipo | Descrição |
---|---|---|
branch | JSON |
Filial para o registro |
user | JSON |
Usuário para o registro |
date | string no formato DD/MM/YYYY |
Data final da competência |
payday | string no formato DD/MM/YYYY |
Data de pagamento |
baseinss | float |
Base de recolhimento de INSS |
valueinss | float |
Valor de recolhimento de INSS |
baseirrf | float |
Base de recolhimento de IRRF |
valueirrf | float |
Valor de recolhimento de IRRF |
basefgts | float |
Base de recolhimento de FGTS |
valuefgts | float |
Valor de recolhimento de FGTS |
earnings | float |
Valor total dos proventos |
discounts | float |
Valor total dos descontos |
netSalary | float |
Valor líquido |
salary | float |
Salário base |
irrfRange | string |
Faixa de IRRF |
calculationEvents | array |
Lista de eventos |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
calculationEvents
Atributo | Tipo | Descrição |
---|---|---|
description | string |
Descrição do evento |
reference | string |
Ref. do evento |
value | string |
Valor do evento |
code | string |
Código do evento |
operation | string |
Operação |
No campo de operação os valores aceitos são: V ou P para coluna de vencimento e D para coluna descontos.
branch
O identificador de uma filial (branch
) é o CNPJ.
Atributo | Tipo | Descrição |
---|---|---|
cnpj | string |
CNPJ da filial |
employmentRelationships
É um apelido para o campo branch. O identificador é o CNPJ.
Atributo | Tipo | Descrição |
---|---|---|
cnpj | string |
CNPJ da filial |
user
O identificador de um usuário (user
) é o CPF.
O identificador de um processo de cálculo é o remoteId.
Requisição
POST /userCalculations
Deleta um recibo de pagamento
Formato de JSON a ser enviado
{
"data": {
"userCalculation": [
{
"remoteId": {
"estab": 1,
"data": "01/02/2018",
"seqfolha": 30
}
},
{
"remoteId": {
"estab": 1,
"data": "01/03/2018",
"seqfolha": 31
}
}
]
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta rota deleta um ou mais recibos de pagamentos
O identificador de um processo de cálculo é o remoteId.
Requisição
DELETE /userCalculations
Cartão ponto
Criar ou editar entrada de cartão ponto
Formato de JSON a ser enviado
{
"data": {
"timeCard": {
"branch": {
"cnpj": "00000000000000",
"cei": "000000000000",
"stateRegistry": "0000000000"
},
"user": {
"cpf": "00000000000",
"pis": "00000000000",
"workCard": "00000000000",
"department": {
"id": 2,
"name": "Administrativo"
},
"jobRole": {
"id": 6,
"title": "Cargo Administrador"
},
"jobFunction": {
"id": 8,
"title": "Função Administrador"
}
},
"competence": "01/2023",
"intervalStart": "28/12/2022",
"intervalEnd": "27/01/2023",
"compensatoryTime": "140:16",
"timeCompensation": false,
"horaries": [
{
"id": 5,
"weekday": "Padrão",
"entry1": "07:45",
"exit1": "12:00",
"entry2": "13:30",
"exit2": "18:00"
}
],
"totals": [
{
"title": "Horas Diu",
"total": "167:06"
},
{
"title": "BH Créd",
"total": "1:11",
"considered": "Dias Normais (Seg a Sáb)",
"compensatoryTime": "100"
},
{
"title": "BH Déb",
"total": "10:20"
},
{
"title": "Horas Ab",
"total": "0:59"
}
],
"days": [
{
"date": "10/01/2023",
"horary": 5,
"entry1": "07:37",
"exit1": "11:47",
"entry2": "12:57",
"exit2": "18:47",
"entry3": "19:57",
"exit3": "20:47",
"entry4": "22:57",
"exit4": "00:47",
"entry5": "01:57",
"exit5": "03:47",
"entry6": "04:57",
"exit6": "06:47",
"dailyTotal": [
{
"title": "Horas Diu",
"total": "9:05"
},
{
"title": "BH Créd",
"total": "0:12"
}
]
}
],
"observations": [
{
"date": "10/01/2023",
"title": "O colaborador chegou atrasado 13 dias no mês!"
}
],
"remoteId": {
"id": 1
}
}
}
}
No exemplo há apenas a marcação de um dia, para incluir mais dias bastas copiar e colar o objeto dentro de days e alterar os valores de acordo com o necessário.
Esta rota cria ou edita uma entrada de cartão ponto.
Atributo | Tipo | Descrição |
---|---|---|
branch | JSON |
Filial para o registro |
user | JSON |
Usuário para o registro |
competence | string no formato MM/YYYY |
Competência para a entrada |
intervalStart | string no formato DD/MM/YYYY |
Data de início referente à competência |
intervalEnd | string no formato DD/MM/YYYY |
Data de final referente à competência |
compensatoryTime | string no formato HH:mm |
Saldo acumulado do Banco de Horas corrigido até o presente momento |
timeCompensation | boolean |
Empregado com controle de Compensação de Horas |
horaries | array |
Lista de horários contratuais do colaborador |
totals | array |
Lista de totalizadores referentes à competência |
days | array |
Lista de dias para o registro |
observations | array |
Lista de observações |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
branch
O identificador de uma filial (branch
) é o CNPJ.
Atributo | Tipo | Descrição |
---|---|---|
cnpj | string |
CNPJ da filial |
cei | string |
CEI da filial |
stateRegistry | string |
Inscrição Estadual da filial |
user
O identificador de um usuário (user
) é o CPF.
Atributo | Tipo | Descrição |
---|---|---|
cpf | string |
CPF do usuário |
pis | string |
PIS do usuário |
workCard | string |
CTPS do usuário |
department | JSON |
Local em que atua o colaborador, descrito por id e name |
jobRole | JSON |
Cargo do colaborador, descrito por id e title |
jobFunction | JSON |
Função do colaborador, descrito por id e title |
horaries
Array com os horários contratuais do colaborador
Atributo | Tipo | Descrição |
---|---|---|
id | integer |
Código do horário |
weekday | string |
Dia da Semana |
entry1, entry2 | string no formato HH:mm |
Horários de entrada |
exit1, exit2 | string no formato HH:mm |
Horários de saída |
totals
Array com os totalizadores referentes à competência do registro
Atributo | Tipo | Descrição |
---|---|---|
title | string |
Descrição do totalizador |
total | string no formato HH:mm |
Horas referentes ao totalizador |
considered | string |
Considerado referente ao totalizador |
compensatoryTime | number |
Porcentagem do Banco de Horas |
days
Array com todos os dias no período da competência do registro
Atributo | Tipo | Descrição |
---|---|---|
date | string no formato DD/MM/YYYY |
Dia |
horary | integer |
Código do horário |
entry1, entry2, entry3, entry4 | string no formato HH:mm ou object |
Horários de entrada |
exit1, exit2, exit3, exit4 | string no formato HH:mm ou object |
Horários de saída |
dailyTotal | array |
Lista de totalizadores referentes ao dia |
Há também a possibilidade de incluir dados de geolocalização para cada batida. Basta tornar o entry ou exit em um objeto e passar o "time", que representa o horário da batida e o "location", que contém a latitude e longitude.
Atributo | Tipo | Descrição |
---|---|---|
time | string no formato hh:mm |
Horário da batida |
location | object |
objeto que contém os atributos abaixo |
latitude | string |
Latitude da geolocalização |
longitude | string |
Longitude da geolocalização |
observations
Array com as observações
Atributo | Tipo | Descrição |
---|---|---|
date | string no formato DD/MM/YYYY |
Data da observação |
title | string |
Descrição da observação |
dailyTotal
Array com os totalizadores diários
Atributo | Tipo | Descrição |
---|---|---|
title | string |
Descrição do totalizador |
total | string no formato HH:mm |
Horas referentes ao totalizador |
Requisição
POST /timeCards
Deleta entrada de cartão ponto
Formato de JSON a ser enviado
{
"data": {
"timeCard": {
"remoteId": {
"id": 1
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Requisição
DELETE /timeCards
Esta rota deleta entrada de cartão ponto.
O identificador do registro é remoteId
.
Comprovante de rendimentos
Atributo | Tipo | Descrição |
---|---|---|
user | Recebe string , retorna integer |
Usuário para o registro |
year | string |
Ano do extrato |
nature | string |
Natureza dos rendimentos |
branch | string |
CNPJ da filial para o qual o comprovante de rendimento foi gerado |
c3l1 | decimal |
Coluna 3 Linha 1 |
c3l2 | decimal |
Coluna 3 Linha 2 |
c3l3 | decimal |
Coluna 3 Linha 3 |
c3l4 | decimal |
Coluna 3 Linha 4 |
c3l5 | decimal |
Coluna 3 Linha 5 |
c4l1 | decimal |
Coluna 4 Linha 1 |
c4l2 | decimal |
Coluna 4 Linha 2 |
c4l3 | decimal |
Coluna 4 Linha 3 |
c4l4 | decimal |
Coluna 4 Linha 4 |
c4l5 | decimal |
Coluna 4 Linha 5 |
c4l6 | decimal |
Coluna 4 Linha 6 |
c4l7 | decimal |
Coluna 4 Linha 7 |
c4l8 | decimal |
Coluna 4 Linha 8 |
c4l9 | decimal |
Coluna 4 Linha 9 |
c5l1 | decimal |
Coluna 5 Linha 1 |
c5l2 | decimal |
Coluna 5 Linha 2 |
c5l3 | decimal |
Coluna 5 Linha 3 |
c7l1 | string |
Coluna 7 Linha 1 |
observations | string |
Observações |
responsible | string |
Responsável |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Criar ou editar um comprovante de rendimentos
Formato de JSON a ser enviado
{
"data": {
"annualIncome": {
"user": "00000000000",
"year": "2018",
"nature": "Rendimentos",
"branch": "00000000000000",
"c3l1": 20.50,
"c3l2": 20.50,
"c3l3": 20.50,
"c3l4": 20.50,
"c3l5": 20.50,
"c4l1": 20.50,
"c4l2": 20.50,
"c4l3": 20.50,
"c4l4": 20.50,
"c4l5": 20.50,
"c4l6": 20.50,
"c4l7": 20.50,
"c4l8": 20.50,
"c4l9": 20.50,
"c5l1": 20.50,
"c5l2": 20.50,
"c5l3": 20.50,
"c7l1": "Plano de saúde: R$ 20.60",
"observations": "Observações",
"responsible": "John Doe",
"remoteId": {
"id": 10
}
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"annualIncome": {
"id": 1,
"year": "2018",
"nature": "Rendimentos",
"branch": 1,
"c3l1": 20.5,
"c3l2": 20.5,
"c3l3": 20.5,
"c3l4": 20.5,
"c3l5": 20.5,
"c4l1": 20.5,
"c4l2": 20.5,
"c4l3": 20.5,
"c4l4": 20.5,
"c4l5": 20.5,
"c4l6": 20.5,
"c4l7": 20.5,
"c4l8": 20.5,
"c4l9": 20.5,
"c5l1": 20.5,
"c5l2": 20.5,
"c5l3": 20.5,
"c7l1": 20.6,
"observations": "Observações",
"responsible": "John Doe",
"remoteId": "10",
}
}
}
Esta rota cria ou edita um comprovante de rendimentos.
O identificador de um usuário (user
) é o CPF.
Os identificadores de um comprovante de rendimentos são os campos id
ou remoteId
.
Requisição
POST /annualIncomes
Deleta um comprovante de rendimentos
Formato de JSON a ser enviado
{
"data": {
"annualIncome": {
"remoteId": {
"id": 7
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta rota deleta um comprovante de rendimento.
O identificador de um comprovante de rendimento é o remoteId
.
Requisição
DELETE /annualIncomes
Banco de Horas
Todos os campos são obrigatórios!
Atributo | Tipo | Descrição |
---|---|---|
user | Recebe string , retorna integer |
CPF do usuário para registro |
cycle | string |
Ciclo de banco de horas (incremento do ciclo/ano, exemplo: 1/2022, 2/2022) |
totalBalance | integer |
Saldo total em minutos |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Criar ou editar uma entrada de banco de horas
Formato de JSON a ser enviado
{
"data": {
"compensatoryTime": {
"user": "00000000000",
"initialDate": "01/02/2022",
"endDate": "01/04/2022",
"totalBalance": -70,
"remoteId": {
"id": 1,
"initialDate": "fev/2022",
"endDate": "abr/2022",
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "201",
"message": "Created",
"data": {
"compensatoryTime": {
"initialDate": "2022-02-01",
"endDate": "2022-04-01",
"totalBalance": -70,
"remoteId": "abr/2022-fev/2022-1",
"user": 1,
"company": 12,
"updatedAt": "2022-08-24T16:41:53.589Z",
"createdAt": "2022-08-24T16:41:53.589Z"
}
}
}
Esta rota cria ou edita uma entrada no banco de horas.
O identificador de um usuário (user
) é o CPF.
O identificadores de uma entrada no banco de horas são os campos id
ou remoteId
.
Requisição
POST /compensatoryTimes
Excluir um saldo de banco de horas
Formato de JSON a ser enviado
{
"data": {
"compensatoryTime": {
"remoteId": {
"id": 1,
"initialDate": "fev/2022",
"endDate": "abr/2022",
}
}
}
}
A requisição retorna apenas o código 200:
Esta rota remove um saldo de banco de horas. É preciso utilizar o id
utilizado pela nossa API para excluir o registro.
Requisição
DELETE /compensatoryTimes/
Motivos de reajuste
Criar ou editar um motivo de reajuste
Formato de JSON a ser enviado
{
"data": {
"readjustReason": {
"description": "Motivo de reajuste",
"remoteId":{
"id":4
}
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"readjustReason": {
"id": 1,
"remoteId": {
"id": 4
},
"description": "Motivo de reajuste",
"company": 12,
"updatedAt": "2021-06-24T13:57:53.905Z",
"createdAt": "2021-06-24T13:57:53.905Z"
}
}
}
Esta rota cria ou edita um motivo de reajuste.
Requisição
POST /readjustReasons
Deleta um motivo de reajuste
Formato de JSON a ser enviado
{
"data": {
"readjustReason": [
{
"remoteId":{
"id":5
}
}
]
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta deleta um motivo de reajuste.
Requisição
DELETE /readjustReasons
Histórico de departamentos do usuário
Criar ou editar um histórico de alteração de departamento de usuário
Formato de JSON a ser enviado
{
"data" : {
"userDepartmentHistory": {
"description": "Descrição do histórico 2",
"user": "46649867004",
"department": {
"id": "34"
},
"remoteId": {
"id": 2
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"userDepartmentHistories": [
{
"id": 3,
"description": "Descrição do histórico 2",
"displayCode": null,
"date": null,
"remoteId": "2",
"createdAt": "2022-03-29T18:00:27.000Z",
"updatedAt": "2022-03-29T18:00:27.000Z",
"userId": 5824,
"departmentId": 1030,
"companyId": 1
}
]
}
}
Requisição POST
POST /userDepartmentHistories
Esta rota criar ou edita um histórico de alteração de departamento de usuário.
O identificador de um usuário user
é o CPF.
O identificador do departamento é o department
, remoteId utilizado para o cadastro do departamento.
Atributo | Tipo | Descrição |
---|---|---|
displayCode | string |
Código que o cliente quer mostrar no lugar do ID do Nela. |
user | Recebe string , retorna integer |
Usuário para o registro |
description | Recebe string , retorna string |
Descrição do histórico |
date | string no formato DD/MM/YYYY |
Data da alteração do departamento |
department | JSON |
remoteId utilizado no cadastro do departamento |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Deletar um histórico de alteração de departamento
Formato de JSON a ser enviado
{
"data": {
"userDepartmentHistories": {
"remoteId": {
"id": 100
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Histórico de departamento do usuário removido."
}
}
Requisição DELETE
DELETE /userDepartmentHistories
Esta rota deleta um histórico de alteração de departamento do usuário
O identificador do histórico é o remoteId
utilizado durante o cadastro do departamento.
Atributo | Tipo | Descrição |
---|---|---|
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Histórico de cargos do usuário
Criar ou editar um histórico de cargo do usuário
Formato de JSON a ser enviado
{
"data": {
"userJobRole": {
"description": "Programador",
"date": "07/07/2019",
"user": "12345678901",
"jobRole": 67,
"remoteId": 1
}
}
}
Atributo | Tipo | Descrição |
---|---|---|
user | Recebe string , retorna integer |
Usuário para o registro |
description | Recebe string , retorna string |
Descrição do cargo |
date | string no formato DD/MM/YYYY |
Data da alteração de cargo |
jobRole | string |
atributo id o qual se refere ao remoteId usado na criação do modelo jobRole |
remoteId | string |
Atributo com o identificador do registro pelo cliente |
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"userJobRole": {
"id": 3,
"cbo": "317110",
"description": "Programador",
"date": "2021-07-07T03:00:00.000Z",
"userId": 104,
"jobRoleId": 21164,
"companyId": 12,
"updatedAt": "2020-05-22T20:01:10.727Z",
"createdAt": "2020-05-22T20:01:10.727Z"
}
}
}
Esta rota cria ou edita um cargo de usuário.
O identificador de um usuário user
é o CPF.
O identificador do cargo é o jobRole
remoteId.
Requisição
POST /userJobRoles
Histórico de funções do usuário
Criar ou editar um histórico de função do usuário
Formato de JSON a ser enviado
{
"data": {
"userJobFunction": {
"cbo": "317110",
"description": "Programador JR",
"date": "03/03/2021",
"user": "78532850197",
"jobFunction": {
"id": 400
},
"remoteId": {
"id": 100
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"userJobFunction": [
{
"id": 1,
"cbo": "317110",
"description": "Programador JR",
"date": "2021-03-03T00:00:00.000Z",
"remoteId": "100",
"createdAt": "2021-06-15T17:59:50.000Z",
"updatedAt": "2021-06-15T17:59:50.000Z",
"userId": 5817,
"jobFunctionId": 21166,
"companyId": 12
}
]
}
}
Requisição
POST /userJobFunctions
Esta rota cria ou edita uma função de usuário.
O identificador de um usuário user
é o CPF.
O identificador da função é o jobFunction
remoteId utilizado para o cadastro da função.
Atributo | Tipo | Descrição |
---|---|---|
cbo | string sem mascara |
Classificação Brasileira de Ocupações |
user | Recebe string , retorna integer |
Usuário para o registro |
description | Recebe string , retorna string |
Descrição da Função |
date | string no formato DD/MM/YYYY |
Data da alteração de função |
jobFunction | JSON |
remoteId utilizado para o cadastro da função |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Deletar um histórico de função de usuário
Formato de JSON a ser enviado
{
"data": {
"userJobFunction": {
"remoteId": {
"id": 100
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Requisição
DELETE /userJobFunctions
Esta rota deleta uma função de usuário.
O identificador da função é o remoteId
utilizado para deletar a função.
Atributo | Tipo | Descrição |
---|---|---|
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Histórico de salário do usuário
Criar ou editar um histórico de salário do usuário
Formato de JSON a ser enviado
{
"data": {
"userSalary": {
"description": "Mudança de salário",
"user": "12345678901",
"date": "09/03/2018",
"salary": 1000.00,
"readjustReason": {
"id": 4
},
"remoteId": {
"id": 1
}
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"userSalary": {
"id": 1,
"description": "Mudança de salário",
"user": 1,
"readjustReason": 4,
"date": "09/03/2018",
"salary": 1000.00,
"remoteId": "1"
}
}
}
Esta rota cria ou edita um histórico de alteração de salário
O identificador de um usuário é o CPF.
O identificador do motivo de reajuste é o remoteId.
Requisição
POST /userSalaries
Deleta um registro de histórico de salário do usuário
Formato de JSON a ser enviado
{
"data": {
"userSalary": {
"remoteId": {
"id": 100
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Deleta um registro no histórico de salário.
O identificador do registro é company e remoteId.
Requisição
DELETE /userSalaries
Histórico de horários do usuário
Criar ou editar um histórico de horário de usuário
Formato de JSON a ser enviado
{
"data": {
"userHorary": {
"description": "Mudança de horário",
"user": "12345678901",
"date": "2020-10-21",
"horary": {
"id": 67
},
"remoteId": {
"id": 1
}
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"userHorary": {
"id": 1,
"description": "Mudança de horário",
"date": "2020-10-21T00:00:00.000Z",
"user": 1,
"horary": 1,
"remoteid": 1
}
}
}
Esta rota cria ou edita um horário de usuário.
O identificador de um usuário é o CPF.
O identificador do horário é o remoteId.
Requisição
POST /userHoraries
Deleta um horário de usuário
Formato de JSON a ser enviado
{
"data": {
"userHorary": {
"remoteId": {
"id": 1
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta rota deleta um horário de usuário.
O identificador do horário é o remoteId.
Requisição
DELETE /userHoraries
Histórico de situações do usuário
Criar ou editar um histórico de situação do usuário
Formato de JSON a ser enviado
{
"data": {
"userSituation": {
"situation": "ATIVO",
"user": "12323754918",
"date": "07/07/2010",
"branch": "65493733000150",
"cause": {
"id": 1
},
"remoteId": {
"id": 67
},
}
}
}
Atributo | Tipo | Descrição |
---|---|---|
situation | string |
Situação padrão do Nela |
user | Recebe string , retorna integer |
Usuário para o registro |
date | string no formato DD/MM/YYYY |
Data da situação |
branch | Recebe string , retorna integer |
Filial para o registro |
cause | JSON |
Causa da situação para o registro |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"userSituation": {
"id": 4,
"situation": "active",
"user": 5817,
"date": "2021-01-20T00:00:00.000Z",
"cause": 14,
"remoteId": "33",
"company": 12,
"branchId": null,
"updatedAt": "2021-06-15T16:26:24.904Z",
"createdAt": "2021-06-15T16:26:24.904Z"
}
}
}
Esta rota cria ou edita um histórico de situação do usuário
O identificador de uma filial (branch
) é o CNPJ.
O identificador de um usuário (user
) é o CPF.
O identificador da causa da situação (cause
) é o remoteId utilizado na hora do cadastro.
O identificador de uma situação é o remoteId
.
Os valores aceitos no atributo situation
são:
ATIVO
, FERIAS
, AFASTADO
, INATIVO
.
Onde será necessário realizar um DE-PARA quando necessário.
Exemplo:
DE: RESCISAO
deve ser enviado como INATIVO
.
Assim como situações relacionadas ao afastamento de um colaborador devem ser enviadas apenas como AFASTADO
.
Exemplos:
DE: AFASTAMENTO ACIDENTE TRABALHO
PARA: AFASTADO
.
DE: AFASTAMENTO LIC. MATER. INSS
PARA AFASTADO
.
Requisição
POST /userSituations
Deleta uma situação de usuário
Formato de JSON a ser enviado
{
"data": {
"userSituation": {
"remoteId": {
"id": 2
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta rota deleta uma situação de usuário.
O identificador de uma situação é o remoteId
.
Requisição
DELETE /userSituations
Histórico de estabilidade do usuário
Criar ou editar um histórico de estabilidade do usuário
Formato de JSON a ser enviado
{
"data": {
"userStability": {
"user": "12345678901",
"description": "Descrição",
"initialDate": "01/03/2018",
"finalDate": "30/03/2018",
"remoteId": {
"id": 67
},
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"userStability": {
"id": 1,
"description": "Descrição",
"initialDate": "01/03/2018",
"finalDate": "30/03/2018",
"user": 1,
}
}
}
Esta rota cria ou edita um histórico de estabilidade do usuário
O identificador de um usuário é o CPF.
Requisição
POST /userStabilities
Deleta um histórico estabilidade do usuário
Formato de JSON a ser enviado
{
"data": {
"userStability": {
"remoteId": {
"id": 67
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta rota deleta um histórico de estabilidade do usuário.
O identificador de um registro é o remoteId
Requisição
DELETE /userStabilities
Histórico de exames do usuário
Criar ou editar um histórico de exame do usuário
Formato de JSON a ser enviado
{
"data": {
"userExam": {
"user": "12345678901",
"description": "Exame periódico",
"date": "12/06/2021",
"remoteId": {
"id": 67
},
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "201",
"message": "Created",
"data": {
"userExam": {
"id": 1,
"user": 5817,
"description": "Exame periódico",
"date": "2021-03-01T03:00:00.000Z",
"remoteId": "88",
"company": 12,
"updatedAt": "2021-06-10T20:57:13.087Z",
"createdAt": "2021-06-10T20:57:13.087Z"
}
}
}
Requisição
POST /userExams
Esta rota cria ou edita um histórico de exame do usuário
O identificador de um usuário é o CPF.
Atributo | Tipo | Descrição |
---|---|---|
user | Recebe string , retorna integer |
CPF do Usuário para o registro |
date | string no formato DD/MM/YYYY |
Data do exame |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Deleta exame de usuário
Formato de JSON a ser enviado
{
"data": {
"userExam": {
"remoteId": {
"id": 1
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Requisição
DELETE /userExams
Esta rota deleta um histórico de exame do usuário
O identificador do registro é remoteId
.
Programação de férias de usuário
Criar ou editar programação de férias de usuário
Formato de JSON a ser enviado
{
"data": {
"userProgrammingVacation": {
"user": "12345678901",
"initialDate": "01/03/2018",
"finalDate": "20/03/2018",
"allowanceInitialDate": "21/03/2018",
"allowanceFinalDate": "30/03/2018",
"allowanceDays": 30,
"remoteId": {
"id": 67
},
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"userProgrammingVacation": {
"id": 1,
"initialDate": "01/03/2018",
"finalDate": "20/03/2018",
"allowanceInitialDate": "21/03/2018",
"allowanceFinalDate": "30/03/2018",
"allowanceDays": 30,
"user": 1,
}
}
}
Caso necessário editar a
Data Abono Inicial
eData Abono Final
, para remover as propriedadesallowanceInitialDate
eallowanceFinalDate
devem ser informadas como null.
{
"data": {
"userProgrammingVacation": {
"user": "12345678901",
"initialDate": "01/03/2018",
"finalDate": "20/03/2018",
"allowanceInitialDate": null,
"allowanceFinalDate": null,
"allowanceDays": 30,
"remoteId": {
"id": 67
},
}
}
}
Esta rota cria ou edita programação de férias de usuário.
O identificador de um usuário é o CPF.
Requisição
POST /userProgrammingVacations
Deleta programação de férias de usuário
Formato de JSON a ser enviado
{
"data": {
"userProgrammingVacation": {
"remoteId": {
"id": 10
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta rota deleta programação de férias de usuário.
O identificador de um registro é o remoteId
.
Requisição
DELETE /userProgrammingVacations
Períodos aquisitivos do usuário
Criar ou editar um período aquisitivo
Formato de JSON a ser enviado
{
"data": {
"userVacationAllowance": {
"balance": 30,
"branch": "00000000000000000",
"end": "04/06/2019",
"enjoyed": false,
"enjoyedDays": 0,
"enjoymentLimit": "04/05/2020",
"faults": 0,
"fractions": 12,
"rightDays": 30,
"start": "05/06/2018",
"user": "00000000000",
"remoteId": {
"id": 3
}
}
}
}
Atributo | Tipo | Descrição |
---|---|---|
balance | double |
Saldo de dias de férias |
branch | Recebe string , retorna integer |
Filial para o registro |
end | string no formato DD/MM/YYYY |
Data final do período aquisitivo |
enjoyed | boolean |
Indica se os dias de direito de férias do período aquisitivo já foram completamente gozados |
enjoyedDays | double |
Dias já gozados |
enjoymentLimit | string no formato DD/MM/YYYY |
Data limite para o gozo de férias |
faults | double |
Faltas durante o período aquisitivo |
fractions | integer |
Frações já adquiridas no período |
rightDays | double |
Dias de direito de gozo |
start | string no formato DD/MM/YYYY |
Data inicial do período aquisitivo |
user | Recebe string , retorna integer |
CPF do usuário |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
A requisição retorna o seguinte JSON:
{
"data": {
"userVacationAllowance": {
"balance": 30,
"branch": "00000000000000000",
"end": "04/06/2019",
"enjoyed": false,
"enjoyedDays": 0,
"enjoymentLimit": "04/05/2020",
"faults": 0,
"fractions": 12,
"rightDays": 30,
"start": "05/06/2018",
"user": "00000000000",
"remoteId": {
"id": 3
}
}
}
}
Esta rota cria ou edita um período aquisitivo de férias.
O identificador de um usuário é o CPF. O identificador da filials é o CNPJ.
Requisição
POST /userVacationAllowances
Deletar um período aquisitivo
Formato de JSON a ser enviado
{
"data": {
"userVacationAllowance": {
"remoteId": {
"id": 3
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta rota deleta um período aquisitivo de férias.
O identificador de um registro é o remoteId
.
Requisição
DELETE /userVacationAllowances
Histórico de férias gozadas
Criar ou editar férias de usuário
Formato de JSON a ser enviado
{
"data": {
"userVacation": {
"user": "12345678901",
"initialDate": "01/03/2017",
"finalDate": "28/02/2018",
"allowanceInitialDate": "21/06/2018",
"allowanceFinalDate": "30/06/2018",
"enjoymentInitialDate": "01/06/2018",
"enjoymentFinalDate": "20/06/2018",
"remoteId": {
"id": 67
},
}
}
}
A requisição retorna o seguinte JSON:
{
"data": {
"userVacation": {
"id": 1,
"initialDate": "01/03/2017",
"finalDate": "28/02/2018",
"allowanceInitialDate": "21/06/2018",
"allowanceFinalDate": "30/06/2018",
"enjoymentInitialDate": "01/06/2018",
"enjoymentFinalDate": "20/06/2018",
"user": 1,
}
}
}
Atributo | Tipo | Descrição |
---|---|---|
user | Recebe string , retorna integer |
CPF do Usuário para o registro |
initialDate | string no formato DD/MM/YYYY |
Inicio Per. de Férias |
finalDate | string no formato DD/MM/YYYY |
Final Per. de Férias |
allowanceInitialDate | string no formato DD/MM/YYYY |
Data inicial do subsídio |
allowanceFinalDate | string no formato DD/MM/YYYY |
Data final do subsídio |
enjoymentInitialDate | string no formato DD/MM/YYYY |
Data Gozo Inicial |
enjoymentFinalDate | string no formato DD/MM/YYYY |
Data Gozo Final |
remoteId | JSON |
Atributo com o identificador do registro pelo cliente |
Esta rota cria ou edita férias de usuário.
O identificador de um usuário é o CPF.
Requisição
POST /userVacations
Deleta férias de usuário
Formato de JSON a ser enviado
{
"data": {
"userVacation": {
"remoteId": {
"id": 2
}
}
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "Registro deletado"
}
}
Esta rota deleta férias de usuário.
O identificador de um registro é o remoteId
.
Requisição
DELETE /userVacations
Códigos de retorno
TalentRH API utiliza os seguintes códigos HTML de retorno:
Código | Significado |
---|---|
200 | Success -- Sucesso. |
201 | Created -- Criado. |
400 | Bad Request -- Sua requisição é inválida. |
401 | Unauthorized -- Seu token é inválido. |
404 | Not Found -- O recurso não foi encontrado. |
Consulta de Metas
Este endpoint não possuí um vínculo específico com a api de integração, desta forma, cabe salientar que o uso desta rotina não é restrito ao folha e que tem como objetivo apenas a coleta de metas para o BI.
endpoint: get /goals
Formato da resposta
A resposta deste endpoint é feita com base nas metas de cada usuário, sendo assim, a exibição será um array de objetos contendo cada um dos usuários e indicando as suas metas ou não:
Formato de JSON que é recebido:
{
"userId": 1234,
"userFullName": "Pedro Siqueira",
"email": "pedro.s@email.com.br",
"departmentId": 234,
"departmentName": "Recursos Humanos",
"jobRoleId": 21175,
"jobRoleTitle": "Analista de pessoas e performance",
"jobFunctionId": null,
"jobFunctionTitle": null,
"leaderId": 5823,
"leaderFullName": "Marcos Souza",
"situation": "active",
"situationHistory": [
{
"date": "2021-12-21",
"situation": "active"
},
{
"date": "2022-04-08",
"situation": "inactive"
}
],
"userGoals":
[
{
"userGoalId": 3409,
"goalId": 248,
"unit": "hours",
"goalTitle": "Meta 01",
"goalStartDate": "2022-07-01",
"goalEndDate": "2022-07-31"
}
]
}
userId:
Id do usuário em questão
userFullName:
Nome completo do usuário em questão
email:
Email do usuário em questão
departmentId:
Id do departamento em que o usuário está cadastrado
departmentName:
Nome do departamento em que o usuário está cadastrado
jobRoleId:
Id do cargo do usuário
jobRoleTitle:
Título do cargo do usuário
jobFunctionId:
Id da função do usuário
jobFunctionTitle:
Título da função do usuário
leaderId
Id do líder do usuário
leaderFullName
Nome completo do líder do usuário
situation
Se o usuário está ativo ou inativo
situationHistory
Array que contém o histórico de situação do usuário
userGoals
Array que contém todas as metas do usuário
Fazendo a requisição
Para fazer esta requisição é preciso informar duas queries obrigatórias, sendo necessário seguir a formatação indicada no exemplo:
startDate: 2022-01-01
endDate: 2022-08-31
Também foram implementadas outras queries que possibilitam a filtragem das informações:
limit: number
-> Limita a quantidade de registros que irão ser retornados
skip: number
-> Pula a quantidade de registros desejada
userId: number
-> Caso seja desejado encontrar um usuário em específico bastar passar o seu id nesta query
email: string
-> Usado para encontrar um usuário com o email informado
departmentId: number
-> Retorna todos os usuários que estão cadastrados no departamento informado, deve-se passar o id do departamento
jobRoleId: number
-> Retorna os usuários que estão cadastrados no cargo informado, deve-se passar o id do cargo
jobFunctionId: number
-> Retorna os usuários que estão cadastrados na função informado, deve-se passar o id do cargo
leaderId: number
-> Retorna todos os usuário liderados do usuário com o id informado neste campo
É importante ressaltar que os dados nas queries devem ser passados exatamente como estão cadastrados.
Atualização de Metas
Este endpoint não possuí um vínculo específico com a api de integração, desta forma, cabe salientar que o uso desta rotina não é restrito ao folha e que tem como objetivo apenas a atualização das metas para o BI.
endpoint: POST /goals/updateGoals
Formato da requisição para usuário que é líder
{
"data":{
"goalsAchieved":[
{
"userGoal":"3332",
"unit":"numeric",
"value":"0.5",
"comment": "Comentário exemplo",
"projectDetails":[
{
"project":"Projeto exemplo 01 - sem tarefas",
"description": "Descrição projeto 01",
"lastUpdate":"13/12/2022 08:04:35"
},
{
"project":"Projeto exemplo 02 - com tarefas",
"description": "Descrição projeto 02",
"lastUpdate":"13/12/2022 08:04:35",
"taskDetails":[
{
"task":"tarefa exemplo 1",
"score":"2.5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
},
{
"task":"tarefa exemplo 2",
"score":"5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
},
{
"task":"tarefa exemplo 3",
"score":"0.5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
},
{
"task":"tarefa exemplo 4",
"score":"0.5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
},
{
"task":"tarefa exemplo 5",
"score":"2.5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
}
]
}
]
}
]
}
}
Formato da requisição para usuário que NÃO é líder
{
"data":{
"goalsAchieved":[
{
"userGoal":"3332",
"unit":"numeric",
"value":"0.5",
"comment": "Comentário exemplo",
"taskDetails":[
{
"task":"tarefa exemplo 1",
"score":"2.5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
},
{
"task":"tarefa exemplo 2",
"score":"5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
},
{
"task":"tarefa exemplo 3",
"score":"0.5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
},
{
"task":"tarefa exemplo 4",
"score":"0.5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
},
{
"task":"tarefa exemplo 5",
"score":"2.5",
"description":"Pontuação desenvolvimento",
"lastUpdate":"13/01/2023 08:04:35"
}
]
}
]
}
}
Atributo | Tipo | Descrição |
---|---|---|
userGoal | string |
Identificador da meta em associação com o usuário |
unit | string |
Unidade de medida da meta |
value | string |
Valor atualizado na meta |
comment | string |
Comentário não é obrigatório |
projectDetails | object |
Array de objetos que contém os detalhes a respeito do projeto, caso exista, assim como as tarefas em associação. Não é obrigatório. |
O campo unit recebe os valores: 'monetary', 'percentage', 'hours', 'qualitative', 'numerical'
Sobre a exibição do que foi enviado: caso sejam enviados os detalhes de projeto, para as metas de líderes será exibido tanto o projeto como suas tarefas associadas, para liderados, se faz necessário o envio apenas dos detalhes das tarefas
É importante ressaltar que para unidade de medida em horas o valor deve ser convertido para minutos e para unidade de medida em porcentagem o valor deve ser dividido por 100, ou seja, 82% = 0.82.
Posts
Atributos
Atributo | Tipo | Descrição |
---|---|---|
title | string |
Título da postagem, obrigatório apenas para postagens do tipo "announcement". |
body | string |
Corpo da postagem, obrigatório apenas para postagens do tipo "announcement" ou "message". Pode-se incluir tags html. |
type | string |
Tipo da postagem, a postagem pode ser do tipo "message" para postagens comuns, "announcement" para comunicados e "news"para notícias. |
link | string |
Link para postagens do tipo "news", para outros tipos de postagem este campo não é utilizado. |
branches | array de strings |
Este campo só é utilizado caso seja desejado enviar a postagens para filiais específicas utilizando o CNPJ da mesma. Caso queira que o post seja enviado para todas as filiais deve-se remover este atributo do json. |
Formatos de JSON a ser enviado
Tipo "message":
{
"data": {
"title": "Título",
"body": "No corpo de qualquer tipo de post: <p>podem ser usadas tags html</p>",
"type": "message",
"branches": ["00000000000000"]
}
}
Tipo "news":
{
"data": {
"body": "Exemplo: <p>isto é uma notícia enviada para duas filiais</p>",
"type": "news",
"link": "https://github.com/",
"branches": ["00000000000000", "11111111111111"]
}
}
Tipo "announcement":
{
"data": {
"title": "Comunicado",
"body": "Exemplo: <p>isto é um comunicado para toda a empresa</p>",
"type": "announcement"
}
}
Carteira de crédito e ou benefício
Criar ou editar carteira de crédito e / ou benefício
Formato de JSON a ser enviado
{
"data": {
"userWallets": [
{
"remoteId": "1",
"user": "35416813067",
"description": "Voors Pay",
"limit": 5000,
"installmentLimit": 4000
}
]
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "created with success!"
}
}
Atributo | Tipo | Descrição |
---|---|---|
user | Recebe string , retorna integer |
CPF do Usuário para o registro |
description | string |
Descrição da carteira a ser exibida no voors |
limit | number |
Limite de crédito |
installmentLimit | number |
Limite disponível para parcelamento |
remoteId | string |
Valor com o identificador do registro pelo cliente |
Esta rota cria ou edita carteira de crédito e / ou beneficio
O identificador de um usuário é o CPF.
Requisição
POST /userWallets
Transações de Carteira de crédito e ou benefício
Criar ou editar transações carteira de crédito e / ou benefício
Formato de JSON a ser enviado
{
"data": {
"userWalletTransactions": [
{
"remoteId": "99",
"userWalletRemoteId": "10",
"store": "Mercado do Voors",
"date": "202",
"total": 5000,
"items": [
{
"description": "Caneta",
"quantity": 10,
"unitPrice": 2,
"subTotal": 20
}
]
}
]
}
}
A requisição retorna o seguinte JSON:
{
"status": "success",
"code": "200",
"message": "OK",
"data": {
"message": "created with success!"
}
}
Atributo | Tipo | Descrição |
---|---|---|
userWalletRemoteId | Recebe string |
Valor com o identificador do registro usado na criação da userWallet pelo cliente |
store | string |
Nome da loja / estabelecimento |
date | string no formato YYYY-MM-DD HH:mm:ss |
data e hora da transação |
total | number |
Valor total da transação |
items | Array de Item |
Items da transação |
remoteId | string |
Valor com o identificador do registro pelo cliente |
Model Item usado no Array de items do model anterior :
Atributo | Tipo | Descrição |
---|---|---|
description | Recebe string |
Descrição do item |
quantity | number |
Quantidade |
unitPrice | number de Item |
Preço unitário |
subTotal | number |
Sub total preço unitário x quantidade |
Esta rota cria ou edita carteira de crédito e / ou beneficio
O identificador de um usuário é o CPF.
Requisição
POST /userWalletTransactions