VipterCentro de Ayuda
Desarrolladores

Reintentos, desactivación y reenvío

Cuándo Vipter vuelve a intentar una entrega que falló, cuándo desactiva el endpoint por sí solo, qué pasa con los eventos mientras está desactivado y cómo usar el evento de prueba y el reenvío del panel.

Admin o PropietarioTodos los planes

Cada endpoint recibe su propia entrega de cada evento. Una entrega pasa por estos estados, que aparecen en la columna Estado de Entregas recientes:

EstadoSignificado
pendingEn la cola, esperando el primer intento o un reenvío.
deliveringEnviándose ahora.
succeededTu servidor respondió 2xx en hasta 10 segundos. Estado final.
failedEl último intento falló y hay otro programado.
exhaustedSe agotaron los intentos, o el endpoint estaba desactivado. Estado final, hasta un reenvío manual.

Lo que cuenta como fallo está en La respuesta.

Calendario de reintentos

Son hasta 8 intentos por entrega. El primero sale justo después de crearse el evento, en general en menos de un minuto. Después de cada fallo, Vipter espera:

IntentoEspera después del fallo anteriorTiempo desde el primer intento
10
21 minuto1 minuto
35 minutos6 minutos
430 minutos36 minutos
52 horascerca de 2 h 36 min
66 horascerca de 8 h 36 min
724 horascerca de 32 h 36 min
848 horascerca de 80 h 36 min

Las esperas son mínimas: la cola se procesa cada minuto, así que cada intento puede salir un poco después. Si el octavo falla, la entrega queda exhausted. En la práctica, un endpoint que vuelve a funcionar dentro de unos 3 días y 8 horas después de un fallo todavía recibe el evento por sí solo.

Cada intento lleva el mismo cuerpo, con el mismo id y el mismo created, y una firma nueva, con la t del momento del envío.

Desactivación automática

Vipter cuenta, por endpoint, las entregas seguidas que terminaron en exhausted. Cuando el conteo llega a 20, el endpoint se desactiva y su tarjeta muestra el motivo auto-disabled after 20 exhausted deliveries. Una entrega con succeeded pone el conteo en cero.

El conteo es de entregas agotadas, no de intentos: son 20 eventos que fallaron 8 veces cada uno. Un endpoint caído solo se desactiva después de pasar por el calendario completo de al menos 20 eventos.

Para volver a encenderlo, corrige tu servidor y activa el interruptor Activo del endpoint. Encender el interruptor pone el conteo en cero y borra el motivo.

Eventos mientras el endpoint está desactivado

Vale tanto para la desactivación automática como para el interruptor apagado a mano:

  • Los eventos nuevos no se guardan para él. El endpoint solo recibe entregas de los eventos creados mientras está activo. Un evento creado durante la desactivación nunca llega a ese endpoint, ni siquiera después de volver a encenderlo, y no hay forma de reenviarlo.
  • Las entregas que ya estaban en la cola se cierran. Cuando les toca, quedan exhausted con el error endpoint disabled, sin intentar enviarse y sin contar para la desactivación. Volver a encender el endpoint no las retoma: usa Reenviar en cada una, con el endpoint ya activo.

Lo mismo vale para un endpoint creado después de un evento: no recibe eventos anteriores a su creación.

Para revisar qué pasó en ese período, compara tu sistema con las listas de pedidos, suscripciones y clientes del panel.

Reenviar una entrega

Entregas recientes muestra las 50 entregas más recientes de la tienda, de todos los endpoints. Toda fila que no está succeeded tiene el botón Reenviar. Al hacer clic:

  1. La entrega vuelve a pending con los intentos en cero y se envía en el momento.
  2. Aparece Entrega reencolada..
  3. Si vuelve a fallar, sigue el calendario desde el principio.

El reenvío manda el mismo evento, con el mismo id: tu control de idempotencia lo trata como repetición si ya se procesó. La firma se calcula en el momento del reenvío, con el secreto actual.

No se puede reenviar una entrega succeeded desde el panel. Reenviar a un endpoint desactivado cierra la entrega en el momento con endpoint disabled: enciende el endpoint antes.

Evento de prueba

El botón Enviar evento de prueba crea un evento customer.created nuevo, con un cliente ficticio y "test": true en data.object. El formato está en el catálogo.

  • Va a todos los endpoints activos que reciben customer.created o todos los eventos, y solo a esos.
  • Se envía en el momento y aparece Evento de prueba en cola.. Si falla, sigue el mismo calendario de reintentos de un evento real y cuenta para la desactivación automática.
  • Cada clic crea un evento con un id nuevo.
  • Sin ningún endpoint activo, el botón queda deshabilitado.

Quitar un endpoint

Quitar borra el endpoint, el secreto y su historial de entregas. Las entregas pendientes se detienen. Para cambiar de URL sin perder eventos, crea el endpoint nuevo, confirma que recibe el evento de prueba y solo entonces quita el anterior. En ese intervalo, los dos reciben los mismos eventos, con el mismo id.

Qué hacer después

En esta página