1. Home
  2. Documentation
  3. Events Hub
  4. Delivery Retry

Delivery Retry

Entenda como fazer retentativas de entrega.

A tela Delivery Retry lista os eventos que não foram entregues com sucesso e permite a retentativa manual de entrega.

Delivery Retry

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 política.

  • 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.

  • 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.

TIP

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 o 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:


Selecione a unidade ou o lote de eventos para excluir.

Clique no botão DELETE SELECTED.

Confirme a ação.

Clicando no ícone More Options, você pode escolher quais colunas deseja exibir na tela de Delivery Retry. Veja as colunas a seguir:

Delivery Retry Table

  • 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 Copy Icon 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.
WARNING

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 Expand Icon, que exibe informações sobre o evento recebido pelo Events Hub. O publicador só é identificado e exibido se houver um interceptor que valide o client ID na política aplicada ao handler (Client ID Validation ou OAuth Validation).

Expand Delivery Retry

NOTE

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é Sensedia API Platform > API Design > API Catalog 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.

Delivery Retry API Operation

  • 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.

NOTE

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
  • subscriberId
IMPORTANT

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.

Quão satisfeito você está com esta página?

Nosso site utiliza cookies para habilitar funcionalidades essenciais de avaliação e notificações. Não utilizamos cookies de rastreamento para publicidade ou análise de terceiros.Saiba mais