Ir al contenido

Usar lógica de reintentos para contenido conectado

Esta página cubre cómo agregar reintentos a tus llamadas de contenido conectado.

Cómo funcionan los reintentos

Dado que el contenido conectado depende de la recepción de datos de las API, una API puede no estar disponible de forma intermitente mientras Braze realiza la llamada. En este caso, Braze admite lógica de reintentos para volver a intentar la solicitud mediante retirada exponencial.

Comportamiento de reintentos en pasos en Canvas

Las llamadas de contenido conectado en un Canvas solo se reintentan cuando la llamada incluye :retry. El comportamiento varía según el tipo de paso:

  • Pasos de mensaje: El contenido conectado con :retry sigue usando el pipeline de mensajería. Los destinatarios se retienen en la cola de envío mientras Braze reintenta la llamada hasta cinco veces. Si todos los reintentos fallan, el mensaje se cancela y el usuario avanza al siguiente paso. Para más detalles, consulta Cuando la llamada a la API falla y los reintentos están habilitados.
  • Pasos de contexto y actualización de usuario: Braze reintenta la llamada de contenido conectado a nivel de paso (hasta cinco veces). Si todos los reintentos fallan, el usuario sale del Canvas.

Para los pasos de contexto y actualización de usuario, ciertos errores de paso reintentables —como una obtención fallida de código promocional o un error de paso inesperado— pueden desencadenar reintentos adicionales a nivel de paso con retirada exponencial (aproximadamente 13 veces) antes de que Braze saque al usuario del Canvas.

Para más información, consulta Comportamiento de reintentos.

Uso de la lógica de reintento

Para usar la lógica de reintento, añade la etiqueta :retry a la llamada de contenido conectado, como se muestra en el siguiente fragmento de código:

{% connected_content https://yourwebsite.com/api/endpoint :retry %}
{% connected_content https://www.braze.com :save my_content :basic_auth auth_name :retry %}

Cuando se incluye una etiqueta :retry en la llamada de contenido conectado, Braze intenta reintentar la llamada hasta cinco veces.

Comportamiento en la vista previa

La lógica de reintento solo se aplica a los envíos en vivo (incluidos los envíos de prueba), no a las vistas previas. Si una llamada de contenido conectado con :retry falla durante la vista previa, esta puede mostrar el mensaje “This message would not have been shown because retry functionality was triggered” en lugar de renderizar el contenido. Este es el comportamiento esperado y no indica un problema en Braze.

Resultados del reintento

Cuando un reintento tiene éxito

Si un intento reintentado tiene éxito, el mensaje se envía y no se realizan más reintentos para ese mensaje.

Cuando la llamada a la API falla y los reintentos están habilitados

Si la llamada a la API falla y esta opción está habilitada, Braze reintenta la llamada respetando el límite de velocidad que estableciste para cada reenvío. Braze mueve los mensajes fallidos al final de la cola y añade minutos adicionales, si es necesario, al tiempo total que tarda en enviar tu mensaje.

Si la llamada de contenido conectado genera errores más de cinco veces, el mensaje se cancela, de forma similar a como se desencadena una etiqueta de cancelación de mensaje.

Llamadas de Contenido conectado con lógica de cancelación y reintento

Si una llamada de Contenido conectado utiliza lógica de cancelación para la misma condición que la lógica de reintento, la lógica de cancelación tiene prioridad. Esto impide que se intente cualquier reintento. La lógica de reintento ya reenvía la llamada antes de cancelarla si el código de estado no es correcto. Dado que ambas se dirigen al mismo comportamiento de código de estado, puedes quitar la lógica de cancelación y la llamada seguirá cancelándose si todos los reintentos fallan.

New Stuff!