Robô ferramenta

7 funções do TermoSell para robô ferramenta.

// npm install termo_core --save-exact
import * as sell from "termo_core/sell";
// ou: import { sell } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_robo_ferramentaGET /robo_ferramentaLista as ferramentas com paginação
criar_robo_ferramentaPOST /robo_ferramentaCadastra uma ferramenta do robô
buscar_auto_complete_robo_ferramentaGET /robo_ferramenta/autocompleteLista básica de ferramentas para seleção
buscar_pelo_filtro_robo_ferramentaGET /robo_ferramenta/filtroBusca ferramentas por filtro
buscar_pelo_id_robo_ferramentaGET /robo_ferramenta/{id}Busca uma ferramenta pelo id
atualizar_pelo_id_robo_ferramentaPATCH /robo_ferramenta/{id}Atualiza uma ferramenta pelo id
deletar_pelo_id_robo_ferramentaDELETE /robo_ferramenta/{id}Exclui uma ferramenta pelo id

buscar_paginador_robo_ferramenta

GET/robo_ferramenta Exige credencial

Lista as ferramentas com paginação

Exige qualquer permissão da área configuracoes (qualquer ação liberada na área já libera a leitura). Ordena pelo rótulo. pagina começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: tamanho é aceito, mas ignorado. total conta todos os registros não excluídos.

function buscar_paginador_robo_ferramenta(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorRoboFerramenta = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaRoboFerramenta>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_robo_ferramenta } from "termo_core/sell";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_robo_ferramenta(credencial_de_acesso, { pagina: 1 });

Argumentos

Nome

Tipo

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

criar_robo_ferramenta

POST/robo_ferramenta Exige credencial

Cadastra uma ferramenta do robô

Exige a permissão criar da área configuracoes. Cadastra uma ferramenta que as etapas do robô podem liberar para a IA. nome é o nome técnico (só letras minúsculas, números e _, até 60 caracteres, único); rotulo (até 80) e descricao (até 500) são obrigatórios; tipo é leitura ou escrita; exige_confirmacao tem padrão false; esquema é o JSON Schema dos parâmetros (padrão: objeto sem propriedades). A ferramenta nasce ativa.

function criar_robo_ferramenta(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.RoboFerramentaCriar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.RoboFerramenta>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { criar_robo_ferramenta } from "termo_core/sell";

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_robo_ferramenta

GET/robo_ferramenta/autocomplete Exige credencial

Lista básica de ferramentas para seleção

Exige qualquer permissão da área configuracoes (qualquer ação liberada na área já libera a leitura). Devolve só id, nome técnico e rótulo das ferramentas ativas, em ordem alfabética do rótulo. busca procura por trecho do rótulo ou do nome técnico, 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. total conta os registros que casam com a busca.

function buscar_auto_complete_robo_ferramenta(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteRoboFerramenta = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaRoboFerramentaAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_robo_ferramenta } from "termo_core/sell";

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_robo_ferramenta

GET/robo_ferramenta/filtro Exige credencial

Busca ferramentas por filtro

Exige qualquer permissão da área configuracoes (qualquer ação liberada na área já libera a leitura). Devolve todas as ferramentas que casam com o filtro, sem paginação, em ordem alfabética do rótulo. nome procura por trecho do nome técnico, sem diferenciar maiúsculas; tipo compara o valor exato (leitura ou escrita); ativo filtra pela situação. Sem filtro, devolve todas.

function buscar_pelo_filtro_robo_ferramenta(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroRoboFerramenta = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.RoboFerramenta>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_robo_ferramenta } from "termo_core/sell";

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_robo_ferramenta

GET/robo_ferramenta/{id} Exige credencial

Busca uma ferramenta pelo id

Exige qualquer permissão da área configuracoes (qualquer ação liberada na área já libera a leitura). Ferramenta excluída responde 404.

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

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

Argumentos

Nome

Tipo

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

atualizar_pelo_id_robo_ferramenta

PATCH/robo_ferramenta/{id} Exige credencial

Atualiza uma ferramenta pelo id

Exige a permissão editar da área configuracoes. Atualização parcial: só os campos enviados mudam. rotulo (até 80) e descricao (até 500) não podem ficar vazios; tipo é leitura ou escrita; esquema substitui o JSON Schema inteiro; ativo liga ou desliga a ferramenta. O nome técnico não muda.

function atualizar_pelo_id_robo_ferramenta(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  corpo_da_requisicao: tipos.RoboFerramentaAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.RoboFerramenta>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_robo_ferramenta } from "termo_core/sell";

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

Argumentos

Nome

Tipo

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

deletar_pelo_id_robo_ferramenta

DELETE/robo_ferramenta/{id} Exige credencial

Exclui uma ferramenta pelo id

Exige a permissão deletar da área configuracoes. A exclusão é lógica: a ferramenta some das consultas, o nome técnico fica livre e não há como restaurar.

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

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

PaginaRoboFerramenta

import type { PaginaRoboFerramenta } from "termo_core/sell";

export interface PaginaRoboFerramenta {
  itens: Array<PaginaRoboFerramentaItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaRoboFerramentaAutoComplete

import type { PaginaRoboFerramentaAutoComplete } from "termo_core/sell";

export interface PaginaRoboFerramentaAutoComplete {
  itens: Array<PaginaRoboFerramentaAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaRoboFerramentaAutoCompleteItensItem

import type { PaginaRoboFerramentaAutoCompleteItensItem } from "termo_core/sell";

export interface PaginaRoboFerramentaAutoCompleteItensItem {
  id: string;
  nome: string;
  rotulo: string;
}

PaginaRoboFerramentaItensItem

import type { PaginaRoboFerramentaItensItem } from "termo_core/sell";

export interface PaginaRoboFerramentaItensItem {
  ativo: boolean;
  atualizado_em: string;
  criado_em: string;
  descricao: string;
  esquema: Record<string, unknown>;
  exige_confirmacao: boolean;
  id: string;
  nome: string;
  rotulo: string;
  tipo: string;
}

RoboFerramenta

import type { RoboFerramenta } from "termo_core/sell";

export interface RoboFerramenta {
  ativo: boolean;
  atualizado_em: string;
  criado_em: string;
  descricao: string;
  esquema: Record<string, unknown>;
  exige_confirmacao: boolean;
  id: string;
  nome: string;
  rotulo: string;
  tipo: string;
}

RoboFerramentaAtualizar

import type { RoboFerramentaAtualizar } from "termo_core/sell";

export interface RoboFerramentaAtualizar {
  ativo?: boolean | null;
  descricao?: string | null;
  esquema?: Record<string, unknown> | null;
  exige_confirmacao?: boolean | null;
  rotulo?: string | null;
  tipo?: string | null;
}

RoboFerramentaCriar

import type { RoboFerramentaCriar } from "termo_core/sell";

export interface RoboFerramentaCriar {
  descricao: string;
  esquema?: Record<string, unknown> | null;
  exige_confirmacao?: boolean | null;
  nome: string;
  rotulo: string;
  tipo: string;
}

Nesta página