Entrega

4 funções do TermoWebhook para entrega.

// 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_entregaGET /entregaLista entregas com paginação
buscar_pelo_filtro_entregaGET /entrega/filtroBusca entregas por filtro
buscar_pelo_id_entregaGET /entrega/{id}Busca uma entrega pelo id, com o histórico de tentativas
atualizar_pelo_id_entregaPATCH /entrega/{id}Descarta uma entrega

buscar_paginador_entrega

GET/entrega Exige credencial

Lista entregas com paginação

Exige a área monitoramento. As atualizadas mais recentemente vêm primeiro. pagina começa em 1 (padrão 1); tamanho tem padrão 10. situacao é opcional e aceita os mesmos valores do filtro: pendente, aguardando_nova_tentativa, entregue, tentativas_esgotadas, cancelada ou na_fila.

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_entrega

GET/entrega/filtro Exige credencial

Busca entregas por filtro

Exige a área monitoramento. Sem paginação: devolve no máximo 200 entregas, as criadas mais recentemente primeiro. Todos os filtros são opcionais e se somam. situacao é pendente, aguardando_nova_tentativa, entregue, tentativas_esgotadas (a fila de erro), cancelada ou na_fila (pendentes e aguardando nova tentativa juntas). Os demais filtram por assinatura, evento, aplicativo assinante e tipo de evento.

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_entrega

GET/entrega/{id} Exige credencial

Busca uma entrega pelo id, com o histórico de tentativas

Exige a área monitoramento. Devolve a entrega (evento, assinatura, assinante, URL de destino e situação) e a lista tentativas, da mais recente para a mais antiga, com status HTTP, duração, erro e trecho da resposta de cada chamada ao assinante. quantidade_de_tentativas é o total histórico; tentativas_no_ciclo_atual zera a cada reprocessamento.

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

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

Argumentos

Nome

Tipo

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

atualizar_pelo_id_entrega

PATCH/entrega/{id} Exige credencial

Descarta uma entrega

Exige a área monitoramento com permissão de editar. O único valor aceito é situacao = cancelada: descarta a entrega, que deixa de ser reenviada. Só vale para entregas pendentes, aguardando nova tentativa ou na fila de erro; entrega já entregue ou já cancelada responde 409. Para reenviar uma entrega, use o reprocessamento (POST /solicitacao_de_reprocessamento).

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

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

Argumentos

Nome

Tipo

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

Tipos

Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.

Entrega

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

export interface Entrega {
  aplicativo_assinante_id: string;
  aplicativo_assinante_nome: string;
  assinatura_id: string;
  atualizada_em: string;
  criada_em: string;
  entidade_id: string;
  entregue_em?: string | null;
  evento_id: string;
  evento_recebido_em: string;
  id: string;
  maximo_de_tentativas: number;
  proxima_tentativa_em: string;
  quantidade_de_tentativas: number;
  situacao: string;
  tentativas_no_ciclo_atual: number;
  tipo_de_evento_nome: string;
  ultimo_erro?: string | null;
  url_de_destino: string;
  versao_do_esquema: number;
}

EntregaAtualizar

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

export interface EntregaAtualizar {
  situacao: string;
}

EntregaDetalhada

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

export type EntregaDetalhada = Entrega & EntregaDetalhadaParte2;

EntregaDetalhadaParte2

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

export interface EntregaDetalhadaParte2 {
  tentativas: Array<TentativaDeEntrega>;
}

PaginaEntrega

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

export interface PaginaEntrega {
  itens: Array<PaginaEntregaItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaEntregaItensItem

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

export interface PaginaEntregaItensItem {
  aplicativo_assinante_id: string;
  aplicativo_assinante_nome: string;
  assinatura_id: string;
  atualizada_em: string;
  criada_em: string;
  entidade_id: string;
  entregue_em?: string | null;
  evento_id: string;
  evento_recebido_em: string;
  id: string;
  maximo_de_tentativas: number;
  proxima_tentativa_em: string;
  quantidade_de_tentativas: number;
  situacao: string;
  tentativas_no_ciclo_atual: number;
  tipo_de_evento_nome: string;
  ultimo_erro?: string | null;
  url_de_destino: string;
  versao_do_esquema: number;
}

TentativaDeEntrega

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

export interface TentativaDeEntrega {
  codigo_de_status_http?: number | null;
  duracao_em_milissegundos?: number | null;
  erro?: string | null;
  id: number;
  iniciada_em: string;
  numero_da_tentativa: number;
  trecho_da_resposta?: string | null;
}

Nesta página