FINS Customers Process API - Implementation Template
home
This asset is a component of the MuleSoft Accelerator for Financial Services, which accelerates the implementation of essential integration use cases.
The solution boosts time-to-value in your customer 360 initiatives with pre-built APIs, templates, and reference architectures for financial services. Our foundational assets are expertly designed to jumpstart your top integration and business initiatives so that IT teams can spend more time innovating and less time building from scratch.
Summary
This integration template implements the FINS Customers Process API specification to orchestrate the Customer, Individual, Organization, and Household creation and update to/from the Salesforce FSC Banking, Salesforce FSC Insurance, Salesforce FSC Wealth, Salesforce Marketing, LOS, and Core Banking systems.
This API uses the Accelerator Global Party Process API to maintain a global representation of a customer, which can provide a 360 degree view of the customer by storing identifiers representing the customer in various systems. A unique global ID is generated for each customer to uniquely identify the profiles being synchronized across all target systems.
The Cloud Information Model (CIM) is leveraged to interact with each of the System APIs that have been developed for Customer sync use cases.
Getting started
The Accelerators setup 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, proceed with the Getting started instructions for this asset.
Processing
The following diagram describes how this application processes an update to a Household entity from Anypoint MQ to MDM and three Salesforce FSC instances. Processing an update from an API request, and to other targets, follows a similar process.
It should be noted that this process is depicted as using "upserts" for persisting objects in FSC solely for the purpose of keeping the diagram readable. In actual fact, our System APIs have separate endpoints for the creation and update of objects to allow for a wider range of use cases. The logic to look up an object and determine whether a create or update call is required is part of the Customers Process API - it is just not shown here for the sake of clarity.
Implementation notes
- The sync to a specific target system can be enabled/disabled using the property
enabled
under the System API's Configuration in the properties file. For example, settingcore-banking-sys-api.enabled
to true enables the sync to Core Banking System API. By default, the Salesforce FSC Banking, Salesforce FSC Insurance, Salesforce FSC Wealth, and Salesforce Marketing syncs are enabled. - The current implementation do not support sync of organizations with other systems as they do not provide support to create/update Organizations without a Customer. When a get of an organization is made, its returned from MDM if exists.
- The current implementation does not automatically relate a Household to any other Party, but this can be accomplished using the
put:/parties/{partyId}/relatedParties
endpoint in the Accelerator Global Party Process API. - It is expected that the payload sent to
put:\customers
includes acustomerNumber
property. If the property is not present a sequence number (maintained in an object store) is used. The start value of the sequence is specified by the propertystart-sequence.customer-number
, with a default value of100000
. If the object store is deleted, or if a different sequence number needs to be used, update the property accordingly before starting the application.
Additional resources
- The Prerequisites tab provides detailed information about configuring dependencies this application has on external systems or services.
- The Deployment tab provides instructions on running the application locally from Studio or deploying to CloudHub.
- The Data mappings tab describes the mappings if any specific to interact with other system APIs.