Skip to content

FIU - Integration with Unaport FIU

Overview

Unaport provides a unified Web SDK designed for seamless integration with both web and mobile applications (via WebView).

This single SDK works across all supported Account Aggregators (AAs), allowing FIUs to maintain their own branding and user experience without dealing directly with individual AA APIs. Users can approve or reject consent requests entirely within the FIU’s application, eliminating the need to switch to external AA apps.

Key Features

  • Customizable UI: Adaptable color scheme to match the FIU brand.
  • Effortless Integration: Plug-and-play setup with no need for developers to manage process flow.
  • Seamless Consent Management: Direct consent creation and approval without redirection.

Product View - Theme Sample 1

Screen 1 Screen 2 Screen 3 Screen 4 Screen 5
Select Banks Enter AA OTP Enter Bank OTP Approve Consent Exit

Product View - Theme Sample 2

Screen 1 Screen 2 Screen 3 Screen 4 Screen 5
Select Banks Enter AA OTP Enter Bank OTP Approve Consent Exit

Process Flow

  1. Encrypt JSON Configuration: Pass the encrypted JSON in the URL. Follow the Process for Generating Encrypted SDK Configuration.
  2. Redirect to Unaport Web SDK: The SDK consumer redirects the user to Unaport's WebView or loads it as an iframe.
    • Example URL: <unaport-web-endpoint>/view?config=<encryptedconfigjson>
  3. Select Banks/FIP:
    • User will select the bank name from the list in the first screen. Based on the Selected FIP they will be able to link their account approve their consent for the selected bank/fips.
  4. Consent Creation & Authentication:
    • The SDK securely creates consent using the provided template ID.
    • The user is authenticated in the background.
    • The SDK redirects to the AA OTP screen.
  5. Linked Account Summary:
    • Based on the provided mobile number and Selected Bank, Unaport securely retrieves and displays the user's linked accounts and Discovered Accounts if not linked.
    • If no accounts are linked, or additional accounts need to be added, the user can link them via the "Link Button" option:
    • A bank OTP is required for account linking.
    • Upon successful authentication, the user reviews and approves consent.
  6. Exit Option:
    • Users can exit the view anytime as needed.

Process for Generating Encrypted SDK Configuration

Steps to Generate access_token and refresh_token

1. Download the Postman Collection


2. Generate Access Token

This section explains how to generate an access token and configure the SDK for integration with Unaport.


Step 1: Login to Generate Token

  1. Open the Login API request in Postman.
  2. In the request Body → raw → JSON, enter the following credentials:

    {
      "emailId": "developer@unacores.com",
      "password": "***************"
    }
    
  3. Click Send.

You will receive a response containing both the access_token and refresh_token.


Step 2: Update SDK Configuration

  1. Update your SDK configuration with the values returned from the Login API:

    Parameter Description
    access_token Used for authentication with SDK endpoints
    refresh_token Used to obtain a new access token when expired

Step 3: Encode the Configuration

  1. Convert the SDK configuration JSON to a Base64-encoded string using Base64Encode.org.

  2. Append this encoded string to the config parameter in the SDK endpoint URL.

    Example:

    https://sdk.sandbox.unaport.com/view?config={base64-encoded-string}
    


Step 4: Data Notification & Fetch

  1. Once Unaport fetches the data, a data notification will be sent automatically to the FIU.

  2. After receiving the notification, the FIU can retrieve the data using the Fetch Data by Session API — available in both JSON and Excel formats.


SDK Endpoints

Environment Endpoint Description
Sandbox https://sdk.sandbox.unaport.com/view Test environment for integration and debugging
LIVE https://sdk.premium.unaport.com/view Production environment for live transactions

✅ Summary

By following these steps, you will: - Obtain valid access and refresh tokens.
- Configure and encode SDK settings securely.
- Enable smooth data fetch and notification flow between Unaport and your FIU system.

SDK Configuration Parameters

Field Required Type Description
phoneNumber M String 10-digit mobile number (without country code).
trackingId M String Tracking ID for the new consent as per your reference.
fiuId M String FIU ID as registered in Sahamati.
FIType O String Optional – shows only FIPs related to the selected type like Deposits, Insurance, GST, or Investment.
accessToken M String Access token generated from the login URL.
refreshToken M String Refresh token generated from the login URL.
theme M JSON Customizable UI color settings. Find config here.

Color Configuration Fields

Field Required Type Description
background M String Background color (Hex code).
accent M String Accent color (Hex code).
primary M String Primary text color.
primaryText M String Primary border color.
primaryButtonText M String Primary button text color.
secondary M String Secondary button background.
secondaryText M String Secondary text color.
disabled M String Disabled background color.
disabledText M String Disabled text color.
border M String Border color.
hintText M String Hint text color.
errorText M String Error message text color.
loaderColor M String Loader indicator color.
fontName M String Font family name.
failureColor M String Failure state indicator color.

Sample Configuration JSON (Plaintext)

{
  "theme": {
    "background": "#131313",
    "accent": "#1B1B1B",
    "primary": "#7762FF",
    "primaryText": "#FFFFFF",
    "primaryButtonText": "131313",
    "secondary": "#C589E4",
    "secondaryText": "#F2F2F2",
    "disabled": "#1F1F1F",
    "disabledText": "#FEFEFE",
    "border": "#767676",
    "hintText": "#9e9e9e",
    "errorText": "#d32f2f",
    "loaderColor": "#F2F2F2",
    "fontName": "Open Sans"
  },
  "productId": "5961868f-ac0e-45e6-9e7b-394c535fa4cc",
  "phoneNumber": "98******92",
  "trackingId": "9999999999",
  "fiuId": "UNACORES-FIU-UAT",
  "FIType": "Deposits",
  "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ5TVczMnpfZ0stT2NSS3N2MkdsRV9EbFFmTy1JX3psaTVLTW0yMGE1VFFZIn0.eyJleHAiOjE3NDE0MjYwMjYsImlhdCI6MTc0MTQyNTQyN29tIiwiZW1haWwiOiJkZXZlbG9wZXJAdW5hY29yZXMuY29tIn0.gjRucWiTB4Jpe52VENQLVXI5pj7QgsFQqQuoGwDffYi-K_DXbjaqltwPs6pXHo1qLI3uuJT2TZ7YP7-Le3iTGkcqBo5AcH-1asyR-pHwF92nFwfEu3PJdVwC4PP1S1L-U0tEsG4RcdJUO1QHfTgmOE9fj7Ca4TzXQ",
  "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmZDA4M2JiOC1mOTBlLTRjNTItYWZjZi1iZDQxNzEwNGIwNGQifQ.eyJleHAiOjE3NDE0MjcyMjYsImlhdCI6MTc0MTQyNTQyNiwianRpIjoiNzRmODM0ZjItMTczZS00OWE4LTlmNjQtMWVhZWNmMmY3MGQ1IiwiaXNzIjoiaHR0cHM6Ly9rZXljbG9hay5zYW5kYm94LnVuYXBvcnQuY29tL2F1dGgvcmVhbG1FuZGJveC51bmFwb3J0LmNvbS9hdXRoL3JlYWxtcy9GSswzPN0"
}