Tipo de evento

7 funções do TermoWebhook para tipo de evento.

// 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_tipo_de_eventoGET /tipo_de_eventoLista os tipos de evento paginados
criar_tipo_de_eventoPOST /tipo_de_eventoCadastra um tipo de evento
buscar_auto_complete_tipo_de_eventoGET /tipo_de_evento/autocompleteLista básica de tipos de evento para seleção
buscar_pelo_filtro_tipo_de_eventoGET /tipo_de_evento/filtroBusca tipos de evento por filtro
buscar_pelo_id_tipo_de_eventoGET /tipo_de_evento/{id}Busca um tipo de evento pelo id
atualizar_pelo_id_tipo_de_eventoPATCH /tipo_de_evento/{id}Atualiza um tipo de evento pelo id
deletar_pelo_id_tipo_de_eventoDELETE /tipo_de_evento/{id}Exclui um tipo de evento pelo id

buscar_paginador_tipo_de_evento

GET/tipo_de_evento Exige credencial

Lista os tipos de evento paginados

Leitura liberada a quem tem a permissão ler em contratos, assinaturas ou monitoramento. Lista os tipos não excluídos em ordem alfabética do nome. 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 tipos não excluídos.

function buscar_paginador_tipo_de_evento(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorTipoDeEvento = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaTipoDeEvento>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_tipo_de_evento } from "termo_core/webhook";

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

Argumentos

Nome

Tipo

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

criar_tipo_de_evento

POST/tipo_de_evento Exige credencial

Cadastra um tipo de evento

Exige a permissão criar na área contratos. nome segue o formato dominio.acontecimento, só com letras minúsculas, números e _ (ex.: pedido.faturado), tem até 120 caracteres, é único entre os tipos não excluídos e não muda depois. descricao é obrigatória (até 500 caracteres). aplicativo_dono_id é o aplicativo que publica o tipo: só ele pode publicar eventos desse tipo. dias_de_retencao vai de 1 a 3650 (padrão 30): eventos mais velhos que isso são apagados de vez pela limpeza diária. ativo tem padrão true; tipo inativo tem as publicações recusadas. O tipo nasce sem versões: cadastre o esquema em POST /versao_de_esquema.

function criar_tipo_de_evento(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.TipoDeEventoCriar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.TipoDeEvento>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { criar_tipo_de_evento } from "termo_core/webhook";

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_tipo_de_evento

GET/tipo_de_evento/autocomplete Exige credencial

Lista básica de tipos de evento para seleção

Leitura liberada a quem tem a permissão ler em contratos, assinaturas ou monitoramento. Devolve só id, nome, descrição e o id do aplicativo dono, em ordem alfabética do nome, sem os excluídos. busca procura o trecho no nome e na descrição, sem diferenciar maiúsculas. pagina começa em 1 (padrão 1) e tamanho tem padrão 10.

function buscar_auto_complete_tipo_de_evento(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteTipoDeEvento = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaTipoDeEventoAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_tipo_de_evento } from "termo_core/webhook";

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_tipo_de_evento

GET/tipo_de_evento/filtro Exige credencial

Busca tipos de evento por filtro

Leitura liberada a quem tem a permissão ler em contratos, assinaturas ou monitoramento. Devolve todos os tipos não excluídos que casam com o filtro, sem paginação, em ordem alfabética do nome. nome procura o trecho no nome e na descrição, sem diferenciar maiúsculas; aplicativo_dono_id e ativo filtram pelo valor exato. Sem filtro, devolve todos.

function buscar_pelo_filtro_tipo_de_evento(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroTipoDeEvento = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.TipoDeEvento>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_tipo_de_evento } from "termo_core/webhook";

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_tipo_de_evento

GET/tipo_de_evento/{id} Exige credencial

Busca um tipo de evento pelo id

Leitura liberada a quem tem a permissão ler em contratos, assinaturas ou monitoramento. Tipo excluído não é encontrado. Traz o nome do aplicativo dono, as versões do esquema não excluídas (número e situação, em ordem crescente), a quantidade de assinaturas e a data do último evento recebido.

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

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

Argumentos

Nome

Tipo

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

atualizar_pelo_id_tipo_de_evento

PATCH/tipo_de_evento/{id} Exige credencial

Atualiza um tipo de evento pelo id

Exige a permissão editar na área contratos. Atualização parcial: só os campos enviados mudam; o nome não pode ser alterado. descricao não pode ficar vazia (até 500 caracteres), dias_de_retencao vai de 1 a 3650 e aplicativo_dono_id precisa ser um aplicativo existente. O dono não pode mudar enquanto houver eventos publicados pelo dono atual ainda dentro da retenção. Desativar o tipo faz as próximas publicações dele serem recusadas.

function atualizar_pelo_id_tipo_de_evento(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  corpo_da_requisicao: tipos.TipoDeEventoAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.TipoDeEvento>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_tipo_de_evento } from "termo_core/webhook";

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

Argumentos

Nome

Tipo

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

deletar_pelo_id_tipo_de_evento

DELETE/tipo_de_evento/{id} Exige credencial

Exclui um tipo de evento pelo id

Exige a permissão deletar na área contratos. A exclusão é lógica: o tipo e todas as versões do esquema dele somem das leituras e o nome fica livre para um novo cadastro, mas nada é apagado e não há como restaurar. Só exclui tipo sem assinaturas; exclua-as antes. Os eventos já recebidos continuam até vencer a retenção.

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

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

PaginaTipoDeEvento

import type { PaginaTipoDeEvento } from "termo_core/webhook";

export interface PaginaTipoDeEvento {
  itens: Array<PaginaTipoDeEventoItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaTipoDeEventoAutoComplete

import type { PaginaTipoDeEventoAutoComplete } from "termo_core/webhook";

export interface PaginaTipoDeEventoAutoComplete {
  itens: Array<PaginaTipoDeEventoAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaTipoDeEventoAutoCompleteItensItem

import type { PaginaTipoDeEventoAutoCompleteItensItem } from "termo_core/webhook";

export interface PaginaTipoDeEventoAutoCompleteItensItem {
  aplicativo_dono_id: string;
  descricao: string;
  id: string;
  nome: string;
}

PaginaTipoDeEventoItensItem

import type { PaginaTipoDeEventoItensItem } from "termo_core/webhook";

export interface PaginaTipoDeEventoItensItem {
  aplicativo_dono_id: string;
  aplicativo_dono_nome: string;
  ativo: boolean;
  atualizado_em: string;
  criado_em: string;
  descricao: string;
  dias_de_retencao: number;
  id: string;
  nome: string;
  quantidade_de_assinaturas: number;
  ultimo_evento_em?: string | null;
  versoes: Array<VersaoResumida>;
}

TipoDeEvento

import type { TipoDeEvento } from "termo_core/webhook";

export interface TipoDeEvento {
  aplicativo_dono_id: string;
  aplicativo_dono_nome: string;
  ativo: boolean;
  atualizado_em: string;
  criado_em: string;
  descricao: string;
  dias_de_retencao: number;
  id: string;
  nome: string;
  quantidade_de_assinaturas: number;
  ultimo_evento_em?: string | null;
  versoes: Array<VersaoResumida>;
}

TipoDeEventoAtualizar

import type { TipoDeEventoAtualizar } from "termo_core/webhook";

export interface TipoDeEventoAtualizar {
  aplicativo_dono_id?: string | null;
  ativo?: boolean | null;
  descricao?: string | null;
  dias_de_retencao?: number | null;
}

TipoDeEventoCriar

import type { TipoDeEventoCriar } from "termo_core/webhook";

export interface TipoDeEventoCriar {
  aplicativo_dono_id: string;
  ativo?: boolean | null;
  descricao: string;
  dias_de_retencao?: number | null;
  nome: string;
}

VersaoResumida

import type { VersaoResumida } from "termo_core/webhook";

export interface VersaoResumida {
  situacao: string;
  versao: number;
}

Nesta página