Aplicativo
4 funções do TermoWebhook para aplicativo.
// 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_aplicativo | GET /aplicativo | Lista os aplicativos paginados |
buscar_auto_complete_aplicativo | GET /aplicativo/autocomplete | Lista básica de aplicativos para seleção |
buscar_pelo_filtro_aplicativo | GET /aplicativo/filtro | Busca aplicativos por filtro |
buscar_pelo_id_aplicativo | GET /aplicativo/{id} | Busca um aplicativo pelo id |
buscar_paginador_aplicativo
GET/aplicativo Exige credencial
Lista os aplicativos paginados
Leitura liberada a quem tem a permissão ler em aplicativos, contratos, assinaturas ou monitoramento. Antes de listar, sincroniza com os apps do TermoAuth pelo termo_core (token de quem chama, se for master; senão o token de aplicativo do TermoWebhook, se o segredo do app estiver cadastrado): app novo entra ativo, nome e descrição seguem os do TermoAuth, e app que saiu do TermoAuth é excluído ou, se ainda é dono de tipos de evento ou tem assinaturas, fica inativo. Falha do TermoAuth não impede a listagem. Não existe criar, editar nem excluir aplicativo no TermoWebhook. Lista os aplicativos não excluídos em ordem alfabética do nome. pagina começa em 1 (padrão 1) e tamanho tem padrão 10, sem máximo; valores menores que 1 viram 1. total é a quantidade de aplicativos não excluídos.
function buscar_paginador_aplicativo(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorAplicativo = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaAplicativo>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_aplicativo } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_aplicativo(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaAplicativo> · Rust: Result<tipos::PaginaAplicativo, ErroAoChamarServico> · veja PaginaAplicativo.
buscar_auto_complete_aplicativo
GET/aplicativo/autocomplete Exige credencial
Lista básica de aplicativos para seleção
Leitura liberada a quem tem a permissão ler em aplicativos, contratos, assinaturas ou monitoramento, para escolher o dono de um tipo de evento ou o assinante de uma assinatura. Devolve só id, nome e ativo, em ordem alfabética do nome, sem os excluídos. busca procura o trecho no nome, sem diferenciar maiúsculas. pagina começa em 1 (padrão 1) e tamanho tem padrão 10.
function buscar_auto_complete_aplicativo(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarAutoCompleteAplicativo = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaAplicativoAutoComplete>import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_aplicativo } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_aplicativo(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaAplicativoAutoComplete> · Rust: Result<tipos::PaginaAplicativoAutoComplete, ErroAoChamarServico> · veja PaginaAplicativoAutoComplete.
buscar_pelo_filtro_aplicativo
GET/aplicativo/filtro Exige credencial
Busca aplicativos por filtro
Leitura liberada a quem tem a permissão ler em aplicativos, contratos, assinaturas ou monitoramento. Devolve todos os aplicativos não excluídos que casam com o filtro, sem paginação, em ordem alfabética do nome. nome procura o trecho no nome e na descrição, sem diferenciar maiúsculas; ativo filtra pela situação. Sem filtro, devolve todos.
function buscar_pelo_filtro_aplicativo(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroAplicativo = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Aplicativo>>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_aplicativo } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_aplicativo(credencial_de_acesso, { nome: "..." });Argumentos
Nome
Tipo
Retorno: Promise<Array<tipos.Aplicativo>> · Rust: Result<Vec<tipos::Aplicativo>, ErroAoChamarServico>
buscar_pelo_id_aplicativo
GET/aplicativo/{id} Exige credencial
Busca um aplicativo pelo id
Leitura liberada a quem tem a permissão ler em aplicativos, contratos, assinaturas ou monitoramento. Aplicativo excluído não é encontrado. Os aplicativos são do TermoAuth e aqui são só leitura: identificador_no_termoauth é o id do app no TermoAuth (o sub do token de aplicativo) e não muda. quantidade_de_tipos_de_evento conta os tipos de que o aplicativo é dono e quantidade_de_assinaturas as assinaturas em que ele é o assinante.
function buscar_pelo_id_aplicativo(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Aplicativo>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_aplicativo } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_aplicativo(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Aplicativo> · Rust: Result<tipos::Aplicativo, ErroAoChamarServico> · veja Aplicativo.
Tipos
Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.
Aplicativo
import type { Aplicativo } from "termo_core/webhook";
export interface Aplicativo {
ativo: boolean;
atualizado_em: string;
criado_em: string;
descricao?: string | null;
id: string;
identificador_no_termoauth: string;
nome: string;
quantidade_de_assinaturas: number;
quantidade_de_tipos_de_evento: number;
}PaginaAplicativo
import type { PaginaAplicativo } from "termo_core/webhook";
export interface PaginaAplicativo {
itens: Array<PaginaAplicativoItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaAplicativoAutoComplete
import type { PaginaAplicativoAutoComplete } from "termo_core/webhook";
export interface PaginaAplicativoAutoComplete {
itens: Array<PaginaAplicativoAutoCompleteItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaAplicativoAutoCompleteItensItem
import type { PaginaAplicativoAutoCompleteItensItem } from "termo_core/webhook";
export interface PaginaAplicativoAutoCompleteItensItem {
ativo: boolean;
id: string;
nome: string;
}PaginaAplicativoItensItem
import type { PaginaAplicativoItensItem } from "termo_core/webhook";
export interface PaginaAplicativoItensItem {
ativo: boolean;
atualizado_em: string;
criado_em: string;
descricao?: string | null;
id: string;
identificador_no_termoauth: string;
nome: string;
quantidade_de_assinaturas: number;
quantidade_de_tipos_de_evento: number;
}