(GET) employeejourney/entities/employee

https://api.senior.com.br/hcm/employeejourney/entities/employee

Um "employee", para o HCM, é o contrato de trabalho de um colaborador. Nele, são agrupadas as informações de cargo, escala, departamento, centro de custo, posição na hierarquia e outros pontos relacionados à relação do colaborador com a empresa. Estas informações podem ser visualizadas na tela Meu Contrato de Trabalho dentro do módulo do Painel de Gestão.

Esse endpoint é utilizado para obter as informações dos colaboradores cadastrados na base do HCM. Todos os endpoints do serviço da jornada do colaborador só podem ser acessados por usuários ou aplicações com o permissionamento correto e possuem um limite máximo de 100 itens por página de retorno. Campos não preenchidos não são retornados.

O payload de cada colaborador consiste de:

{ "id": id do colaborador, "contractType": tipo do contrato do colaborador, "hireDate": data de admissão, "dismissalDate": data de demissão, "employeeType": tipo de colaborador, "registerNumber": número da matrícula na G5 (numcad), "jobPosition": cargo do colaborador { "id": id do cargo, "name": nome do cargo, "codcar": código G5 do cargo }, "department": departamento do colaborador { "id": id do departamento, "code": código G5 do departamento/local (codloc), "tableCode": tabela de organograma, "name": nome do departamento }, "costCenter": centro de custo do colaborador { "id": id do centro de custo, "name": nome do centro de custo, "codccu": código G5 do centro de custo }, "workShift": turno do colaborador { "id": id do turno, "name": nome do turno, "codesc": código G5 do turno, "workload": carga horária do colaborador em min/mês }, "employer": { "id": id da empresa, "numemp": número da empresa, "tradingName": Nome fantasia da empresa, "companyName": Nome da empresa, "cnpj": cnpj da empresa, "companyType": tipo da empresa, "cnae": cnae da empresa, "address": { "id": id do endereço, "additional": complemento do endereço, "neighborhood": bairro/distrito a qual pertence este endereço, "address": logradouro/Rua a qual pertence este endereço, "city": { "id": id da cidade, "name": nome da cidade, "state": { "id": id do estado, "abbreviation": abreviação do estado, "name": nome do estado }, "code": código da cidade } }, "headquarter": { "id": id da empresa matriz, "numemp": número da empresa, "tradingName": nome fantasia da empresa, "companyName": nome da empresa, "cnpj": cnpj da empresa } } "person": { "id": id da pessoa vinculada a este contrato, "nickname": apelido da pessoa, "fullName": nome completo da pessoa, "cpf": cpf da pessoa }, "phoneContact": [ { "id": id telefone de contato, "countryCode": código do país, "localCode": código local, "number": número telefone, "phoneContactType": tipo do telefone } ], "emails": lista de emails vinculados ao colaborador [ { "id": id do email, "email": o endereço de email } ], "workstation": posto de trabalho do colaborador { "id": id do posto de trabalho, "workstationGroup": grupo de postos de trabalho onde o posto se encontra { "id": id do grupo, "name": nome do grupo, "postra": código G5 do grupo } }, "hierarchyItem": posição do colaborador na hierarquia { "id": id da posição, "parent": posição do superior do colaborador na hierarquia** }, "historicStability": { "id": id do histórico, "startDate": data de início da estabilidade, "endDate": data de término da estabilidade, "stabilityType": tipo da estabilidade } }

**O atributo parent é recursivo, ou seja, serão retornados todos os nós da hierarquia até a posição mais alta na hierarquia direta desse colaborador

Uso dos filtros:

É possível filtrar os resultados seguindo estas diretivas. Observe nos casos de uso que é possível utilizar filtros de atributos internos das entidades Person e Company.

Todos os campos do payload da API são possíveis de usar no filtro, com exceção do campo fullName. Caso você queira filtrar pelo nome do colaborador é necessário usar os atributos firstName, middleName ou lastName da entidade person.

Casos de uso:

  • Buscar todos os colaboradores:

    https://api.senior.com.br/hcm/employeejourney/entities/employee
  • Buscar todos os subordinados de um gestor (utilizando o id da hierarquia do gestor):

    .../employee?filter=workstation.hierarchyItem.parent='id da hierarquia do gestor'
  • Buscar o colaborador vinculado à uma pessoa:

    .../employee?filter=person.id='id da pessoa'
  • Buscar os colaboradores com determinado grau de instrução (repare que somente 7 dos 15 colaboradores totais são retornados):

    .../employee?filter=person.educationDegree.name='grau de instrução'
  • Buscar os colaboradores com determinado cargo:

    .../employee?filter=jobPosition.name='nome do cargo'
  • Buscar os colaboradores que não estão mais na empresa:

    .../employee?filter=dismissalDate is not null
  • Buscar todos os colaboradores de uma empresa:

    .../employee?filter=employer.companyName eq 'Empresa teste'
  • Buscar todos os colaboradores por nome:

    .../employee?filter=person.firstname eq 'Pessoa' and person.middlename eq 'Teste'
  • Buscar os colaboradores em estabilidade:

    .../employee?filter=historicStability.id is not null