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 Select a Site 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 Verify Credentials screen.
Parameters to deep-link to the site's account authentication screen follow:
Parameter Name |
Description |
Example |
---|
flow |
Pass add to invoke the aggregate account flow. |
...
window.fastlink.open({
...
params: { providerId : 16441,
flow : 'add',
configName: '<config-name-from-config-tool>'
},
...
}, 'container-fastlink');
...
|
providerId |
The unique identifier for a particular provider (site). |
groupId |
The 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');
...
|
routingNumber |
A 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 Add Manual Account screen.
Parameters to deep-link to the Add Manual Account screen follow:
Parameter Name |
Description |
Example |
---|
flow |
Pass 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 Add Real Estate Account screen.
Parameters to deep-link to the Add Real Estate Account screen follow:
Parameter Name |
Description |
Example |
---|
flow |
Pass 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 Edit Account Credential screen.
Parameters to deep-link to the edit account view based on the providerAccountId
follow:
Parameter Name |
Description |
Example |
---|
flow |
The edit account credentials flow has to be invoked. |
...
window.fastlink.open({
...
params: { providerAccountId : 11799016,
flow : 'edit',
configName: '<config-name-from-config-tool>'
},
...
}, 'container-fastlink');
...
|
providerAccountId |
The 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 Name |
Description |
Example |
---|
flow |
Pass 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');
...
|
accountId |
The unique identifier for a particular manual account for which the edit account flow will be invoked. |
container |
The 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 Name |
Description |
Example |
---|
flow |
Pass 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');
...
|
accountId |
The 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 Refresh Account Login screen.
Parameters to deep-link to the refresh account view follow:
Parameter Name |
Description |
Example |
---|
flow |
The refresh account flow has to be invoked. |
...
window.fastlink.open({
...
params: { providerAccountId : 11799016,
flow : 'refresh',
configName: '<config-name-from-config-tool>'
},
...
}, 'container-fastlink');
...
|
providerAccountId |
The 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 Name |
Description |
Example |
---|
flow |
The balanceRefresh flow has to be invoked. |
...
window.fastlink.open({
...
params: { providerAccountId : 11799016,
flow : 'balanceRefresh',
configName: '<config-name-from-config-tool>'
},
...
}, 'container-fastlink');
...
|
providerAccountId |
The 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 Name |
Description |
Example |
---|
obAppName |
The 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');
...
|
Manage Consent
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 Name |
Description |
Example |
---|
flow |
The 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 Name |
Description |
Example |
---|
flow |
The 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');
...
|
providerAccountId |
The unique identifier for the provider account has to be mandatorily passed for which the consent details are displayed. |
Consent Notifications – AU OB
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 Name |
Description |
Example |
---|
flow |
The 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');
...
|
Renew Consent – UK OB
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 Name |
Description |
Example |
---|
flow |
The 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');
...
|
providerAccountId |
The 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 Name |
Description |
Example |
---|
callback |
The 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');
...
|
callbackLocation |
Pass 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:
Parameter |
Description |
Applicable Product Flow |
---|
providerAccountId |
The providerAccountId created through the add, edit, or refresh flow. |
All product flows. |
providerName |
The name of the provider. |
Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation. |
accountId |
The unique identifier of an account. |
Verification, Aggregation Plus Verification, and Verification Plus Aggregation. |
isAlreadyVerified |
When 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. |
providerId |
The unique identifier of the provider. |
Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation. |
reason |
The reason for the provider addition failure. |
Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation. |
requestId |
The unique identifier for every request that returns contextual data. |
Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation. |
action |
Specifies 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. |
additionalStatus |
The status of the refresh, such as ACCT_SUMMARY_RECEIVED , USER_ACTION_NEEDED_AT_SITE , etc. |
Aggregation, Verification, Aggregation plus Verification, and Verification plus Aggregation. |
accountType |
The 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_ESTATE |
Add manual account flow and add real estate account flow. |
container |
The 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. |
isDeleted |
Indicates the account has been deleted by the consumer. |
Add manual account flow and add real estate account flow. |
isManual |
Indicates the account is manually added by the consumer. |
Add manual account flow |
onSuccess(data) Method
The onSuccess(data)
method reports intermediate account addition event 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.
Events |
Post 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.
Flow |
Post 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:
Events |
Post 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"
}
|