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çãoRotaO que faz
buscar_paginador_sessaoGET /sessaoLista as sessões paginadas
criar_sessaoPOST /sessaoCadastra uma sessão
buscar_auto_complete_sessaoGET /sessao/autocompleteLista básica de sessões para seleção
buscar_pelo_filtro_sessaoGET /sessao/filtroBusca sessões por filtro
buscar_pelo_id_sessaoGET /sessao/{id}Busca uma sessão pelo id
atualizar_pelo_id_sessaoPATCH /sessao/{id}Atualiza uma sessão pelo id
deletar_pelo_id_sessaoDELETE /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>
Exemplo
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>
Exemplo
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>
Exemplo
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>>
Exemplo
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>
Exemplo
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>
Exemplo
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>
Exemplo
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;
}

Nesta página