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çãoRotaO que faz
buscar_paginador_versao_de_esquemaGET /versao_de_esquemaLista as versões do esquema paginadas
criar_versao_de_esquemaPOST /versao_de_esquemaCadastra uma versão do esquema de um tipo de evento
buscar_auto_complete_versao_de_esquemaGET /versao_de_esquema/autocompleteLista básica de versões do esquema para seleção
buscar_pelo_filtro_versao_de_esquemaGET /versao_de_esquema/filtroBusca versões do esquema por filtro
buscar_pelo_id_versao_de_esquemaGET /versao_de_esquema/{id}Busca uma versão do esquema pelo id
atualizar_pelo_id_versao_de_esquemaPATCH /versao_de_esquema/{id}Atualiza uma versão do esquema pelo id
deletar_pelo_id_versao_de_esquemaDELETE /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>
Exemplo
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>
Exemplo
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>
Exemplo
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>>
Exemplo
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>
Exemplo
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>
Exemplo
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>
Exemplo
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;
}

Nesta página