Cómo distinguir un reintento de una solicitud de negocio nueva

Un reintento conserva la intención y los parámetros aprobados; una solicitud nueva cambia el compromiso que quieres ejecutar.

Equipo enginerIT· 2 min de lectura
La igualdad de datos no demuestra igualdad de intención; registra ambas cosas por separado

Un reintento conserva la intención y los parámetros aprobados; una solicitud nueva cambia el compromiso que quieres ejecutar. Decide esa frontera en el modelo de negocio y regístrala antes del envío. No la deduzcas del tiempo transcurrido ni de que el usuario haya pulsado el botón otra vez.

Distingue solicitud, versión e intento

Mantén una referencia de solicitud, una versión de sus datos y un contador de intentos. El contador aumenta cuando repites una entrega; la versión cambia cuando alguien modifica el alcance. En un ejemplo hipotético, reenviar la creación de cinco unidades tras un fallo de red es un reintento. Pasar a siete unidades requiere decidir si se modifica el pedido existente o se autoriza otro: generar otra clave sin resolverlo puede crear ambos.

No confundas doble clic con doble voluntad

La interfaz puede bloquear envíos simultáneos y mostrar la solicitud pendiente, pero la decisión debe sobrevivir a cerrar el navegador. Reabrir la página debería recuperar la intención persistida. Si una persona quiere repetir un pedido idéntico otro día, necesita una acción explícita que cree una nueva solicitud. Un resumen de campos iguales no permite distinguir esa compra legítima de una repetición técnica.

Compara el contenido antes de continuar

Al recibir una referencia existente, compara los parámetros relevantes con la versión aprobada. Si coinciden, consulta el resultado de esa operación. Si difieren, presenta el conflicto y detén la ejecución hasta decidir qué versión debe aplicarse. Stripe documenta controles de parámetros asociados a claves en API v1; utilízalo como ejemplo de contrato concreto, no como sustituto de la validación comercial de tu propio flujo.

Comprueba cambios mientras llega una respuesta

Ensaya un primer envío lento, una edición posterior y la llegada tardía de la confirmación original. La respuesta debe quedar ligada a su versión, sin marcar como ejecutada una versión que nunca se envió. Conserva quién autorizó la modificación y qué ocurrió con la intención anterior. Para acciones irreversibles, muestra el resultado confirmado antes de aceptar una segunda ejecución. La guía de reintentos de Azure recomienda valorar los efectos de repetir: el control empieza por saber qué acción estás repitiendo.

Comprobaciones para cerrar la tarea

  • ✓ Solicitud, versión e intento son campos distintos.
  • ✓ Una compra idéntica nueva puede autorizarse expresamente.
  • ✓ Una confirmación tardía se asocia a su versión original.

Fuentes y documentación

Aplicarlo en tu empresa

Podemos revisar el entorno y acordar qué actuaciones, validaciones y mantenimiento necesitas.

Conocer el servicio relacionado →