Boletim técnico

8 funções do TermoPortal para boletim técnico.

// npm install termo_core --save-exact
import * as portal from "termo_core/portal";
// ou: import { portal } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_boletim_tecnicoGET /boletim_tecnicoLista as categorias com a situação do boletim
criar_boletim_tecnicoPOST /boletim_tecnicoCria o boletim técnico de uma categoria
buscar_auto_complete_boletim_tecnicoGET /boletim_tecnico/autocompleteLista básica dos boletins para seleção
buscar_pelo_filtro_boletim_tecnicoGET /boletim_tecnico/filtroBusca boletins por categoria
buscar_informacoes_paginador_boletim_tecnicoGET /boletim_tecnico/paginadorTotais da lista de categorias do boletim
buscar_pelo_id_boletim_tecnicoGET /boletim_tecnico/{id}Busca um boletim técnico pelo id
atualizar_pelo_id_boletim_tecnicoPATCH /boletim_tecnico/{id}Atualiza a descrição da categoria
deletar_pelo_id_boletim_tecnicoDELETE /boletim_tecnico/{id}Exclui o boletim técnico e as medidas dele

buscar_paginador_boletim_tecnico

GET/boletim_tecnico Exige credencial

Lista as categorias com a situação do boletim

Exige sessão. Uma linha por categoria do SKU (sku_categoria da tabela auxiliar, mais as que já têm boletim), tenha ela boletim ou não: boletim_tecnico_id e atualizado_em vêm nulos quando ainda não tem. total_medidas junta as medidas dos produtos da categoria e as já descritas; situacao é vazio (sem descrição e sem medida descrita), completo (com descrição e todas as medidas descritas) ou incompleto. busca procura no código e na descrição; situacao filtra. Ordem pelo código, 50 por página, por cursor: cursor é o sku_categoria da última linha recebida. As categorias saem de um cache em memória, descartado a cada gravação em boletim, medida, tabela auxiliar ou produto (e recarregado do banco no máximo a cada 10 minutos).

function buscar_paginador_boletim_tecnico(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorBoletimTecnico = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.BoletimTecnicoCategoria>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_boletim_tecnico } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_boletim_tecnico(credencial_de_acesso, { busca: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<Array<tipos.BoletimTecnicoCategoria>> · Rust: Result<Vec<tipos::BoletimTecnicoCategoria>, ErroAoChamarServico>

criar_boletim_tecnico

POST/boletim_tecnico Exige credencial

Cria o boletim técnico de uma categoria

Exige o módulo Configuracoes (criar). O boletim é o pai: um por categoria do SKU. sku_categoria obrigatório (os 3 primeiros caracteres do SKU, ex.: T2Z; gravado em maiúsculas); descricao opcional (texto livre, até 10.000 caracteres, padrão vazio). Uma categoria só tem um boletim.

function criar_boletim_tecnico(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.BoletimTecnicoCriar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.BoletimTecnico>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { criar_boletim_tecnico } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_boletim_tecnico(credencial_de_acesso, corpo_da_requisicao);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.BoletimTecnico> · Rust: Result<tipos::BoletimTecnico, ErroAoChamarServico> · veja BoletimTecnico.

buscar_auto_complete_boletim_tecnico

GET/boletim_tecnico/autocomplete Exige credencial

Lista básica dos boletins para seleção

Exige sessão. Só id e a categoria (label), em ordem alfabética. busca procura na categoria. tamanho tem padrão 10 e vai de 1 a 50; pagina começa em 1.

function buscar_auto_complete_boletim_tecnico(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteBoletimTecnico = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaBoletimTecnicoAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_boletim_tecnico } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_boletim_tecnico(credencial_de_acesso, { busca: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<tipos.PaginaBoletimTecnicoAutoComplete> · Rust: Result<tipos::PaginaBoletimTecnicoAutoComplete, ErroAoChamarServico> · veja PaginaBoletimTecnicoAutoComplete.

buscar_pelo_filtro_boletim_tecnico

GET/boletim_tecnico/filtro Exige credencial

Busca boletins por categoria

Exige sessão. Até 50 por página (pagina, a partir de 1, padrão 1). sku_categoria é exato (sem diferença de maiúsculas).

function buscar_pelo_filtro_boletim_tecnico(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroBoletimTecnico = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.BoletimTecnico>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_boletim_tecnico } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_boletim_tecnico(credencial_de_acesso, { sku_categoria: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<Array<tipos.BoletimTecnico>> · Rust: Result<Vec<tipos::BoletimTecnico>, ErroAoChamarServico>

buscar_informacoes_paginador_boletim_tecnico

GET/boletim_tecnico/paginador Exige credencial

Totais da lista de categorias do boletim

Exige sessão. Recebe os mesmos filtros de GET /boletim_tecnico (cursor é ignorado). total respeita todos os filtros; total_categorias, completas, incompletas e vazias respeitam só a busca (para os contadores das abas).

function buscar_informacoes_paginador_boletim_tecnico(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarInformacoesPaginadorBoletimTecnico = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.BoletimTecnicoPaginador>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_informacoes_paginador_boletim_tecnico } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_informacoes_paginador_boletim_tecnico(credencial_de_acesso, { busca: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<tipos.BoletimTecnicoPaginador> · Rust: Result<tipos::BoletimTecnicoPaginador, ErroAoChamarServico> · veja BoletimTecnicoPaginador.

buscar_pelo_id_boletim_tecnico

GET/boletim_tecnico/{id} Exige credencial

Busca um boletim técnico pelo id

Exige sessão. Boletim excluído não é encontrado.

function buscar_pelo_id_boletim_tecnico(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.BoletimTecnico>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_boletim_tecnico } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_boletim_tecnico(credencial_de_acesso, id);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.BoletimTecnico> · Rust: Result<tipos::BoletimTecnico, ErroAoChamarServico> · veja BoletimTecnico.

atualizar_pelo_id_boletim_tecnico

PATCH/boletim_tecnico/{id} Exige credencial

Atualiza a descrição da categoria

Exige o módulo Configuracoes (editar). Muda só a descricao (até 10.000 caracteres, pode ficar vazia); campo ausente mantém o valor atual.

function atualizar_pelo_id_boletim_tecnico(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  corpo_da_requisicao: tipos.BoletimTecnicoAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.BoletimTecnico>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_boletim_tecnico } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_boletim_tecnico(credencial_de_acesso, id, corpo_da_requisicao);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.BoletimTecnico> · Rust: Result<tipos::BoletimTecnico, ErroAoChamarServico> · veja BoletimTecnico.

deletar_pelo_id_boletim_tecnico

DELETE/boletim_tecnico/{id} Exige credencial

Exclui o boletim técnico e as medidas dele

Exige o módulo Configuracoes (excluir). Exclusão lógica do boletim e de todas as descrições de medida dele, na mesma transação.

function deletar_pelo_id_boletim_tecnico(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_boletim_tecnico } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_boletim_tecnico(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.

BoletimTecnico

import type { BoletimTecnico } from "termo_core/portal";

export interface BoletimTecnico {
  atualizado_em: string;
  criado_em: string;
  descricao: string;
  id: string;
  resumo: string;
  sku_categoria: string;
}

BoletimTecnicoAtualizar

import type { BoletimTecnicoAtualizar } from "termo_core/portal";

export interface BoletimTecnicoAtualizar {
  descricao?: string | null;
  resumo?: string | null;
}

BoletimTecnicoCategoria

import type { BoletimTecnicoCategoria } from "termo_core/portal";

export interface BoletimTecnicoCategoria {
  atualizado_em?: string | null;
  boletim_tecnico_id?: string | null;
  descricao: string;
  medidas_descritas: number;
  resumo: string;
  situacao: string;
  sku_categoria: string;
  total_medidas: number;
  total_produtos: number;
}

BoletimTecnicoCriar

import type { BoletimTecnicoCriar } from "termo_core/portal";

export interface BoletimTecnicoCriar {
  descricao?: string | null;
  resumo?: string | null;
  sku_categoria: string;
}

BoletimTecnicoPaginador

import type { BoletimTecnicoPaginador } from "termo_core/portal";

export interface BoletimTecnicoPaginador {
  completas: number;
  incompletas: number;
  paginas: number;
  tamanho: number;
  total: number;
  total_categorias: number;
  vazias: number;
}

PaginaBoletimTecnicoAutoComplete

import type { PaginaBoletimTecnicoAutoComplete } from "termo_core/portal";

export interface PaginaBoletimTecnicoAutoComplete {
  itens: Array<PaginaBoletimTecnicoAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaBoletimTecnicoAutoCompleteItensItem

import type { PaginaBoletimTecnicoAutoCompleteItensItem } from "termo_core/portal";

export interface PaginaBoletimTecnicoAutoCompleteItensItem {
  id: string;
  label: string;
}

Nesta página