Documento

7 funções do TermoSupport para documento.

// npm install termo_core --save-exact
import * as support from "termo_core/support";
// ou: import { support } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_documentoGET /documentoLista os documentos paginados
criar_documentoPOST /documentoCadastra um documento de um aplicativo
buscar_auto_complete_documentoGET /documento/autocompleteLista básica de documentos para seleção
buscar_pelo_filtro_documentoGET /documento/filtroBusca documentos por filtro
buscar_pelo_id_documentoGET /documento/{id}Busca um documento pelo id
atualizar_pelo_id_documentoPATCH /documento/{id}Atualiza um documento pelo id
deletar_pelo_id_documentoDELETE /documento/{id}Exclui um documento pelo id

buscar_paginador_documento

GET/documento Exige credencial

Lista os documentos paginados

Exige a permissão de leitura na área aplicativos. Lista os documentos não excluídos em ordem alfabética do nome, sempre 50 por página: tamanho é ignorado. aplicativo_id limita a um aplicativo. pagina começa em 1 (padrão 1; valores menores viram 1). total conta os documentos com o mesmo filtro de aplicativo.

function buscar_paginador_documento(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorDocumento = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaDocumento>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_documento } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

criar_documento

POST/documento Exige credencial

Cadastra um documento de um aplicativo

Exige a permissão criar na área aplicativos. Cadastra um documento da base de conhecimento de um aplicativo. aplicativo_id precisa ser de um aplicativo não excluído. nome é obrigatório (até 120 caracteres). tipo é TEXTO, TXT, MD ou PDF, sem diferenciar maiúsculas (padrão TEXTO, gravado em maiúsculas). O conteúdo vem em conteudo (texto) ou em arquivo_base64 (o arquivo em base64, com ou sem o prefixo data:...;base64,); quando arquivo_base64 vem preenchido, conteudo é ignorado. Com tipo PDF o backend extrai o texto do PDF; nos demais tipos o arquivo precisa ser texto UTF-8. O texto final não pode ficar vazio, e caracteres é o tamanho dele. O corpo aceita até 8 MiB (um PDF de cerca de 5 MB em base64).

function criar_documento(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.DocumentoCriar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Documento>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { criar_documento } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_documento

GET/documento/autocomplete Exige credencial

Lista básica de documentos para seleção

Exige a permissão de leitura na área aplicativos. Devolve só id, nome e tipo, em ordem alfabética do nome, sem os excluídos. aplicativo_id limita a um aplicativo e 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.

function buscar_auto_complete_documento(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteDocumento = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaDocumentoAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_documento } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_documento

GET/documento/filtro Exige credencial

Busca documentos por filtro

Exige a permissão de leitura na área aplicativos. Devolve todos os documentos não excluídos que casam com o filtro, sem paginação, em ordem alfabética do nome, com o texto inteiro. aplicativo_id limita a um aplicativo; nome e conteudo procuram o trecho no campo, sem diferenciar maiúsculas; tipo é exato (TEXTO, TXT, MD ou PDF, sem diferenciar maiúsculas). Sem filtro, devolve todos.

function buscar_pelo_filtro_documento(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroDocumento = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Documento>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_documento } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_documento

GET/documento/{id} Exige credencial

Busca um documento pelo id

Exige a permissão de leitura na área aplicativos (qualquer das ações ler, criar, editar ou deletar libera a leitura). Devolve o documento com o texto inteiro em conteudo. Documento excluído não é encontrado.

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

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

Argumentos

Nome

Tipo

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

atualizar_pelo_id_documento

PATCH/documento/{id} Exige credencial

Atualiza um documento pelo id

Exige a permissão editar na área aplicativos. Atualização parcial: só os campos enviados mudam; o aplicativo do documento não muda. nome não pode ficar vazio (até 120 caracteres) e tipo é TEXTO, TXT, MD ou PDF. Mandar conteudo ou arquivo_base64 troca o texto, com as mesmas regras do cadastro (o arquivo é lido pelo tipo enviado ou, sem ele, pelo tipo atual do documento) e o texto final não pode ficar vazio. O corpo aceita até 8 MiB.

function atualizar_pelo_id_documento(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  corpo_da_requisicao: tipos.DocumentoAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Documento>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_documento } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

deletar_pelo_id_documento

DELETE/documento/{id} Exige credencial

Exclui um documento pelo id

Exige a permissão deletar na área aplicativos. A exclusão é lógica: o documento some das leituras, mas o registro não é apagado e não há como restaurá-lo.

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

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

Documento

import type { Documento } from "termo_core/support";

export interface Documento {
  aplicativo_id: string;
  atualizado_em: string;
  caracteres: number;
  conteudo: string;
  criado_em: string;
  id: string;
  nome: string;
  tipo: string;
}

DocumentoAtualizar

import type { DocumentoAtualizar } from "termo_core/support";

export interface DocumentoAtualizar {
  arquivo_base64?: string | null;
  conteudo?: string | null;
  nome?: string | null;
  tipo?: string | null;
}

DocumentoCriar

import type { DocumentoCriar } from "termo_core/support";

export interface DocumentoCriar {
  aplicativo_id: string;
  arquivo_base64?: string | null;
  conteudo?: string;
  nome: string;
  tipo?: string;
}

PaginaDocumento

import type { PaginaDocumento } from "termo_core/support";

export interface PaginaDocumento {
  itens: Array<PaginaDocumentoItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaDocumentoAutoComplete

import type { PaginaDocumentoAutoComplete } from "termo_core/support";

export interface PaginaDocumentoAutoComplete {
  itens: Array<PaginaDocumentoAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaDocumentoAutoCompleteItensItem

import type { PaginaDocumentoAutoCompleteItensItem } from "termo_core/support";

export interface PaginaDocumentoAutoCompleteItensItem {
  id: string;
  nome: string;
  tipo: string;
}

PaginaDocumentoItensItem

import type { PaginaDocumentoItensItem } from "termo_core/support";

export interface PaginaDocumentoItensItem {
  aplicativo_id: string;
  atualizado_em: string;
  caracteres: number;
  conteudo: string;
  criado_em: string;
  id: string;
  nome: string;
  tipo: string;
}

Nesta página