Sessão
7 funções do TermoTracing para sessão.
// 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_sessao | GET /sessao | Lista as sessões paginadas |
criar_sessao | POST /sessao | Cadastra uma sessão |
buscar_auto_complete_sessao | GET /sessao/autocomplete | Lista básica de sessões para seleção |
buscar_pelo_filtro_sessao | GET /sessao/filtro | Busca sessões por filtro |
buscar_pelo_id_sessao | GET /sessao/{id} | Busca uma sessão pelo id |
atualizar_pelo_id_sessao | PATCH /sessao/{id} | Atualiza uma sessão pelo id |
deletar_pelo_id_sessao | DELETE /sessao/{id} | Exclui uma sessão pelo id |
buscar_paginador_sessao
GET/sessao Exige credencial
Lista as sessões paginadas
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 as sessões não excluídas da conta, da mais recente para a mais antiga. aplicativo_id filtra pelo aplicativo. 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; aplicativo_id: id do aplicativo (opcional).
function buscar_paginador_sessao(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorSessao = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaSessao>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_sessao } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_sessao(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaSessao> · Rust: Result<tipos::PaginaSessao, ErroAoChamarServico> · veja PaginaSessao.
criar_sessao
POST/sessao Exige credencial
Cadastra uma sessã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. Grava uma sessão de navegação de um aplicativo da conta (as sessões normalmente nascem sozinhas na ingestão). aplicativo_id precisa ser de um aplicativo da conta; sessao_externa e anonimo_id são obrigatórios e não podem ficar vazios. navegador, sistema_operacional, dispositivo, resolucao e pais têm padrão DESCONHECIDO; pagina_inicial tem padrão vazio. Campos do corpo: aplicativo_id: id de um aplicativo da conta (obrigatório); sessao_externa: identificador da sessão no navegador (obrigatório, não pode ficar vazio); anonimo_id: identificador anônimo do visitante (obrigatório, não pode ficar vazio); usuario_id: id do usuário logado no site (opcional); navegador: navegador (padrão DESCONHECIDO); sistema_operacional: sistema operacional (padrão DESCONHECIDO); dispositivo: tipo de dispositivo (padrão DESCONHECIDO); resolucao: resolução da tela (padrão DESCONHECIDO); pais: código do país com duas letras (padrão DESCONHECIDO); pagina_inicial: endereço da primeira página (padrão vazio).
function criar_sessao(
credencial_de_acesso: CredencialDeAcesso,
corpo_da_requisicao: tipos.SessaoCriar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Sessao>import { CredencialDeAcesso } from "termo_core";
import { criar_sessao } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_sessao(credencial_de_acesso, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Sessao> · Rust: Result<tipos::Sessao, ErroAoChamarServico> · veja Sessao.
buscar_auto_complete_sessao
GET/sessao/autocomplete Exige credencial
Lista básica de sessões 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 e rótulo (usuario_id ou, sem ele, anonimo_id, mais a data e hora de início em UTC, no formato DD/MM/AAAA HH:MM), em ordem alfabética do rótulo. busca procura o trecho no rótulo, 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 rótulo (usuário ou identificador anônimo e data de início), 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_sessao(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarAutoCompleteSessao = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaSessaoAutoComplete>import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_sessao } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_sessao(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaSessaoAutoComplete> · Rust: Result<tipos::PaginaSessaoAutoComplete, ErroAoChamarServico> · veja PaginaSessaoAutoComplete.
buscar_pelo_filtro_sessao
GET/sessao/filtro Exige credencial
Busca sessões 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 todas as sessões não excluídas da conta que casam com o filtro, sem paginação, da mais recente para a mais antiga (iniciada_em). usuario_id, anonimo_id, navegador e pais comparam o valor exato, sem diferenciar maiúsculas; com_erro filtra quem teve (ou não) ao menos um erro; inicio e fim (data e hora ISO 8601) limitam o iniciada_em. Sem filtro, devolve todas. Parâmetros de consulta, todos opcionais: aplicativo_id: id do aplicativo; usuario_id: id do usuário logado no site (valor exato, sem diferenciar maiúsculas); anonimo_id: identificador anônimo do visitante (valor exato, sem diferenciar maiúsculas); navegador: navegador (valor exato, sem diferenciar maiúsculas); pais: código do país com duas letras (sem diferenciar maiúsculas); com_erro: true só sessões com algum erro; false só sessões sem erro; inicio: sessões iniciadas a partir desta data e hora ISO 8601, por exemplo 2026-10-07T00:00:00Z; fim: sessões iniciadas até esta data e hora ISO 8601.
function buscar_pelo_filtro_sessao(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroSessao = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Sessao>>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_sessao } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_sessao(credencial_de_acesso, { aplicativo_id: "..." });Argumentos
Nome
Tipo
Retorno: Promise<Array<tipos.Sessao>> · Rust: Result<Vec<tipos::Sessao>, ErroAoChamarServico>
buscar_pelo_id_sessao
GET/sessao/{id} Exige credencial
Busca uma sessão 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 a sessão pelo id; registro excluído não é encontrado.
function buscar_pelo_id_sessao(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Sessao>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_sessao } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_sessao(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Sessao> · Rust: Result<tipos::Sessao, ErroAoChamarServico> · veja Sessao.
atualizar_pelo_id_sessao
PATCH/sessao/{id} Exige credencial
Atualiza uma sessão 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. Muda usuario_id, pais e tempo_carregamento_ms (em milissegundos) e marca a última atividade como agora. Campos do corpo, todos opcionais: usuario_id: novo id do usuário logado no site; pais: novo código do país com duas letras; tempo_carregamento_ms: tempo de carregamento da página inicial, em milissegundos.
function atualizar_pelo_id_sessao(
credencial_de_acesso: CredencialDeAcesso,
id: string,
corpo_da_requisicao: tipos.SessaoAtualizar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Sessao>import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_sessao } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_sessao(credencial_de_acesso, id, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Sessao> · Rust: Result<tipos::Sessao, ErroAoChamarServico> · veja Sessao.
deletar_pelo_id_sessao
DELETE/sessao/{id} Exige credencial
Exclui uma sessão 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 registro some das leituras, mas não é apagado na hora.
function deletar_pelo_id_sessao(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_sessao } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_sessao(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.
PaginaSessao
import type { PaginaSessao } from "termo_core/tracing";
export interface PaginaSessao {
itens: Array<PaginaSessaoItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaSessaoAutoComplete
import type { PaginaSessaoAutoComplete } from "termo_core/tracing";
export interface PaginaSessaoAutoComplete {
itens: Array<PaginaSessaoAutoCompleteItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaSessaoAutoCompleteItensItem
import type { PaginaSessaoAutoCompleteItensItem } from "termo_core/tracing";
export interface PaginaSessaoAutoCompleteItensItem {
id: string;
rotulo: string;
}PaginaSessaoItensItem
import type { PaginaSessaoItensItem } from "termo_core/tracing";
export interface PaginaSessaoItensItem {
anonimo_id: string;
aplicativo_id: string;
conta_id: string;
dispositivo: string;
id: string;
iniciada_em: string;
navegador: string;
pagina_inicial: string;
pais: string;
quantidade_erros: number;
quantidade_eventos: number;
resolucao: string;
sessao_externa: string;
sistema_operacional: string;
tempo_carregamento_ms?: number | null;
ultima_atividade_em: string;
usuario_id?: string | null;
}Sessao
import type { Sessao } from "termo_core/tracing";
export interface Sessao {
anonimo_id: string;
aplicativo_id: string;
conta_id: string;
dispositivo: string;
id: string;
iniciada_em: string;
navegador: string;
pagina_inicial: string;
pais: string;
quantidade_erros: number;
quantidade_eventos: number;
resolucao: string;
sessao_externa: string;
sistema_operacional: string;
tempo_carregamento_ms?: number | null;
ultima_atividade_em: string;
usuario_id?: string | null;
}SessaoAtualizar
import type { SessaoAtualizar } from "termo_core/tracing";
export interface SessaoAtualizar {
pais?: string | null;
tempo_carregamento_ms?: number | null;
usuario_id?: string | null;
}SessaoCriar
import type { SessaoCriar } from "termo_core/tracing";
export interface SessaoCriar {
anonimo_id: string;
aplicativo_id: string;
dispositivo?: string;
navegador?: string;
pagina_inicial?: string;
pais?: string;
resolucao?: string;
sessao_externa: string;
sistema_operacional?: string;
usuario_id?: string | null;
}