Descripción General
El endpoint de upsert crea inteligentemente una nueva entidad o actualiza una existente basándose en estrategias configurables de detección de duplicados. Maneja automáticamente conflictos y previene registros duplicados usando coincidencia exacta, coincidencia difusa o detección de similitud impulsada por IA.Endpoint
Autenticación
Requiere una clave API válida en el encabezado de autorización:Cuerpo de la Solicitud
Los datos de la entidad (misma estructura que el endpoint de Crear Entidad)
Opciones de configuración para el comportamiento del upsert
Cómo manejar conflictos cuando se encuentra una entidad existente:
source_wins- Los nuevos datos sobrescriben los datos existentestarget_wins- Mantener los datos existentes, ignorar los nuevos datosmanual_review- Marcar para revisión manual sin actualizarsmart_merge(predeterminado) - Fusionar inteligentemente ambos conjuntos de datos
Estrategia para detectar entidades duplicadas:
exact_match- Coincidir por externalId y taxId (sin distinción de mayúsculas)fuzzy_match- Coincidencia de similitud en name y taxId (umbral del 80%)ai_similarity- Detección de similitud semántica impulsada por IAhybrid(recomendado) - Coincidencia exacta con alternativa difusa
Si se deben crear automáticamente relaciones entre entidades
Respuesta
Indica si la operación fue exitosa
La acción realizada:
created o updatedEl estado final de la entidad después del upsert
El estado de la entidad antes de la actualización (null si fue recién creada)
Puntuación de confianza (0-1) para la coincidencia de detección de duplicados
Explicación de por qué la entidad fue creada/actualizada
Array de conflictos a nivel de campo detectados durante la fusión (si los hay)
Estrategias de Deduplicación
Coincidencia Exacta
Coincide entidades basándose en comparación exacta de campos (sin distinción de mayúsculas):- Campos:
externalId,taxId - Caso de uso: Cuando tienes identificadores únicos confiables
- Velocidad: La más rápida
- Precisión: 100% para valores idénticos
Coincidencia Difusa
Usa distancia de Levenshtein para coincidencia de similitud:- Campos:
name,taxId - Umbral: 80% de similitud
- Caso de uso: Cuando se trabaja con errores tipográficos o variaciones
- Velocidad: Moderada
- Precisión: Alta para cadenas similares
Similitud IA
Detección de similitud semántica impulsada por IA:- Método: Embeddings vectoriales y similitud de coseno
- Caso de uso: Coincidencia compleja de múltiples campos
- Velocidad: Más lenta
- Precisión: La más alta para entidades semánticamente similares
Híbrida (Recomendada)
Combina coincidencia exacta y difusa:- Principal: Coincidencia exacta en identificadores
- Alternativa: Coincidencia difusa en nombres
- Umbral de confianza: 80%
- Caso de uso: Mejor equilibrio de velocidad y precisión
Estrategias de Resolución de Conflictos
smart_merge (Predeterminado)
Fusiona inteligentemente datos de ambas fuentes:- Prioridad: Datos más recientes para campos simples
- Arrays: Fusiona y deduplica
- Objetos: Fusión profunda con detección de conflictos
- Valores vacíos: Preserva valores existentes no vacíos
source_wins
Los nuevos datos reemplazan completamente los existentes:- Caso de uso: Cuando los datos entrantes son autoritativos
- Comportamiento: Todos los campos de la fuente
- Riesgo: Puede perder datos existentes valiosos
target_wins
Mantiene los datos existentes, ignora los entrantes:- Caso de uso: Cuando los datos existentes son autoritativos
- Comportamiento: No se realizan actualizaciones
- Riesgo: Puede perder actualizaciones importantes
manual_review
Marca conflictos sin resolución automática:- Caso de uso: Datos de alto riesgo que requieren revisión humana
- Comportamiento: Crea tarea de revisión
- Resultado: Entidad marcada para resolución manual
Ejemplos
Upsert Simple (Comportamiento Predeterminado)
Upsert con Estrategia de Coincidencia Exacta
Upsert con Coincidencia Difusa
Estrategia Híbrida (Recomendada)
Ejemplos de Respuesta
Nueva Entidad Creada
Entidad Existente Actualizada
Casos de Uso
Importación de Datos desde Sistema Externo
Enriquecimiento Progresivo de Datos
Mejores Prácticas
-
Elegir la Estrategia Correcta:
exact_matchpara datos limpios y estructurados con IDs confiablesfuzzy_matchpara datos ingresados por usuarios con posibles errores tipográficoshybridpara la mayoría de escenarios de producción
-
Manejar Conflictos con Elegancia:
- Usar
smart_mergepara resolución automática - Usar
manual_reviewpara datos financieros críticos - Verificar el array
conflictsen la respuesta para cambios importantes
- Usar
-
Monitorear Puntuaciones de Confianza:
- Puntuaciones inferiores a 0.7 pueden indicar coincidencias débiles
- Registrar actualizaciones de baja confianza para revisión
- Considerar umbral de revisión manual
-
Gestión de Relaciones:
- Establecer
createRelationships: truepara vincular automáticamente entidades relacionadas - Útil para relaciones transacción-cliente, empresa-persona
- Establecer
Respuestas de Error
400 Bad Request
400 Campos Requeridos Faltantes
500 Internal Server Error
Próximos Pasos
- Upsert en Lote - Procesar múltiples entidades a la vez
- Listar Entidades - Consultar entidades insertadas
- Actualizar Entidad - Realizar actualizaciones específicas
- Obtener Entidad - Recuperar detalles completos de la entidad