Configuration Manager

To onboard a new configuration on the platform, you must go to the Administration menu and click on Configuration Manager. This section of the administration allows users to manage configurations by exporting existing ones and importing new ones.

The Configuration Manager is restricted by specific roles. If you do not have access to this part of the platform and need to onboard new configurations, please contact your administrator.

What is a configuration?

Configurations regroups all entities required to be able to process financial messages into the Platform.

A lot of entities are mandatory to be set up for receiving and sending transactions on the Platform, but it can be time-consuming to set up an entire configuration for a newly created organization. To help to onboard users manage all configurations, the configuration management tool will reduce considerably these steps.

Why export a configuration?

By exporting a configuration associated with a specific organization, a user will generate a file using JSON format containing all the information needed to recreate each entity. The exported JSON file is a proprietary format used to import/export configurations.

Why import a configuration?

By importing a configuration into a specific organization, a user will create new configuration entities and associate them with the selected organization. The JSON file imported is a proprietary format used to import/export configurations.

The JSON file can contain all configuration entities available under an organization or only a subset.

To understand how to configure each engine, please refer to the Platform Configuration section.

Configuration JSON format

The JSON file generated by the export functionality follows the following format:

{
  "resources": {
    "configuration_1_name": 
      [
        {"configuration_attribute1": "attribute_value", ...},
        {...}
      ]
    "configuration_2_name": 
      [
        {"configuration_attribute1": "attribute_value", ...},
        {...}
      ]
  }
}

The resources keys regroup all the exported entities, each configuration of the same type exported is present in the file in a list contained under the corresponding configuration key.

Tips

  • Confidential information such as passwords/credentials will not be exported. It is necessary to add them before importing a file else the entity creation might fail and so will the whole import process.

  • Exporting some configurations will also export all their dependencies. (For example, by exporting a report, all report types associated will be exported)

Confidential information management

To understand how to add confidential information to an export: here is the resulting export of output connectivity, we can see that it specifies that the authentication type is “private_key

{
  "port": "22",
  "file_name_pattern": "file_name_pattern",
  "organization": "organization_id",
  "path": "/example/path/where/data/is",
  "host_name": "mq.{hostname}.com",
  "id": "$intref_1",
  "auth_type": "private_key",
  "user_name": "user",
  "name": "{hostname}_SFTP",
  "type": "SFTP"
}

To successfully create the entity we will need to specify the key in the JSON file we will be importing like this:

{
  "port": "22",
  "file_name_pattern": "File_name_pattern",
  "organization": "organization_id",
  "path": "/example/path/where/data/is",
  "host_name": "mq.{hostname}.com",
  "id": "$intref_1",
  "auth_type": "private_key",
  "user_name": "user",
  "name": "{hostname}_SFTP",
  "type": "SFTP",
  "passphrase": "passphrase if your key file is using one",
  "private_key": "content of your private key file",
}

Similar addition will need to be made to the file if the configuration exported included confidential data. Here is a list of entities that can include such data

  • output_connectivity

    • SSL & JKS (MQ)

      {
        "ssl_jks": "base 64 encoded JKS file content"
        "ssl_jks_password": "passphrase if the private JKS file is using one"
      }
    • Private key (SFTP)

      {
        "private_key": "content of the private key file",
        "passphrase": "passphrase if the private key file is using one"
      }
    • Password (MQ/SFTP)

      {
        "password": "password used to access the MQ/SFTP"
      }
    • SSL & KDB (MQ)

      {
        "ssl_certificate": "certificate name for KDB file",
        "ssl_kdb": "base 64 encoded KDB file content",
        "ssl_sth": "base 64 encoded STH file content",
      }
    • PGP encryption

      {
        "file_encryption_info": {
          "options": [
            "fernet" &/|| "checksum" &/|| "verify"
          ],
          "transformation_type": "PGP",
          "private_key": {
            "key": "content of the private key file",
            "passphrase": "passphrase for the private key file"
          }
          # if verify included in options
          "public_key": {
            "key": "content of the public key file"
          }
        }
      }
    • Others encryption types

      {
        "file_encryption_info": {
          "transformation_type": "AES/CBC/PKCS5Padding"||"AES/ECB/PKCS5Padding"||"DES/CBC/PKCS5Padding"||"DES/ECB/PKCS5Padding"||"DESede/CBC/PKCS5Padding"||"DESede/ECB/PKCS5Padding",
          "key": "key",
          "iv": "iv"
        }
      }
    • Authentication (API)

      {
        "authentication": "Bearer token you wish to use when accessing the specified url"
      }
  • input_connectivity

    • SSL & JKS (MQ)

      {
        "ssl_jks": "base 64 encoded JKS file content"
        "ssl_jks_password": "passphrase if the private JKS file is using one"
      }
    • Private key (SFTP)

      {
        "private_key": "content of the private key file",
        "passphrase": "passphrase if the private key file is using one"
      }
    • Password (MQ/SFTP)

      {
        "password": "password used to access the MQ/SFTP"
      }
    • SSL & KDB (MQ)

      {
        "ssl_certificate": "certificate name for KDB file",
        "ssl_kdb": "base 64 encoded KDB file content",
        "ssl_sth": "base 64 encoded STH file content",
      }
    • PGP encryption

      {
        "file_encryption_info": {
          "options": [
            "fernet" &/|| "checksum" &/|| "verify"
          ],
          "transformation_type": "PGP",
          "private_key": {
            "key": "content of the private key file",
            "passphrase": "passphrase for the private key file"
          }
          # if verify included in options
          "public_key": {
            "key": "content of the public key file"
          }
        }
      }
    • Others encryption types

      {
        "file_encryption_info": {
          "transformation_type": "AES/CBC/PKCS5Padding"||"AES/ECB/PKCS5Padding"||"DES/CBC/PKCS5Padding"||"DES/ECB/PKCS5Padding"||"DESede/CBC/PKCS5Padding"||"DESede/ECB/PKCS5Padding",
          "key": "key",
          "iv": "iv"
        }
      }

Entities dependencies

Some entities are referring others, for example, reports are referencing report_type, it also implies that when exporting an entity that references another one the referred entity will be included in the export as well, for data integrity purposes.

Here are the dependencies:

  • business_hour: payment_type, channel

  • report: report_type, output_connectivity

  • channel: output_connectivity, cartridge payment_type

  • input_connectivity: flow, channel

  • output_connectivity:flow, channel

  • flow: ruleset, cartridge

  • ruleset: rule

  • recurring_transaction: template

  • template: flow

  • date: payment_type

  • notification: output_connectivity, flow

The exported JSON file will have changed the identifications (ids) of all the data to internal references $intref_ or external references $extref_... When the data is part of the organization you are exporting, its id will be an $intref_, otherwise, it will be an $extref_. This is used to keep the entities linked together, for example, a report_type might be referenced in a report. The report_type internal reference (eg: $intref_report_type_1") will be referenced in the report that is using it.

When referencing an external entity with $extref_ in a parent entity, the parent should have permission to access the child, or the import may fail.

For example: When importing a flow with references to an external provider in the fields “post_processing_config“ and “fx_providers_config“. If the external provider referenced here does not give access to the organization imported, the process will fail.

Export configurations

Export configuration list

Export configuration list

In the export configuration list screen, you can:

  • Choose the organization you want to use to display the already exported configurations.

  • Filter the list to view a more restricted list of exported configurations or perform a search.

  • Export new configurations. For more details on how to create a new export, please refer to the section: Export a configuration.

  • Reload the table content by clicking on the Refresh button.

By clicking on a specific exported configuration from the list, you can:

  • Display the entire history of the selected exported configuration. All changes made to the export configuration since its creation are listed with the corresponding dates and the identity of the modifier.

  • Export the JSON File generated by containing the configurations for Completed exports.

  • Download the Reports generated to summarize the export errors for Failed exports.

  • The status of your exportation will change from IN PROGRESS to Completed when it has been successful. Now you can export the JSON file.

  • If something wrong happened during the exportation, the status will change to Failed. Please download the report to understand the issue.

Export a configuration

Select the organization from which you want to extract the configurations and click on Export.

Export a configuration screen

When exporting existing configurations, you need to:

  • Select the type of configuration entities you want to export.

You need to choose from the following list of configurations available:

  • You can select multiple configuration types.

Import configuration

Import configuration

Import configuration list

In the export configuration list screen, you can:

  • Choose the organization you want to use to display imported configurations.

  • Filter the list to view a more restricted list of imported configurations or perform a search.

  • import a new configurations. For more details on how to import a new configuration, please refer to the section: Import a configuration.

  • Reload the table content by clicking on the Refresh button.

By clicking on a specific imported configuration from the list, you can:

  • Display the entire history of the selected imported configuration. All changes made to the import configuration since its creation are listed with the corresponding dates and the identity of the modifier.

  • Export the JSON File imported and containing the configurations.

  • Download the Reports generated to summarize the import actions (available for Completed and Failed import).

Into the Actions button, by selecting multiple checkboxes, you can do the following operations on multiple import configurations simultaneously:

  • Select all import configuration checkboxes.

  • Unselect all import configuration checkboxes.

  • Approve the selected import configuration if the status is To Approve.

  • Reject the selected import configuration if the status is To Approve.

  • The status of your importation will change from Pending to To Approve when it has been successfully ingested.

  • You need another user to approve or reject your new imported configuration.

    • The status will change from Pending to Completed when it has been successfully processed after approval.

    • The status will change from Pending to Rejected after rejection.

  • If something wrong happened during the importation, the status will change to Failed. Please download the report to understand the issue.

Import a configuration

Select the organization where you want to import the configurations and click on Import.

Import a configuration screen

When importing new configurations, you need to:

  • Modify your JSON file so every configuration organization field indicates which organization the entity should belong to (The creator and approver will both need to have access to all these organizations)

  • Choose the JSON file you want to import.

Only JSON proprietary file format is accepted.

Configuration reports

The reports are available for import and export configurations when an error occurs during the processing.

Reports are JSON files that will provide the user with the actual error that prevented the process from being successfully executed. A report is also available for a completed import, it will summarize all the entities that were created during the execution with all their pertaining data.

The language of the report is based on the language used by the user when the import/export row was created.