Delivery Retry
A tela Delivery Retry lista os eventos que não foram entregues com sucesso e permite a retentativa manual de entrega.
Retentativas
Automática x Manual
-
Quando a primeira tentativa de entrega de evento a um subscritor falha, o Events Hub tenta reenviar automaticamente, seguindo as configurações cadastradas na policy.
-
Se todas as tentativas automáticas falharem, o evento cai na fila de retentativa da tela Delivery Retry, onde você pode tentar reenviar manualmente.
Filtros
Por padrão, a lista mostra até 50 entregas não realizadas para o dia atual, mas você pode usar os filtros disponíveis para ampliar ou refinar a busca. São eles:
-
From: para escolher a data inicial da busca. Você pode selecionar até 14 dias antes da data atual.
-
To: para escolher a data final da busca. Você pode selecionar o dia de hoje ou até 14 dias atrás.
A busca só pode ser feita em um período máximo de 14 dias até a data atual. |
-
Status: filtra os códigos de estado retornados, que podem ser:
-
Sucesso, mas diferente do esperado (Success, different from expected);
-
Erro de cliente (Client Error);
-
Ou erro de servidor (Server Error).
-
-
Max Results: número máximo de resultados por página, podendo ser 50, 100, 300, ou 500.
-
Event ID: filtra por identificador único do evento, gerado sempre que uma requisição é recebida do publicador. Esse identificador é exibido na tela Event Status.
-
Subscribers: filtra por subscritor, permitindo selecionar vários ao mesmo tempo.
-
Contexts: filtra por contexto, podendo selecionar vários ao mesmo tempo.
A consulta pode retornar até 500 itens, conforme definido no campo Max Results. Se a entrega que procura não estiver nos 500 primeiros itens, você pode localizá-la na tela Event Status e reenviá-la manualmente clicando no botão VIEW IN DELIVERY RETRY. Outra opção é copiar ID do evento e pesquisá-lo no campo Event ID. |
Reenvio manual
Na lista de entregas com falha, cada subscritor está em uma linha.
Na coluna SELECT, você pode selecionar itens para tentar entregá-los manualmente.
Se preferir, selecione todos de uma vez marcando a opção Select All acima da tabela.
Após escolher os eventos que deseja reenviar, clique no botão RETRY SELECTED.
Se o envio manual for bem-sucedido, o item será removido da lista de Delivery Retry na próxima consulta. Se o retorno recebido for diferente do esperado, o item voltará à lista de falha e poderá ser reenviado novamente.
Você pode excluir um ou mais eventos da tela de Delivery Retry. Para fazer isso:
|
Clicando no ícone , você pode escolher quais colunas deseja exibir na tela de Delivery Retry:
-
A data e horário na coluna DATE referem-se à tentativa de entrega aos subscritores pelo Events Hub.
-
A coluna EVENT ID exibe o identificador único do evento. A lista mostra os itens por subscritor e, por isso, pode haver mais de uma linha com o mesmo event ID. O ícone copia o ID para a sua área de transferência.
Esse ID pode ser utilizado na tela Event Status para consultar detalhes da mensagem enviada pelo publicador e ver o histórico de tentativas de entrega aos subscritores. -
As colunas EXPECTED STATUS e DELIVERY STATUS mostram os códigos de retorno HTTP esperados e recebidos pelo Events Hub ao enviar o evento aos subscritores. O código esperado é definido no registro ou edição de subscritores.
Se o código de retorno esperado for alterado no registro de subscritores, essa modificação será aplicada apenas a novos eventos recebidos pelo Events Hub. Eventos recebidos antes da modificação não utilizarão o novo código esperado para tentativas manuais de envio. -
A coluna ENABLED TOPICS contém o ícone , que exibe informações sobre o evento recebido pelo Events Hub. O publicador só é identificado e exibido se houver um interceptor que valide client ID na política aplicada ao handler (Client ID Validation ou OAuth Validation).
As tentativas de entrega mal-sucedidas são exibidas por subscritor. Isso significa que, se uma tentativa de entrega falhar para mais de um subscritor, haverá um item para cada subscritor na lista, mas todos terão o mesmo event ID. Você pode reenviar o evento para um subscritor específico ou para todos eles ao mesmo tempo. |
Reenvio automático
Eventos que caem na fila de tentativa manual podem ser reenviados automaticamente por meio da API Event Status. Para acessá-la, vá até
e busque por "Event Status".A seguir, acompanhe sugestões de boas práticas para o reenvio automático de eventos utilizando a API.
Operação da API
A única operação essencial desta API para o reenvio automático é a /deliveries
.
-
Através do endpoint
GET /deliveries
, você lista todos os eventos com falha no envio. -
Através do endpoint
POST /deliveries
, você reenvia aos subscritores os eventos com falha no envio.
Listagem de eventos não enviados
O endpoint GET /deliveries
permite listar todos os eventos que não foram enviados com sucesso, onde o código HTTP retornado difere do esperado.
Para evitar sobrecarga no sistema, você pode limitar a quantidade de eventos retornados em uma única requisição.
A requisição é paginada e você pode escolher entre 10, 25, 50, 100 e 500 eventos por página.
O limite padrão de eventos por requisição é 500. |
Para facilitar a ordenação dos resultados, você pode incluir os seguintes parâmetros na requisição do GET:
-
_sortBy: define por qual campo é feita a ordenação dos registros. Valores aceitos:
-
date
; -
eventId
; -
contextName
; -
subscriberName
; -
subscriberUrl
; -
expectedStatusCode
; -
httpStatus
.Por padrão, o valor é
date
.
-
-
_direction: define se a ordenação é feita em ordem descendente (DESC) ou ascendente (ASC). Por padrão, o valor é DESC.
-
_limit: identifica o número de registros a serem retornados. Quando não informado, o valor padrão é 50.
-
_offset: identifica o registro inicial a ser retornado. Quando não informado, o valor padrão é 0.
Filtragem por Datas
Para encontrar eventos específicos, você pode usar os seguintes parâmetros:
-
beginDate: filtra eventos com base em uma data de início dentro de um intervalo de datas. Pode ser de até 14 dias antes da data atual.
-
endDate: filtra eventos com base em uma data de fim dentro de um intervalo de datas. Pode ser o dia de hoje ou até 14 dias atrás.
Reenvio Automático
O endpoint POST /deliveries
permite que você envie o evento novamente utilizando os parâmetros:
-
eventId e
-
subscriberId.
O número máximo de itens permitidos na requisição é de 500 eventos com falha no envio. Se o total de itens for maior que 500, envie o valor máximo (500) em uma primeira requisição, aguarde e use o endpoint GET /deliveries novamente para os demais eventos.
|
Share your suggestions with us!
Click here and then [+ Submit idea]