Usar lógica de reintentos para el contenido conectado
Esta página explica cómo agregar reintentos a tus llamadas de contenido conectado.
Cómo funcionan los reintentos
Como el contenido conectado depende de recibir datos de las API, es posible que una API no esté disponible de forma intermitente mientras Braze realiza la llamada. En este caso, Braze admite una lógica de reintento para volver a intentar la solicitud mediante retirada exponencial.

El :retry del contenido conectado no está disponible para mensajes dentro de la aplicación ni para Banners.
Comportamiento de reintento en los 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
:retrysigue usando la canalización de mensajería. Los destinatarios se retrasan 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.
En los pasos de Contexto y Actualización de usuario, ciertos errores de paso que se pueden reintentar, como un error al obtener un código promocional o un error inesperado del paso, pueden desencadenar reintentos adicionales a nivel de paso con retirada exponencial (aproximadamente 13 veces) antes de que Braze haga salir al usuario del Canvas.
Para más información, consulta Comportamiento de reintento.
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 de 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 de mensajes ni a la vista previa de las rutas de usuario. Si falla una llamada de contenido conectado con :retry, Braze no reintenta la llamada. En su lugar:
- Durante la vista previa del mensaje, es posible que la vista previa muestre “This message would not have been shown because retry functionality was triggered” en lugar de representar el contenido.
- Al previsualizar las rutas de usuario, un paso Mensaje puede mostrar “Message aborted due to connected content retry failure”.
Este es el comportamiento esperado y no indica ningún 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 total de minutos que tarda en enviarse tu mensaje.
Si la llamada de contenido conectado da error más de cinco veces, el mensaje se cancela, de forma similar a cuando 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.