LAS Integration Overview

This document outlines the Loans SDK & API integration to power Loans against Securities.

Product scope

  1. Loan origination (application)
    1. Users could get a loan (LOS) by pledging their securities.
  2. Loan servicing (management)
    1. View loan-related details
    2. Repay principal (partially or fully)
      1. voluntarily repayment
      2. in the event of shortfall (aka margin call) to maintain the required LTV (loan-to-value)
    3. Pay interest overdue, in case the auto-debit fails
    4. Withdraw more principal (upto the sanctioned limit)
    5. View transactions & download loan account statement
    6. View pledged holdings & download statement
    7. Close loan (to release pledged securities)

Learn more about the feature on LAMF: Overview page.

Glossary

KeywordDescription
UnityThis is the name of our API service for partners to integrate.
Unity userLoan applicant user maintained by the Unity service. Each user is a unique combination of PAN and mobile number.
User IDUnique identifier for a Unity user.
Interaction IDA unique identifier for the user's interaction with SDK flow (eg. loan application). The application supports multiple interactions types (intents). These are listed in the next section.
Interaction tokenJWT (JSON Web Token) containing an interaction ID in payload and signed with the shared secret. The token is required for calling SDK methods.
Learn more about interaction token.
lidA lid is a unique identifier for a loan application. Each loan journey (LAMF, LAS, topup, renewal) is identified by it's own unique lid.
The lifecycle and relationship between LIDs is described here.
Referrer codeA referrer code is a unique combination of (Rate of interest, processing fee and other configs) that can be assigned to a user. You can request for as many unique combinations to be created for your users as needed.

User intents

  • LOAN_APPLICATION - To start or resume a loan application
  • SERVICE - To display the servicing dashboard
  • WITHDRAW - To start the withdraw flow
  • PAYMENT - To start the repayment flow
  • LAUNCH - This is a special intent, which is a combination of LOAN_APPLICATION and SERVICING. If you're building a lightweight integration and do not want to track user and loan journeys on your backend, you can use the LAUNCH intent. With this intent, the SDK detects the current user state, and starts with either the loan journey (if there is no active loan), or shows the servicing dashboard (if there is an active loan) for the user.

Full reference of supported intents here.

Integration Steps

The recommended steps for a standard integration are listed below -

  1. (Optional) - If you have the user's securities/holdings data, call the Combined Credit Snapshot API with the holdings data to find the user's credit limit.
  2. (Optional) - If you have the user's PAN and verified mobile number available, call the Create Unity User API to create a user. Map the returned user ID with your backend user's identifier.
    1. This API should be called only once for a PAN.
    2. If the API is called multiple times for the same PAN, the same user ID is returned.
  3. (Optional) - If you have the user's securities/holdings data, call the Update DLA Holdings API to seed the holdings on the loan application journey. This improves the UX as the user is not asked to fetch the holdings on the journey again.
    1. This API can be called whenever an updated set of holdings is available for a user.
    2. The ideal time to call this API is right before starting/resuming the loan application journey for a user.
    3. (Optional) If you are creating a new user, you can pass the DLA holdings along with the Create User API payload and skip the Update DLA holdings API call.
  4. Create interaction - This step is mandatory for launching the SDK. Depending on the depth of your integration, you can either create a guest interaction, or a connected user interaction.
    1. Connected user journeys offer better UX, as the user doesn't have to input PAN or phone number on the loan application journey.
    2. Functionally, after user authentication, both the guest and the connected user journeys offer exactly the same functionality.
    3. Choose the right intent for your use-case - the intents are listed above.
    4. You can provide extra configs in this API for that specific journey - like a referrerCode or offers. More on this later.
  5. (Optional) Subscribe to events - Register your webhook URLs to receive lifecycle events.

Server-side APIs

Before you start - refer this guide for backend to backend API authentication.

Important APIs for integration

API nameDescription
Combined Credit SnapshotSingle source of truth for your landing page: user state, all loan applications and journey states (including top-ups), and eligibility per asset class. Can be called with or without a user identifier (unityUserId/PAN).
Create unity userCreates a Unity user from PAN, phone number, and other optional fields. Call once per PAN and link the returned user ID to your user's account.
Update DLA HoldingsSeeds/refreshes the user's holdings on the loan journey so they aren't asked to fetch holdings again. Ideal to call right before starting or resuming a journey.
Create interaction IDCreates an interaction ID for a given intent & config (LOAN_APPLICATION, PAYMENT, WITHDRAW, SERVICE) to launch the SDK.

Other landing page APIs

Integrating these APIs independently is optional - as the Credit Snapshot API integration already offers all these features.

Loan management APIs

If you are integrating the servicing dashboard offered by the SDK - then integrating with these APIs is optional.

Others

TopicDescription
WebhooksRegister your webhook URLs to receive loan lifecycle events.
Error handlingCommon error codes and how to handle them.

Client-side SDK

  • Client-side SDK is required for certain user flows like loan application, servicing dashboard, withdrawal and repayment.
  • Loans SDK is available as - Web SDK (Javascript), native SDKs (Android, iOS), and wrapper SDKs (React Native, Flutter, Cordova).
  • Refer the SDK integration guide for more details.


Did this page help you?