FINS Bank Accounts 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 FINS Bank Accounts Process API specification. It supports the following functionalities:
- Create/Update Financial Accounts in downstream systems
- Create/Update Financial Transaction in downstream systems
- Create/Update Financial Card in downstream systems
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
- Accelerator Global Financial Accounts System API
- Accelerator Global Party System API
- FINS Salesforce Financial System API
- FINS Credit Card 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.
API dependencies
The following table lists all endpoints used by this API.
API name | Endpoint | Action |
---|---|---|
Accelerator Global Financial Account System API | get:/accounts | Search Accounts |
Accelerator Global Financial Account System API | get:/accounts/accountId | Get Accounts using Id |
Accelerator Global Financial Account System API | put:/accounts | Create/Update Accounts |
Accelerator Global Financial Account System API | put:/accounts/{accountId}/externalIds | Update Account ExternalIds using AccountId |
Accelerator Global Financial Account System API | get:/transactions | Search Transactions |
Accelerator Global Financial Account System API | get:/transactions/{transactionId} | Get Transaction using transactionId |
Accelerator Global Financial Account System API | put:/transactions | Create/Update Transaction |
Accelerator Global Financial Account System API | put:/transactions/{transactionId}/externalIds | Update Account ExternalIds using transactionId |
Accelerator Global Financial Account System API | get:/cards | Search cards |
Accelerator Global Financial Account System API | get:/cards/{cardId} | Get card using cardId |
Accelerator Global Financial Account System API | put:/cards | Create/Update card |
Accelerator Global Financial Account System API | put:/cards/{cardId}/externalIds | Update card ExternalIds using cardId |
Accelerator Global Party System API | get:/customers/{customerId} | Get customer using customerId |
Accelerator Global Party System API | put:/customers | create/update customers |
Accelerator Global Party System API | put:/parties | create/update Parties |
Accelerator Global Party System API | get:/parties/{partyId} | Get party using partyId |
FINS Core Banking Accounts System API | get:/accounts | Search Accounts |
FINS Core Banking Accounts System API | get:/accounts/{accountId} | Get Accounts using Id |
FINS Core Banking Accounts System API | patch:/accounts/{accountId} | Update Account using Id |
FINS Core Banking Accounts System API | post:/accounts | Create Accounts |
FINS Salesforce Financial System API | get:/accounts | Search Accounts |
FINS Salesforce Financial System API | get:/accounts/{accountId} | Get Accounts using Id |
FINS Salesforce Financial System API | patch:/accounts/{accountId} | update Accounts using Id |
FINS Salesforce Financial System API | post:/accounts | Create Accounts |
FINS Salesforce Financial System API | get:/accounts/{accountId}/cards | Search Cards |
FINS Salesforce Financial System API | get:/accounts/{accountId}/cards/{cardId} | Get cards using Card Id |
FINS Salesforce Financial System API | patch:/accounts/{accountId}/cards/{cardId} | Update Cards using Card Id |
FINS Salesforce Financial System API | post:/accounts/{accountId}/cards | Create Cards |
FINS Credit Card System API | get:/accounts/{accountId}/cards | Search Cards |
FINS Credit Card System API | get:/accounts/{accountId}/cards/{cardId} | Get cards using Card Id |
FINS Credit Card System API | patch:/accounts/{accountId}/cards/{cardId} | Update Cards using Card Id |
FINS Credit Card System API | post:/accounts/{accountId}/cards | Create Cards |
Anypoint MQ Destinations
In addition to the Anypoint MQ client application credentials, the following destinations must be created and made accessible to this API:
- fins-customer-update-queue
- fins-account-update-queue
- fins-transaction-update-queue
- fins-card-update-queue
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.
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
Many templates can also be run from Anypoint Studio without having to customize the Run/Debug profiles. However, some templates make use of hidden deployment properties to protect sensitive information (e.g., passwords and secret keys). These properties must be supplied to the runtime by updating the configuration profile and adding them as VM arguments. At a minimum, the following properties must be customized 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 for the targeted region |
anypoint-mq.customer-queue-name | Anypoint MQ queue for Customer updates |
anypoint-mq.account-queue-name | Anypoint MQ queue for Account updates |
anypoint-mq.transaction-queue-name | Anypoint MQ queue for Transaction updates |
anypoint-mq.card-queue-name | Anypoint MQ queue for Card updates |
anypoint-mq.client-id | Anypoint MQ client-id |
anypoint-mq.client-secret | Anypoint MQ client-secret |
sys.corebanking.accounts.host | Hostname for CoreBanking-Accounts SYS API |
sys.corebanking.accounts.port | Port for CoreBanking-Accounts SYS API |
sys.corebanking.accounts.basepath | Basepath for CoreBanking-Accounts SYS API |
sys.creditcard.host | Hostname for CreditCard SYS API |
sys.creditcard.port | Port for CreditCard SYS API |
sys.creditcard.basepath | Basepath for CreditCard SYS API |
sys.global-party.host | Hostname for Accelerator Global Party System API |
sys.global-party.port | Port for Accelerator Global Party System API |
sys.global-party.basepath | Basepath for Accelerator Global Party System API |
sys.global-financial-accounts.host | Hostname for Accelerator Global Financial Account System API |
sys.global-financial-accounts.port | Port for Accelerator Global Financial Account System API |
sys.global-financial-accounts.basepath | Basepath for Accelerator Global Financial Account System API |
sys.salesforce-financial.host | Hostname for Salesforce-Financial SYS API |
sys.salesforce-financial.port | Port for Salesforce-Financial SYS API |
sys.salesforce-financial.basepath | Basepath for Salesforce-Financial SYS API |
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
- Sync of Financial Cards to Core Banking System using Jack Henry SilverLake as the provider is not supported.
- Sync of Financial Accounts with secondary owners to Core Banking System using Jack Henry SilverLake as the provider is not supported.
- Sync of Financial Accounts with Account Type BlockchainAccount, GeneralLedgerAccount, and CreditCardAccount to Core Banking System using Jack Henry SilverLake as the provider is not supported.
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.