backend/rules-engine.md

Rules Engine

Entradas

  • clientId
  • applicationId
  • licenseId
  • platform
  • environment
  • origin/package/bundle
  • targetState
  • requestedChannel
  • providerHealth
  • quotaState

Salidas

  • canal seleccionado
  • fallbackOrder
  • target requerido
  • billingPolicy
  • acción permitida/rechazada
  • error normalizado

Pseudoflujo

validateLicense()
validateEntitlement()
validateChannelAllowed()
validateQuota()
validateTargetForChannel()
selectProvider()
if provider unavailable -> evaluateFallback()