Delivery Retry

La pantalla Delivery Retry muestra las entregas de eventos sin éxito y permite reintentar la entrega manualmente.

delivery retry

Reintentos

Automático vs. Manual

  • Cuando el primer intento de entregar un evento a un suscriptor falla, Events Hub reintenta la entrega automáticamente, siguiendo la configuración registrada en la política.

  • Si todos los intentos automáticos fallan, el evento cae en la cola de reintentos de la pantalla Delivery Retry, donde puede intentar la entrega manual.

Filtros

Por defecto, la lista muestra hasta 50 entregas no realizadas para el día actual, pero puede usar los filtros disponibles para ampliar o refinar la búsqueda. Estos son:

  • From: para elegir la fecha de inicio de la búsqueda. Puede seleccionar hasta 14 días antes de la fecha actual.

  • To: para elegir la fecha final de la búsqueda. Puede seleccionar hoy o hasta 14 días antes.

La búsqueda sólo puede realizarse en un periodo máximo de 14 días hasta la fecha actual.

  • Status: filtra los códigos de estado devueltos, que pueden ser:

    • Éxito, pero diferente del esperado (Success, different from expected);

    • Error de cliente (Client Error);

    • O error de servidor (Server Error).

  • Max Results: número máximo de resultados por página, puede ser 50, 100, 300, o 500.

  • Event ID: filtra por el identificador del evento generado siempre que se recibe una petición del publicador. Este identificador se muestra en la pantalla Event Status.

  • Subscribers: filtra por suscriptor, pudiendo seleccionar varios al mismo tiempo.

  • Contexts: filtra por contexto, pudiendo seleccionar varios al mismo tiempo.

La consulta puede devolver hasta 500 elementos, tal como se define en el campo Max Results. Si la entrega que busca no se encuentra entre los 500 primeros elementos, puede encontrarla en la pantalla Event Status y reenviarla manualmente haciendo clic en el botón VIEW IN DELIVERY RETRY. Alternativamente, puede copiar el ID del evento y buscarlo en el campo Event ID.

Reenvío Manual

En la lista de entregas sin éxito, cada suscriptor está en una línea. En la columna SELECT, puede seleccionar elementos para intentar entregarlos manualmente. Si lo prefiere, selecciona todos a la vez marcando la opción Select All encima de la tabla. Después de seleccionar los eventos que desea enviar, haga clic en el botón RETRY SELECTED.

Si el envío manual tiene éxito, el elemento se eliminará de la lista de Delivery Retry en la siguiente consulta. Si la respuesta recibida es diferente de lo esperado, el elemento volverá a la lista de fallas y podrá ser reenviado nuevamente.

Puede eliminar uno o varios eventos desde la pantalla Delivery Retry. Para hacerlo:

  1. seleccione la unidad o lote de eventos a eliminar;

  2. haga clic en el botón DELETE SELECTED;

  3. confirme la acción.

Haciendo clic en el icono icon more, puedes elegir qué columnas deseas mostrar en la pantalla de Delivery Retry:

delivery retry table
Columnas
  • La fecha y hora en la columna DATE se refieren al intento de entrega a los suscriptores por Events Hub.

  • La columna EVENT ID muestra el identificador único del evento. El icono icon copy copia el ID al clipboard del usuario. Este ID se puede utilizar en la pantalla Event Status para ver detalles del mensaje enviado por el publicador y ver el historial de intentos de entrega a los suscriptores.

  • La columna EXPECTED STATUS y DELIVERY STATUS muestran los códigos HTTP esperados y recibidos por Events Hub al enviar el evento a los suscriptores. El código esperado se define en el registro o edición de suscriptores.

    Si se cambia el código de estado esperado en el registro de suscriptores, esta modificación se aplicará solo a los nuevos eventos recibidos por Events Hub. Los eventos recibidos antes de la modificación no utilizarán el nuevo código esperado para intentos manuales de envío.
  • La columna ENABLED TOPICS contiene el icono icon expand, que muestra información sobre el evento recibido por Events Hub. El publicador sólo se identifica y muestra sólo si hay un interceptor que valida el ID de cliente en la política aplicada al handler (Client ID Validation u OAuth Validation).

    expand delivery retry

Los intentos de entrega sin éxito se muestran por suscriptor. Esto significa que si un intento de entrega falla para más de un suscriptor, habrá un elemento para cada suscriptor en la lista, pero todos tendrán el mismo ID de evento. Puede reenviar el evento a un solo suscriptor específico o a todos ellos al mismo tiempo.

Reenvío automático

Los eventos incluidos en la lista de intentos de entrega manual pueden reenviarse automáticamente a través de la API Event Status. Para acceder a ella, vaya a Sensedia API Platform  API Design  API Catalog y busque "Event Status".

Las siguientes son sugerencias de buenas prácticas para el reenvío automático de eventos a través de la API.

Operación de la API

La única y fundamental operación de esta API para el reenvío automático es /deliveries.

delivery retry api operation
  • A través del endpoint GET /deliveries, se listan todos los envíos sin éxito.

  • A través del endpoint POST /deliveries, se reenvían a los suscriptores los envíos sin éxito.

Lista de envíos sin éxito

El endpoint GET /deliveries permite listar todos los envíos sin éxito, cuyo código HTTP en la respuesta difiere del status code esperado. Para evitar sobrecargar el sistema, puede limitar el número de eventos de la respuesta en una única petición. La petición está paginada y puede elegir entre 10, 25, 50, 100 y 500 eventos por página.

Por defecto, el límite de eventos por petición es 500.

Para facilitar la ordenación de los resultados, puede incluir los siguientes parámetros en la petición GET:

  • _sortBy: define por qué campo se realiza la ordenación de los intentos. Valores aceptados:

    • date;

    • eventId;

    • contextName;

    • subscriberName;

    • subscriberUrl;

    • expectedStatusCode;

    • httpStatus.

      Por defecto, el valor es date.

_direction: define si la ordenación se realiza en orden descendente (DESC) o ascendente (ASC). Por defecto, el valor es DESC.

_limit: identifica el número de intentos a devolver. Si no se informa, el valor por defecto es 50.

_offset: identifica el intento inicial a devolver. Si no se informa, el valor por defecto es 0.

Filtrado por fechas

Para optimizar la búsqueda de eventos específicos, puede utilizar los siguientes parámetros en la petición:

  • beginDate: filtra los eventos en función de una fecha de inicio dentro de un intervalo de fechas. Puede ser de hasta 14 días antes de la fecha actual.

  • endDate: filtra los eventos en función de una fecha de finalización dentro de un intervalo de fechas. Puede ser el día de hoy o hasta 14 días atrás.

Reenvío automático

El endpoint POST /deliveries permite reenviar el evento sin éxito utilizando los parámetros:

  • eventId y

  • subscriberId.

El número máximo de ítems permitidos en la petición es de 500 eventos sin éxito. Si el número total de ítems es superior a 500, envíe el valor máximo (500) en una primera petición, espere y vuelva a utilizar el endpoint GET /deliveries para los eventos restantes.
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]