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ção | Rota | O que faz |
|---|---|---|
buscar_paginador_entrega | GET /entrega | Lista entregas com paginação |
buscar_pelo_filtro_entrega | GET /entrega/filtro | Busca entregas por filtro |
buscar_pelo_id_entrega | GET /entrega/{id} | Busca uma entrega pelo id, com o histórico de tentativas |
atualizar_pelo_id_entrega | PATCH /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>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>>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>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>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;
}