Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)

CPS - Dynamic Configurations

Dynamic Configuration Properties

Name Description

processingEntity

1) The processing entity to which the instance of custom processing entity value belongs.

2) When the value "UNKNOWN" is assigned to the processing entity, the value is deemed global on IPF and applies to all processing entities. If another dynamic configuration with the same settingName exists with a specified processing entity, then the value applies to the specified processing entity while the global value applies to all other processing entities.

settingCategory

The Category of the settings as defined by the client implementations. This allows multiple settings to be grouped into a category and be queried together using the domain API.

E.g. InitiationSettings, OrchestrationSettings, SEPASettings, CrossBorderSettings, FXSettings

settingName

Setting name assigned to an individual setting. Combined with a processingEntity from DPS Setting structure, represents a unique identifier for the setting.

settingFormat

Format of the value assigned to settingValue. This helps in ensuring the type safety of the values is maintained. This is particularly important when the custom processing setting is used for sourcing dynamic values into IPF studio variables.

Possible values: BOOLEAN STRING NUMBER STRING_ARRAY NUMBER_ARRAY

settingValue

The value assigned to the custom processing setting. The value can be one of the types supported on IPF. This is a nested object of a type that depends on the settingFormat property. Has a value property that contains the actual setting value of the given type.

Possible types: BooleanSettingValue StringSettingValue NumberSettingValue StringArraySettingValue NumberArraySettingValue

Note

DPSv2 also provides other attributes to the dynamic configurations out of the box. Refer Dynamic Processing Settings

DPS v2 Setting Type: SETTING_TYPE = "customprocessingsettings"

Searchable Fields

Searchable fields for Custom Processing Settings are:

  • status

  • processingEntity

  • settingName

  • settingCategory

Indexes

DPS v2 provides an option to configure indexes for each setting. Default indexes for Custom Processing Settings are:

ipf.dps.mongodb.index-config.customprocessingsettings {
    index-1 = ["status:ASC"]
    index-2 = ["processingEntity:ASC"]
    index-3 = ["payload.settingName:ASC"]
    index-4 = ["payload.settingCategory:ASC"]
}

This can be overridden or updated. Just note that when the field is under payload, you need to provide an index like: index-x = ["values.payload.fieldX:ASC"]. Field processingEntity is added in to the setting search so for better performance it is recommended that an index for processingEntity is created.

Clients that use Cosmos database need to add lastUpdatedAt as index for custom processing settings collection, as well as approvals collection. There is also a need to switch off automatic creation of indexes by setting the following property: ipf.mongodb.create-indexes = false.

History

There is an option to disable history on setting level. History is enabled by default:

ipf.cps.should-save-history.custom-processing-settings = true

Setting Examples

Boolean Setting Value

{
  "settingName": "enableFeatureX",
  "settingCategory": "FeatureFlagSettings",
  "settingFormat": "BOOLEAN",
  "settingValue": {
    "value": true
  }
}

String Setting Value

{
  "settingName": "notificationEmail",
  "settingCategory": "NotificationSettings",
  "settingFormat": "STRING",
  "settingValue": {
    "value": "admin@example.com"
  }
}

Number Setting Value

{
  "settingName": "maxRetryAttempts",
  "settingCategory": "RetrySettings",
  "settingFormat": "NUMBER",
  "settingValue": {
    "value": 3
  }
}

String Array Setting Value

{
  "settingName": "supportedCountries",
  "settingCategory": "CrossBorderSettings",
  "settingFormat": "STRING_ARRAY",
  "settingValue": {
    "value": ["US", "GB", "DE", "FR"]
  }
}

Number Array Setting Value

{
  "settingName": "allowedErrorCodes",
  "settingCategory": "SupportedCodesSettings",
  "settingFormat": "NUMBER_ARRAY",
  "settingValue": {
    "value": [400, 403, 404]
  }
}