Skip to main content

Flujo de Datos en EagleSync

El flujo de datos en EagleSync representa el camino que sigue la información desde su origen (las PBXs o APIs externas) hasta su procesamiento y almacenamiento final en la base de datos principal del cliente. Este proceso es automático, controlado y respaldado, garantizando confiabilidad y trazabilidad.

1. Inicio del proceso

Todo comienza con la configuración previa que el usuario realiza a través del aplicativo de escritorio EagleSync. Allí se registran:

  • Clientes asociados
  • Tipo de PBX/Driver utilizado
  • Ruta de acceso a los datos (FTP, IP/Sockets, API)
  • Credenciales necesarias
  • Base de datos destino (SQL Server)
  • Ruta de backup local y parámetros de sincronización

2. Captura de datos (EagleSyncWinService)

El servicio EagleSyncWinService es el responsable de capturar los registros de llamadas (CDRs) desde las diferentes fuentes, dependiendo del tipo de driver.

Fuentes de entrada:

  • FTP: Se descargan archivos planos de una carpeta remota.
  • Sockets: Se mantiene una conexión abierta con la PBX que envía los registros en tiempo real.
  • API REST: Se hacen peticiones periódicas a endpoints definidos.

Cada nuevo archivo o bloque de datos recibido es:

  1. Validado en su estructura.
  2. Guardado temporalmente en la carpeta Cdrs/ como respaldo.
  3. Eliminado de su fuente original si corresponde (por ejemplo, en FTP).
  4. Enviado al procesamiento.

3. Procesamiento de CDRs (EagleSyncLib)

La lógica de negocio implementada en EagleSyncLib procesa cada registro capturado:

  • Parseo y validación de datos (estructura, duplicados, vacíos).
  • Clasificación del tipo de llamada: entrante, saliente, interna, internacional, etc.
  • Asociación del registro con un cliente, extensión y empresa.
  • Aplicación de la política de precios según configuración actual.
  • Generación de logs de eventos o errores.
  • Preparación de los datos para almacenamiento.

4. Almacenamiento

Una vez procesados, los datos son almacenados en dos niveles:

a) Base de datos local (EagleCloud_Sync.sdf)

  • Registro de avance de sincronización por fecha y cliente.
  • Configuraciones actuales.
  • Log de sincronizaciones previas.

b) Base de datos remota (SQL Server)

  • Inserción de registros valorizados.
  • Vinculación con entidades de negocio para reportes posteriores.
  • Estructuras diseñadas para integrarse con el backend y frontend de análisis.

5. Reprocesamiento (EagleProcessWinService)

En caso de que las configuraciones cambien (por ejemplo, precios), el servicio EagleProcessWinService permite:

  • Reprocesar rangos de fechas específicos.
  • Aplicar nuevas reglas sin duplicar datos.
  • Mantener integridad entre registros antiguos y actuales.

6. Respaldo y seguridad

Durante todo el flujo, EagleSync implementa políticas de seguridad y respaldo:

  • Copia local de cada archivo plano recibido (/Cdrs)
  • Opciones de backup manual o automático de la configuración
  • Separación entre datos operativos y configuración
  • Eliminación controlada de archivos fuente solo después de confirmarse el guardado
  • Logs detallados por cliente y por día

Diagrama simplificado

[ PBX / API / FTP ]

[ EagleSyncWinService ]

[ EagleSyncLib ] <--- Configuración desde EagleSync

[ Almacenamiento temporal: /Cdrs/ ]

[ Procesamiento y valorización ]

[ Base de datos SQL Server ]

[ Reprocesamiento opcional (EagleProcessWinService) ]

Este flujo garantiza una operación confiable, auditable y adaptable a distintos entornos de comunicación empresarial.