Sorry, you need to enable JavaScript to visit this website.
Skip to main content

Advanced Integration

We hope you have gone through the FastLink 4 Documentation page that talks about the different FastLink product flows and provides details on how to integrate FastLink for Web.

For more information on errors, see Handling Errors.

Additional Params

You can further configure the FastLink application by passing additional launch parameters to customize the way FastLink application loads. In addition to passing the configName in the params object (as explained in the FastLink 4 Documentation page), the following types of additional parameters can be passed:

  • Deep-Linking attributes: Pass the attributes to launch FastLink in the desired flow.
  • Callback details: Pass the callback URL that has to be called when the flow ends and pass the callbackLocation, if the callback URL is used in an iFrame integration.

Deep-Linking Attributes

The different deep-linking flows are as follows:

Without calling on a specific deep-linking flow, the FastLink application will start with selecting a site. Click to view the screen.

Link Account

  • Link account - Start with login form

    The FastLink aggregate account scenario allows you to deep-link the application to a specific provider and add all the accounts belonging to it. Pass flow=add and providerId to start with the site's account authentication screen. Click to view the screen.

    Parameters to deep-link to the site's account authentication screen follow:

    Parameter NameDescriptionExample
    flowPass add to invoke the aggregate account flow.
    ...
    window.fastlink.open({
        ...
    	params: { providerId : 16441,
    		flow : 'add',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...
    providerIdThe unique identifier for a particular provider (site).
    groupIdThe unique group identifier to get the single site experience.
    Note: Applies only to UK OB.
    ...
    window.fastlink.open({
        ...
    	params: { groupId : 23235,
    		flow : 'add',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...
    routingNumberA bank routing number or routing transit number (RTN) is a nine-digit number used in the US to identify a financial institution in a transaction.
    ...
    window.fastlink.open({
        ...
    	params: { routingNumber : 11103093,
    		flow : 'add',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...
  • Add Manual Account

    The add manual account flow allows you to deep-link the application to the Add Manual Account screen, so that consumers can manually add accounts that the Yodlee aggregation engine does not support. Click to view the screen.

    Parameters to deep-link to the Add Manual Account screen follow:

    Parameter NameDescriptionExample
    flowPass addManual to invoke the manual account flow.
    ...
    window.fastlink.open({
        ...
    	params: { flow : 'addManual',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...
  • Add Real Estate Account

    In the FastLink add real estate account flow, you can deep-link the application to the Add Real Estate Account screen to allow consumers to add the value of their home or property to their profile. Click to view the screen.

    Parameters to deep-link to the Add Real Estate Account screen follow:

    Parameter NameDescriptionExample
    flowPass addRealEstate to invoke the add real estate account flow.
    ...
    window.fastlink.open({
        ...
    	params: { flow : 'addRealEstate',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...

Edit Account

  • Edit account credentials flow

    The FastLink edit credentials flow allows you to view the edit credentials screen of an already linked provider account. Click to view the screen.

    Parameters to deep-link to the edit account view based on the providerAccountId follow:

    Parameter NameDescriptionExample
    flowThe edit account credentials flow has to be invoked.
    ...
    window.fastlink.open({
        ...
    	params: { providerAccountId : 11799016,
    		flow : 'edit',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...
    providerAccountIdThe unique identifier for a particular provider account for which the edit account credentials flow will be invoked.
  • Edit manual account flow

    The FastLink edit manual account flow allows you to view the edit account screen of a manually added account. Parameters to deep-link to the edit manual account view based on the accountId follow:

    Parameter NameDescriptionExample
    flowPass editManual to invoke the edit manual account flow.
    ...
    window.fastlink.open({
        ...
    	params: { accountId : <accountId>,
    		flow : 'editManual',
    		configName : '<config-name-from-config-tool>',
    		container : <container>
    		}, 
    		...
    	}, 'container-fastlink');
    ...
    accountIdThe unique identifier for a particular manual account for which the edit account flow will be invoked.
    containerThe container of the account for which the edit account flow will be invoked.
    Applicable container values: bank, creditCard, investment, insurance, loan, reward, bill, otherAssets, and otherLiabilities.
  • Edit real estate account flow

    The FastLink edit real estate account flow allows you to view the edit account screen of an already added real estate account. Parameters to deep-link to the edit real estate account view based on the accountId follow:

    Parameter NameDescriptionExample
    flowPass editRealEstate to invoke the edit real estate account flow.
    ...
    window.fastlink.open({
        ...
    	params: { accountId : <accountId>,
    		flow : 'editRealEstate',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...
    accountIdThe unique identifier for a particular real estate account for which the edit account flow will be invoked.

Refresh Account Flow

The FastLink refresh account flow allows you to initiate the refresh of an already linked provider account and update with the latest data. This flow may prompt for the additional multi-factor authentication (MFA) required by the site during login. Click to view the screen.

Parameters to deep-link to the refresh account view follow:

Parameter NameDescriptionExample
flowThe refresh account flow has to be invoked.
...
window.fastlink.open({
    ...
	params: { providerAccountId : 11799016,
		flow : 'refresh',
		configName : '<config-name-from-config-tool>'
		}, 
		...
	}, 'container-fastlink');
...
providerAccountIdThe unique identifier for a provider account for which the refresh account credentials flow will be invoked.

Account Balance Refresh

The balance refresh verification flow allows you to verify accounts by performing an on-demand refresh to get the latest account balance. The balance refresh flow can only be invoked when the Verification config name is passed.

Parameters to deep-link to the balance refresh flow follow:

Parameter NameDescriptionExample
flowThe balanceRefresh flow has to be invoked.
...
window.fastlink.open({
    ...
	params: { providerAccountId : 11799016,
		flow : 'balanceRefresh',
		configName : '<config-name-from-config-tool>'
		}, 
		...
	}, 'container-fastlink');
...
providerAccountIdThe unique identifier for the provider account has to be mandatorily passed for which the balance refresh flow will be invoked.

Open Banking

Multiple Open Banking Application Support

If the customer has multiple OB application, passing the following parameter will launch the particular application:

Parameter NameDescriptionExample
obAppNameThe OB application name that is defined in the FastLink Configuration Tool.
...
window.fastlink.open({
    ...
	params: { providerId : 16441,
		flow : 'add',
		configName : '<config-name-from-config-tool>'
		obAppName: '<OB-application-name-from-config-tool>'
		}, 
		...
	}, 'container-fastlink');
...

The consent dashboard or manage consent feature in the UK OB and AU OB lets consumers renew or delete their consent to share account data (for the sites that require the consumer’s consent).

  • Consent dashboard – Parameters to deep-link to launch the consent dashboard for UK OB and AU OB follow:

    Parameter NameDescriptionExample
    flowThe manageConsent flow has to be invoked to launch the consent dashboard.
    ...
    window.fastlink.open({
        ...
    	params: { flow : 'manageConsent',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...
  • Consent details – Parameters to deep-link to the consent details screen of a particular financial institution follows:

    Parameter NameDescriptionExample
    flowThe manageConsent flow has to be invoked to launch the consent dashboard.
    ...
    window.fastlink.open({
        ...
    	params: { providerAccountId : 11799016,
    		flow : 'manageConsent',
    		configName : '<config-name-from-config-tool>'
    		}, 
    		...
    	}, 'container-fastlink');
    ...
    providerAccountIdThe unique identifier for the provider account has to be mandatorily passed for which the consent details are displayed.

The notification screen notifies the consumer if it has been more than 90 days since the consumer has provided consent to the collection and the use of the account data.

Parameter to deep-link to consent notifications follow:

Parameter NameDescriptionExample
flowThe notifications flow has to be invoked to launch the notifications screen.
...
window.fastlink.open({
    ...
	params: { flow : 'notifications',
		configName : '<config-name-from-config-tool>'
		}, 
		...
	}, 'container-fastlink');
...

A consumer can choose to renew consent if, for example, the selection of accounts has changed at the financial institution site or consent is about to expire at the site and it has to be renewed.

Parameters to launch the renew consent flow follows

Parameter NameDescriptionExample
flowThe renew flow has to be invoked to launch the consent dashboard.
...
window.fastlink.open({
    ...
	params: { providerAccountId : 11799016,
		flow : 'renew',
		configName : '<config-name-from-config-tool>'
		}, 
		...
	}, 'container-fastlink');
...
providerAccountIdThe unique identifier for the provider account has to be mandatorily passed for which the consent details are displayed.

Callback Details

The callback details allow you to receive the control from the FastLink application at the end of the flow or when the user exits the application. The parameters to define the callback URL and location follow:

Parameter NameDescriptionExample
callbackThe URL that has to be called at the end of the flow or when the user exits the application. This parameter is not mandatory to pass.
...
window.fastlink.open({
    ...
	params: { callback : '<URL>,
		callbackLocation : 'top',
		configName : '<config-name-from-config-tool>'
		}, 
		...
	}, 'container-fastlink');
...
callbackLocationPass the key-value pair callbackLocation: 'top', if the callback URL is used in an iFrame integration and also if the FastLink application is integrated in a different location like an iFrame or a new window. This parameter is not mandatory to pass.

Post Messages

The FastLink application shares the account addition status with the customer application using the following four callback methods:

The callback/post message attributes follows:

ParameterDescriptionApplicable Product Flow
providerAccountIdThe providerAccountId created through the add, edit, or refresh flow.All product flows.
providerNameThe name of the provider.Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation.
accountIdThe unique identifier of an account.Verification, Aggregation Plus Verification, and Verification Plus Aggregation.
isAlreadyVerifiedWhen the consumer is re-adding the account, the isAlreadyVerified value will be true if the account is already verified.Verification, Aggregation Plus Verification, and Verification Plus Aggregation.
status

The status of the added provider sent by the application. Following are the statuses:

  • SUCCESS – The provider is successfully added by the consumer.
  • FAILED - The provider addition process has failed.
  • ACTION_ABANDONED - The consumer has terminated the account addition process before it completes.
  • MIGRATION_IN_PROGRESS - Suppose the consumer is migrating accounts from screen-scraping user logins (i.e., the login which correspond to the already added accounts) to the new Open Banking (OB) user login. And the migration process takes more time than expected; the application ends the flow and sends this status.
All product flows.
providerIdThe unique identifier of the provider.Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation.
reasonThe reason for the provider addition failure.Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation.
requestIdThe unique identifier for every request that returns contextual data.Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation.
actionSpecifies that the consumer has clicked/tapped one of the exit points of the FastLink application and you have to handle closing the floater implementation.
Note: This parameter applies only to post message.
All product flows.
additionalStatusThe status of the refresh, such as ACCT_SUMMARY_RECEIVED, USER_ACTION_NEEDED_AT_SITE, etc.Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation.
accountTypeThe type of account. Following is the list of account types: SAVINGS, CHECKING, PREPAID, CREDIT, INSURANCE, , BROKERAGE_CASH, ANNUITY, PERSONAL_LOAN, HOME_LOAN, OTHER_ASSETS, OTHER_LIABILITIES, and REAL_ESTATEAdd manual account flow and add real estate account flow.
containerThe container of the account. Following is the list of containers: bank, creditCard, insurance, investment, loan, otherAssets, otherLiabilities, and realEstate.Add manual account flow and add real estate account flow.
valuationType

Applies only to the realEstate container. Following are the possible values:

  • MANUAL: The real estate account added manually by the consumer.
  • SYSTEM: The real estate account added by the consumer using SmartZip.
Add manual account flow and add real estate account flow.
isDeletedIndicates the account has been deleted by the consumer.Add manual account flow and add real estate account flow.
isManualIndicates the account is manually added by the consumer.Add manual account flow

onSuccess(data) Method

The onSuccess(data) method reports intermediate account addition events to inform the customer that the consumer’s account is successfully added.

{
   "fnToCall":"accountStatus",
   "providerName":"Dag Site",
   "requestId":"COX3l5DppA40dIiJDrkJjmmhVt8=",
   "providerAccountId":32132249739,
   "status":"SUCCESS",
   "providerId":16441,
   "additionalStatus":"ACCT_SUMMARY_RECEIVED"
}

onError(data) Method

The onError(data) method reports intermediate account addition failure event, integration error, and FastLink application launch error.

EventsPost Message Sample Format
Account addition failed message
{
   "providerId":16441,
   "providerName":"Dag Site",
   "requestId":"rsglj0CIMoQsopKQrNLE4fz7nzE=",
   "reason":"Please visit Dag Site to update your account information or password.",
   "status":"FAILED",
   "additionalStatus":"USER_ACTION_NEEDED_AT_SITE",
   "providerAccountId":11350520
}
Application launch Error
{
   "code":"NXXX",
   "title":"{error_title_NXX}",
   "message":"{error_description_NXX}",
   "fnToCall":"errorHandler",
   "redirectUrl":"{sso_redirect_url}"
}
Integration error
{
   "code":"E701",
   "title":"INVALID_PARAMETER_OR_VALUE",
   "message":"Invalid value for providerId",
   "fnToCall":"errorHandler"
}


For more information, see Handling Errors.

onClose(data) Method

The onClose(data) method refers to the action where a consumer has exited or terminated the flow – either abruptly or intentionally, which marks the end of the session.
Following are the possible exit points where an exit post message will be received:

  • Clicking or tapping the X or close icon in the header of the FastLink application.
  • Clicking or tapping exit points such as Cancel, Save, or Finish buttons in the success screen.
  • Clicking or tapping the Close button in the error screen.
  • Clicking or tapping the Save & Link More Accounts button in the add deep-link flow.
FlowPost Message Sample Format
Aggregation
{
   "action":"exit",
   "fnToCall":"accountStatus",
   "sites":[
      {
         "providerId":5,
         "providerName":"Wells Fargo",
         "requestId":"vNHnOZ05sXZF1gFzEpF9BoMlSt0=",
         "status":"SUCCESS",
         "additionalStatus":"AVAILABLE_DATA_RETRIEVED",
         "providerAccountId":11333937
      }
   ]
}
Verification(Success)
{
   "action":"exit",
   "fnToCall":"accountStatus",
   "sites":[
      {
         "providerId":5,
         "providerName":"Wells Fargo",
         "requestId":"vNHnOZ05sXZF1gFzEpF9BoMlSt0=",
         "status":"SUCCESS",
         "additionalStatus":"AVAILABLE_DATA_RETRIEVED",
         "accountId":134539937,
         "providerAccountId":11333937,
         "isAlreadyVerified":false
      }
   ]
}
Verification
(Failed as there are no verification eligible accounts)
{
   "action":"exit",
   "fnToCall":"accountStatus",
   "sites":[
      {
         "providerId":5,
         "providerName":"Wells Fargo",
         "requestId":"vNHnOZ05sXZF1gFzEpF9BoMlSt0=",
         "status":"FAILED",
         "additionalStatus":"NO_ACCOUNTS_FOR_VERIFICATION",
         "providerAccountId":11333937,
         "reason":"You do not have any accounts eligible for verification with this site. Verification eligibility is determined by Company based on the type of data available for this account."
      }
   ]
}
When the consumer terminates the account addition flow during first time attempt, confirming to delete the accounts.
{
   "action":"exit",
   "fnToCall":"accountStatus",
   "sites":[
      {
         "providerId":5,
         "providerName":"Wells Fargo",
         "requestId":"4CQQB7ylnUJcI7DR/D3z111lPy8=",
         "reason":"User cancelled the linking process confirming account deletion.",
         "status":"ACTION_ABANDONED",
         "providerAccountId":11333937
      }
   ]
}
Deep-link add flow
{
   "action":"linkAnotherSite",
   "fnToCall":"accountStatus,
   "sites":[
      {
         "providerId":5,
         "providerName":"Wells Fargo",
         "requestId":"vNHnOZ05sXZF1gFzEpF9BoMlSt0=",
         "status":"SUCCESS",
         "additionalStatus":"AVAILABLE_DATA_RETRIEVED",
         "providerAccountId":11333937
      }
   ]
}
Manual account
{
   "action":"exit",
   "fnToCall":"accountStatus",
   "sites":[
      {
         "accountId":12658703,
         "accountType":"CD",
         "providerAccountId":11548845,
         "container":"bank",
         "status":"SUCCESS",
         "isManual":true
      }
   ]
}
When the consumer deletes a manually added account
{
   "action":"exit",
   "fnToCall":"accountStatus",
   "sites":[
      {
         "accountId":12658703,
         "accountType":"CD",
         "providerAccountId":11548845,
         "isDeleted":true,
         "container":"bank",
         "status":"SUCCESS",
         "isManual":true
      }
   ]
}
Real estate account
[
   {
      "action":"exit",
      "fnToCall":"accountStatus",
      "sites":[
         {
            "accountId":13078724,
            "accountType":"Real Estate",
            "providerAccountId":11545871,
            "container":"realEstate",
            "status":"SUCCESS",
            "valuationType":"SYSTEM"
         }
      ]
   },
   {
      "action":"exit",
      "fnToCall":"accountStatus",
      "sites":[
         {
            "accountId":13078722,
            "accountType":"Real Estate",
            "providerAccountId":11545869,
            "container":"realEstate",
            "status":"SUCCESS",
            "valuationType":"MANUAL"
         }
      ]
   }
]
When the consumer deletes an added real estate account
{
   "action":"exit",
   "fnToCall":"accountStatus",
   "sites":[
      {
         "accountId":13078722,
         "accountType":"Real Estate",
         "providerAccountId":11545869,
         "container":"realEstate",
         "status":"SUCCESS",
         "valuationType":"MANUAL",
         "isDeleted":true
      }
   ]
}
If the consumer is migrating his/her account from a non-OB to OB user login, and the migration process takes more time than expected, the application ends the flow and send this post message.
{
   "action":"exit",
   "fnToCall":"accountStatus",
   "sites":[
      {
         "providerId":5,
         "providerName":"Dag oAuth",
         "requestId":"vNHnOZ05sXZF1gFzEpF9BoMlSt0=",
         "status":"MIGRATION_IN_PROGRESS",
         "additionalStatus":"MIGRATION_IN_PROGRESS",
         "providerAccountId":11333937
      }
   ]
}

onEvent(data) Method

The onEvent(data) method is called to notify intermittent status messages to the host application.

Challenge Deposit Verification Entry Point Post Messages

The challenge deposit verification (CDV) or manual verification entry point post messages are as follows:

EventsPost Message Sample Format
User clicks the Enter Account Information button in site selection screen
{
   "pageName":"SELECT_A_SITE",
   "action":"cdv_exit",
   "type":"CDV",
   "pageTitle":"SITE_SELECTION"
}
User clicks the Enter Account Information button in site search screen.
{
   "pageName":"SITE_SEARCH",
   "action":"cdv_exit",
   "type":"CDV",
   "pageTitle":"SITE_SELECTION"
}
User clicks the Enter Account Information button in login screen.
{
   "pageName":"LOGIN_PAGE",
   "action":"cdv_exit",
   "type":"CDV",
   "pageTitle":"LOGIN"
}
The search for a specific site is unsuccessful, the user then clicks the Enter Account Information button in site search screen.
{
   "pageName":"ERROR_PAGE",
   "action":"cdv_exit",
   "type":"CDV",
   "pageTitle":"ERROR"
}
User clicks the Enter Account Information button in account summary screen.
{
   "pageName":"ACCOUNT_SUMMARY",
   "action":"cdv_exit",
   "type":"CDV",
   "pageTitle":"ACCOUNT_SUMMARY"
}