# Migrating to Data Connect Components
source: https://developer.mastercard.com/open-finance-us/documentation/connect/components/migration/index.md

## Onboarding {#onboarding}

The following will be provided to the partner during onboarding:

* Mastercard Terms and Privacy Notice links
* Mastercard brand assets

<br />

Both of these are required to be embedded in the partner experience as outlined in the
[UX Requirements](https://developer.mastercard.com/open-finance-us/documentation/connect/components/ux-implementation/index.md#ux-requirements) section of the [Data Connect Components UX Implementation Guide](https://developer.mastercard.com/open-finance-us/documentation/connect/components/ux-implementation/index.md).

During the onboarding process the partner will be required to get Mastercard legal sign off on the user journey to ensure all Mastercard requirements are met. This includes sharing screens of the user journey. Please coordinate with your Mastercard representative to begin this process.

## Authentication and Configuration {#authentication-and-configuration}

A partner must authenticate to be able to successfully call any Data Connect Components APIs. A partner must also create a customer prior to calling Data Connect Components APIs. A customer ID is needed when calling [Create Login Form](https://developer.mastercard.com/open-finance-us/documentation/connect/components/flows/index.md#legacy-connections), [Create OAuth URL](https://developer.mastercard.com/open-finance-us/documentation/connect/components/flows/index.md#oauth-connections) or [Initiate Reconnection (Data Connect Fix)](https://developer.mastercard.com/open-finance-us/documentation/connect/components/flows/index.md#initiate-reconnection-connect-fix-for-components) API calls.

See also the [Authentication](https://developer.mastercard.com/open-finance-us/documentation/access-and-config/auth/index.md) and [Customer](https://developer.mastercard.com/open-finance-us/documentation/access-and-config/customers/index.md) sections for more details.

## FI Selection {#fi-selection}

It is the responsibility of the partner to build and manage the FI selection portion of the user journey. As with Data Connect Lite, APIs are provided to retrieve the Mastercard Institution List to build and manage the user FI selection. This includes managing certification and branding. Both of which are available via API.

## Account Selection and Review {#account-selection-and-review}

It is the responsibility of the partner to build and manage the account selection and review portion of the user journey. As with Data Connect Lite, APIs are provided to retrieve account details to build and manage the account selection and review. Data Connect Components will provide the account IDs via webhook or SDK events that will be needed to retrieve the account details.

## Adding Accounts {#adding-accounts}

Data Connect Components add all accounts when retrieving accounts. The only time this does not happen is when the configuration object of the specific partner sets account type filtering to exclude certain types of accounts. Once the accounts are added, the list of account IDs will be returned via webhook or SDK event.

## Error States {#error-states}

It is the responsibility of the partner to manage error states for their users. An error code, when applicable, will be provided via API response, webhooks, or SDK events. The partner will need to understand the error code and act accordingly to manage the user experience and flow.

Example: The credentials submitted by the user when attempting to log into a Legacy institution are incorrect. The partner will receive an error code (likely 103) via webhook or SDK event, depending on integration type. The partner will need to manage how they tell the user that the credentials submitted were not correct. Data Connect Components does not present anything to the user.

## Differences between Data Connect Components and Data Connect Full and Lite {#differences-between-data-connect-components-and-data-connect-full-and-lite}

* No Experiences

Data Connect Components does not use experiences or experience IDs like the other versions of Data Connect Because of the flexibility and high level of customization Data Connect Components provides partners, partners are able to manage and configure the experience themselves. Experiences in the other versions of Data Connect are available for things such as brand color, brand icon or hiding the exit button. These things and all of the user journey design and experience are managed by the partner. As such, experiences and experience IDs are not in Data Connect Components.

* No Data Connect Components Managed Sessions

  With the flexibility and high level of customization Data Connect Components provides partners are able to manage the user journey. Because the entire user journey is managed and hosted by the partner, Data Connect Components has no sessions and does not track sessions. The partner needs to manage user sessions and session information.
* Webhook Mapping between Data Connect Component and Data Connect Lite

  Note: The names of the Data Connect Components events are different in structure due to using the Open Finance Centralized Webhook Service.

  | Data Connect Lite Webhook |                                                       Data Connect Components Webhook                                                        |                                                                                                                                                                                   Partner Actions                                                                                                                                                                                    |
  |---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | `started`                 | N/A                                                                                                                                          | Partners handles the start of the flow                                                                                                                                                                                                                                                                                                                                               |
  | `processing`              | `connect-components.legacy-user-login.submitted`                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                      |
  | `processing`              | `connect-components.legacy-user-login.accepted`                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                      |
  | `institutionNotSupported` | N/A                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                      |
  | `institutionSupported`    | N/A                                                                                                                                          | Partners are responsible for directing users to supported FIs                                                                                                                                                                                                                                                                                                                        |
  | `invalidCredentials`      | `connect-components.legacy-user-login.rejected`                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                      |
  | `mfa`                     | `connect-components.mfa.submitted`, `connect-components.mfa.submitted`, `connect-components.mfa.required`, `connect-components.mfa.rejected` |                                                                                                                                                                                                                                                                                                                                                                                      |
  | `mfaUpdated`              | N/A                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                      |
  | `unableToConnect`         | `connect-components.legacy-user-login.rejected`                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                      |
  | `adding`                  | N/A                                                                                                                                          | Data Connect Components receives the accounts added. Therefore, this use case doesn't apply and is covered by the `accountsReturned` event.                                                                                                                                                                                                                                          |
  | `added`                   | `connect-components.accounts.added`                                                                                                          | Unlike Lite, Components returns the account IDs. The Partner needs to call an aggregation API (see below) to get the account details for the accounts that the end user selected. `GET https://api.finicity.com/aggregation/v1/customers/:customerId/accounts/:accountId`, `GET https://api.finicity.com/aggregation/v1/customers/:customerId/institutionLogins/:institutionLoginId` |
  | `done`                    | N/A                                                                                                                                          | Partner receives accounts in `AccountsReturned`, which indicates the flow is complete for the given institution.                                                                                                                                                                                                                                                                     |

