FINS Core Banking Poller Process API - Implementation Template
home
This API implementation template is a component of MuleSoft Accelerators, which accelerate the implementation of essential integration use cases.
The solution includes pre-built APIs, connectors, and integration templates that help unlock business-critical data from external systems and guide you in adopting best practices synthesized from thousands of customer implementations. Use these assets as is or extend them to meet your company’s unique needs.
Overview
This integration template implements the CoreBanking Poller Process API specification. This implementation template can be configured to use the back-end as either Jack Henry SilverLake, Thought Machine or MariaDB implementation of Generic Core Banking System.
In addition to implementing the API specification, this implementation template provides the following functionality when the back-end is configured as MariaDB implementation of Generic Core Banking System:
- Scheduled poller to publish updated Customer profiles only.
- Scheduled poller to publish updated Financial Accounts only.
- Scheduled poller to publish updated Account Transactions only.
- Scheduled poller to publish updated Account Cards only.
Another scheduled poller is available to publish all Customer profiles along with their associated Accounts, Transactions, and Cards. This is intended for one-time use only and is disabled by default.
Getting started
The Getting Started with MuleSoft Accelerators guide provides general information on getting started with the accelerator components. This includes instructions on setting up your local workstation for configuring and deploying the applications. |
Once your workstation has been set up and the application template imported into Anypoint Studio, proceed with the Prerequisites section.
Prerequisites
This implementation template has the following dependencies:
- Anypoint MQ Destinations
- Create PushTopics
- Accelerator MariaDB Global Party System API
- Accelerator MariaDB Global Financial Account System API
- FINS Core Banking Customers System API
- FINS Core Banking Accounts System API
Please review the use cases described on the MuleSoft Accelerator for Financial Services solution pages for more information about dependencies on other APIs and services.
Anypoint MQ destinations
The following Anypoint MQ destinations must be created and accessible for this API:
- fins-partyrole-update-exchange
- fins-account-update-exchange
- fins-transaction-update-exchange
- fins-card-update-exchange
The FINS Common Resources asset contains a Postman collection, which can be used to create the destinations and client application required for use by accelerator applications.
API dependencies
The following table lists all endpoints used by this API.
API name | Endpoint | Action |
---|---|---|
Accelerator MariaDB Global Party System API | get:/customers | Search a customer party role |
Accelerator MariaDB Global Party System API | get:/partyRoles/{partyRoleId}/externalIds | |
Accelerator MariaDB Global Party System API | get:/partyRoles/{partyRoleId} | Retrieve an existing party role |
Accelerator MariaDB Global Financial Account System API | get:/accounts | Search accounts in Global Data |
Accelerator MariaDB Global Financial Account System API | get:/accounts/{accountId}/externalIds | Retrieve externalIds of an existing account |
FINS Core Banking Customers System API | get:/customers | Search for an existing customer |
FINS Core Banking Customers System API | get:/customers/{customerId} | Retrieve an existing customer |
FINS Core Banking Accounts System API | get:/accounts | Search a customer party role |
FINS Core Banking Accounts System API | get:/accounts/{accountId} | Retrieve an existing account |
FINS Core Banking Accounts System API | get:/transactions | Search for existing transaction |
FINS Core Banking Accounts System API | get:/cards | Search for an existing cards |
Deployment
Each Accelerator implementation template in Exchange includes Bash and Windows scripts for building and deploying the APIs to CloudHub. These scripts depend on repositories, global settings, deployment profiles, and associated properties configured in the Maven settings.xml
file.
For additional details, please refer to the Application Deployment section of the Getting Started Guide.
Preparation
Ensure the Maven profile CloudHub-FINS-DEV
has been properly configured in your settings.xml
file. In particular, make sure the common properties for your environment have been provided (e.g., Anypoint Platform client ID and secret).
Required property overrides
At a minimum, the following properties must be customized for this application to reflect the target deployment environment.
Property Name | Description |
---|---|
api.autodiscoveryID | Required if using API Manager to secure this API |
anypoint-mq.server-url | Anypoint MQ Server Url |
anypoint-mq.client-id | Anypoint MQ Client Id |
anypoint-mq.client-secret | Anypoint MQ Client Secret |
sys.core-banking.accounts.host | The hostname of the Core Banking System. This is defaulted to use the Maria DB Implementation of FINS Core Banking Accounts System API and can be updated to use the Jack Henry SilverLake or the Thought Machine implementation |
sys.core-banking.customers.host | The hostname of the Core Banking System. This is defaulted to use the Maria DB Implementation of FINS Core Banking Customers System API and can be updated to use the Jack Henry SilverLake or the Thought Machine implementation |
default-from-date | Default date from which the data is synced from CoreBanking to other target systems |
transactions-history-in-days | The number of days past today for which the transactions of a financial account need to be synced when post:\pollers\accounts is invoked. |
Testing
Use Advanced Rest Client or Postman to send a request over HTTPS. The template includes a Postman collection in the src/test/resources
folder. Update the collection variable(s) after successful import.
Implementation notes
- poll-all scheduler has been disabled and it can be used for one time sync. This process do not detect changes made to accounts, transactions, and cards and should be disabled after initial sync.
- The poller process filters the updates to the customer profiles, accounts, transaction, and cards that were initiated by any of the System APIs and process the rest of updates by looking at the updatedBy field. In most cases the updatedBy field holds the app name of the system API. It has been introduced to avoid cyclic updates during the sync process with other systems. A property with value as a regular expression hasbeen introduced to match the names of System APIs involved in the sync process. The default value of the property matches all of the System APIs.
- The poll-customers, poll-accounts, poll-transactions, and poll-cards sync pollers are staggered at different intervals as the dependent objects needs to be synced before they are run.
- All the schedulers are disabled by default and can be enabled by using the relevant
scheduler.state
flag in the properties file. - This API can be used to perform on demand sync of customers, accounts, transactions and cards from a configured Core Banking System. A configuration has been provided to retrieve transactions that are with in configured number of days. The default value set is 30.
- FINS Core Banking Customers System API, FINS SilverLake Customers System API, and FINS Thought Machine Customers System API use the same API specifications and one of the API implementations can be configured for this process API.
- FINS Core Banking Accounts System API, FINS SilverLake Accounts System API, and FINS Thought Machine Accounts System API use the same API specifications and one of the API implementations can be configured for this process API.
Current Limitations:
1. Poller process API picks all the accounts when poll-transactions and poll-cards pollers are triggered.
2. Pollers process API only process the first page of results returned by the search calls that are made to Core Banking Customers/Accounts System API's.
3. If Thought Machines is configured as Core Banking system, only customers, accounts, transactions can be synced on demand.
Additional resources
- The Data mappings tab describes how the request and response data structures are mapped between the API interfaces.
- Refer to the Accelerators documentation home for more information about the MuleSoft Accelerators.