Pular para o conteúdo principal

Modelo Técnico: Subscription

Ubicación SSoT: com.neosystima.app.modules.main.data.model.Subscription

Campo API: client

Client?

1. Definición de Negocio

AtributoDetalle
EtiquetaCliente
DescripciónReferencia al cliente propietario de esta suscripción comercial.
DominioTabla Client
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: ID Foráneo
Regla UI: Campo de solo lectura en edición.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Motor de Facturación / Plataforma
  • Validaciones Raw: El cliente debe existir en la base de datos.
  • Longitud Max: 255

Ejemplo de Integración:

{
"client": "105, 204"
}

Campo API: currency

String

1. Definición de Negocio

AtributoDetalle
EtiquetaMoneda del Período
DescripciónMoneda en la que se transaccionó este pago específico (ISO 4217).
DominioMonedas Internacionales
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ISO 4217
Regla UI: Texto estándar de 3 caracteres.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: ARS
  • Fuente / Dueño: Pasarela de Pagos / Plataforma
  • Validaciones Raw: Código de moneda válido internacionalmente.
  • Longitud Max: 3

Ejemplo de Integración:

{
"currency": "ARS, USD"
}

Campo API: endDate

LocalDateTime?

1. Definición de Negocio

AtributoDetalle
EtiquetaFin del Período
DescripciónFecha y hora límite que cubre el pago de esta suscripción (corte de servicio).
DominioFechas
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ISO 8601
Regla UI: Selector de fecha y hora.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Motor de Facturación / Plataforma
  • Validaciones Raw: Debe ser posterior a la fecha de inicio.
  • Longitud Max: 255

Ejemplo de Integración:

{
"endDate": "2024-06-01T23:59:59"
}

Campo API: nextBillingDate

LocalDateTime?

1. Definición de Negocio

AtributoDetalle
EtiquetaPróxima Facturación
DescripciónFecha proyectada para emitir el siguiente cobro o aviso de renovación.
DominioFechas
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: ISO 8601
Regla UI: Selector de fecha (Solo lectura).

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Pasarela de Pagos (Webhooks) / Plataforma
  • Validaciones Raw: Usualmente anterior o igual al Fin del Período.
  • Longitud Max: 255

Ejemplo de Integración:

{
"nextBillingDate": "2024-05-25T00:00:00"
}

Campo API: plan

Plan?

1. Definición de Negocio

AtributoDetalle
EtiquetaPlan Suscripto
DescripciónReferencia al plan comercial contratado y congelado para este período.
DominioTabla Plan
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ID Foráneo
Regla UI: Selector de planes disponibles.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Ventas / Motor de Facturación / Plataforma
  • Validaciones Raw: El plan debe estar activo al momento de la suscripción.
  • Longitud Max: 255

Ejemplo de Integración:

{
"plan": "2 (Pro), 3 (Enterprise)"
}

Campo API: priceAtPeriod

BigDecimal REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaPrecio Congelado
DescripciónMonto exacto que se le cobró al cliente por este período(protege el historial si el precio del plan cambia a futuro).
DominioFinanciero
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Decimal (10,2)
Regla UI: Input numérico bloqueado (solo lectura histórico).

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: 0.00
  • Fuente / Dueño: Motor de Facturación / Plataforma
  • Validaciones Raw: Mayor o igual a cero.
  • Longitud Max: 255

Ejemplo de Integración:

{
"priceAtPeriod": "4999.99"
}

Campo API: startDate

LocalDateTime REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaInicio del Período
DescripciónFecha y hora en la que entra en vigencia el servicio facturado.
DominioFechas
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ISO 8601
Regla UI: Selector de fecha y hora.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: CURRENT_TIMESTAMP
  • Fuente / Dueño: Motor de Facturación / Plataforma
  • Validaciones Raw: Obligatorio.
  • Longitud Max: 255

Ejemplo de Integración:

{
"startDate": "2024-05-01T00:00:00"
}

Campo API: status

Status?

1. Definición de Negocio

AtributoDetalle
EtiquetaEstado de Suscripción
DescripciónDetermina la vigencia legal de este período (ej: Activa, Vencida, Cancelada).
DominioTabla Status
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ID Foráneo
Regla UI: Selector de estados comerciales.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Motor de Facturación / Plataforma
  • Validaciones Raw: Obligatorio.
  • Longitud Max: 255

Ejemplo de Integración:

{
"status": "1 (Activa), 5 (Cancelada)"
}

Campo API: createdAt

Instant? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaFecha de Creación
DescripciónFecha y hora exacta en la que se insertó el registro por primera vez.
DominioFechas válidas pasadas o presentes
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Timestamp (ISO 8601)
Regla UI: Selector de fecha/hora. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: CURRENT_TIMESTAMP
  • Fuente / Dueño: Generado automáticamente por el framework de auditoría / Sistema
  • Validaciones Raw: No modificable tras su creación (updatable = false).
  • Longitud Max: 255

Ejemplo de Integración:

{
"createdAt": "2025-10-15T14:30:00Z"
}

Campo API: createdBy

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaCreado Por
DescripciónIdentificador principal del usuario que creó originalmente el registro.
DominioUsuarios válidos en el contexto de seguridad
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Alfanumérico
Regla UI: Campo de texto estándar. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadMEDIUM
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Extraído del contexto de seguridad (SecurityContext) / Sistema
  • Validaciones Raw: No modificable tras la creación.
  • Longitud Max: 50

Ejemplo de Integración:

{
"createdBy": "admin, guest, USR-001"
}

Campo API: id

Long? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaIdentificador del Sistema
DescripciónIdentificador numérico interno y clave primaria (Primary Key) del registro en la base de datos.
DominioNúmeros enteros positivos mayores a 0
Público🔴

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🔴
Formato: Numérico (BigInt)
Regla UI: Campo oculto o deshabilitado. No se expone directamente al usuario final para edición.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: Asignación automática
  • Fuente / Dueño: Autoincrementable y asignado por el motor de BD al insertar (INSERT). / Sistema
  • Validaciones Raw: Único e irrepetible. De solo lectura tras su creación.
  • Longitud Max: 255

Ejemplo de Integración:

{
"id": "1, 2, 1054"
}

Campo API: lastModifiedBy

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaModificado Por
DescripciónIdentificador principal del usuario que realizó la última modificación al registro.
DominioUsuarios válidos en el contexto de seguridad
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Alfanumérico
Regla UI: Campo de texto estándar. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Extraído del contexto de seguridad (SecurityContext) / Sistema
  • Validaciones Raw: Ninguna adicional.
  • Longitud Max: 50

Ejemplo de Integración:

{
"lastModifiedBy": "admin, manager"
}

Campo API: updatedAt

Instant?

1. Definición de Negocio

AtributoDetalle
EtiquetaÚltima Actualización
DescripciónFecha y hora de la última modificación del registro.
DominioFechas válidas pasadas o presentes
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Timestamp (ISO 8601)
Regla UI: Selector de fecha/hora. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: CURRENT_TIMESTAMP
  • Fuente / Dueño: Generado automáticamente por el framework de auditoría / Sistema
  • Validaciones Raw: Se actualiza automáticamente en cada operación de modificación (UPDATE).
  • Longitud Max: 255

Ejemplo de Integración:

{
"updatedAt": "2025-10-16T09:15:00Z"
}