Skip to content

Relaciones entre Registros CRM

Modulo: CRM Tipo: Resource Estado: Implementado Fecha: 2026-02-02


Descripcion

Las relaciones entre registros permiten vincular dos o mas registros CRM para indicar que tienen alguna conexion semantica. Por ejemplo, se puede vincular un registro de seguimiento con el registro original de la consulta, o marcar dos registros como duplicados.

El sistema soporta relaciones bidireccionales: cuando se crea una relacion entre el Registro A y el Registro B, esta relacion es visible desde ambos registros.

Problema de negocio que resuelve

  • Identificar y marcar registros duplicados para evitar trabajo redundante
  • Relacionar consultas de seguimiento con registros anteriores
  • Vincular registros derivados con sus registros originales
  • Mantener contexto entre registros relacionados del mismo cliente

Valor de negocio

  • Contexto: El operador puede ver rapidamente registros relacionados
  • Eficiencia: Evita duplicacion de esfuerzos al identificar duplicados
  • Trazabilidad: Permite seguir la cadena de registros relacionados
  • Calidad de datos: Mejora la organizacion de la informacion del CRM

Frontend (Perspectiva de Usuario)

Vistas

  • Listado de relaciones: Tabla que muestra las relaciones de un registro CRM
  • Modal de gestion de relaciones: Pantalla completa para ver y gestionar relaciones
  • Formulario de agregar relacion: Modal para crear una nueva relacion

Interacciones del usuario

  1. Ver relaciones de un registro

    • El usuario accede a un registro CRM
    • El usuario abre el modal de relaciones
    • El sistema muestra una tabla con todas las relaciones del registro
    • Se visualiza: direccion (origen/destino), titulo del registro relacionado, fecha, tipo de relacion, nota
  2. Agregar nueva relacion

    • El usuario presiona boton "Agregar Relacion"
    • Se abre un modal con tabla de registros disponibles
    • El usuario puede filtrar para ver solo registros del mismo contacto
    • El usuario selecciona un registro haciendo clic en la fila
    • El usuario selecciona la direccion de la relacion (A hacia B o B hacia A)
    • El usuario opcionalmente selecciona un tipo de relacion
    • El usuario opcionalmente agrega una nota descriptiva
    • Al confirmar, la relacion se crea y se actualiza el listado
  3. Eliminar relacion

    • El usuario visualiza las relaciones existentes
    • El usuario presiona el boton de eliminar en una relacion
    • El sistema solicita confirmacion
    • Al confirmar, la relacion se elimina de ambos registros

Permisos

  • Ver relaciones: Requiere permiso de visualizacion del registro CRM
  • Crear relacion: Requiere acceso a ambos registros involucrados
  • Eliminar relacion: Requiere acceso al registro desde el cual se visualiza

Estados de UI

  • Cargando: Indicador de progreso mientras se obtienen relaciones
  • Sin relaciones: Mensaje informativo con opcion de agregar
  • Sin registros disponibles: Mensaje cuando no hay registros para relacionar
  • Guardando: Indicador de progreso durante la creacion
  • Eliminando: Indicador de progreso durante la eliminacion
  • Error de duplicado: Mensaje cuando la relacion ya existe
  • Exito: Notificacion de confirmacion al crear o eliminar

Backend (Perspectiva de Datos de Negocio)

Entidades de negocio

Relacion entre Registros

Representa un vinculo entre dos registros CRM.

Datos necesarios

Cada relacion almacena:

DatoDescripcionObligatorio
Registro origenIdentificador del primer registroSi
Registro destinoIdentificador del segundo registroSi
Tipo de relacionClasificacion del vinculoNo
NotaDescripcion del motivo de la relacionNo

Tipos de relacion soportados

TipoDescripcionCaso de uso
SeguimientoEl registro destino es un seguimiento del origenConsultas relacionadas sobre el mismo tema
DuplicadoAmbos registros representan lo mismoMarcado de registros duplicados
DerivadoEl registro destino se origino del registro origenRegistros que surgieron de otro
Sin tipoRelacion generica sin clasificacion especificaVinculos informativos

Relaciones de negocio

  • Cada relacion conecta exactamente dos registros CRM
  • Las relaciones son bidireccionales (visibles desde ambos registros)
  • Un registro puede tener multiples relaciones con diferentes registros
  • Un registro no puede relacionarse consigo mismo

Validaciones de negocio

  • Ambos registros CRM deben existir
  • No puede existir una relacion duplicada entre los mismos registros
  • El tipo de relacion, si se especifica, debe ser uno de los valores permitidos
  • La nota no puede exceder 500 caracteres
  • No se permite crear relacion de un registro consigo mismo

Reglas de negocio

Regla 1: Unicidad de relaciones

  • Descripcion: No pueden existir dos relaciones entre el mismo par de registros
  • Condicion: Al crear una nueva relacion
  • Accion: El sistema verifica que no exista ya una relacion entre los dos registros (en ninguna direccion)

Regla 2: Bidireccionalidad

  • Descripcion: Una relacion es visible desde ambos registros involucrados
  • Condicion: Al consultar relaciones de un registro
  • Accion: El sistema muestra tanto las relaciones donde el registro es origen como donde es destino

Regla 3: Eliminacion completa

  • Descripcion: Al eliminar una relacion, se elimina el vinculo completo
  • Condicion: Al eliminar una relacion desde cualquiera de los dos registros
  • Accion: La relacion desaparece de ambos registros involucrados

Regla 4: Direccion de la relacion

  • Descripcion: El usuario puede elegir la direccion al crear la relacion
  • Condicion: Al crear una nueva relacion
  • Accion: El sistema permite intercambiar origen y destino segun la direccion deseada

Regla 5: Restriccion de eliminacion de registros

  • Descripcion: No se puede eliminar un registro que tiene relaciones
  • Condicion: Al intentar eliminar un registro CRM
  • Accion: Primero se deben eliminar todas las relaciones del registro

Casos de uso

Caso 1: Vincular dos registros

Actor: Operador de CRM

Precondiciones:

  • El usuario debe estar autenticado
  • Ambos registros CRM deben existir
  • No debe existir una relacion previa entre los registros

Flujo principal:

  1. El operador accede al detalle de un registro CRM
  2. El operador abre el modal de relaciones
  3. El operador presiona "Agregar Relacion"
  4. El sistema muestra tabla con registros disponibles (excluyendo el actual y los ya relacionados)
  5. El operador opcionalmente activa filtro "Mostrar solo registros del mismo contacto"
  6. El operador selecciona un registro haciendo clic en la fila
  7. El sistema muestra selector de direccion con los titulos de ambos registros
  8. El operador elige la direccion de la relacion
  9. El operador opcionalmente selecciona un tipo de relacion
  10. El operador opcionalmente agrega una nota descriptiva
  11. El operador confirma la relacion
  12. El sistema crea la relacion y notifica el exito
  13. El listado de relaciones se actualiza mostrando la nueva entrada

Postcondiciones:

  • Se crea la relacion entre los dos registros
  • La relacion es visible desde ambos registros
  • Los registros relacionados ya no aparecen en la lista de disponibles

Flujos alternativos:

  • Error: Relacion duplicada: Si ya existe relacion, el sistema muestra mensaje de error
  • Sin registros disponibles: Si no hay registros para relacionar, se muestra mensaje informativo

Caso 2: Marcar registros como duplicados

Actor: Operador de CRM

Precondiciones:

  • El usuario identifica dos registros que representan lo mismo
  • Ambos registros existen y no estan relacionados

Flujo principal:

  1. El operador accede a uno de los registros duplicados
  2. El operador abre el modal de relaciones
  3. El operador agrega relacion con el otro registro
  4. El operador selecciona tipo "Duplicado"
  5. El operador opcionalmente agrega nota explicando el duplicado
  6. El operador confirma la relacion

Postcondiciones:

  • Ambos registros muestran estar relacionados como duplicados
  • Futuros operadores pueden ver que los registros estan duplicados

Caso 3: Eliminar una relacion

Actor: Operador de CRM

Precondiciones:

  • Existe una relacion entre dos registros
  • El usuario tiene acceso al registro

Flujo principal:

  1. El operador accede al detalle de un registro CRM
  2. El operador abre el modal de relaciones
  3. El operador visualiza las relaciones existentes
  4. El operador presiona el boton de eliminar en la relacion a remover
  5. El sistema solicita confirmacion
  6. El operador confirma la eliminacion
  7. El sistema elimina la relacion y notifica el exito
  8. El listado se actualiza sin la relacion eliminada

Postcondiciones:

  • La relacion se elimina completamente
  • Ambos registros dejan de mostrar la relacion

Flujos alternativos:

  • Cancelar eliminacion: Si el operador no confirma, la relacion permanece

Consideraciones

Seguridad

  • Solo usuarios autenticados pueden gestionar relaciones
  • Se requiere acceso a los registros involucrados para crear o ver relaciones
  • La eliminacion requiere confirmacion explicita

Auditoria

  • Las operaciones de creacion y eliminacion son registradas
  • Se puede rastrear quien creo cada relacion

Rendimiento

  • Las relaciones se obtienen bajo demanda al abrir el modal
  • Los datos se cachean brevemente
  • Se aplican actualizaciones optimistas para mejor experiencia de usuario
  • El cache se invalida automaticamente al crear o eliminar relaciones

Dependencias

Funcionalidades relacionadas

  • Registros CRM (entidades que se vinculan)
  • Contactos (para filtrado de registros del mismo contacto)

Servicios externos

Ninguno


Criterios de aceptacion

  • [ ] AC-001: Un operador puede crear una relacion entre dos registros CRM existentes
  • [ ] AC-002: La relacion es visible desde ambos registros involucrados
  • [ ] AC-003: El sistema no permite crear relaciones duplicadas entre los mismos registros
  • [ ] AC-004: Un operador puede eliminar una relacion con confirmacion
  • [ ] AC-005: Al eliminar, la relacion desaparece de ambos registros
  • [ ] AC-006: El listado muestra titulo del registro relacionado, fecha, tipo y nota
  • [ ] AC-007: El usuario puede filtrar para ver solo registros del mismo contacto
  • [ ] AC-008: El usuario puede elegir la direccion de la relacion al crearla
  • [ ] AC-009: Los tipos de relacion disponibles son: seguimiento, duplicado, derivado, o sin tipo
  • [ ] AC-010: Las notas son opcionales y tienen limite de 500 caracteres
  • [ ] AC-011: El registro actual y los ya relacionados se excluyen de la seleccion

Notas adicionales

Interpretacion de la direccion

La direccion de la relacion tiene significado semantico segun el tipo:

  • Seguimiento: "Registro A" es seguimiento de "Registro B" (B es el original)
  • Duplicado: La direccion es irrelevante, ambos son equivalentes
  • Derivado: "Registro A" se derivo de "Registro B" (B es el original)

Diferencia con derivaciones

Las relaciones vinculan registros entre si (contenido relacionado), mientras que las derivaciones transfieren responsabilidad de atencion entre operadores.

Un registro puede tener:

  • Multiples relaciones con otros registros
  • Multiples derivaciones en su historial

Estas funcionalidades son independientes y complementarias.