FINS Salesforce Topic Listener API - Implementation Template

(0 reviews)

home

This asset is a component of the MuleSoft Accelerator for Financial Services, which accelerates the implementation of essential integration use cases.


Summary

The following functionality is supported by the Salesforce Topic Listener application.

Customer topic listener

This listens to the PushTopic configured in Salesforce on Account (PersonAccount & Account types). The PushTopic filter records based on LastModifiedBy <> Service Account User ID and RecordTypeId <> Household Record Type Id. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields including customer and contact information are part of this PushTopic query. These fields are received as JSON Object from Salesforce and ransformed to CIM data type and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Note: The Mule idempotent message validator is used to ensure that only unique messages are published to Anypoint MQ. The Salesforce Account ID with an expiration interval and ttl of 30 seconds (configurable) is used as the unique ID to filter out duplicate Mule messages.

Contact topic listener

This listens to the PushTopic configured in Salesforce on Contact. The PushTopic filter records based on LastModifiedBy <> Service Account User ID. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates. The fields in the pushtopic query include contact information. These fields are received as JSON Object from Salesforce and transformed to CIM data type (Party as Individual) and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Household topic listener

This listens to the PushTopic configured in Salesforce on Account that is of record type Household. The PushTopic filter records based on LastModifiedBy <> Service Account User ID and of record type Household. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields in the pushtopic query include household account information. These fields are received as JSON Object from Salesforce and transformed to CIM data type (Party as Household) and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Lead topic listener

This listens to the PushTopic configured in Salesforce on Leads and Referrals. The PushTopic filter records based on LastModifiedBy <> Service Account User ID. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields in the pushtopic query include lead information. These fields are received as JSON Object from Salesforce and transformed to CIM data type (Party as Individual) and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Note: Due to limitations of PushTopic, Description field of type Long Text Area cannot be added to the SELECT query.

Opportunities topic listener

This listens to the PushTopic configured in Salesforce on Opportunity. The PushTopic filter records based on LastModifiedBy <> Service Account User ID. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields in the pushtopic query include Opportunity information. These fields are received as JSON Object from Salesforce and transformed to CIM data type (Party as Opportunity) and published to Anypoint MQ. As Opportunity is always related to Account in Salesforce, and pushtopics in Salesforce do not support related Objects, a call is made to fins-salesforce-customers-api opportunities endpoint before the message is published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Financial account topic listener

This listens to the PushTopic configured in Salesforce on FinServFinancialAccountc. The PushTopic filter records based on LastModifiedBy <> Service Account User ID. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields in the pushtopic query include financial account information. These fields are received as JSON Object from Salesforce and transformed to CIM data type (Accounts) and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Transactions topic listener

This listens to the PushTopic configured in Salesforce on FinServFinancialAccountTransactionc. The PushTopic filter records based on LastModifiedBy <> Service Account User ID. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields in the puhstopic query include transaction information. These fields are received as JSON Object from Salesforce and transformed to CIM data type (Transaction) and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Cards topic listener

This listens to the PushTopic configured in Salesforce on FinServCardc. The PushTopic filter records based on LastModifiedBy <> Service Account User ID. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields in the puhstopic query include card information. These fields are received as JSON Object from Salesforce and transformed to CIM data type (Card) and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Note: The fields 'Account Holder','Card Type', 'Financial Account' and 'Cardholder Name' are optional in FSC. For cards sync process, these fields are mandatory for syncing to all downstream APIs.

Contact address topic listener

This listens to the PushTopic configured in Salesforce on Contacts. The PushTopic is notified when postal address related fields are updated and filter records based on LastModifiedBy <> Service Account User ID. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields in the PushTopic query include the contact's postal address information, including MailingStreet, MailingCity, MailingPostalCode, MailingState, MailingCountry, MailingLatitude, MailingLongitude, and MailingGeocodeAccuracy. These fields are received as a JSON object from Salesforce, transformed to the ContactPoint CIM structure, and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Customer address topic listener

This listens to the PushTopic configured in Salesforce on Accounts. The PushTopic is notified only when postal address related fields are updated and filter records based on LastModifiedBy <> Service Account User ID and RecordTypeId <> Household Record Type Id. This is to filter out updates done by fins-salesforce-topic-listener to avoid cyclical updates.

The fields in the PushTopic query include postal address information. For a Person Account, the fields PersonMailingStreet, PersonMailingCity, PersonMailingPostalCode, PersonMailingState, PersonMailingCountry, PersonMailingLatitude, PersonMailingLongitude, and PersonMailingGeocodeAccuracy are captured. For an Organization, the fields BillingStreet, BillingCity, BillingPostalCode, BillingState, BillingCountry, BillingLatitude, BillingLongitude, and BillingGeocodeAccuracy are captured. These fields are received as a JSON object from Salesforce, transformed to the ContactPoint CIM structure, and published to Anypoint MQ. In case of any failure the incoming original payload is published to dead letter queue by the exception handler.

Getting started

bulb.png 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.

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 how data is mapped between the Salesforce instance and the canonical model.

Reviews

TypeTemplate
OrganizationMuleSoft
Published by
MuleSoft Solutions
Published onDec 13, 2022
Asset overview

Asset versions for 1.7.x

Asset versions
VersionActions
1.7.0