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]