Cliente: Veris - Síntesis de flujos, contratos de interfaz, decisiones y riesgos de integración
Nómina360 y Phantom X intercambian datos a traves de 6 puntos de integración. Cadencia general por lotes (job a las 2 AM); los catálogos y la consulta de disponibilidad usan canal en línea.
N360. Esquema mínimo a Phantom: cédula, nombres, apellidos, departamento, centro de costo, localidad, agencia (nombre y código). La interfaz de sincronización del maestro está pendiente por definición con Veris.
Pendiente por definición: si la asignación del turno se hace en Phantom o en N360. Hipótesis actual: la agenda planificada en Phantom genera el turno del empleado en N360. Recargos legales se aplican transversalmente en N360.
N360. Cada tipo viaja con estado y vigencia (desde-hasta), no solo la lista. Los feriados NO se envían. Pendiente por definición: tipos y categorías de vacaciones. Phantom consume el catálogo al capturar ausencias del mismo día.
Phantom emite eventos crudos (login = entrada, logoff = salida). N360 calcula atrasos, horas extras y recargos. Reproceso por nueva consulta completa: trae solo lo nuevo o modificado.
Clave primaria: cédula. Segundo validador: código de empleado (Veris ya lo usa). Ambos viajan en todos los contratos.
Todo permiso lleva idOrigen (N360 o PHANTOM) + idExterno cruzado. La consulta es incremental con acuse de consumido: ningún sistema re-procesa ni re-publica lo que originó el otro.
Corte el 31 a las 23:59. Qué hacer con novedades que llegan después del corte está aún por definir con Veris (punto D4 de la pestaña Decisiones y Riesgos).
El contrato técnico del API en línea está por definir con los equipos técnicos (punto D5 de la pestaña Decisiones y Riesgos). Para efectos del diseño se asume: N360 expone API REST que Phantom consume y viceversa.
| # | Punto de integración | Dirección | Datos clave | Cadencia | Notas |
|---|---|---|---|---|---|
| 1 | Maestro de empleado Pendiente por definición | Nómina360 → Phantom X | Cédula, nombres, apellidos, departamento (código + nombre), centro de costo, localidad, agencia | Batch 2:00 AM | Pendiente por definición con Veris: lo mostrado es la propuesta de N360. Alta, modificación y baja. La baja inactiva al empleado en Phantom. |
| 2 | Catálogo de tipos de permiso | Nómina360 → Phantom X | Código, nombre, reglas del tipo (paga, descuenta, requiere documento), estado, vigencia | En línea + batch 2:00 AM | Phantom consume el catálogo y lo usa al capturar ausencias del mismo día. Los feriados NO se envían. Pendiente por definición: tipos y categorías de vacaciones en el catálogo. |
| 3 | Gestión de turnos Pendiente por definición | Phantom X → Nómina360 | Cédula + código de empleado, fecha, horario (instancia diaria) | Día caído + corte 31 23:59 | Misma configuración para todos los empleados (el tipo del empleado puede ser médico). Recargos legales se aplican en N360. Pendiente por definición: dónde se asigna el turno — hipótesis: la agenda planificada en Phantom genera el turno del empleado en N360. |
| 4 | Marcaciones (login / logoff) | Phantom X → Nómina360 | Cédula + código de empleado, fecha, hora, tipo de marcación (eventos crudos) | Batch 2:00 AM | N360 calcula atrasos, horas extras y recargos 25 / 50 / 100, fines de semana y feriados. Reproceso = nueva consulta completa por rango que devuelve solo lo nuevo o modificado (idempotente). |
| 5 | Permiso o vacación generado en Phantom | Phantom X → Nómina360 | Cédula + código, tipo (catálogo N360), fecha, motivo, idOrigen=PHANTOM + idExterno | Batch 2:00 AM | Entra en N360 como Por Registrar (sin aprobación). Sin retroalimentación de rechazo: para Phantom el empleado ya no trabajó ese día. Consulta incremental con acuse de consumido (anti-eco). |
| 6 | Permiso o vacación programado | Nómina360 → Phantom X | Cédula + código, tipo, fechas desde-hasta, idOrigen=N360 | Push en línea + consulta en línea | Phantom no puede rechazar. Política N360: no se registran permisos ni vacaciones con fecha de hoy (solo pasadas o futuras); el mismo día nace solo en Phantom. Phantom consulta disponibilidad antes de abrir agenda. |
Vista de los endpoints acordados. Cada dato tiene un solo dueño: N360 es dueño de los datos del empleado, del catálogo de permisos y del registro oficial de ausencias; Phantom X es dueño de la operación diaria (turnos, marcaciones, ausencias del mismo día).
| # | Contrato | Para qué consume N360 | Payload mínimo | Cadencia | Reglas clave |
|---|---|---|---|---|---|
| P1 | GET marcaciones | Calcular atrasos, horas extras y recargos legales en el rol de pagos | Cédula, código de empleado, fecha, hora, tipo de marcación (entrada / salida) | Batch 2:00 AM | Eventos crudos: N360 toma lo recibido como verdad. Reproceso = nueva consulta completa por rango de fechas; Phantom devuelve solo lo nuevo o modificado. Consulta idempotente. |
| P2 | GET permisos y vacaciones generados en Phantom | Registrar en N360 (estado Por Registrar) la ausencia capturada durante la planificación de agenda | Cédula, código, tipo (del catálogo N360), categoría, fecha(s), motivo, idExterno Phantom | Batch 2:00 AM | Consulta incremental (desde última sincronización) con acuse de consumido. idOrigen=PHANTOM evita el eco. Sin retroalimentación de rechazo: para Phantom ese empleado ya no trabajó ese día. |
| # | Contrato | Para qué consume Phantom | Payload mínimo | Cadencia | Reglas clave |
|---|---|---|---|---|---|
| N1 | GET catálogo de tipos de permiso (mantenimiento) | Poblar el select de tipos y categorías al registrar un permiso: el catálogo nace y vive en N360 | Código, nombre, categoría, reglas (paga / descuenta / requiere documento), estado, vigencia desde-hasta | En línea + batch respaldo | Catálogo versionado con vigencias. Los feriados NO se envían. Si un tipo se inactiva, Phantom deja de ofrecerlo; N360 valida el tipo al recibir cada permiso. Pendiente por definición: tipos y categorías de vacaciones en el catálogo. |
| N2 | GET estado del empleado (disponibilidad) | Verificar antes de planificar agenda si el empleado está con permiso o vacación en N360 | Cédula o código + fecha (o rango) → estado: disponible / ausencia activa con tipo y fechas | Consulta en línea | Obligatoria al abrir agenda, no opcional. Complementa el push N360 → Phantom al aprobar (doble control). Contrato técnico por definir con los equipos (punto D5 de la pestaña Decisiones y Riesgos): autenticación, timeout, fallback. |
| # | Contrato | Dirección | Propósito | Cadencia |
|---|---|---|---|---|
| S1 | Maestro de empleado Pendiente por definición | N360 → Phantom | Alta, modificación y baja con esquema mínimo (cédula, código, nombres, depto, CC, localidad, agencia). La interfaz está pendiente por definición con Veris; lo mostrado es la propuesta de N360. | Batch 2:00 AM |
| S2 | Turnos asignados Pendiente por definición | Phantom → N360 | Instancia diaria de turno como input del cálculo de recargos. Pendiente por definición dónde se asigna el turno: la hipótesis es que la agenda planificada en Phantom genera el turno en N360. | Día caído + corte 31 23:59 |
| S3 | Push de permiso programado aprobado | N360 → Phantom | Notificación inmediata al aprobar, con cola de reintentos; Phantom no puede rechazar | Push en línea |
Lista de puntos a cerrar con Veris antes de pasar a diseño técnico de la integración.