Funcionário

5 funções do TermoIntranetAPI para funcionário.

// npm install termo_core --save-exact
import * as intranet from "termo_core/intranet";
// ou: import { intranet } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_funcionarioGET /funcionarioLista funcionários com paginação por cursor
buscar_auto_complete_funcionarioGET /funcionario/autocompleteLista básica para seleção
buscar_pelo_filtro_funcionarioGET /funcionario/filtroBusca por filtro
buscar_total_funcionarioGET /funcionario/totalTotal de registros do paginador
buscar_pelo_id_funcionarioGET /funcionario/{id}Busca pelo id

buscar_paginador_funcionario

GET/funcionario Exige credencial

Lista funcionários com paginação por cursor

Exige qualquer permissão da área funcionarios. Ordena por nome e id, sempre 50 itens por página. Só funcionários ativos do tipo colaborador no cadastro da intranet, só leitura. Sem cursor vem a primeira página; para a seguinte, envie em cursor o proximo_cursor recebido (nulo na última página). O total de registros não vem aqui: está em GET /funcionario/total, para a lista não esperar o count(*).

function buscar_paginador_funcionario(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorFuncionario = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaFuncionarioResumoI64>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_funcionario } from "termo_core/intranet";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_funcionario(credencial_de_acesso, { cursor: 1 });

Argumentos

Nome

Tipo

Retorno: Promise<tipos.PaginaFuncionarioResumoI64> · Rust: Result<tipos::PaginaFuncionarioResumoI64, ErroAoChamarServico> · veja PaginaFuncionarioResumoI64.

buscar_auto_complete_funcionario

GET/funcionario/autocomplete Exige credencial

Lista básica para seleção

Exige qualquer permissão da área funcionarios. Devolve só id, nome e departamento, em ordem alfabética de nome, para escolher um funcionário ativo. busca procura por trecho do nome ou da matrícula. Paginação por cursor: tamanho tem padrão 10 e máximo 100, e para a página seguinte envie em cursor o proximo_cursor recebido.

function buscar_auto_complete_funcionario(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteFuncionario = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaFuncionarioAutoCompleteI64>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_funcionario } from "termo_core/intranet";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_funcionario(credencial_de_acesso, { busca: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<tipos.PaginaFuncionarioAutoCompleteI64> · Rust: Result<tipos::PaginaFuncionarioAutoCompleteI64, ErroAoChamarServico> · veja PaginaFuncionarioAutoCompleteI64.

buscar_pelo_filtro_funcionario

GET/funcionario/filtro Exige credencial

Busca por filtro

Exige qualquer permissão da área funcionarios. Aceita nome, cpf, matricula, departamento, cargo, unidade e tipo_contrato; informe ao menos um. Devolve no máximo 100 registros.

function buscar_pelo_filtro_funcionario(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroFuncionario = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.FuncionarioResumo>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_funcionario } from "termo_core/intranet";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_funcionario(credencial_de_acesso, { nome: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<Array<tipos.FuncionarioResumo>> · Rust: Result<Vec<tipos::FuncionarioResumo>, ErroAoChamarServico>

buscar_total_funcionario

GET/funcionario/total Exige credencial

Total de registros do paginador

Exige qualquer permissão da área funcionarios. Devolve só o count(*) com os mesmos filtros de GET /funcionario, para o frontend montar o paginador sem atrasar a lista: a tela pede a primeira página e o total em paralelo. Conta os mesmos funcionários ativos do tipo colaborador que a listagem devolve.

function buscar_total_funcionario(
  credencial_de_acesso: CredencialDeAcesso,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Total>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_total_funcionario } from "termo_core/intranet";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_total_funcionario(credencial_de_acesso);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.Total> · Rust: Result<tipos::Total, ErroAoChamarServico> · veja Total.

buscar_pelo_id_funcionario

GET/funcionario/{id} Exige credencial

Busca pelo id

Exige qualquer permissão da área funcionarios. Devolve o funcionário ativo completo.

function buscar_pelo_id_funcionario(
  credencial_de_acesso: CredencialDeAcesso,
  id: number,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Funcionario>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_funcionario } from "termo_core/intranet";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_funcionario(credencial_de_acesso, id);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.Funcionario> · Rust: Result<tipos::Funcionario, ErroAoChamarServico> · veja Funcionario.

Tipos

Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.

Email

import type { Email } from "termo_core/intranet";

export interface Email {
  corporativo: boolean;
  endereco: string;
}

Funcionario

import type { Funcionario } from "termo_core/intranet";

export interface Funcionario {
  admitido_em?: string | null;
  cargo?: string | null;
  chefe_imediato?: string | null;
  codigo_barras?: string | null;
  cpf?: string | null;
  ctps_serie?: string | null;
  departamento?: string | null;
  em_ferias: boolean;
  emails: Array<Email>;
  empresa_cnpj?: string | null;
  empresa_nome?: string | null;
  estado_civil?: string | null;
  ferias_ate?: string | null;
  ferias_de?: string | null;
  genero?: string | null;
  gestor: boolean;
  id: number;
  jornada?: string | null;
  matricula?: string | null;
  nascido_em?: string | null;
  nome: string;
  observacao?: string | null;
  pis?: string | null;
  ramal?: string | null;
  rg?: string | null;
  telefones: Array<Telefone>;
  tipo_contrato?: string | null;
  ultimo_acesso?: string | null;
  unidade?: string | null;
  usuario: string;
}

FuncionarioResumo

import type { FuncionarioResumo } from "termo_core/intranet";

export interface FuncionarioResumo {
  admitido_em?: string | null;
  cargo?: string | null;
  departamento?: string | null;
  id: number;
  matricula?: string | null;
  nome: string;
  ramal?: string | null;
  tipo_contrato?: string | null;
  unidade?: string | null;
  usuario: string;
}

PaginaFuncionarioAutoCompleteI64

import type { PaginaFuncionarioAutoCompleteI64 } from "termo_core/intranet";

export interface PaginaFuncionarioAutoCompleteI64 {
  itens: Array<PaginaFuncionarioAutoCompleteI64ItensItem>;
  proximo_cursor?: number;
  tamanho: number;
}

PaginaFuncionarioAutoCompleteI64ItensItem

import type { PaginaFuncionarioAutoCompleteI64ItensItem } from "termo_core/intranet";

export interface PaginaFuncionarioAutoCompleteI64ItensItem {
  departamento?: string | null;
  id: number;
  nome: string;
}

PaginaFuncionarioResumoI64

import type { PaginaFuncionarioResumoI64 } from "termo_core/intranet";

export interface PaginaFuncionarioResumoI64 {
  itens: Array<PaginaFuncionarioResumoI64ItensItem>;
  proximo_cursor?: number;
  tamanho: number;
}

PaginaFuncionarioResumoI64ItensItem

import type { PaginaFuncionarioResumoI64ItensItem } from "termo_core/intranet";

export interface PaginaFuncionarioResumoI64ItensItem {
  admitido_em?: string | null;
  cargo?: string | null;
  departamento?: string | null;
  id: number;
  matricula?: string | null;
  nome: string;
  ramal?: string | null;
  tipo_contrato?: string | null;
  unidade?: string | null;
  usuario: string;
}

Telefone

import type { Telefone } from "termo_core/intranet";

export interface Telefone {
  ddd?: string | null;
  nome?: string | null;
  numero: string;
}

Total

import type { Total } from "termo_core/intranet";

export interface Total {
  total: number;
}

Nesta página