Aplicativo
7 funções do TermoTracing para aplicativo.
// npm install termo_core --save-exact
import * as tracing from "termo_core/tracing";
// ou: import { tracing } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
buscar_paginador_aplicativo | GET /aplicativo | Lista os aplicativos paginados |
criar_aplicativo | POST /aplicativo | Cadastra um aplicativo |
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 |
atualizar_pelo_id_aplicativo | PATCH /aplicativo/{id} | Atualiza um aplicativo pelo id |
deletar_pelo_id_aplicativo | DELETE /aplicativo/{id} | Exclui um aplicativo pelo id |
buscar_paginador_aplicativo
GET/aplicativo Exige credencial
Lista os aplicativos paginados
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Lista os aplicativos não excluídos da conta em ordem alfabética do nome. pagina começa em 1 (padrão 1; menor que 1 vira 1). A página tem sempre 50 itens: o parâmetro tamanho é aceito, mas ignorado. A resposta traz itens, total (quantidade de registros que casam com os filtros), pagina e tamanho (50). Parâmetros de consulta, todos opcionais: pagina: número da página, começando em 1 (padrão 1; menor que 1 vira 1); tamanho: aceito, mas ignorado: a página tem sempre 50 itens.
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/tracing";
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.
criar_aplicativo
POST/aplicativo Exige credencial
Cadastra um aplicativo
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Cadastra um site ou sistema que vai enviar eventos ao TermoTracing. nome é obrigatório. dominios precisa ter ao menos um domínio válido (host com ponto, localhost ou curinga *.dominio.com, porta opcional); https://, caminho e ponto final são removidos. franquia_mensal (eventos por ciclo mensal) tem padrão 100000 e precisa ser maior que zero. comportamento_ao_estourar aceita COBRAR_EXCEDENTE (padrão) ou PARAR_INGESTAO. O backend gera a chave pública (prefixo pk_live_) que o script do site usa na ingestão; ela não é segredo, porque a ingestão só aceita os domínios cadastrados. Campos do corpo: nome: nome do aplicativo (obrigatório, não pode ficar vazio); dominios: domínios autorizados a enviar eventos; precisa de ao menos um válido (host com ponto, localhost ou *.dominio.com, porta opcional). https://, caminho e ponto final são removidos; franquia_mensal: eventos incluídos por ciclo mensal, maior que zero (padrão 100000); comportamento_ao_estourar: COBRAR_EXCEDENTE (padrão) segue recebendo e conta o excedente; PARAR_INGESTAO recusa os lotes depois da franquia.
function criar_aplicativo(
credencial_de_acesso: CredencialDeAcesso,
corpo_da_requisicao: tipos.AplicativoCriar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Aplicativo>import { CredencialDeAcesso } from "termo_core";
import { criar_aplicativo } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_aplicativo(credencial_de_acesso, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Aplicativo> · Rust: Result<tipos::Aplicativo, ErroAoChamarServico> · veja Aplicativo.
buscar_auto_complete_aplicativo
GET/aplicativo/autocomplete Exige credencial
Lista básica de aplicativos para seleção
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Devolve só id, nome e chave dos aplicativos não excluídos da conta, em ordem alfabética do nome. busca procura o trecho no nome, sem diferenciar maiúsculas. pagina começa em 1 (padrão 1) e tamanho tem padrão 10, sem máximo; valores menores que 1 viram 1. A resposta traz itens, total, pagina e tamanho. Parâmetros de consulta, todos opcionais: busca: trecho do nome, sem diferenciar maiúsculas (opcional); pagina: número da página, começando em 1 (padrão 1; menor que 1 vira 1); tamanho: itens por página (padrão 10, sem máximo; menor que 1 vira 1).
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/tracing";
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
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Devolve todos os aplicativos não excluídos da conta que casam com o filtro, sem paginação, em ordem alfabética do nome. nome procura o trecho no nome e dominio em qualquer domínio cadastrado (sem diferenciar maiúsculas); chave compara a chave exata e comportamento_ao_estourar o valor exato (COBRAR_EXCEDENTE ou PARAR_INGESTAO). Sem filtro, devolve todos. Parâmetros de consulta, todos opcionais: nome: trecho do nome, sem diferenciar maiúsculas; dominio: trecho de um dos domínios cadastrados, sem diferenciar maiúsculas; chave: chave pública exata; comportamento_ao_estourar: COBRAR_EXCEDENTE ou PARAR_INGESTAO.
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/tracing";
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
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Devolve o aplicativo pelo id; registro excluído não é encontrado.
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/tracing";
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.
atualizar_pelo_id_aplicativo
PATCH/aplicativo/{id} Exige credencial
Atualiza um aplicativo pelo id
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Atualização parcial: só os campos enviados mudam. nome não pode ficar vazio; dominios substitui a lista inteira e precisa de ao menos um domínio válido; franquia_mensal precisa ser maior que zero; comportamento_ao_estourar aceita COBRAR_EXCEDENTE ou PARAR_INGESTAO. Com rotacionar_chave: true o backend gera uma chave nova e a antiga para de valer na ingestão. Campos do corpo, todos opcionais: nome: novo nome (não pode ficar vazio); dominios: nova lista de domínios, que substitui a atual; precisa de ao menos um válido; franquia_mensal: nova franquia mensal de eventos, maior que zero; comportamento_ao_estourar: COBRAR_EXCEDENTE ou PARAR_INGESTAO; rotacionar_chave: com true, gera uma chave nova e a antiga para de valer na ingestão.
function atualizar_pelo_id_aplicativo(
credencial_de_acesso: CredencialDeAcesso,
id: string,
corpo_da_requisicao: tipos.AplicativoAtualizar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Aplicativo>import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_aplicativo } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_aplicativo(credencial_de_acesso, id, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Aplicativo> · Rust: Result<tipos::Aplicativo, ErroAoChamarServico> · veja Aplicativo.
deletar_pelo_id_aplicativo
DELETE/aplicativo/{id} Exige credencial
Exclui um aplicativo pelo id
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Exclusão lógica: o aplicativo some das leituras e a chave dele deixa de ser aceita na ingestão.
function deletar_pelo_id_aplicativo(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_aplicativo } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_aplicativo(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<void> · Rust: Result<(), ErroAoChamarServico> · sem corpo na resposta.
Tipos
Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.
Aplicativo
import type { Aplicativo } from "termo_core/tracing";
export interface Aplicativo {
atualizado_em: string;
chave: string;
comportamento_ao_estourar: string;
conta_email: string;
conta_id: string;
criado_em: string;
dominios: Array<string>;
franquia_mensal: number;
id: string;
nome: string;
primeiro_evento_em?: string | null;
}AplicativoAtualizar
import type { AplicativoAtualizar } from "termo_core/tracing";
export interface AplicativoAtualizar {
comportamento_ao_estourar?: string | null;
dominios?: Array<string> | null;
franquia_mensal?: number | null;
nome?: string | null;
rotacionar_chave?: boolean | null;
}AplicativoCriar
import type { AplicativoCriar } from "termo_core/tracing";
export interface AplicativoCriar {
comportamento_ao_estourar?: string;
dominios?: Array<string>;
franquia_mensal?: number;
nome: string;
}PaginaAplicativo
import type { PaginaAplicativo } from "termo_core/tracing";
export interface PaginaAplicativo {
itens: Array<PaginaAplicativoItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaAplicativoAutoComplete
import type { PaginaAplicativoAutoComplete } from "termo_core/tracing";
export interface PaginaAplicativoAutoComplete {
itens: Array<PaginaAplicativoAutoCompleteItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaAplicativoAutoCompleteItensItem
import type { PaginaAplicativoAutoCompleteItensItem } from "termo_core/tracing";
export interface PaginaAplicativoAutoCompleteItensItem {
chave: string;
id: string;
nome: string;
}PaginaAplicativoItensItem
import type { PaginaAplicativoItensItem } from "termo_core/tracing";
export interface PaginaAplicativoItensItem {
atualizado_em: string;
chave: string;
comportamento_ao_estourar: string;
conta_email: string;
conta_id: string;
criado_em: string;
dominios: Array<string>;
franquia_mensal: number;
id: string;
nome: string;
primeiro_evento_em?: string | null;
}