Saltar al contenido
GUÍA · Integración de herramientas

Cómo evitar duplicados cuando conectas dos programas

El formulario llega dos veces, una conexión se corta y alguien pulsa «reintentar». Si cada intento crea un registro, acabas con dos tareas, pedidos o contactos. La solución empieza por distinguir una operación nueva de otro intento de completar la misma.

Por MENOS · Actualizado el 26 de octubre de 2026 · 3 min de lectura

Distingue persona, operación e intento

Una persona puede enviar dos solicitudes legítimas. Dos personas pueden compartir el correo de administración. Usa un identificador para el contacto, otro para la solicitud y otro para cada intento técnico. Deducir que todo correo repetido es una solicitud duplicada puede hacerte perder trabajo real.

Ejemplo ficticio: contacto C-08 envía solicitudes S-100 y S-101. S-100 se entrega dos veces porque el origen repite el aviso. Deben quedar dos solicitudes, aunque haya tres entregas. El segundo intento de S-100 conserva el resultado del primero; S-101 se trata como operación distinta.

Elige una clave que puedas conservar en todo el recorrido

Aprovecha el identificador estable del evento o documento del origen. Si no existe, define una clave con campos cuya combinación represente esa operación y documenta sus límites. Un hash del archivo detecta una copia idéntica, pero una nueva exportación del mismo pedido puede tener otro hash.

No uses el nombre o el importe como única prueba. Tampoco elimines ceros o cambies mayúsculas en referencias sin conocer sus reglas. Los casos dudosos se marcan para revisión y se conservan por separado hasta contrastarlos con el origen.

SituaciónQué comprobarRespuesta propuesta
Misma clave y mismos datosResultado ya guardadoDevolver o mostrar el resultado anterior.
Misma clave y datos distintosVersión o corrección legítimaDetener y revisar; no sobrescribir en silencio.
Clave nueva con correo conocidoSolicitud diferenteVincular al contacto sin descartar la solicitud.
Sin clave fiableReferencia de origen recuperableRevisión humana antes de una acción irreversible.

Protege también la escritura simultánea

Buscar si existe y luego crear no basta cuando dos ejecuciones hacen lo mismo a la vez. En una implementación propia, la exclusividad debe apoyarse en una restricción única o una operación atómica del registro que coordina el trabajo. Si el destino ofrece una clave de idempotencia, revisa su alcance y cuánto tiempo la conserva.

Registra estados como recibido, en curso, completado y pendiente de conciliación. Tras un corte incierto, consulta el destino con la referencia guardada. Si no permite buscarla, detén el reintento automático y deja una tarea de revisión. Repetir sin saber qué ocurrió es especialmente delicado en mensajes, documentos y pagos.

Ensaya cinco situaciones antes de activar

Envía una operación normal y comprueba su destino. Repite el mismo evento; entrega dos copias a la vez; corta la respuesta después de escribir; y vuelve a enviar la misma referencia con un dato cambiado. Guarda el número de registros final y el historial de cada intento.

El criterio del ejemplo es una sola alta para cada solicitud y ninguna corrección aplicada sin la regla acordada. Si la plataforma no permite provocar un corte de forma controlada, prueba esa rama con un simulador y deja constancia del límite. El generador de planes de pruebas de MENOS incluye estos casos para que puedas adaptarlos.

Fuentes y documentación

Las recomendaciones de esta guía son de MENOS. Estos documentos permiten comprobar las funciones de las herramientas que se mencionan.

Para seguir con esta tarea