Versão de esquema
7 funções do TermoWebhook para versão de esquema.
// npm install termo_core --save-exact
import * as webhook from "termo_core/webhook";
// ou: import { webhook } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
buscar_paginador_versao_de_esquema | GET /versao_de_esquema | Lista as versões do esquema paginadas |
criar_versao_de_esquema | POST /versao_de_esquema | Cadastra uma versão do esquema de um tipo de evento |
buscar_auto_complete_versao_de_esquema | GET /versao_de_esquema/autocomplete | Lista básica de versões do esquema para seleção |
buscar_pelo_filtro_versao_de_esquema | GET /versao_de_esquema/filtro | Busca versões do esquema por filtro |
buscar_pelo_id_versao_de_esquema | GET /versao_de_esquema/{id} | Busca uma versão do esquema pelo id |
atualizar_pelo_id_versao_de_esquema | PATCH /versao_de_esquema/{id} | Atualiza uma versão do esquema pelo id |
deletar_pelo_id_versao_de_esquema | DELETE /versao_de_esquema/{id} | Exclui uma versão do esquema pelo id |
buscar_paginador_versao_de_esquema
GET/versao_de_esquema Exige credencial
Lista as versões do esquema paginadas
Leitura liberada a quem tem a permissão ler em contratos, assinaturas ou monitoramento. Lista as versões não excluídas, ordenadas pelo nome do tipo e da versão mais nova para a mais velha. pagina começa em 1 (padrão 1) e tamanho tem padrão 10, sem máximo; valores menores que 1 viram 1. total é a quantidade de versões não excluídas.
function buscar_paginador_versao_de_esquema(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorVersaoDeEsquema = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaVersaoDeEsquema>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_versao_de_esquema } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_versao_de_esquema(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaVersaoDeEsquema> · Rust: Result<tipos::PaginaVersaoDeEsquema, ErroAoChamarServico> · veja PaginaVersaoDeEsquema.
criar_versao_de_esquema
POST/versao_de_esquema Exige credencial
Cadastra uma versão do esquema de um tipo de evento
Exige a permissão criar na área contratos. esquema_dos_dados é o JSON Schema (um objeto, até 256 KB) contra o qual o campo dados de cada evento publicado nessa versão é validado; um esquema que não compila é recusado. versao é opcional e maior que zero: sem ela, o backend usa a próxima depois da maior já cadastrada para o tipo, contando as excluídas, porque número de versão excluída não volta. situacao é ativa (padrão), descontinuada (ainda aceita publicações) ou desligada (recusa publicações e novas assinaturas). versao_do_pacote_de_contratos vai até 100 caracteres; sem ela, fica registrado que veio do cadastro manual no painel.
function criar_versao_de_esquema(
credencial_de_acesso: CredencialDeAcesso,
corpo_da_requisicao: tipos.VersaoDeEsquemaCriar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.VersaoDeEsquema>import { CredencialDeAcesso } from "termo_core";
import { criar_versao_de_esquema } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_versao_de_esquema(credencial_de_acesso, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.VersaoDeEsquema> · Rust: Result<tipos::VersaoDeEsquema, ErroAoChamarServico> · veja VersaoDeEsquema.
buscar_auto_complete_versao_de_esquema
GET/versao_de_esquema/autocomplete Exige credencial
Lista básica de versões do esquema para seleção
Leitura liberada a quem tem a permissão ler em contratos, assinaturas ou monitoramento. Devolve só id, tipo de evento, número e situação, sem o JSON Schema, ordenados pelo nome do tipo e pelo número da versão, sem as excluídas. busca procura o trecho no nome do tipo de evento, sem diferenciar maiúsculas; tipo_de_evento_id restringe a um tipo. pagina começa em 1 (padrão 1) e tamanho tem padrão 10.
function buscar_auto_complete_versao_de_esquema(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarAutoCompleteVersaoDeEsquema = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaVersaoDeEsquemaAutoComplete>import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_versao_de_esquema } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_versao_de_esquema(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaVersaoDeEsquemaAutoComplete> · Rust: Result<tipos::PaginaVersaoDeEsquemaAutoComplete, ErroAoChamarServico> · veja PaginaVersaoDeEsquemaAutoComplete.
buscar_pelo_filtro_versao_de_esquema
GET/versao_de_esquema/filtro Exige credencial
Busca versões do esquema por filtro
Leitura liberada a quem tem a permissão ler em contratos, assinaturas ou monitoramento. Devolve todas as versões não excluídas que casam com o filtro, sem paginação, ordenadas pelo nome do tipo e da versão mais nova para a mais velha. tipo_de_evento_id filtra pelo tipo; situacao é ativa, descontinuada ou desligada. Sem filtro, devolve todas.
function buscar_pelo_filtro_versao_de_esquema(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroVersaoDeEsquema = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.VersaoDeEsquema>>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_versao_de_esquema } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_versao_de_esquema(credencial_de_acesso, { tipo_de_evento_id: "..." });Argumentos
Nome
Tipo
Retorno: Promise<Array<tipos.VersaoDeEsquema>> · Rust: Result<Vec<tipos::VersaoDeEsquema>, ErroAoChamarServico>
buscar_pelo_id_versao_de_esquema
GET/versao_de_esquema/{id} Exige credencial
Busca uma versão do esquema pelo id
Leitura liberada a quem tem a permissão ler em contratos, assinaturas ou monitoramento. Versão excluída não é encontrada. Traz o JSON Schema completo, o nome do tipo de evento, a situação, quando deixou de ser ativa (descontinuada_em) e quantas assinaturas usam a versão.
function buscar_pelo_id_versao_de_esquema(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.VersaoDeEsquema>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_versao_de_esquema } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_versao_de_esquema(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<tipos.VersaoDeEsquema> · Rust: Result<tipos::VersaoDeEsquema, ErroAoChamarServico> · veja VersaoDeEsquema.
atualizar_pelo_id_versao_de_esquema
PATCH/versao_de_esquema/{id} Exige credencial
Atualiza uma versão do esquema pelo id
Exige a permissão editar na área contratos. Atualização parcial: só os campos enviados mudam; o tipo de evento e o número da versão não mudam. esquema_dos_dados segue as mesmas regras do cadastro (objeto JSON Schema válido, até 256 KB) e passa a valer para as próximas publicações. situacao é ativa, descontinuada ou desligada: ao sair de ativa a data de descontinuada_em é registrada, e ao voltar para ativa ela é limpa; desligada recusa novas publicações nessa versão. versao_do_pacote_de_contratos vai até 100 caracteres; texto vazio mantém o valor atual.
function atualizar_pelo_id_versao_de_esquema(
credencial_de_acesso: CredencialDeAcesso,
id: string,
corpo_da_requisicao: tipos.VersaoDeEsquemaAtualizar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.VersaoDeEsquema>import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_versao_de_esquema } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_versao_de_esquema(credencial_de_acesso, id, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.VersaoDeEsquema> · Rust: Result<tipos::VersaoDeEsquema, ErroAoChamarServico> · veja VersaoDeEsquema.
deletar_pelo_id_versao_de_esquema
DELETE/versao_de_esquema/{id} Exige credencial
Exclui uma versão do esquema pelo id
Exige a permissão deletar na área contratos. A exclusão é lógica: a versão some das leituras e passa a recusar publicações, mas o registro não é apagado e não há como restaurar; o número dela não pode ser reaproveitado. Só exclui versão sem assinaturas; migre-as para outra versão ou exclua-as antes.
function deletar_pelo_id_versao_de_esquema(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_versao_de_esquema } from "termo_core/webhook";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_versao_de_esquema(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.
PaginaVersaoDeEsquema
import type { PaginaVersaoDeEsquema } from "termo_core/webhook";
export interface PaginaVersaoDeEsquema {
itens: Array<PaginaVersaoDeEsquemaItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaVersaoDeEsquemaAutoComplete
import type { PaginaVersaoDeEsquemaAutoComplete } from "termo_core/webhook";
export interface PaginaVersaoDeEsquemaAutoComplete {
itens: Array<PaginaVersaoDeEsquemaAutoCompleteItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaVersaoDeEsquemaAutoCompleteItensItem
import type { PaginaVersaoDeEsquemaAutoCompleteItensItem } from "termo_core/webhook";
export interface PaginaVersaoDeEsquemaAutoCompleteItensItem {
id: string;
situacao: string;
tipo_de_evento_id: string;
tipo_de_evento_nome: string;
versao: number;
}PaginaVersaoDeEsquemaItensItem
import type { PaginaVersaoDeEsquemaItensItem } from "termo_core/webhook";
export interface PaginaVersaoDeEsquemaItensItem {
atualizada_em: string;
criada_em: string;
descontinuada_em?: string | null;
esquema_dos_dados: Record<string, unknown>;
id: string;
quantidade_de_assinaturas: number;
situacao: string;
tipo_de_evento_id: string;
tipo_de_evento_nome: string;
versao: number;
versao_do_pacote_de_contratos: string;
}VersaoDeEsquema
import type { VersaoDeEsquema } from "termo_core/webhook";
export interface VersaoDeEsquema {
atualizada_em: string;
criada_em: string;
descontinuada_em?: string | null;
esquema_dos_dados: Record<string, unknown>;
id: string;
quantidade_de_assinaturas: number;
situacao: string;
tipo_de_evento_id: string;
tipo_de_evento_nome: string;
versao: number;
versao_do_pacote_de_contratos: string;
}VersaoDeEsquemaAtualizar
import type { VersaoDeEsquemaAtualizar } from "termo_core/webhook";
export interface VersaoDeEsquemaAtualizar {
esquema_dos_dados?: Record<string, unknown> | null;
situacao?: string | null;
versao_do_pacote_de_contratos?: string | null;
}VersaoDeEsquemaCriar
import type { VersaoDeEsquemaCriar } from "termo_core/webhook";
export interface VersaoDeEsquemaCriar {
esquema_dos_dados: Record<string, unknown>;
situacao?: string | null;
tipo_de_evento_id: string;
versao?: number | null;
versao_do_pacote_de_contratos?: string | null;
}