Colaborador
5 funções do TermoWebhook para colaborador.
// npm install termo_core --save-exact
import * as webhook from "termo_core/webhook";
// ou: import { webhook } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
buscar_paginador_colaborador | GET /colaborador | Lista colaboradores com paginação |
buscar_auto_complete_colaborador | GET /colaborador/autocomplete | Lista básica de colaboradores para seleção |
buscar_pelo_filtro_colaborador | GET /colaborador/filtro | Busca colaboradores por filtro |
buscar_pelo_id_colaborador | GET /colaborador/{id} | Busca um colaborador pelo id |
vincular_perfil_acesso_colaborador | PATCH /colaborador/{id}/perfil_acesso | Define o perfil de acesso de um colaborador |
buscar_paginador_colaborador
GET/colaborador Exige credencial
Lista colaboradores com paginação
Só leitura: o colaborador é cadastrado, alterado e excluído no TermoAuth e chega aqui pelos eventos colaborador.criado e colaborador.atualizado do TermoWebhook; aqui só se escolhe o perfil de acesso dele (PATCH /colaborador/{id}/perfil_acesso). Exige qualquer permissão da área colaboradores. Ordena por nome. nome, setor e cargo filtram por trecho, sem diferenciar maiúsculas, e ativo pela situação. pagina começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: tamanho é aceito, mas ignorado. Colaboradores excluídos não aparecem nem entram no total, que conta os registros que casam com os filtros. Quando quem chama é master do TermoAuth, a lista antes traz do TermoAuth os colaboradores @termotubos.com.br que ainda não existem aqui, criando acesso e colaborador com o perfil de acesso "Acesso inicial" (só leitura em todas as áreas); quem já existe não é alterado e ninguém é excluído. Se o TermoAuth falhar, a lista sai mesmo assim, só sem a sincronização.
function buscar_paginador_colaborador(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorColaborador = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaColaborador>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_colaborador } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_colaborador(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaColaborador> · Rust: Result<tipos::PaginaColaborador, ErroAoChamarServico> · veja PaginaColaborador.
buscar_auto_complete_colaborador
GET/colaborador/autocomplete Exige credencial
Lista básica de colaboradores para seleção
Exige qualquer permissão da área colaboradores. Devolve só id, nome e e-mail, em ordem alfabética de nome, para escolher um colaborador. busca procura por trecho do nome ou do e-mail, sem diferenciar maiúsculas. pagina começa em 1 (padrão 1); tamanho tem padrão 10, sem máximo.
function buscar_auto_complete_colaborador(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarAutoCompleteColaborador = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaColaboradorAutoComplete>import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_colaborador } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_colaborador(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaColaboradorAutoComplete> · Rust: Result<tipos::PaginaColaboradorAutoComplete, ErroAoChamarServico> · veja PaginaColaboradorAutoComplete.
buscar_pelo_filtro_colaborador
GET/colaborador/filtro Exige credencial
Busca colaboradores por filtro
Exige qualquer permissão da área colaboradores. Devolve todos os colaboradores que casam com o filtro, sem paginação, em ordem alfabética de nome. busca procura por trecho do nome ou do e-mail; nome, email, setor e cargo procuram por trecho, sem diferenciar maiúsculas; ativo filtra pela situação; perfil_acesso_id filtra pelo perfil de acesso. Sem filtro, devolve todos. Colaboradores excluídos não aparecem.
function buscar_pelo_filtro_colaborador(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroColaborador = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Colaborador>>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_colaborador } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_colaborador(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<Array<tipos.Colaborador>> · Rust: Result<Vec<tipos::Colaborador>, ErroAoChamarServico>
buscar_pelo_id_colaborador
GET/colaborador/{id} Exige credencial
Busca um colaborador pelo id
Exige qualquer permissão da área colaboradores. Colaborador excluído responde 404. Traz junto o e-mail do acesso, se ele é master do TermoAuth e o perfil de acesso (perfil_acesso_id e o nome em perfil_acesso).
function buscar_pelo_id_colaborador(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Colaborador>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_colaborador } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_colaborador(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Colaborador> · Rust: Result<tipos::Colaborador, ErroAoChamarServico> · veja Colaborador.
vincular_perfil_acesso_colaborador
PATCH/colaborador/{id}/perfil_acesso Exige credencial
Define o perfil de acesso de um colaborador
Exige a permissão editar da área colaboradores. É a única escrita do colaborador feita pelo TermoWebhook: perfil_acesso_id aponta para um perfil de GET /perfil_acesso/filtro e passa a definir o que a pessoa enxerga; null tira o perfil e deixa a pessoa sem nenhuma área. O colaborador de um master do TermoAuth não aceita perfil (ele já tem tudo). Vale em até 5 minutos (cache do acesso).
function vincular_perfil_acesso_colaborador(
credencial_de_acesso: CredencialDeAcesso,
id: string,
corpo_da_requisicao: tipos.ColaboradorVincularPerfilAcesso,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Colaborador>import { CredencialDeAcesso } from "termo_core";
import { vincular_perfil_acesso_colaborador } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await vincular_perfil_acesso_colaborador(credencial_de_acesso, id, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Colaborador> · Rust: Result<tipos::Colaborador, ErroAoChamarServico> · veja Colaborador.
Tipos
Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.
Colaborador
import type { Colaborador } from "termo_core/webhook";
export interface Colaborador {
ativo: boolean;
atualizado_em: string;
auth_id: string;
cargo?: string | null;
criado_em: string;
email: string;
funcao?: string | null;
id: string;
master: boolean;
nome: string;
perfil_acesso?: string | null;
perfil_acesso_id?: string | null;
setor?: string | null;
telefone?: string | null;
}ColaboradorVincularPerfilAcesso
import type { ColaboradorVincularPerfilAcesso } from "termo_core/webhook";
export interface ColaboradorVincularPerfilAcesso {
perfil_acesso_id?: string | null;
}PaginaColaborador
import type { PaginaColaborador } from "termo_core/webhook";
export interface PaginaColaborador {
itens: Array<PaginaColaboradorItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaColaboradorAutoComplete
import type { PaginaColaboradorAutoComplete } from "termo_core/webhook";
export interface PaginaColaboradorAutoComplete {
itens: Array<PaginaColaboradorAutoCompleteItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaColaboradorAutoCompleteItensItem
import type { PaginaColaboradorAutoCompleteItensItem } from "termo_core/webhook";
export interface PaginaColaboradorAutoCompleteItensItem {
email: string;
id: string;
nome: string;
}PaginaColaboradorItensItem
import type { PaginaColaboradorItensItem } from "termo_core/webhook";
export interface PaginaColaboradorItensItem {
ativo: boolean;
atualizado_em: string;
auth_id: string;
cargo?: string | null;
criado_em: string;
email: string;
funcao?: string | null;
id: string;
master: boolean;
nome: string;
perfil_acesso?: string | null;
perfil_acesso_id?: string | null;
setor?: string | null;
telefone?: string | null;
}