Skip to main content
PUT
Upsert

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

object
required
Los datos de la entidad (misma estructura que Crear entidad), incluyendo campos raíz opcionales como email, phone y nationality (ISO 3166-1 alfa-2 o etiqueta mapeable).
El esquema puede aceptar las mismas claves que crear (p. ej. monitoring, autoExecuteIntegrations). El upsert no ejecuta auto-enriquecimientos ni aplica monitoring. Usa POST /entities o POST /entities/automatic para el comportamiento de lista / Regtia op 1 durante el enriquecimiento.
object
Opciones de configuración para el comportamiento del upsert
enum
Cómo manejar conflictos cuando se encuentra una entidad existente:
  • source_wins - Los nuevos datos sobrescriben los datos existentes
  • target_wins - Mantener los datos existentes, ignorar los nuevos datos
  • manual_review - Marcar para revisión manual sin actualizar
  • smart_merge (predeterminado) - Fusionar inteligentemente ambos conjuntos de datos
enum
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 IA
  • hybrid (recomendado) - Coincidencia exacta con alternativa difusa
boolean
default:"true"
Si se deben crear automáticamente relaciones entre entidades

Respuesta

boolean
Indica si la operación fue exitosa
string
La acción realizada: created o updated
object
El estado final de la entidad después del upsert
object
El estado de la entidad antes de la actualización (null si fue recién creada)
number
Puntuación de confianza (0-1) para la coincidencia de detección de duplicados
string
Explicación de por qué la entidad fue creada/actualizada
array
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

  1. Elegir la Estrategia Correcta:
    • exact_match para datos limpios y estructurados con IDs confiables
    • fuzzy_match para datos ingresados por usuarios con posibles errores tipográficos
    • hybrid para la mayoría de escenarios de producción
  2. Manejar Conflictos con Elegancia:
    • Usar smart_merge para resolución automática
    • Usar manual_review para datos financieros críticos
    • Verificar el array conflicts en la respuesta para cambios importantes
  3. 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
  4. Gestión de Relaciones:
    • Establecer createRelationships: true para vincular automáticamente entidades relacionadas
    • Útil para relaciones transacción-cliente, empresa-persona

Respuestas de Error

400 Bad Request

400 Campos Requeridos Faltantes

500 Internal Server Error

Próximos Pasos