FINS SilverLake Accounts System 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 Core Banking Accounts System API specification. This API is for working with the Jack Henry SilverLake provider.
The FINS Silverlake Accounts System API can be used to manage financial accounts, cards, and transactions in a Jack Henry SilverLake instance.
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:
- Jack Henry SilverLake instance
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.
jXchange Web Services
The following table lists the jXchange SilverLake services used by this implementation:
API Endpoint | SilverLake Service - Operation |
---|---|
get:/accounts/{accountId} | InquiryService - AcctInq |
get:/accounts | InquiryService - AcctSrch |
get:/accounts/{accountId}/transactions | DepositService - AcctHistSrch |
post:/accounts | CustomerService - AcctIdGen , DepositService - AcctAdd, LoanService - LoanAdd |
patch:/accounts/{accountId} | DepositService - AcctMod, LoanService - LoanMod |
get:/transactions | DepositService - AcctHistSrch |
get:/transactions/(transactionId) | DepositService - AcctHistSrch |
post:/accounts/{accountId}/transactions | TransactionService - TrnAdd,XferAdd |
patch:/transactions/transactions | TransactionService - TrnAMod, XferMod |
get:/accounts/{accountId}/cards | CustomerService - EFTCardSrch & EFTCardInq |
post:/accounts/{accountId}/cards | CustomerService - EFTCardAdd |
get:/cards | CustomerService - EFTCardInq |
get:/cards/{cardId} | CustomerService - EFTCardInq |
patch:/cards/{cardId} | CustomerService - EFTCardMod |
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 |
jack-henry-ws.username | Username for connecting to Jack Henry jXchange Service |
jack-henry-ws.password | Password for connecting to Jack Henry jXchange Service |
jack-henry-ws.routing-id | Jack Henry jXchange Service Institution Routing ID |
jack-henry-ws.consumer-name | Jack Henry jXchange consumer name |
jack-henry-ws.consumer-product | Jack Henry jXchange consumer product |
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
- This version of the template uses the Jack Henry jXchange Connector instead of using the Web Service Consumer Connector as implemented in prior versions.
- Creation of Financial Accounts with Account Type BlockchainAccount, GeneralLedgerAccount, and CreditCardAccount are not supported by SilverLake.
- The implementation always populates the SilverLake Financial Account id for accountNumber field. An id or accountNumber cannot be changed.
- SilverLake System requires Financial Accounts, Financial Transactions to be created/updated with few mandatory parameters (example - BrCode, ProdCode, AcctType, TranCode, and others). These parameters have been set with default values and can be amended through the config files.
- Account ID returned by the implementation for Financial Account is of - format as Jack Henry SilverLake System mandates passing of Account Type along with Account ID for all operations that are related to the Financial Account.
- Only the Account Status (OPEN, ON_HOLD, CLOSED, and DORMANT) of the Financial Account can be changed using the patch:/account/{accountId} endpoint.
- Currency is always defaulted to USD.
- There is no appropriate field to store GlobalIDs in the SilverLake System.
- Retrieval and Search of Financial Accounts, Financial Transactions, and Financial Cards does not support retrieval of all balances and auditInfo fields: the results returned will contained configured default values.
- Search results for Financial Accounts do not return any Secondary Owners, even if they are associated with the Financial Account. Only retrieval of a specific Financial Account returns the Secondary Owners.
- Customer ID or Account ID is needed to perform Search of Financial Accounts. If either of them are not provided in the input it is treated as a Bad Request by the implementation.
- Account ID is needed to fetch Financial Transactions. If Account ID is not provided in the input it is treated as a Bad Request by the implementation.
- Account ID or Card ID is needed to perform Search of Financial Cards. If either of them are not provided in the input it is treated as a Bad Request by the implementation.
- Search for Financial Accounts, Financial Transactions and Financial Cards by External Id returns no results.
- Search for Financial Accounts, and Financial Cards with fromDate and toDate is not supported.
- Financial Transaction of type PaymentTransaction is not supported by the implementation.
- SilverLake System runs nightly jobs to post Financial Transactions. Balances are only rightly reflected after the jobs are completed.
- Creation of a Financial Transaction with type TransferTransaction in Jack Henry SilverLake System returns XferKey. This key is returned as Transaction ID by the implementation. Search using the Transaction ID (XferKey) may not return accurate results until the transaction is Posted in SilverLake System.
- Filtering of records is done by the Implementation as Jack Henry SilverLake System always returns a superset of records that meet the input criteria.
- This implementation does not support cards with Card Type as CreditCard.
- Financial Cards can only be created for Financial Accounts with Status as
Open
in SilverLake System.
Additional resources
- The Data mappings tab describes how the request and response data structures are mapped between the API interface and the Jack Henry SilverLake provider.
- Refer to the Accelerators documentation home for more information about the MuleSoft Accelerators.