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çãoRotaO que faz
buscar_paginador_aplicativoGET /aplicativoLista os aplicativos paginados
criar_aplicativoPOST /aplicativoCadastra um aplicativo
buscar_auto_complete_aplicativoGET /aplicativo/autocompleteLista básica de aplicativos para seleção
buscar_pelo_filtro_aplicativoGET /aplicativo/filtroBusca aplicativos por filtro
buscar_pelo_id_aplicativoGET /aplicativo/{id}Busca um aplicativo pelo id
atualizar_pelo_id_aplicativoPATCH /aplicativo/{id}Atualiza um aplicativo pelo id
deletar_pelo_id_aplicativoDELETE /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>
Exemplo
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>
Exemplo
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>
Exemplo
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>>
Exemplo
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>
Exemplo
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>
Exemplo
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>
Exemplo
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;
}

Nesta página