From 2f0d7c20c5a30772b523354245b13cd180a3d1bf Mon Sep 17 00:00:00 2001 From: Nikhil Manapure Date: Thu, 8 Aug 2024 10:44:32 +0000 Subject: [PATCH] [Auto Generated] v1.0 --- README.md | 85 + documentation/application/CONTENT.md | 226 + documentation/application/MULTIKYC.md | 11915 +++++++++ documentation/application/PAYMENT.md | 1218 + documentation/application/REWARDS.md | 255 + documentation/application/SURL.md | 104 + documentation/application/TRANSACTION.md | 1293 + documentation/application/USER.md | 4097 +++ documentation/platform/CREDIT.md | 1281 + documentation/platform/CUSTOMER.md | 3290 +++ documentation/platform/MERCHANT.md | 1817 ++ documentation/platform/MULTIKYC.md | 2473 ++ documentation/platform/PAYMENTS.md | 578 + documentation/platform/README.md | 10 + documentation/public/MERCHANT.md | 3772 +++ documentation/public/MULTIKYC.md | 2825 +++ documentation/public/TRANSACTION.md | 1549 ++ documentation/public/USER.md | 2622 ++ pom.xml | 99 + .../java/com/sdk/common/AccessResponse.java | 35 + .../java/com/sdk/common/AccessTokenDto.java | 54 + .../sdk/common/AccessTokenInterceptor.java | 35 + src/main/java/com/sdk/common/FDKError.java | 9 + src/main/java/com/sdk/common/FDKLogger.java | 13 + .../com/sdk/common/FDKTokenIssueError.java | 9 + src/main/java/com/sdk/common/Paginator.java | 53 + .../com/sdk/common/PaginatorCallback.java | 5 + .../sdk/common/PlatformHeaderInterceptor.java | 32 + .../java/com/sdk/common/RequestSigner.java | 238 + .../sdk/common/RequestSignerInterceptor.java | 24 + .../sdk/common/RetrofitServiceFactory.java | 179 + .../com/sdk/platform/PlatformApiList.java | 260 + .../java/com/sdk/platform/PlatformClient.java | 40 + .../java/com/sdk/platform/PlatformConfig.java | 41 + .../java/com/sdk/platform/PlatformModels.java | 21123 ++++++++++++++++ .../com/sdk/platform/PlatformOauthClient.java | 308 + .../com/sdk/platform/PlatformService.java | 765 + 37 files changed, 62732 insertions(+) create mode 100644 README.md create mode 100644 documentation/application/CONTENT.md create mode 100644 documentation/application/MULTIKYC.md create mode 100644 documentation/application/PAYMENT.md create mode 100644 documentation/application/REWARDS.md create mode 100644 documentation/application/SURL.md create mode 100644 documentation/application/TRANSACTION.md create mode 100644 documentation/application/USER.md create mode 100644 documentation/platform/CREDIT.md create mode 100644 documentation/platform/CUSTOMER.md create mode 100644 documentation/platform/MERCHANT.md create mode 100644 documentation/platform/MULTIKYC.md create mode 100644 documentation/platform/PAYMENTS.md create mode 100644 documentation/platform/README.md create mode 100644 documentation/public/MERCHANT.md create mode 100644 documentation/public/MULTIKYC.md create mode 100644 documentation/public/TRANSACTION.md create mode 100644 documentation/public/USER.md create mode 100644 pom.xml create mode 100644 src/main/java/com/sdk/common/AccessResponse.java create mode 100644 src/main/java/com/sdk/common/AccessTokenDto.java create mode 100644 src/main/java/com/sdk/common/AccessTokenInterceptor.java create mode 100644 src/main/java/com/sdk/common/FDKError.java create mode 100644 src/main/java/com/sdk/common/FDKLogger.java create mode 100644 src/main/java/com/sdk/common/FDKTokenIssueError.java create mode 100644 src/main/java/com/sdk/common/Paginator.java create mode 100644 src/main/java/com/sdk/common/PaginatorCallback.java create mode 100644 src/main/java/com/sdk/common/PlatformHeaderInterceptor.java create mode 100644 src/main/java/com/sdk/common/RequestSigner.java create mode 100644 src/main/java/com/sdk/common/RequestSignerInterceptor.java create mode 100644 src/main/java/com/sdk/common/RetrofitServiceFactory.java create mode 100644 src/main/java/com/sdk/platform/PlatformApiList.java create mode 100644 src/main/java/com/sdk/platform/PlatformClient.java create mode 100644 src/main/java/com/sdk/platform/PlatformConfig.java create mode 100644 src/main/java/com/sdk/platform/PlatformModels.java create mode 100644 src/main/java/com/sdk/platform/PlatformOauthClient.java create mode 100644 src/main/java/com/sdk/platform/PlatformService.java diff --git a/README.md b/README.md new file mode 100644 index 0000000..beb11e4 --- /dev/null +++ b/README.md @@ -0,0 +1,85 @@ +# Settle Java + + +Settle client for Java language +[![](https://jitpack.io/v/settle-finance/java-integration-sdk.svg)](https://jitpack.io/#settle-finance/java-integration-sdk) + + + +## Getting Started +Get started with the Java Development SDK for Potlee, Compatible with Java 21 + + +# Usage + +1. Create Maven project and add the dependency in the pom.xml +```xml + + com.github.settle-finance + java-integration-sdk + 1.0.0 + +``` + +2. Add it in your root pom.xml at the end of repositories: +```xml + + + jitpack.io + https://jitpack.io + + +``` + +3. Start integrating + +### Exampe Usage +```java +public class Example { + static PlatformConfig platformConfig; + static PlatformClient platformClient; + + public static void main(String[] args) { + try { + platformConfig = new PlatformConfig( + "COMPANY_ID", + "API_KEY", + "API_SECRET", + "API_TOKEN", + "https://api.potleez5.de", + false + ); + + platformClient = new PlatformClient(platformConfig); + + PlatformModels.CustomerObject customer = PlatformModels.CustomerObject.builder().countryCode("91").mobile("8898518242").uid("1").build(); + + PlatformModels.Device device = PlatformModels.Device.builder().ipAddress("127.0.0.1").userAgent("moz").build(); + + PlatformModels.Order order = PlatformModels.Order.builder().valueInPaise(100000).uid("123").build(); + + PlatformModels.VerifyCustomer verifyCustomer = PlatformModels.VerifyCustomer.builder().customer(customer).order(order).device(device).build(); + + // Use this API to verify the customer. + PlatformModels.VerifyCustomerSuccess verifyCustomerSuccess = platformClient.customer.verify( + platformConfig.getOrganizationId(), + verifyCustomer + ); + + PlatformModels.CreateTransaction createTransaction = PlatformModels.CreateTransaction.builder().customer(customer).order(order).redirectUrl("https://www.google.com").build(); + + // Use this API to create transaction for user. + PlatformModels.CreateTransactionSuccess createTransactionSuccess = platformClient.customer.createOrder( + platformConfig.getOrganizationId(), + createTransaction + ); + + } catch (Exception e) { + System.out.println(e); + } + } +} +``` + +### Documentation +* [Platform](documentation/platform/README.md) \ No newline at end of file diff --git a/documentation/application/CONTENT.md b/documentation/application/CONTENT.md new file mode 100644 index 0000000..d402df9 --- /dev/null +++ b/documentation/application/CONTENT.md @@ -0,0 +1,226 @@ + + + + +##### [Back to Application docs](./README.md) + +## Content Methods +Content Service +* [checkForUpdates](#checkforupdates) + + + +## Methods with example and description + + +### checkForUpdates +Check for app updates + + + + +```java +content.checkForUpdates() { + //use response +} +``` + + + + + + +*Returned Response:* + + + + +[AppUpdateResponse](#AppUpdateResponse) + +Successful operation + + + + +
+  Example: + +```json +{ + "available": true, + "type": "HARD", + "version": "1.0.3", + "title": "A new update is available", + "description": "Please update your app", + "releasedOn": "2022-11-14", + "appLink": "https://apps.apple.com/us/app/potlee/id6444611798" +} +``` +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [AppUpdateResponse](#AppUpdateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | available | Boolean | no | | + | type | String? | yes | | + | version | String? | yes | | + | title | String | no | | + | description | String | no | | + | releasedOn | String? | yes | | + | appLink | String? | yes | | + +--- + + + + + #### [CreateVersionRequest](#CreateVersionRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | version | String | no | | + | additionalNotes | String? | yes | | + | title | String? | yes | | + | description | String? | yes | | + | releasedOn | String? | yes | | + +--- + + + + + #### [UpdateVersionRequest](#UpdateVersionRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | additionalNotes | String? | yes | | + | status | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | releasedOn | String? | yes | | + +--- + + + + + #### [CreateVersionResponse](#CreateVersionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | additionalNotes | String? | yes | | + | status | String | no | | + | version | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | releasedOn | String | no | | + | updatedAt | String | no | | + | createdAt | String | no | | + +--- + + + + + #### [VersionResponse](#VersionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | additionalNotes | String? | yes | | + | status | String | no | | + | version | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | releasedOn | String | no | | + | updatedAt | String | no | | + | createdAt | String | no | | + +--- + + + + + #### [GetVersionsResponseExample](#GetVersionsResponseExample) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | versions | ArrayList<[VersionResponse](#VersionResponse)>? | yes | | + +--- + + + + + #### [GenerateSignedUrlRequest](#GenerateSignedUrlRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | provider | String? | yes | The name of the storage provider (e.g., 'gcp') to be used. | + | fileName | String? | yes | The name of the file for which the signed URL is generated. File name will be auto generated if not provided. | + | filePath | String? | yes | The path within the storage where the file is located or will be stored. File will be uploaded in root of bucket if path is not provided. | + | fileUrl | String? | yes | The URL of the file to be downloaded. This is only allowed if the action is 'download'. | + | action | String | no | The action that the signed URL will allow, such as 'upload' or 'download'. | + | access | String? | yes | The access level for the file (e.g., 'publicRead', 'private'). | + | expires | Double? | yes | The expiration time for the signed URL in milliseconds. If not provided, a default value is used. | + +--- + + + + + #### [SignedDetails](#SignedDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | provider | String | no | The cloud provider where the file is stored. | + | signedUrl | String | no | The signed URL that allows access or actions on the specified file. | + +--- + + + + + #### [GenerateSignedUrlResponse](#GenerateSignedUrlResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fileUrl | String? | yes | The URL of the uploaded file. | + | signedDetails | [SignedDetails](#SignedDetails) | no | | + +--- + + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + diff --git a/documentation/application/MULTIKYC.md b/documentation/application/MULTIKYC.md new file mode 100644 index 0000000..b3b8aa2 --- /dev/null +++ b/documentation/application/MULTIKYC.md @@ -0,0 +1,11915 @@ + + + + +##### [Back to Application docs](./README.md) + +## MultiKyc Methods +Will deprecate Hawkeye +* [breResult](#breresult) +* [runBre](#runbre) +* [getCreditInsights](#getcreditinsights) +* [getLimit](#getlimit) +* [validaFormField](#validaformfield) +* [getUserDoc](#getuserdoc) +* [validatePan](#validatepan) +* [confirmPan](#confirmpan) +* [uploadDocument](#uploaddocument) +* [processAadhaar](#processaadhaar) +* [processSelfie](#processselfie) +* [processBankDetails](#processbankdetails) +* [getDocuments](#getdocuments) +* [getGstDetails](#getgstdetails) +* [submitGstDetails](#submitgstdetails) +* [uploadDocumentV1](#uploaddocumentv1) +* [processAadhaarV1](#processaadhaarv1) +* [processSelfieV1](#processselfiev1) +* [getDocumentsV1](#getdocumentsv1) +* [processAadhaarV2](#processaadhaarv2) +* [processSelfieV2](#processselfiev2) +* [processAadhaarV3](#processaadhaarv3) +* [processSelfieV3](#processselfiev3) +* [initiateKyc](#initiatekyc) +* [getDigilockerLink](#getdigilockerlink) +* [initiateKycV1](#initiatekycv1) +* [lenderDetail](#lenderdetail) +* [initiateLenderOnboarding](#initiatelenderonboarding) +* [availableLenders](#availablelenders) +* [initiateLenderOnboardingV1](#initiatelenderonboardingv1) +* [getOnboardingStatus](#getonboardingstatus) +* [getOnboardingSteps](#getonboardingsteps) +* [getOnboardingStatusV1](#getonboardingstatusv1) +* [getLenderCards](#getlendercards) +* [getActiveOrganization](#getactiveorganization) +* [getLenderCardsV1](#getlendercardsv1) +* [createPixelbinSignedUrl](#createpixelbinsignedurl) +* [createPixelbinSignedUrlV2](#createpixelbinsignedurlv2) +* [createSignedUrlV3](#createsignedurlv3) + + + +## Methods with example and description + + +### breResult +Bre result + + + + +```java +multikyc.breResult( merchantId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| merchantId | String? | no | | + + + +API to get all the BRE output after BRE has run + +*Returned Response:* + + + + +[ApprovedLenders](#ApprovedLenders) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "status": "SUCCESS", + "lenders": [ + { + "id": "c5c672c5-7b8e-4d68-9ca6-f8a5ce84a12f", + "name": "Piramal Finance", + "slug": "piramal-finance", + "imageUrl": "https://example.com/lenders/piramal.png", + "status": "APPROVED", + "active": true, + "proposedLimit": 15000, + "createdAt": "2023-08-01T12:00:00.000Z", + "updatedAt": "2023-08-02T10:30:00.000Z" + }, + { + "id": "d8f3a2b1-6e9c-4a0d-87c9-8b24b6fd94e7", + "name": "CASHe", + "slug": "cashe", + "imageUrl": "https://example.com/lenders/cashe.png", + "status": "APPROVED", + "active": true, + "proposedLimit": 20000, + "createdAt": "2023-08-01T14:00:00.000Z", + "updatedAt": "2023-08-02T11:45:00.000Z" + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### runBre +Run bre + + + + +```java +multikyc.runBre() { + //use response +} +``` + + + + +API to execute bre. This api is supposed to be called when user lands on home page. If the response has newLenderAssigned = true then call getLenderCards API. + +*Returned Response:* + + + + +[CreditCheckBreResponse](#CreditCheckBreResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "newLenderAssigned": true, + "breStatus": "SUCCESS" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getCreditInsights +Get credit insights + + + + +```java +multikyc.getCreditInsights(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [CreditReportRequest](#CreditReportRequest) | yes | Request body | + + +This API retruns the credit insight screen. + +*Returned Response:* + + + + +[Report](#Report) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "type": "credit_insight_success", + "score": "755", + "summary": { + "isNTC": false, + "score": 755, + "delinquency": 0, + "totalInquiries": 0, + "loanAccounts": 3, + "creditCards": 1, + "noOfPastDueAccounts": 0, + "noOfWriteOffs": 0 + }, + "sections": [ + { + "title": "Credit Report Score", + "type": "credit_insight_score", + "score": 755, + "max": 850, + "min": 300, + "status": { + "title": "EXCELLENT", + "backgroundColor": "#438164" + }, + "scoreColor": "#17BAA9", + "statusbarColor": "#6C6069", + "backgroundColor": "#E4F9EE", + "name": "sharan ", + "age": "29", + "gender": "Male", + "avatarUrl": "", + "performance": { + "title": "Your score is EXCELLENT ", + "subtitle": "Your score will refresh after {{remainingDays}} days", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/excellent.svg", + "isSubtitleHyperLink": false, + "key": "{{remainingDays}}", + "createdAt": "2023-06-20T07:27:09.699Z" + } + }, + { + "title": "Credit Report Summary", + "type": "credit_insight_sumary", + "backgroundColor": "#CDF1D7", + "description": "Review activity on your credit card and loans", + "loanAccounts": 3, + "loanAmount": "81050.00", + "creditCards": 1, + "creditBalance": 9481, + "creditAge": "1y 6m", + "creditLimit": "90000.0", + "noOfPastDueAccounts": 0, + "totalPastDueAmount": "0.00", + "data": [ + { + "title": "3 Active Loans", + "subtitle": "₹81,050", + "backgroundColor": "#FFFFFF" + }, + { + "title": "1 Active Credit Card", + "subtitle": "₹9,481", + "backgroundColor": "#FFFFFF" + }, + { + "title": "Age of Accounts", + "subtitle": "1y 6m", + "backgroundColor": "#FFFFFF" + }, + { + "title": "Overdue Payments", + "subtitle": "No dues", + "backgroundColor": "#FFFFFF" + } + ] + }, + { + "title": "Your Score History", + "type": "credit_insight_history", + "data": { + "creditScore": 755, + "projectedScore": 765, + "scoreColor": "#438164", + "projectionColor": "#C1B8BF", + "scores": [ + -1, + -1, + -1, + -1, + 755, + 765 + ], + "xLabels": [ + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul" + ], + "cLabel": { + "min": 300, + "max": 850 + }, + "step": 50 + } + }, + { + "title": "Credit Insights", + "type": "credit_insight_depending_factors", + "data": [ + { + "title": "Ontime payment", + "subtitle": "100%", + "type": "credit_insights_card", + "subType": "credit_insights_on_time_payments", + "status": { + "title": "EXCELLENT", + "backgroundColor": "#438164" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/ontime.svg", + "backgroundColor": "#FFFFFF", + "statusColor": "#1E382C", + "impact": "High Imapct", + "hasClick": true, + "detail": { + "type": "credit_insights_detail", + "subType": "credit_insights_on_time_payments", + "title": "Credit Report", + "backgroundColor": "#D3EFD7", + "sections": [ + { + "backgroundColor": "#E8FAF1", + "type": "credit_insights_credit_detail_primary", + "data": [ + { + "title": "On-time payments", + "type": "credit_insights_credit_detail_hero", + "subtitle": "100%", + "impact": "High Imapct", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/ontime.svg", + "status": { + "title": "EXCELLENT", + "backgroundColor": "#438164" + }, + "backgroundColor": "#FFFFFF" + }, + { + "title": "", + "type": "credit_insights_credit_detail_key_info", + "subtitle": "100%", + "backgroundColor": "#1E382C", + "data": [ + { + "title": "17", + "subtitle": "Ontime payments", + "backgroundColor": "#FFFFFF" + }, + { + "title": "17", + "subtitle": "Total payment", + "backgroundColor": "#FFFFFF" + } + ] + } + ] + }, + { + "title": "", + "type": "credit_insights_credit_detail_banks", + "subtitle": "100%", + "backgroundColor": "#FFFFFF", + "data": [ + { + "type": "Personal Loan", + "accounts": [ + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0021", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "3m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹525", + "subtitle": "Amount to be paid" + }, + { + "title": "₹525", + "subtitle": "Sanctioned amount" + }, + { + "title": "28 Feb 2023", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "28 Feb 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 1, + "latePaymentText": "no late payments", + "issuedOn": "2023-02-28", + "age": "3m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "525", + "balance": "525", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0022", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "3m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹525", + "subtitle": "Amount to be paid" + }, + { + "title": "₹525", + "subtitle": "Sanctioned amount" + }, + { + "title": "28 Feb 2023", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "28 Feb 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 1, + "latePaymentText": "no late payments", + "issuedOn": "2023-02-28", + "age": "3m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "525", + "balance": "525", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0012", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "5m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹541", + "subtitle": "Sanctioned amount" + }, + { + "title": "17 Jan 2023", + "subtitle": "Date closed" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 0, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "CLSD", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + }, + "onTimePaymentCount": 0, + "latePaymentText": "no late payments", + "issuedOn": "2023-01-13", + "age": "5m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "541", + "balance": "0", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0013", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "5m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹524", + "subtitle": "Sanctioned amount" + }, + { + "title": "23 Jan 2023", + "subtitle": "Date closed" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 0, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "CLSD", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + }, + "onTimePaymentCount": 0, + "latePaymentText": "no late payments", + "issuedOn": "2023-01-18", + "age": "5m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "524", + "balance": "0", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + }, + { + "type": "Other", + "accounts": [ + { + "hasClick": true, + "institution": "Aditya Birla Finance", + "accountType": "Other", + "type": "LOAN", + "title": "Aditya Birla Finance", + "accountNumber": "**** 0567", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "11m", + "credit_insights_credit_profile": "Other", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Aditya Birla Finance", + "subtitle": "Other", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹17,777", + "subtitle": "Amount to be paid" + }, + { + "title": "₹80,000", + "subtitle": "Sanctioned amount" + }, + { + "title": "04 Jul 2022", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + } + ], + [ + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "01 Mar 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 7, + "latePaymentText": "no late payments", + "issuedOn": "2022-07-04", + "age": "11m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "80000", + "balance": "17777", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + }, + { + "type": "Credit Card", + "accounts": [ + { + "hasClick": true, + "institution": "ICICI BANK LIMITED", + "accountType": "Credit Card", + "type": "CREDIT", + "title": "ICICI BANK ", + "accountNumber": "**** 6579", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "11%", + "credit_insights_credit_age": "1y 6m", + "credit_insights_credit_profile": "Credit Card", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "title": "ICICI BANK ", + "subtitle": "Credit Card", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_progress", + "total": "₹90,000", + "utilized": "₹9,481", + "percentage": 11, + "title": "Credit limit utilisation 11%", + "showProgress": true + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "title": "Report an Issue", + "type": "credit_insights_credit_detail_report_issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 8, + "latePaymentText": "no late payments", + "issuedOn": "2021-12-20", + "age": "1y 6m", + "isPaymentHistoryMonthlyView": true, + "showProgress": true, + "creditUtilization": "11%", + "percentage": 11, + "limit": 90000, + "utilized": 9481, + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + } + ] + }, + { + "title": "What is payment history?", + "type": "credit_insights_credit_detail_about", + "subtitle": "Make sure to pay your bills on time and avoid missed payments to maintain a good score", + "backgroundColor": "#FFFFFF" + }, + { + "title": "Report an issue", + "type": "credit_insights_credit_detail_report_issue", + "subtitle": "Credit bureau may take up to 4 months to account for your most recent credit card activity data.", + "backgroundColor": "#FFFFFF" + } + ] + } + }, + { + "title": "Cred utilisation", + "subtitle": "11%", + "type": "credit_insights_card", + "subType": "credit_insights_credit_utilization", + "status": { + "title": "EXCELLENT", + "backgroundColor": "#438164" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "backgroundColor": "#FFFFFF", + "statusColor": "#1E382C", + "impact": "High Imapct", + "hasClick": true, + "detail": { + "title": "Credit Report", + "backgroundColor": "#D3EFD7", + "type": "credit_insights_detail", + "subType": "credit_insights_credit_utilization", + "sections": [ + { + "backgroundColor": "#E8FAF1", + "type": "credit_insights_credit_detail_primary", + "data": [ + { + "title": "Cred utilisation", + "type": "credit_insights_credit_detail_hero", + "subtitle": "11%", + "impact": "High Imapct", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "status": { + "title": "EXCELLENT", + "backgroundColor": "#438164" + }, + "backgroundColor": "#FFFFFF" + }, + { + "title": "", + "type": "credit_insights_credit_detail_key_info", + "subtitle": "100%", + "backgroundColor": "#1E382C", + "data": [ + { + "title": "90000", + "subtitle": "Total credit limit", + "backgroundColor": "#FFFFFF" + }, + { + "title": "9481", + "subtitle": "Total utilized Credit", + "backgroundColor": "#FFFFFF" + } + ] + } + ] + }, + { + "title": "", + "type": "credit_insights_credit_detail_banks", + "subtitle": "100%", + "backgroundColor": "#FFFFFF", + "data": [ + { + "type": "Credit Card", + "accounts": [ + { + "hasClick": true, + "institution": "ICICI BANK LIMITED", + "accountType": "Credit Card", + "type": "CREDIT", + "title": "ICICI BANK ", + "accountNumber": "**** 6579", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "11%", + "credit_insights_credit_age": "1y 6m", + "credit_insights_credit_profile": "Credit Card", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "title": "ICICI BANK ", + "subtitle": "Credit Card", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_progress", + "total": "₹90,000", + "utilized": "₹9,481", + "percentage": 11, + "title": "Credit limit utilisation 11%", + "showProgress": true + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "title": "Report an Issue", + "type": "credit_insights_credit_detail_report_issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 8, + "latePaymentText": "no late payments", + "issuedOn": "2021-12-20", + "age": "1y 6m", + "isPaymentHistoryMonthlyView": true, + "showProgress": true, + "creditUtilization": "11%", + "percentage": 11, + "limit": 90000, + "utilized": 9481, + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + } + ] + }, + { + "title": "What is cred utilisation?", + "type": "credit_insights_credit_detail_about", + "subtitle": "Keep your credit utilisation rate low by not using too much of your available credit.", + "backgroundColor": "#FFFFFF" + }, + { + "title": "Report an issue", + "type": "credit_insights_credit_detail_report_issue", + "subtitle": "Credit bureau may take up to 4 months to account for your most recent credit card activity data.", + "backgroundColor": "#FFFFFF" + } + ] + } + }, + { + "title": "Cred age", + "subtitle": "1y 6m", + "type": "credit_insights_card", + "subType": "credit_insights_credit_age", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/age.svg", + "status": { + "title": "BAD", + "backgroundColor": "#EB7070" + }, + "backgroundColor": "#FFFFFF", + "statusColor": "#1E382C", + "impact": "Medium Impact", + "hasClick": true, + "detail": { + "title": "Credit Report", + "backgroundColor": "#D3EFD7", + "type": "credit_insights_detail", + "subType": "credit_insights_credit_age", + "sections": [ + { + "backgroundColor": "#E8FAF1", + "type": "credit_insights_credit_detail_primary", + "data": [ + { + "title": "Credit age", + "type": "credit_insights_credit_detail_hero", + "subtitle": "1y 6m", + "impact": "Medium Impact", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/age.svg", + "status": { + "title": "BAD", + "backgroundColor": "#EB7070" + }, + "backgroundColor": "#FFFFFF" + }, + { + "title": "", + "type": "credit_insights_credit_detail_key_info", + "subtitle": "100%", + "backgroundColor": "#1E382C", + "data": [ + { + "title": "3m", + "subtitle": "Latest account", + "backgroundColor": "#FFFFFF" + }, + { + "title": "1y 6m", + "subtitle": "Oldest account", + "backgroundColor": "#FFFFFF" + } + ] + } + ] + }, + { + "title": "", + "type": "credit_insights_credit_detail_banks", + "subtitle": "100%", + "backgroundColor": "#FFFFFF", + "data": [ + { + "type": "Personal Loan", + "accounts": [ + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0021", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "3m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹525", + "subtitle": "Amount to be paid" + }, + { + "title": "₹525", + "subtitle": "Sanctioned amount" + }, + { + "title": "28 Feb 2023", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "28 Feb 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 1, + "latePaymentText": "no late payments", + "issuedOn": "2023-02-28", + "age": "3m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "525", + "balance": "525", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0022", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "3m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹525", + "subtitle": "Amount to be paid" + }, + { + "title": "₹525", + "subtitle": "Sanctioned amount" + }, + { + "title": "28 Feb 2023", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "28 Feb 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 1, + "latePaymentText": "no late payments", + "issuedOn": "2023-02-28", + "age": "3m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "525", + "balance": "525", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0012", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "5m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹541", + "subtitle": "Sanctioned amount" + }, + { + "title": "17 Jan 2023", + "subtitle": "Date closed" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 0, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "CLSD", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + }, + "onTimePaymentCount": 0, + "latePaymentText": "no late payments", + "issuedOn": "2023-01-13", + "age": "5m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "541", + "balance": "0", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0013", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "5m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹524", + "subtitle": "Sanctioned amount" + }, + { + "title": "23 Jan 2023", + "subtitle": "Date closed" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 0, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "CLSD", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + }, + "onTimePaymentCount": 0, + "latePaymentText": "no late payments", + "issuedOn": "2023-01-18", + "age": "5m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "524", + "balance": "0", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + }, + { + "type": "Other", + "accounts": [ + { + "hasClick": true, + "institution": "Aditya Birla Finance", + "accountType": "Other", + "type": "LOAN", + "title": "Aditya Birla Finance", + "accountNumber": "**** 0567", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "11m", + "credit_insights_credit_profile": "Other", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Aditya Birla Finance", + "subtitle": "Other", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹17,777", + "subtitle": "Amount to be paid" + }, + { + "title": "₹80,000", + "subtitle": "Sanctioned amount" + }, + { + "title": "04 Jul 2022", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + } + ], + [ + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "01 Mar 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 7, + "latePaymentText": "no late payments", + "issuedOn": "2022-07-04", + "age": "11m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "80000", + "balance": "17777", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + }, + { + "type": "Credit Card", + "accounts": [ + { + "hasClick": true, + "institution": "ICICI BANK LIMITED", + "accountType": "Credit Card", + "type": "CREDIT", + "title": "ICICI BANK ", + "accountNumber": "**** 6579", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "11%", + "credit_insights_credit_age": "1y 6m", + "credit_insights_credit_profile": "Credit Card", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "title": "ICICI BANK ", + "subtitle": "Credit Card", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_progress", + "total": "₹90,000", + "utilized": "₹9,481", + "percentage": 11, + "title": "Credit limit utilisation 11%", + "showProgress": true + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "title": "Report an Issue", + "type": "credit_insights_credit_detail_report_issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 8, + "latePaymentText": "no late payments", + "issuedOn": "2021-12-20", + "age": "1y 6m", + "isPaymentHistoryMonthlyView": true, + "showProgress": true, + "creditUtilization": "11%", + "percentage": 11, + "limit": 90000, + "utilized": 9481, + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + } + ] + }, + { + "title": "What is credit age?", + "type": "credit_insights_credit_detail_about", + "subtitle": "The longer your credit history, the better it is for your credit score.", + "backgroundColor": "#FFFFFF" + }, + { + "title": "Report an issue", + "type": "credit_insights_credit_detail_report_issue", + "subtitle": "Credit bureau may take up to 4 months to account for your most recent credit card activity data.", + "backgroundColor": "#FFFFFF" + } + ] + } + }, + { + "title": "Profiles", + "subtitle": "6", + "type": "credit_insights_card", + "subType": "credit_insights_credit_profile", + "status": { + "title": "AVERAGE", + "backgroundColor": "#CE9B6B" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/profile.svg", + "backgroundColor": "#FFFFFF", + "statusColor": "#1E382C", + "impact": "Low Impact", + "hasClick": true, + "detail": { + "type": "credit_insights_detail", + "subType": "credit_insights_credit_profile", + "title": "Credit Report", + "backgroundColor": "#D3EFD7", + "sections": [ + { + "backgroundColor": "#D3EFD7", + "type": "credit_insights_credit_detail_primary", + "data": [ + { + "title": "Profiles", + "type": "credit_insights_credit_detail_hero", + "subtitle": "6", + "impact": "Low Impact", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/profile.svg", + "status": { + "title": "AVERAGE", + "backgroundColor": "#CE9B6B" + }, + "backgroundColor": "#FFFFFF" + }, + { + "title": "", + "type": "credit_insights_credit_detail_key_info", + "subtitle": "100%", + "backgroundColor": "#1E382C", + "data": [ + { + "title": "4", + "subtitle": "Active a/c", + "backgroundColor": "#FFFFFF" + }, + { + "title": "0", + "subtitle": "Inactive a/c", + "backgroundColor": "#FFFFFF" + }, + { + "title": "2", + "subtitle": "Closed a/c", + "backgroundColor": "#FFFFFF" + } + ] + } + ] + }, + { + "title": "", + "type": "credit_insights_credit_detail_banks", + "subtitle": "100%", + "backgroundColor": "#FFFFFF", + "data": [ + { + "type": "ACTIVE", + "accounts": [ + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0021", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "3m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹525", + "subtitle": "Amount to be paid" + }, + { + "title": "₹525", + "subtitle": "Sanctioned amount" + }, + { + "title": "28 Feb 2023", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "28 Feb 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 1, + "latePaymentText": "no late payments", + "issuedOn": "2023-02-28", + "age": "3m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "525", + "balance": "525", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0022", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "3m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹525", + "subtitle": "Amount to be paid" + }, + { + "title": "₹525", + "subtitle": "Sanctioned amount" + }, + { + "title": "28 Feb 2023", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "28 Feb 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 1, + "latePaymentText": "no late payments", + "issuedOn": "2023-02-28", + "age": "3m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "525", + "balance": "525", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Aditya Birla Finance", + "accountType": "Other", + "type": "LOAN", + "title": "Aditya Birla Finance", + "accountNumber": "**** 0567", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "11m", + "credit_insights_credit_profile": "Other", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Aditya Birla Finance", + "subtitle": "Other", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹17,777", + "subtitle": "Amount to be paid" + }, + { + "title": "₹80,000", + "subtitle": "Sanctioned amount" + }, + { + "title": "04 Jul 2022", + "subtitle": "Issued on" + }, + { + "title": "Individual", + "subtitle": "Ownership" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "NEW", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + } + ], + [ + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "01 Mar 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 7, + "latePaymentText": "no late payments", + "issuedOn": "2022-07-04", + "age": "11m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "80000", + "balance": "17777", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "ICICI BANK LIMITED", + "accountType": "Credit Card", + "type": "CREDIT", + "title": "ICICI BANK ", + "accountNumber": "**** 6579", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "11%", + "credit_insights_credit_age": "1y 6m", + "credit_insights_credit_profile": "Credit Card", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "title": "ICICI BANK ", + "subtitle": "Credit Card", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + } + }, + { + "type": "credit_insights_credit_account_progress", + "total": "₹90,000", + "utilized": "₹9,481", + "percentage": 11, + "title": "Credit limit utilisation 11%", + "showProgress": true + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 100, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "000", + "paymentStatusUi": "ON_TIME" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "title": "Report an Issue", + "type": "credit_insights_credit_detail_report_issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/credit.svg", + "status": { + "state": "ACTIVE", + "stateColor": "#438164" + }, + "onTimePaymentCount": 8, + "latePaymentText": "no late payments", + "issuedOn": "2021-12-20", + "age": "1y 6m", + "isPaymentHistoryMonthlyView": true, + "showProgress": true, + "creditUtilization": "11%", + "percentage": 11, + "limit": 90000, + "utilized": 9481, + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + }, + { + "type": "IN_ACTIVE", + "accounts": [] + }, + { + "type": "CLOSED", + "accounts": [ + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0012", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "5m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹541", + "subtitle": "Sanctioned amount" + }, + { + "title": "17 Jan 2023", + "subtitle": "Date closed" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 0, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "CLSD", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + }, + "onTimePaymentCount": 0, + "latePaymentText": "no late payments", + "issuedOn": "2023-01-13", + "age": "5m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "541", + "balance": "0", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + }, + { + "hasClick": true, + "institution": "Piramal Capital & Housing Finance Ltd", + "accountType": "Personal Loan", + "type": "LOAN", + "title": "Piramal Capital & Housing Finance ", + "accountNumber": "**** 0013", + "subtitle": { + "credit_insights_on_time_payments": "no late payments", + "credit_insights_credit_utilization": "undefined%", + "credit_insights_credit_age": "5m", + "credit_insights_credit_profile": "Personal Loan", + "credit_insights_credit_enquiries": null + }, + "data": { + "sections": [ + { + "type": "credit_insights_credit_account_hero", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "title": "Piramal Capital & Housing Finance ", + "subtitle": "Personal Loan", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + } + }, + { + "type": "credit_insights_credit_account_card", + "data": [ + { + "title": "₹524", + "subtitle": "Sanctioned amount" + }, + { + "title": "23 Jan 2023", + "subtitle": "Date closed" + } + ] + }, + { + "type": "credit_insights_credit_account_payment_history", + "onTimePercent": 0, + "paymentHistory": { + "rLabels": [ + "jan", + "feb", + "mar", + "apr", + "may", + "jun", + "jul", + "aug", + "sep", + "oct", + "nov", + "dec" + ], + "cLabels": [ + "2021", + "2022", + "2023" + ], + "data": [ + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ], + [ + { + "paymentStatus": "CLSD", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + }, + { + "paymentStatus": "*", + "paymentStatusUi": "NO_HISTORY" + } + ] + ] + } + }, + { + "type": "credit_insights_credit_account_last_updated", + "title": "Last updated on", + "lastUpdatedText": "31 Jan 2023" + }, + { + "type": "credit_insights_credit_detail_report_issue", + "title": "Report an Issue" + } + ] + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/loans.png", + "status": { + "state": "CLOSED", + "stateColor": "#EB7070" + }, + "onTimePaymentCount": 0, + "latePaymentText": "no late payments", + "issuedOn": "2023-01-18", + "age": "5m", + "isPaymentHistoryMonthlyView": true, + "sanctionedAmount": "524", + "balance": "0", + "lastUpdatedText": "Last updated on Fri Jan 20 0023 00:00:00 GMT+0553" + } + ] + } + ] + }, + { + "title": "What is profile?", + "type": "credit_insights_credit_detail_about", + "subtitle": "Having a diverse portfolio mix of credit accounts can improve your credit score. Including a mix of credit cards, loans, and mortgages can help demonstrate your ability to manage different types of credit.", + "backgroundColor": "#FFFFFF" + }, + { + "title": "Report an issue", + "type": "credit_insights_credit_detail_report_issue", + "subtitle": "Credit bureau may take up to 4 months to account for your most recent credit card activity data.", + "backgroundColor": "#FFFFFF" + } + ] + } + }, + { + "title": "Credit Enquiries", + "subtitle": "0", + "type": "credit_insights_card", + "subType": "credit_insights_credit_enquiries", + "status": { + "title": "EXCELLENT", + "backgroundColor": "#438164" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/enquiries.svg", + "backgroundColor": "#FFFFFF", + "statusColor": "#1E382C", + "impact": "Low Impact", + "hasClick": true, + "detail": { + "type": "credit_insights_detail", + "subType": "credit_insights_credit_enquiries", + "title": "Credit Report", + "backgroundColor": "#E8FAF1", + "sections": [ + { + "backgroundColor": "#E8FAF1", + "type": "credit_insights_credit_detail_primary", + "data": [ + { + "title": "Enquries", + "type": "credit_insights_credit_detail_hero", + "subtitle": "0", + "impact": "Low Impact", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/icons/credit_insights/enquiries.svg", + "status": { + "title": "EXCELLENT", + "backgroundColor": "#438164" + }, + "backgroundColor": "#FFFFFF" + } + ] + }, + { + "title": "", + "type": "credit_insights_credit_detail_banks", + "subtitle": "100%", + "backgroundColor": "#FFFFFF", + "data": [ + { + "type": "Enquiries", + "accounts": [] + } + ] + }, + { + "title": "What is enquiries?", + "type": "credit_insights_credit_detail_about", + "subtitle": "Limit the number of credit applications you make and try to space them out over time.", + "backgroundColor": "#FFFFFF" + }, + { + "title": "Report an issue", + "type": "credit_insights_credit_detail_report_issue", + "subtitle": "Credit bureau may take up to 4 months to account for your most recent credit card activity data.", + "backgroundColor": "#FFFFFF" + } + ] + } + } + ] + }, + { + "title": "Tips to improve your score", + "type": "credit_insight_tips", + "url": "https://settle.club/faq", + "data": [ + { + "title": "TIP #01", + "subtitle": "Make sure to pay all your bills, EMIs, and credit card dues on time to avoid late payment fees and negative marks on your credit report." + }, + { + "title": "TIP #02", + "subtitle": "Keep your credit utilization ratio below 30% of your credit limit to show lenders that you are responsible with credit and can manage your debts effectively." + }, + { + "title": "TIP #03", + "subtitle": "Regularly check your credit report for accuracy and in case of any errors or inaccuracies in the credit report, raise a case with the credit bureau." + }, + { + "title": "TIP #04", + "subtitle": "Avoid applying for too many loans or credit cards in a short period of time, as this can negatively impact your credit score and make you appear credit hungry." + }, + { + "title": "TIP #05", + "subtitle": "Consider setting up automatic payments for your bills and EMIs to ensure that you never miss a payment and maintain a good credit score over time." + } + ] + }, + { + "title": "FAQs", + "type": "credit_insight_faqs", + "url": "https://settle.club/faq", + "data": [ + { + "title": "How can I get a free credit report?", + "subtitle": "To obtain a free credit report, you can visit the website https://settle.club/credit-score. This website provides access to your credit report, which is a summary of your credit history and financial activities." + }, + { + "title": "What variables go into calculating credit scores?", + "subtitle": "Credit history, Credit enquiries and Repayment record." + }, + { + "title": "Is a 750 credit score good?", + "subtitle": "750 is an excellent credit score; you can also make your credit score outstanding by increasing it into the range of 800-850." + }, + { + "title": "Is it best to make a full repayment of credit card debt?", + "subtitle": "Instead of carrying a balance on your credit card, you should pay off your debt in full. You will avoid paying additional interest on the balance if you pay credit card bill dues in whole." + } + ] + }, + { + "title": "Learn more", + "type": "credit_insight_learn_more", + "url": "https://settle.club/faq", + "data": [ + { + "title": "What happens if I pay more than the balance on my credit card?", + "subtitle": "Overpaying your credit card will result in a negative balance, but it won’t hurt your credit score—and the overpayment will be returned to you." + }, + { + "title": "Can anyone see my credit rating?", + "subtitle": "No, not just anyone is allowed to view your credit report. An organisation needs to have a \"permissible purpose\" in order to obtain credit records." + }, + { + "title": "Do my chances of obtaining a new loan or credit card depend on my CIBIL score?", + "subtitle": "Yes, prior to granting an application for a loan or credit card, all banks and lenders look at the applicant's CIBIL score." + }, + { + "title": "What is the bare minimum CIBIL score needed for any loan type?", + "subtitle": "A CIBIL credit score of 750 or more is typically regarded as good when applying for any types of loans." + }, + { + "title": "What credit score is required to qualify for personal loans?", + "subtitle": "The minimum credit score required by banks and NBFCs to approve personal loans is a CIBIL credit score of 750 or above. As you have a lower risk of defaulting if your credit score is greater, banks and NBFCs will be more inclined to provide you personal loans." + } + ] + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getLimit +Get limit + + + + +```java +multikyc.getLimit( lenderSlug, merchantId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | | +| merchantId | String? | no | | + + + +This API is used to get the credit limit for the user. + +*Returned Response:* + + + + +[CreditLimitResponse](#CreditLimitResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "status": "SUCCESS", + "message": "Credit limit details retrieved successfully", + "action": true, + "credit": { + "availableLimit": 15000, + "approvedLimit": 20000 + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### validaFormField +Valida form field + + + + +```java +multikyc.validaFormField(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [ValidateFormFieldRequest](#ValidateFormFieldRequest) | yes | Request body | + + + + +*Returned Response:* + + + + +[ValidateFormFieldResponse](#ValidateFormFieldResponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getUserDoc +Get user doc + + + + +```java +multikyc.getUserDoc( docType) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| docType | String | yes | | + + + +This is used to check if given user doc exist or not. + +*Returned Response:* + + + + +[FindDocResponse](#FindDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "status": "AVAILABLE", + "info": "EHMQM9090L", + "details": { + "name": "ABC", + "id": "EHMQM9090L" + }, + "name": "PAN" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### validatePan +Validate pan + + + + +```java +multikyc.validatePan(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [ValidatePanRequest](#ValidatePanRequest) | yes | Request body | + + +This API is used to check if PAN entered by the user is valid or not. To be called as soon as user enter the PAN. + +*Returned Response:* + + + + +[ValidatePanResponse](#ValidatePanResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "panName": "John Doe", + "isPanValid": "VALID", + "pan": "ABCDE1234F" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### confirmPan +Confirm pan + + + + +```java +multikyc.confirmPan(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [ConfirmPanRequest](#ConfirmPanRequest) | yes | Request body | + + +After user enter the PAN, details are shared with frontend, Those details with pan number are sent back in this API once user click on confirm. + +*Returned Response:* + + + + +[ConfirmPanResonse](#ConfirmPanResonse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "status": "SUCCESS", + "statusCode": 200, + "message": "PAN confirmed successfully" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### uploadDocument +Upload document + + + + +```java +multikyc.uploadDocument(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadDocumentRequest](#UploadDocumentRequest) | yes | Request body | + + +Once to process any document like AADHAAR_XML, LIVLINES, BANK_DETAIL etc. this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "AADHAAR_XML", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "key": "value" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processAadhaar +Process aadhaar + + + + +```java +multikyc.processAadhaar(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadAadhaarRequest](#UploadAadhaarRequest) | yes | Request body | + + +Once to process AADHAAR_XML this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "AADHAAR_XML", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "aadhaarReferenceNumber": "123456789012", + "aadhaarUid": "9876543210", + "image": "https://example.com/aadhaar-image.png", + "proofOfIdentity": { + "dob": "1990-01-01", + "hashedEmail": "hash123456", + "gender": "Male", + "hashedMobileNumber": "hash789012", + "name": "John Doe" + }, + "proofOfAddress": { + "careOf": "Care of Example", + "country": "India", + "district": "Example District", + "house": "123", + "landmark": "Near Example Landmark", + "locality": "Example Locality", + "pincode": "123456", + "postOffice": "Example Post Office", + "state": "Example State", + "street": "Example Street", + "subDistrict": "Example Sub District", + "vtc": "Example VTC" + }, + "xml": "https://example.com/aadhaar-xml.xml", + "pdf": "https://example.com/aadhaar-pdf.pdf", + "address": "123, Example Street, Example Locality, Example District, Example State - 123456" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processSelfie +Process selfie + + + + +```java +multikyc.processSelfie(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadLivelinessRequest](#UploadLivelinessRequest) | yes | Request body | + + +Once to process LIVLINESS this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "LIVLINESS", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "selfie": "https://cdn.pixelbin.in/selfie/image.jpg", + "video": "https://cdn.pixelbin.in/selfie/video.mpv" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processBankDetails +Process bank details + + + + +```java +multikyc.processBankDetails(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadBankDetailsRequest](#UploadBankDetailsRequest) | yes | Request body | + + +Once to process BANKING_DETAILS this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "BANK_DETAILS", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "accountType": "Saving", + "bankName": "Example Bank", + "ifsc": "ABCD1234567", + "accountNumber": "123456789012", + "accountHolderName": "John Doe" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getDocuments +Get documents + + + + +```java +multikyc.getDocuments( lenderSlug) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | | + + + +This API is called after the upload of aahdaar xml to show all the documents details on the screen. + +*Returned Response:* + + + + +[GetDocumentsResponse](#GetDocumentsResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "documents": [ + { + "status": "AVAILABLE", + "info": "Document available", + "details": { + "documentId": "abc123", + "documentType": "Passport" + }, + "name": "Passport" + }, + { + "status": "NOT_AVAILABLE", + "info": "Document not available" + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getGstDetails +Get gst details + + + + +```java +multikyc.getGstDetails() { + //use response +} +``` + + + + + + +*Returned Response:* + + + + +[GstDetailsResponse](#GstDetailsResponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### submitGstDetails +Submit gst details + + + + +```java +multikyc.submitGstDetails(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [RegisterGstRequest](#RegisterGstRequest) | yes | Request body | + + + + +*Returned Response:* + + + + +[RegisterGstResponse](#RegisterGstResponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### uploadDocumentV1 +Upload document v 1 + + + + +```java +multikyc.uploadDocumentV1(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadDocumentRequestV1](#UploadDocumentRequestV1) | yes | Request body | + + +Once to process any document like AADHAAR_XML_ LIVLINES, BANK_DETAIL etc. this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "AADHAAR_XML", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "key": "value" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processAadhaarV1 +Process aadhaar v 1 + + + + +```java +multikyc.processAadhaarV1(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadAadhaarRequestV1](#UploadAadhaarRequestV1) | yes | Request body | + + +Once to process AADHAAR_XML this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "AADHAAR_XML", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "aadhaarReferenceNumber": "123456789012", + "aadhaarUid": "9876543210", + "image": "https://example.com/aadhaar-image.png", + "proofOfIdentity": { + "dob": "1990-01-01", + "hashedEmail": "hash123456", + "gender": "Male", + "hashedMobileNumber": "hash789012", + "name": "John Doe" + }, + "proofOfAddress": { + "careOf": "Care of Example", + "country": "India", + "district": "Example District", + "house": "123", + "landmark": "Near Example Landmark", + "locality": "Example Locality", + "pincode": "123456", + "postOffice": "Example Post Office", + "state": "Example State", + "street": "Example Street", + "subDistrict": "Example Sub District", + "vtc": "Example VTC" + }, + "xml": "https://example.com/aadhaar-xml.xml", + "pdf": "https://example.com/aadhaar-pdf.pdf", + "address": "123, Example Street, Example Locality, Example District, Example State - 123456" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processSelfieV1 +Process selfie v 1 + + + + +```java +multikyc.processSelfieV1(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadLivelinessRequestV1](#UploadLivelinessRequestV1) | yes | Request body | + + +Once to process LIVLINESS this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "LIVLINESS", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "selfie": "https://cdn.pixelbin.in/selfie/image.jpg", + "video": "https://cdn.pixelbin.in/selfie/video.mpv" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getDocumentsV1 +Get documents v 1 + + + + +```java +multikyc.getDocumentsV1( entityMapId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| entityMapId | String | yes | | + + + +This API is called after the upload of aahdaar xml to show all the documents details on the screen. + +*Returned Response:* + + + + +[GetDocumentsResponse](#GetDocumentsResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "documents": [ + { + "status": "AVAILABLE", + "info": "Document available", + "details": { + "documentId": "abc123", + "documentType": "Passport" + }, + "name": "Passport" + }, + { + "status": "NOT_AVAILABLE", + "info": "Document not available" + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processAadhaarV2 +Process aadhaar v 2 + + + + +```java +multikyc.processAadhaarV2(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadAadhaarRequestV2](#UploadAadhaarRequestV2) | yes | Request body | + + +Once to process AADHAAR_XML this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "AADHAAR_XML", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "aadhaarReferenceNumber": "123456789012", + "aadhaarUid": "9876543210", + "image": "https://example.com/aadhaar-image.png", + "proofOfIdentity": { + "dob": "1990-01-01", + "hashedEmail": "hash123456", + "gender": "Male", + "hashedMobileNumber": "hash789012", + "name": "John Doe" + }, + "proofOfAddress": { + "careOf": "Care of Example", + "country": "India", + "district": "Example District", + "house": "123", + "landmark": "Near Example Landmark", + "locality": "Example Locality", + "pincode": "123456", + "postOffice": "Example Post Office", + "state": "Example State", + "street": "Example Street", + "subDistrict": "Example Sub District", + "vtc": "Example VTC" + }, + "xml": "https://example.com/aadhaar-xml.xml", + "pdf": "https://example.com/aadhaar-pdf.pdf", + "address": "123, Example Street, Example Locality, Example District, Example State - 123456" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processSelfieV2 +Process selfie v 2 + + + + +```java +multikyc.processSelfieV2(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadLivelinessRequestV2](#UploadLivelinessRequestV2) | yes | Request body | + + +Once to process LIVLINESS this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "LIVLINESS", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "selfie": "https://cdn.pixelbin.in/selfie/image.jpg", + "video": "https://cdn.pixelbin.in/selfie/video.mpv" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processAadhaarV3 +Process aadhaar v 3 + + + + +```java +multikyc.processAadhaarV3(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadAadhaarRequestV3](#UploadAadhaarRequestV3) | yes | Request body | + + +Once to process AADHAAR_XML this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "AADHAAR_XML", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "aadhaarReferenceNumber": "123456789012", + "aadhaarUid": "9876543210", + "image": "https://example.com/aadhaar-image.png", + "proofOfIdentity": { + "dob": "1990-01-01", + "hashedEmail": "hash123456", + "gender": "Male", + "hashedMobileNumber": "hash789012", + "name": "John Doe" + }, + "proofOfAddress": { + "careOf": "Care of Example", + "country": "India", + "district": "Example District", + "house": "123", + "landmark": "Near Example Landmark", + "locality": "Example Locality", + "pincode": "123456", + "postOffice": "Example Post Office", + "state": "Example State", + "street": "Example Street", + "subDistrict": "Example Sub District", + "vtc": "Example VTC" + }, + "xml": "https://example.com/aadhaar-xml.xml", + "pdf": "https://example.com/aadhaar-pdf.pdf", + "address": "123, Example Street, Example Locality, Example District, Example State - 123456" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### processSelfieV3 +Process selfie v 3 + + + + +```java +multikyc.processSelfieV3(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UploadLivelinessRequestV3](#UploadLivelinessRequestV3) | yes | Request body | + + +Once to process LIVLINESS this API is called with relevant document details in the request. + +*Returned Response:* + + + + +[UploadDocResponse](#UploadDocResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "abc123", + "userId": "user123", + "status": "IN_PROGRESS", + "type": "CKYC", + "remark": "Document uploaded", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2023-12-31T23:59:59.000Z", + "createdAt": "2023-08-03T10:00:00.000Z", + "updatedAt": "2023-08-03T10:30:00.000Z", + "deletedAt": null, + "lenderId": "lender123", + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + }, + "action": { + "id": "xyz456", + "userId": "user123", + "lenderKycStepMapId": "map123", + "userKycDetailId": "abc123", + "lenderId": "lender123", + "ruleState": "AADHAAR_XML", + "active": true, + "status": "IN_PROGRESS", + "documentId": "doc123", + "createdAt": "2023-08-03T10:15:00.000Z", + "updatedAt": "2023-08-03T10:20:00.000Z", + "deletedAt": null, + "lenderKycStepMap": { + "id": "map123", + "name": "LIVLINESS", + "lenderId": "lender123", + "index": 1, + "workflowName": "KycWorkflow", + "workflowUrl": "https://example.com/workflow", + "internal": false, + "active": true, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "lender": { + "id": "lender123", + "name": "Example Lender", + "imageUrl": "https://example.com/lender-image.png", + "slug": "example-lender", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://example.com/lender-background.png", + "landscapeBgUrl": "https://example.com/lender-background-landscape.png", + "iconUrl": "https://example.com/lender-icon.png", + "logoUrl": "https://example.com/lender-logo.png" + }, + "createdAt": "2023-01-01T00:00:00.000Z", + "updatedAt": "2023-01-02T00:00:00.000Z", + "deletedAt": null, + "merchantConfigSchema": {}, + "meta": {}, + "metaSchema": {} + } + } + }, + "status": "IN_PROGRESS", + "data": { + "selfie": "https://cdn.pixelbin.in/selfie/image.jpg", + "video": "https://cdn.pixelbin.in/selfie/video.mpv" + }, + "remark": "Document uploaded" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### initiateKyc +Initiate kyc + + + + +```java +multikyc.initiateKyc( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | | +| body | [InitiateKycRequest](#InitiateKycRequest) | yes | Request body | + + +In order to be able to complete the KYC, this API needs to be called in the start of KYC. Once it is called then one can avoid calling this API. Hence it is better to call this API whenever user resume or start KYC. + +*Returned Response:* + + + + +[InitiateKycResponse](#InitiateKycResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "user_kyc_detail_id", + "userId": "user_id", + "status": "IN_PROGRESS", + "type": "DIGILOCKER", + "remark": "KYC verification is in progress", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2024-08-01T00:00:00Z", + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "deletedAt": null, + "lenderId": "lender_id", + "lender": { + "id": "lender_id", + "name": "Lender Name", + "imageUrl": "https://example.com/lender_logo.png", + "slug": "lender-slug", + "active": true, + "b2b": true, + "b2c": false, + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "approvedLimit": 100000 + } + }, + "action": { + "id": "user_kyc_lender_step_map_id", + "userId": "user_id", + "lenderKycStepMapId": "lender_kyc_step_map_id", + "userKycDetailId": "user_kyc_detail_id", + "lenderId": "lender_id", + "ruleState": { + "key": "value" + }, + "active": true, + "status": "IN_PROGRESS", + "documentId": "document_id", + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "deletedAt": null, + "lenderKycStepMap": { + "name": "AADHAAR_XML", + "index": 0, + "workflowName": "kyc_workflow", + "workflowUrl": "https://example.com/kyc_workflow", + "internal": true, + "active": true, + "ttl": 3600 + } + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getDigilockerLink +Get digilocker link + + + + +```java +multikyc.getDigilockerLink( redirectUrl) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| redirectUrl | String? | no | | + + + +If kyc step is AADHAAR_XML and status is IN_PROGRESS then this API needs to be called to get the digilocker link to complete aadhaar_xml step + +*Returned Response:* + + + + +[DigilockerLinkResponse](#DigilockerLinkResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "authorizationUrl": "https://www.digilocker.gov.in/oauth2/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### initiateKycV1 +Initiate kyc v 1 + + + + +```java +multikyc.initiateKycV1(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [InitiateKycRequestV1](#InitiateKycRequestV1) | yes | Request body | + + +In order to be able to complete the KYC, this API needs to be called in the start of KYC. Once it is called then one can avoid calling this API. Hence it is better to call this API whenever user resume or start KYC. + +*Returned Response:* + + + + +[InitiateKycResponse](#InitiateKycResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "kycResult": { + "id": "user_kyc_detail_id", + "userId": "user_id", + "status": "IN_PROGRESS", + "type": "DIGILOCKER", + "remark": "KYC verification is in progress", + "profileType": "PERSONAL", + "active": true, + "expiryDate": "2024-08-01T00:00:00Z", + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "deletedAt": null, + "lenderId": "lender_id", + "lender": { + "id": "lender_id", + "name": "Lender Name", + "imageUrl": "https://example.com/lender_logo.png", + "slug": "lender-slug", + "active": true, + "b2b": true, + "b2c": false, + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "approvedLimit": 100000 + } + }, + "action": { + "id": "user_kyc_lender_step_map_id", + "userId": "user_id", + "lenderKycStepMapId": "lender_kyc_step_map_id", + "userKycDetailId": "user_kyc_detail_id", + "lenderId": "lender_id", + "ruleState": { + "key": "value" + }, + "active": true, + "status": "IN_PROGRESS", + "documentId": "document_id", + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "deletedAt": null, + "lenderKycStepMap": { + "name": "AADHAAR_XML", + "index": 0, + "workflowName": "kyc_workflow", + "workflowUrl": "https://example.com/kyc_workflow", + "internal": true, + "active": true, + "ttl": 3600 + } + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### lenderDetail +Lender detail + + + + +```java +multikyc.lenderDetail( lenderSlug) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | | + + + +API endpoint to get details of a lender. + +*Returned Response:* + + + + +[Lender](#Lender) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "id": "491e46af-d6f7-478a-bceb-187e62e2cf78", + "name": "Piramal Finance", + "active": true, + "imageUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Piramal_Logo.png", + "slug": "piramal-finance", + "theme": { + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Chola_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Chola_Background.png", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/piramal-icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Piramal_Logo.png" + }, + "b2b": false, + "b2c": true, + "merchantConfigSchema": {}, + "createdAt": "2023-05-09T15:36:36.423Z", + "updatedAt": "2023-05-09T15:36:36.423Z", + "approvedLimit": 0, + "deletedAt": null, + "meta": null, + "metaSchema": null + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### initiateLenderOnboarding +Initiate lender onboarding + + + + +```java +multikyc.initiateLenderOnboarding( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | | +| body | [LenderOnboardRequest](#LenderOnboardRequest) | yes | Request body | + + +This API is called whenever user start or resumes the Onboarding. +I order to call this API, onboardingStatus API should return onboardingStep = "USER_LENDER_ONBOARD". Note that it is mandatory to call this API whenever user resumes the onboarding. +Other conditions when this API needs to be called are +1. if actionStatus = FAILED in onbaordingStatus api +2. if actionStatus = USER_ACTION_NEEDED then this is API is supposed to be called with request body as { ack: "SUCCESS | FAILED", data: {redirectlUrl: "https://redirecturl.com", ...otherData} } + +*Returned Response:* + + + + +[LenderOnboardResponse](#LenderOnboardResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "result": { + "id": "user_lender_id", + "userId": "user_id", + "lenderId": "lender_id", + "active": true, + "default": false, + "status": "SUCCESS", + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "approvedLimit": 10000 + }, + "action": { + "id": "user_lender_state_id", + "lenderStateId": "lender_state_id", + "lenderId": "lender_id", + "userId": "user_id", + "status": "SUCCESS", + "userLenderId": "user_lender_id", + "remark": "Action completed successfully", + "active": true, + "lenderState": { + "id": "lender_state_id", + "name": "Lender State", + "lenderId": "lender_id", + "index": 2, + "workflowName": "Onboarding Workflow", + "workflowUrl": "https://example.com/onboarding", + "internal": true, + "active": true, + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "ttl": 86400 + }, + "data": {}, + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z" + }, + "data": { + "additionalInfo": "some_additional_info" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### availableLenders +Available lenders + + + + +```java +multikyc.availableLenders( includePossibleLenders, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| includePossibleLenders | Boolean? | no | | +| body | [AvailableLendersRequest](#AvailableLendersRequest) | yes | Request body | + + + + +*Returned Response:* + + + + +[AvailableLenders](#AvailableLenders) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### initiateLenderOnboardingV1 +Initiate lender onboarding v 1 + + + + +```java +multikyc.initiateLenderOnboardingV1(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [LenderOnboardRequestV1](#LenderOnboardRequestV1) | yes | Request body | + + +This API is called whenever user start or resumes the Onboarding. +I order to call this API, onboardingStatus API should return onboardingStep = "USER_LENDER_ONBOARD". Note that it is mandatory to call this API whenever user resumes the onboarding. +Other conditions when this API needs to be called are +1. if actionStatus = FAILED in onbaordingStatus api +2. if actionStatus = USER_ACTION_NEEDED then this is API is supposed to be called with request body as { ack: "SUCCESS | FAILED", data: {redirectlUrl: "https://redirecturl.com", ...otherData} } + +*Returned Response:* + + + + +[LenderOnboardResponse](#LenderOnboardResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "result": { + "id": "user_lender_id", + "userId": "user_id", + "lenderId": "lender_id", + "active": true, + "default": false, + "status": "SUCCESS", + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "approvedLimit": 10000 + }, + "action": { + "id": "user_lender_state_id", + "lenderStateId": "lender_state_id", + "lenderId": "lender_id", + "userId": "user_id", + "status": "SUCCESS", + "userLenderId": "user_lender_id", + "remark": "Action completed successfully", + "active": true, + "lenderState": { + "id": "lender_state_id", + "name": "Lender State", + "lenderId": "lender_id", + "index": 2, + "workflowName": "Onboarding Workflow", + "workflowUrl": "https://example.com/onboarding", + "internal": true, + "active": true, + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z", + "ttl": 86400 + }, + "data": {}, + "createdAt": "2023-08-01T12:34:56Z", + "updatedAt": "2023-08-02T10:20:30Z" + }, + "data": { + "additionalInfo": "some_additional_info" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getOnboardingStatus +Get onboarding status + + + + +```java +multikyc.getOnboardingStatus( lenderSlug) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String? | no | | + + + +This API endpoint allows authenticated users to retrieve the onboarding status for a specific lender or all lenders. The onboarding status includes information about various onboarding steps, such as KYC (Know Your Customer), lender onboarding, and the overall onboarding completion status. +1. OnboardingSteps: An enumeration representing the different onboarding steps (KYC, USER_LENDER_ONBAORD, DONE). +2. KycStatus: An enumeration representing the KYC status (SUCCESS, IN_PROGRESS, NOT_INITIATED, UNDER_MANUAL_PROGRESS, FAILED, EXPIRED). +3. LenderStatus: An enumeration representing the lender status (SUCCESS, IN_PROGRESS, NOT_INITIATED, UNDER_MANUAL_PROGRESS, FAILED, EXPIRED, REJECTED). +4. StepStatus: An enumeration representing the action status (NOT_AVAILABLE, IN_PROGRESS, SUCCESS, FAILED, USER_ACTION_NEEDED). + +*Returned Response:* + + + + +[OnboardingStatusResponse](#OnboardingStatusResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "onboardStatuses": [ + { + "onboardStep": "KYC", + "onboardingId": "abc123", + "status": "SUCCESS", + "action": "Provide ID and Address", + "actionStatus": "SUCCESS", + "lender": { + "id": "123456ywertyu7657890oiutyrdgfhgj", + "slug": "piramal-finance", + "active": false + }, + "navigation": "/onboarding/kyc", + "approvedLimit": 10000, + "proposedLimit": 15000, + "actionData": { + "documentType": "Passport", + "addressProof": "Utility Bill" + } + }, + { + "onboardStep": "USER_LENDER_ONBAORD", + "onboardingId": "xyz456", + "status": "IN_PROGRESS", + "action": "Review and Sign Agreement", + "actionStatus": "USER_ACTION_NEEDED", + "lender": { + "id": "1234rtyu7657890oiutyrdgfhgj", + "slug": "cashe", + "active": true + }, + "navigation": "/onboarding/lender", + "approvedLimit": 0, + "proposedLimit": 20000 + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getOnboardingSteps +Get onboarding steps + + + + +```java +multikyc.getOnboardingSteps( entityMapId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| entityMapId | String | yes | | + + + + + +*Returned Response:* + + + + +[OnboardStepsResponse](#OnboardStepsResponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getOnboardingStatusV1 +Get onboarding status v 1 + + + + +```java +multikyc.getOnboardingStatusV1( entityMapId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| entityMapId | String? | no | | + + + +This API endpoint allows authenticated users to retrieve the onboarding status for a specific lender or all lenders. The onboarding status includes information about various onboarding steps, such as KYC (Know Your Customer), lender onboarding, and the overall onboarding completion status. +1. OnboardingSteps: An enumeration representing the different onboarding steps (KYC, USER_LENDER_ONBAORD, DONE). +2. KycStatus: An enumeration representing the KYC status (SUCCESS, IN_PROGRESS, NOT_INITIATED, UNDER_MANUAL_PROGRESS, FAILED, EXPIRED). +3. LenderStatus: An enumeration representing the lender status (SUCCESS, IN_PROGRESS, NOT_INITIATED, UNDER_MANUAL_PROGRESS, FAILED, EXPIRED, REJECTED). +4. StepStatus: An enumeration representing the action status (NOT_AVAILABLE, IN_PROGRESS, SUCCESS, FAILED, USER_ACTION_NEEDED). + +*Returned Response:* + + + + +[OnboardingStatusResponse](#OnboardingStatusResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "onboardStatuses": [ + { + "onboardStep": "KYC", + "onboardingId": "abc123", + "status": "SUCCESS", + "action": "Provide ID and Address", + "actionStatus": "SUCCESS", + "lender": { + "id": "123456ywertyu7657890oiutyrdgfhgj", + "slug": "piramal-finance", + "active": false + }, + "navigation": "/onboarding/kyc", + "approvedLimit": 10000, + "proposedLimit": 15000, + "actionData": { + "documentType": "Passport", + "addressProof": "Utility Bill" + } + }, + { + "onboardStep": "USER_LENDER_ONBAORD", + "onboardingId": "xyz456", + "status": "IN_PROGRESS", + "action": "Review and Sign Agreement", + "actionStatus": "USER_ACTION_NEEDED", + "lender": { + "id": "1234rtyu7657890oiutyrdgfhgj", + "slug": "cashe", + "active": true + }, + "navigation": "/onboarding/lender", + "approvedLimit": 0, + "proposedLimit": 20000 + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getLenderCards +Get lender cards + + + + +```java +multikyc.getLenderCards( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String? | no | | +| body | [LenderFilters](#LenderFilters) | yes | Request body | + + +API endpoint to get lender cards for display in the UI. + +*Returned Response:* + + + + +[GetLenderCardsResponse](#GetLenderCardsResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "display": [ + { + "display": { + "primary": { + "primary": { + "text": "Complete KYC & get credit limit upto" + }, + "secondary": { + "text": "₹10,000" + } + }, + "secondary": { + "primary": { + "text": "Connect to" + }, + "secondary": { + "text": "Digilocker" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/media/aadhar_state.png" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/piramal-icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Piramal_Logo.png", + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Chola_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Chola_Background.png" + }, + "data": { + "onboardStep": "KYC", + "onboardingId": "8a2ff6f4-b0ee-4ff0-9df2-67fba6753471", + "status": "IN_PROGRESS", + "action": "AADHAAR_XML", + "actionStatus": "NOT_AVAILABLE", + "lender": { + "id": "491e46af-d6f7-478a-bceb-187e62e2cf78", + "name": "Piramal Finance", + "imageUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Piramal_Logo.png", + "slug": "piramal-finance", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Chola_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Chola_Background.png", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/piramal-icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Piramal_Logo.png" + }, + "createdAt": "2023-05-09T15:36:36.423Z", + "updatedAt": "2023-05-09T15:36:36.423Z", + "deletedAt": null, + "merchantConfigSchema": null, + "meta": null, + "metaSchema": null + }, + "navigation": "kyc/piramal-finance/access-digilocker", + "proposedLimit": 10000, + "approvedLimit": -1, + "actionData": null + } + }, + { + "display": { + "primary": { + "primary": { + "text": "Available balance" + }, + "secondary": { + "text": "" + } + }, + "secondary": { + "primary": { + "text": "Dues" + }, + "secondary": { + "text": "Start using your limit" + }, + "iconUrl": "" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/cashe_icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Cashe_logo.png", + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Cashe_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Cashe_Background.png" + }, + "data": { + "lender": { + "id": "315f60f4-1238-462c-8108-cfff9fbc400f", + "name": "CASHe", + "imageUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Cashe_logo.png", + "slug": "cashe", + "active": true, + "b2b": true, + "b2c": true, + "theme": { + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Cashe_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Cashe_Background.png", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/cashe_icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Cashe_logo.png" + }, + "createdAt": "2023-05-09T15:36:36.423Z", + "updatedAt": "2023-05-09T15:36:36.423Z", + "deletedAt": null, + "merchantConfigSchema": null, + "meta": null, + "metaSchema": null + }, + "onboardStep": "DONE", + "onboardingId": null, + "status": "SUCCESS", + "action": "DONE", + "actionStatus": "SUCCESS", + "navigation": "lender/cashe", + "proposedLimit": 100000, + "approvedLimit": 60000, + "actionData": {} + } + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getActiveOrganization +Get active organization + + + + +```java +multikyc.getActiveOrganization( sortOn, orderBy) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| sortOn | String? | no | | +| orderBy | String? | no | | + + + +API endpoint to get active merchants details to display in the UI. + +*Returned Response:* + + + + +[OrganizationLogosResponse](#OrganizationLogosResponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getLenderCardsV1 +Get lender cards v 1 + + + + +```java +multikyc.getLenderCardsV1( entityMapId, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| entityMapId | String? | no | | +| body | [LenderFilters](#LenderFilters) | yes | Request body | + + +API endpoint to get lender cards for display in the UI. + +*Returned Response:* + + + + +[GetLenderCardsResponse](#GetLenderCardsResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "display": [ + { + "display": { + "primary": { + "primary": { + "text": "Complete KYC & get credit limit upto" + }, + "secondary": { + "text": "₹10,000" + } + }, + "secondary": { + "primary": { + "text": "Connect to" + }, + "secondary": { + "text": "Digilocker" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/media/aadhar_state.png" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/piramal-icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Piramal_Logo.png", + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Chola_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Chola_Background.png" + }, + "data": { + "onboardStep": "KYC", + "onboardingId": "8a2ff6f4-b0ee-4ff0-9df2-67fba6753471", + "status": "IN_PROGRESS", + "action": "AADHAAR_XML", + "actionStatus": "NOT_AVAILABLE", + "lender": { + "id": "491e46af-d6f7-478a-bceb-187e62e2cf78", + "name": "Piramal Finance", + "imageUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Piramal_Logo.png", + "slug": "piramal-finance", + "active": true, + "b2b": false, + "b2c": true, + "theme": { + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Chola_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Chola_Background.png", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/piramal-icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Piramal_Logo.png" + }, + "createdAt": "2023-05-09T15:36:36.423Z", + "updatedAt": "2023-05-09T15:36:36.423Z", + "deletedAt": null, + "merchantConfigSchema": null, + "meta": null, + "metaSchema": null + }, + "navigation": "kyc/piramal-finance/access-digilocker", + "proposedLimit": 10000, + "approvedLimit": -1, + "actionData": null + } + }, + { + "display": { + "primary": { + "primary": { + "text": "Available balance" + }, + "secondary": { + "text": "" + } + }, + "secondary": { + "primary": { + "text": "Dues" + }, + "secondary": { + "text": "Start using your limit" + }, + "iconUrl": "" + }, + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/cashe_icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Cashe_logo.png", + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Cashe_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Cashe_Background.png" + }, + "data": { + "lender": { + "id": "315f60f4-1238-462c-8108-cfff9fbc400f", + "name": "CASHe", + "imageUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Cashe_logo.png", + "slug": "cashe", + "active": true, + "b2b": true, + "b2c": true, + "theme": { + "portraitBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/portrait/Cashe_Background_min.png", + "landscapeBgUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderBackground/landscape/Cashe_Background.png", + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/cashe_icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/logos/Cashe_logo.png" + }, + "createdAt": "2023-05-09T15:36:36.423Z", + "updatedAt": "2023-05-09T15:36:36.423Z", + "deletedAt": null, + "merchantConfigSchema": null, + "meta": null, + "metaSchema": null + }, + "onboardStep": "DONE", + "onboardingId": null, + "status": "SUCCESS", + "action": "DONE", + "actionStatus": "SUCCESS", + "navigation": "lender/cashe", + "proposedLimit": 100000, + "approvedLimit": 60000, + "actionData": {} + } + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### createPixelbinSignedUrl +Create pixelbin signed url + + + + +```java +multikyc.createPixelbinSignedUrl( documentName, lenderSlug, purpose, extension) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| documentName | String | yes | | +| lenderSlug | String? | no | | +| purpose | String? | no | | +| extension | String? | no | | + + + +API endpoint to create a signed URL for uploading documents to Pixelbin. The signed URL can be used to securely upload the document. + +*Returned Response:* + + + + +[SignedUrlResponse](#SignedUrlResponse) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "signedUrl": { + "url": "https://example.com/upload/abc123", + "fields": { + "key": "uploads/abc123", + "acl": "private", + "x-amz-algorithm": "AWS4-HMAC-SHA256", + "x-amz-credential": "AKIAYRABCDEFGHIJ/20230803/us-east-1/s3/aws4_request", + "x-amz-date": "20230803T120000Z", + "policy": "eyJleHBpcmF0aW9uIjoiMjAyNC0xMC0xOVQxMzo0NTozMC44MzlaIiwiY29uZGl0aW9ucyI6W3siYnVja2V0IjoiYXV0b3BlcmNhc2RpbmciLCJjb250ZW50LWxlbmd0aCI6InB1YmxpYyJ9LHsiYWNsIjoicHJpdmF0ZSJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotY3JlZGVudGlhbCI6IkFLSUFZUkFGR0JCSUhKLzIwMjMwODAzL3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifV19", + "x-amz-signature": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", + "x-amz-security-token": "FwoGZXIvYXdzEHkaDGXQFfabc1Wq8bc1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef==" + } + }, + "fileUrl": "https://example.com/uploads/abc123" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### createPixelbinSignedUrlV2 +Create pixelbin signed url v 2 + + + + +```java +multikyc.createPixelbinSignedUrlV2( documentName, lenderSlug, purpose, extention) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| documentName | String | yes | | +| lenderSlug | String? | no | | +| purpose | String? | no | | +| extention | String? | no | | + + + +API endpoint to create a signed URL for uploading documents to Pixelbin. The signed URL can be used to securely upload the document with multipart support. + +*Returned Response:* + + + + +[SignedUrlV2Response](#SignedUrlV2Response) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "signedUrl": { + "url": "https://example.com/upload/abc123", + "fields": { + "key": "uploads/abc123", + "acl": "private", + "x-amz-algorithm": "AWS4-HMAC-SHA256", + "x-amz-credential": "AKIAYRABCDEFGHIJ/20230803/us-east-1/s3/aws4_request", + "x-amz-date": "20230803T120000Z", + "policy": "eyJleHBpcmF0aW9uIjoiMjAyNC0xMC0xOVQxMzo0NTozMC44MzlaIiwiY29uZGl0aW9ucyI6W3siYnVja2V0IjoiYXV0b3BlcmNhc2RpbmciLCJjb250ZW50LWxlbmd0aCI6InB1YmxpYyJ9LHsiYWNsIjoicHJpdmF0ZSJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotY3JlZGVudGlhbCI6IkFLSUFZUkFGR0JCSUhKLzIwMjMwODAzL3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifV19", + "x-amz-signature": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", + "x-amz-security-token": "FwoGZXIvYXdzEHkaDGXQFfabc1Wq8bc1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef==" + } + }, + "fileUrl": "https://example.com/uploads/abc123" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### createSignedUrlV3 +Create signed url v 3 + + + + +```java +multikyc.createSignedUrlV3( documentName, lenderSlug, purpose, extension, contentType) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| documentName | String | yes | | +| lenderSlug | String? | no | | +| purpose | String? | no | | +| extension | String? | no | | +| contentType | String? | no | | + + + +API endpoint to create a signed URL for uploading documents to and downloading documents from cloud storage. + +*Returned Response:* + + + + +[SignedUrlV3Response](#SignedUrlV3Response) + + + + + + +
+  Examples: + + +
+  Ok + +```json +{ + "value": { + "signedUrl": { + "url": "https://example.com/upload/abc123", + "fields": { + "key": "uploads/abc123", + "acl": "private", + "x-amz-algorithm": "AWS4-HMAC-SHA256", + "x-amz-credential": "AKIAYRABCDEFGHIJ/20230803/us-east-1/s3/aws4_request", + "x-amz-date": "20230803T120000Z", + "policy": "eyJleHBpcmF0aW9uIjoiMjAyNC0xMC0xOVQxMzo0NTozMC44MzlaIiwiY29uZGl0aW9ucyI6W3siYnVja2V0IjoiYXV0b3BlcmNhc2RpbmciLCJjb250ZW50LWxlbmd0aCI6InB1YmxpYyJ9LHsiYWNsIjoicHJpdmF0ZSJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotY3JlZGVudGlhbCI6IkFLSUFZUkFGR0JCSUhKLzIwMjMwODAzL3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifV19", + "x-amz-signature": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", + "x-amz-security-token": "FwoGZXIvYXdzEHkaDGXQFfabc1Wq8bc1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef==" + } + }, + "fileUrl": "https://example.com/uploads/abc123" + } +} +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [Lender](#Lender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | imageUrl | String? | yes | | + | slug | String? | yes | | + | theme | Object? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | merchantConfigSchema | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | meta | Object? | yes | | + | metaSchema | Object? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UserLender](#UserLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | approvedLimit | Double | no | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [SourceCreditReport](#SourceCreditReport) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | pan | String | no | | + | name | String | no | | + | mobile | String | no | | + | bureau | String | no | | + | score | String | no | | + | report | String | no | | + | createdAt | String? | yes | | + +--- + + + + + #### [Document](#Document) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | imageUrl | String | no | | + | number | String | no | | + | detail | Object | no | | + | valid | Boolean | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [UserKycDetail](#UserKycDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | status | String | no | | + | type | String | no | | + | remark | String | no | | + | profileType | String | no | | + | active | Boolean | no | | + | expiryDate | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | lenderId | String | no | | + | lender | [Lender](#Lender)? | yes | | + | entityMapId | String? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [Form](#Form) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | title | String? | yes | | + | subtitle | String? | yes | | + | action | String? | yes | | + | form | Object? | yes | | + | uiSchema | Object? | yes | | + | workflowId | String? | yes | | + +--- + + + + + #### [LenderKycStepMap](#LenderKycStepMap) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | step | String | no | | + | stepIndex | Double | no | | + | lenderId | String | no | | + | active | Boolean | no | | + | rules | Object | no | | + | profileType | String | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | name | String | no | | + | description | String | no | | + | iconUrl | String | no | | + | isInteractive | Boolean | no | | + | formId | String? | yes | | + | merchantId | String? | yes | | + | form | [Form](#Form) | no | | + | docSchema | Object | no | | + +--- + + + + + #### [UserKycLenderStepMap](#UserKycLenderStepMap) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderKycStepMapId | String | no | | + | userKycDetailId | String | no | | + | lenderId | String | no | | + | ruleState | Object | no | | + | active | Boolean | no | | + | status | String | no | | + | documentId | String? | yes | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | lenderKycStepMap | [LenderKycStepMap](#LenderKycStepMap)? | yes | | + | entityMapId | String? | yes | | + | entityId | String? | yes | | + | updatedBy | String? | yes | | + +--- + + + + + #### [ProofOfIdentity](#ProofOfIdentity) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dob | String | no | | + | hashedEmail | String | no | | + | gender | String | no | | + | hashedMobileNumber | String | no | | + | name | String | no | | + +--- + + + + + #### [ProofOfAddress](#ProofOfAddress) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | careOf | String | no | | + | country | String | no | | + | district | String | no | | + | house | String | no | | + | landmark | String | no | | + | locality | String | no | | + | pincode | String | no | | + | postOffice | String | no | | + | state | String | no | | + | street | String | no | | + | subDistrict | String | no | | + | vtc | String | no | | + +--- + + + + + #### [EAadhaarData](#EAadhaarData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | aadhaarReferenceNumber | String | no | | + | aadhaarUid | String | no | | + | image | String | no | | + | proofOfIdentity | [ProofOfIdentity](#ProofOfIdentity) | no | | + | proofOfAddress | [ProofOfAddress](#ProofOfAddress) | no | | + | xml | String? | yes | | + | pdf | String? | yes | | + | address | String? | yes | | + +--- + + + + + #### [EntityMapDto](#EntityMapDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merchantId | String? | yes | | + | status | String? | yes | | + | lenderId | String | no | | + | limit | Double? | yes | | + | creditType | String? | yes | | + | userId | String | no | | + | entityId | String | no | | + +--- + + + + + #### [EntityDto](#EntityDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | type | String? | yes | | + | address | String? | yes | | + | name | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | userId | String | no | | + +--- + + + + + #### [MerchantSchema](#MerchantSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | logo | String? | yes | | + | website | String? | yes | | + | apiHook | String? | yes | | + | epikId | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + | createdBy | String? | yes | | + | active | Boolean? | yes | | + | category | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | businessName | String? | yes | | + | email | String? | yes | | + | businessAddress | String? | yes | | + | pincode | String? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + +--- + + + + + #### [Consent](#Consent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | text | String | no | | + | type | String | no | | + +--- + + + + + #### [ValidatePanRequest](#ValidatePanRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pan | String | no | | + | consents | ArrayList<[Consent](#Consent)> | no | | + +--- + + + + + #### [BankDetails](#BankDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | accountType | String | no | | + | bankName | String | no | | + | ifsc | String | no | | + | accountNumber | String | no | | + | accountHolderName | String | no | | + +--- + + + + + #### [DocumentData](#DocumentData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | selfie | String? | yes | | + | video | String? | yes | | + | digilockerCode | String? | yes | | + | bankDetails | [BankDetails](#BankDetails)? | yes | | + +--- + + + + + #### [ConfirmPanRequest](#ConfirmPanRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pan | String | no | | + | name | String | no | | + | entity | String? | yes | | + | merchantId | String? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [LivelinessDetails](#LivelinessDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | selfie | String | no | | + | video | String | no | | + +--- + + + + + #### [UploadDocumentRequest](#UploadDocumentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | Object? | yes | | + | documentData | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadDocumentRequestV1](#UploadDocumentRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycStep | String | no | | + | entityMapId | String | no | | + | documentData | Object | no | | + +--- + + + + + #### [UploadDocumentRequestV3](#UploadDocumentRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycStep | String | no | | + | entityMapId | String | no | | + | documentData | Object | no | | + +--- + + + + + #### [AadhaarRequest](#AadhaarRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | digilockerCode | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequest](#UploadAadhaarRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadLivelinessRequest](#UploadLivelinessRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequestV1](#UploadAadhaarRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadLivelinessRequestV1](#UploadLivelinessRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadAadhaarRequestV2](#UploadAadhaarRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadLivelinessRequestV2](#UploadLivelinessRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequestV3](#UploadAadhaarRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadLivelinessRequestV3](#UploadLivelinessRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadBankDetailsRequest](#UploadBankDetailsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [BankDetails](#BankDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [InitiateKycRequest](#InitiateKycRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycType | String | no | | + | kycId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [InitiateKycRequestV1](#InitiateKycRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityMapId | String | no | | + | kycType | String | no | | + | kycId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderOnboardRequest](#LenderOnboardRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ack | String? | yes | | + | data | Object | no | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderOnboardRequestV1](#LenderOnboardRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityMapId | String | no | | + | ack | String? | yes | | + | data | Object | no | | + | merchantId | String? | yes | | + +--- + + + + + #### [UpdateLenderStatusRequest](#UpdateLenderStatusRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | payload | Object | no | | + | data | Object | no | | + | action | Boolean | no | | + +--- + + + + + #### [UpdateProfileRequest](#UpdateProfileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | userId | String | no | | + | isOnboarded | Boolean? | yes | | + | address | String? | yes | | + +--- + + + + + #### [UpdateEntityRequest](#UpdateEntityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | isDefault | Boolean? | yes | | + | address | [ProofOfAddress](#ProofOfAddress)? | yes | | + +--- + + + + + #### [CreateKycStepsRequest](#CreateKycStepsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [CreateLenderPgConfigRequest](#CreateLenderPgConfigRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | active | Boolean | no | | + | pgId | String | no | | + | lenderId | String | no | | + +--- + + + + + #### [CreateLenderStateRequest](#CreateLenderStateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpdateLenderRequest](#UpdateLenderRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + | lenderId | String | no | | + +--- + + + + + #### [OtherPolicyFilters](#OtherPolicyFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderBy | ArrayList? | yes | | + +--- + + + + + #### [GetPolicyFilters](#GetPolicyFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyType | String? | yes | | + | lenderIds | ArrayList? | yes | | + | merchantIds | ArrayList? | yes | | + | orderBy | ArrayList? | yes | | + +--- + + + + + #### [GetPolicyFilters2](#GetPolicyFilters2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | breType | String? | yes | | + | lenderId | ArrayList? | yes | | + | merchantId | ArrayList? | yes | | + | loanType | String? | yes | | + | journeyType | String? | yes | | + | subType | String? | yes | | + +--- + + + + + #### [MerchantConfigRequest](#MerchantConfigRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merchantConfigSchema | Object | no | | + +--- + + + + + #### [PanDetails](#PanDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | idNumber | String | no | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [AvailableLendersRequest](#AvailableLendersRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String | no | | + +--- + + + + + #### [InitialData](#InitialData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String | no | | + | entityId | String | no | | + +--- + + + + + #### [ExecutePolicyRequest](#ExecutePolicyRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyFilters | [GetPolicyFilters](#GetPolicyFilters)? | yes | | + | initialData | [InitialData](#InitialData) | no | | + +--- + + + + + #### [ExecutePolicyRequest2](#ExecutePolicyRequest2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyFilters | [GetPolicyFilters2](#GetPolicyFilters2)? | yes | | + | initialData | [InitialData](#InitialData) | no | | + +--- + + + + + #### [RegisterGstRequest](#RegisterGstRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstin | String | no | | + | skipGst | Boolean? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [PopulateFormRequest](#PopulateFormRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | form | Object | no | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [ValidateFormFieldRequest](#ValidateFormFieldRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | workflowName | String | no | | + | userId | String? | yes | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | fields | Object | no | | + +--- + + + + + #### [MerchantMetricFilter](#MerchantMetricFilter) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean? | yes | | + +--- + + + + + #### [LenderCustomerMetricsRequest](#LenderCustomerMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sort | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)>? | yes | | + | filters | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)>? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [StonewallCustomer](#StonewallCustomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + | uid | String? | yes | | + +--- + + + + + #### [GetLimitRequest](#GetLimitRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderSlugs | ArrayList? | yes | | + | onlyDefaultLender | Boolean? | yes | | + | customer | [StonewallCustomer](#StonewallCustomer) | no | | + +--- + + + + + #### [DocumentObject](#DocumentObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | name | String? | yes | | + | imageUrl | String? | yes | | + | number | String | no | | + | detail | Object | no | | + | valid | Boolean? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [ManualKycRequest](#ManualKycRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | remark | Object | no | | + | status | String | no | | + | stepId | String | no | | + | entityMapId | String | no | | + | documentData | [DocumentObject](#DocumentObject)? | yes | | + +--- + + + + + #### [RetriggerLenderOnboardRequest](#RetriggerLenderOnboardRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | stepId | String | no | | + | data | Object | no | | + +--- + + + + + #### [BusinessDetail](#BusinessDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | shopName | String? | yes | | + | legalName | String | no | | + | address | String? | yes | | + | type | String? | yes | | + | pincode | String? | yes | | + +--- + + + + + #### [VintageData](#VintageData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | Double | no | | + | year | Double | no | | + | totalTransactions | Double | no | | + | totalTransactionAmount | Double | no | | + | totalCancellations | Double? | yes | | + | totalCancellationAmount | Double? | yes | | + +--- + + + + + #### [DocumentObjects](#DocumentObjects) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | | + | category | String | no | | + | type | String | no | | + | name | String? | yes | | + | issuedOn | String? | yes | | + | issuedAt | String? | yes | | + | issuedBy | String? | yes | | + | expiryOn | String? | yes | | + +--- + + + + + #### [AddVintageRequest](#AddVintageRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | Object | no | | + | businessDetails | [BusinessDetail](#BusinessDetail) | no | | + | vintageData | [VintageData](#VintageData) | no | | + | documents | [DocumentObjects](#DocumentObjects) | no | | + | merchant | [MerchantSchema](#MerchantSchema) | no | | + +--- + + + + + #### [CheckEligibilityRequest](#CheckEligibilityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entity | [EntityDto](#EntityDto)? | yes | | + | isPreApproved | Boolean | no | | + | fetchLimit | Boolean? | yes | | + | user | Object | no | | + | businessDetails | [BusinessDetail](#BusinessDetail) | no | | + | vintageData | [VintageData](#VintageData) | no | | + | documents | [DocumentObjects](#DocumentObjects) | no | | + | merchant | [MerchantSchema](#MerchantSchema) | no | | + +--- + + + + + #### [KycCountByStatus](#KycCountByStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + +--- + + + + + #### [FindDocResponse](#FindDocResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | info | String | no | | + | details | Object? | yes | | + | name | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderKycStatus](#LenderKycStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | lenderId | String? | yes | | + | lenderName | String? | yes | | + | kycType | String? | yes | | + +--- + + + + + #### [StateResponeDto](#StateResponeDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | step | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + | isStepCompleted | Boolean | no | | + +--- + + + + + #### [KycStateMachineDto](#KycStateMachineDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [UserKycLenderStepMap](#UserKycLenderStepMap)? | yes | | + +--- + + + + + #### [InitiateKycDto](#InitiateKycDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycType | String | no | | + | lenderId | String | no | | + | user | Object | no | | + | kycId | String? | yes | | + | entityRelation | [EntityMapDto](#EntityMapDto)? | yes | | + +--- + + + + + #### [LenderOnboardDto](#LenderOnboardDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lender | [Lender](#Lender)? | yes | | + | user | Object | no | | + | userLenderDetail | [UserLender](#UserLender)? | yes | | + | payload | [LenderOnboardRequest](#LenderOnboardRequest) | no | | + | entityRelation | [EntityMapDto](#EntityMapDto)? | yes | | + | ipAddress | String | no | | + | overrideTtl | Boolean? | yes | | + +--- + + + + + #### [StepDetails](#StepDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | description | String? | yes | | + | iconUrl | String? | yes | | + | status | String | no | | + | step | String | no | | + | order | Double | no | | + +--- + + + + + #### [OnboardStatusDto](#OnboardStatusDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | onboardStep | String | no | | + | onboardingId | String | no | | + | status | String | no | | + | action | String | no | | + | actionStatus | String | no | | + | lender | [Lender](#Lender) | no | | + | navigation | String? | yes | | + | approvedLimit | Double | no | | + | proposedLimit | Double | no | | + | actionData | Object? | yes | | + | steps | ArrayList<[StepDetails](#StepDetails)>? | yes | | + | entityId | String | no | | + | entityMapId | String | no | | + | actionIsForm | Boolean | no | | + | actionForm | [Form](#Form)? | yes | | + | merchantId | String? | yes | | + | actionName | String? | yes | | + | actionDescription | String? | yes | | + +--- + + + + + #### [LenderFilters](#LenderFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | includeStatus | ArrayList? | yes | | + | excludeStatus | ArrayList? | yes | | + | allowDisabledLender | Object? | yes | | + +--- + + + + + #### [Policy](#Policy) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | url | String? | yes | | + | data | Object? | yes | | + | version | String? | yes | | + | active | Boolean? | yes | | + | type | Object? | yes | | + | index | Integer? | yes | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | workflowId | String? | yes | | + | schemaRef | ArrayList? | yes | | + | masterVariableRef | ArrayList? | yes | | + | customVariable | Object? | yes | | + | subType | String? | yes | | + | createdAt | Object? | yes | | + | updatedAt | Object? | yes | | + | deletedAt | Object? | yes | | + +--- + + + + + #### [OrganizationLogosObject](#OrganizationLogosObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String | no | | + | logo | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [MetricSubTypes](#MetricSubTypes) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String | no | | + | count | String? | yes | | + | sum | String? | yes | | + +--- + + + + + #### [MetricTypes](#MetricTypes) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pivots | ArrayList<[MetricSubTypes](#MetricSubTypes)> | no | | + | total | String? | yes | | + | description | String | no | | + | title | String | no | | + | valueFormat | String | no | | + | logo | String | no | | + +--- + + + + + #### [BreApprovedUsersResponse](#BreApprovedUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [MetricTypes](#MetricTypes) | no | | + +--- + + + + + #### [Metrics](#Metrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderApprovedUsers | [MetricTypes](#MetricTypes) | no | | + | breApprovedUsers | [MetricTypes](#MetricTypes) | no | | + | totalCreditLine | [MetricTypes](#MetricTypes) | no | | + +--- + + + + + #### [MetricData](#MetricData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [Metrics](#Metrics) | no | | + | filters | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)> | no | | + | sort | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)> | no | | + +--- + + + + + #### [GetAllUserLendersByEnityId](#GetAllUserLendersByEnityId) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityId | String | no | | + | entityMapId | String | no | | + | userId | String | no | | + | status | String | no | | + | lender | [Lender](#Lender)? | yes | | + | partnerId | String? | yes | | + | approvedLimit | Double? | yes | | + +--- + + + + + #### [ApprovedLenders](#ApprovedLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | lenders | ArrayList<[BreOutput](#BreOutput)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [BreResultStatus](#BreResultStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | approvedLenders | ArrayList<[BreOutput](#BreOutput)>? | yes | | + +--- + + + + + #### [LenderState](#LenderState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | lenderId | String | no | | + | index | Integer | no | | + | workflowName | String | no | | + | workflowUrl | String? | yes | | + | active | Boolean | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | lender | [Lender](#Lender)? | yes | | + | parentStateId | String? | yes | | + | ttl | Double | no | | + | displayName | String? | yes | | + | description | String? | yes | | + | iconUrl | String? | yes | | + | isInteractive | Boolean | no | | + | schema | Object? | yes | | + +--- + + + + + #### [UserLenderState](#UserLenderState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | lenderStateId | String | no | | + | lenderId | String | no | | + | userId | String | no | | + | status | String | no | | + | userLenderId | String | no | | + | remark | String | no | | + | active | Boolean | no | | + | lenderState | [LenderState](#LenderState)? | yes | | + | data | Object? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + | updatedBy | String? | yes | | + +--- + + + + + #### [LenderConfig](#LenderConfig) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | baseUrl | String | no | | + | accessToken | String? | yes | | + | secret | String? | yes | | + | data | Object | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [Pg](#Pg) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [LenderPgConfig](#LenderPgConfig) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | lenderId | String | no | | + | pgId | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [FileUploadResponse](#FileUploadResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fileId | String | no | | + | name | String | no | | + | path | String | no | | + | format | String | no | | + | size | Double | no | | + | access | String | no | | + | tags | String | no | | + | metadata | String | no | | + | url | String | no | | + | thumbnail | String | no | | + +--- + + + + + #### [PresignedUrl](#PresignedUrl) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | url | String | no | | + | fields | Object | no | | + +--- + + + + + #### [PresignedUrlV2](#PresignedUrlV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | url | String | no | | + | fields | Object | no | | + +--- + + + + + #### [LenderDocument](#LenderDocument) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | lenderId | String? | yes | | + | type | String? | yes | | + | document | Object? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [Commercial](#Commercial) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | lenderId | String | no | | + | merchantId | String | no | | + | commercial | Object | no | | + | active | Boolean | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + +--- + + + + + #### [KycStatusResponse](#KycStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | isKycInitiated | Boolean | no | | + | userId | String | no | | + | kycStatuses | ArrayList<[LenderKycStatus](#LenderKycStatus)> | no | | + +--- + + + + + #### [WorkflowResponse](#WorkflowResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object? | yes | | + +--- + + + + + #### [Action](#Action) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | step | String | no | | + | status | String | no | | + | index | Double | no | | + | isForm | Boolean? | yes | | + | form | [Form](#Form) | no | | + +--- + + + + + #### [InitiateKycResponse](#InitiateKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [Action](#Action) | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UploadDocResponse](#UploadDocResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | data | Object? | yes | | + | remark | String? | yes | | + | reasons | String | no | | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [Action](#Action) | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderOnboardResponse](#LenderOnboardResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | result | [UserLender](#UserLender) | no | | + | action | [UserLenderState](#UserLenderState) | no | | + | data | Object | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OnboardingStatusResponse](#OnboardingStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | onboardStatuses | ArrayList<[OnboardStatusDto](#OnboardStatusDto)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [SignedUrlResponse](#SignedUrlResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | [PresignedUrl](#PresignedUrl) | no | | + | fileUrl | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [SignedUrlV2Response](#SignedUrlV2Response) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | [PresignedUrlV2](#PresignedUrlV2) | no | | + | fileUrl | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [PresignedUrlV3](#PresignedUrlV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | String | no | | + | provider | Object | no | | + +--- + + + + + #### [SignedUrlV3Response](#SignedUrlV3Response) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedDetails | [PresignedUrlV3](#PresignedUrlV3) | no | | + | fileUrl | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [DigilockerLinkResponse](#DigilockerLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | authorizationUrl | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [GetDocumentsResponse](#GetDocumentsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documents | ArrayList<[FindDocResponse](#FindDocResponse)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [ApprovedLendersTransaction](#ApprovedLendersTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | slug | String | no | | + | imageUrl | String | no | | + | status | String | no | | + | active | Boolean | no | | + | proposedLimit | Double | no | | + | createdAt | Object | no | | + | updatedAt | Object | no | | + | deletedAt | Object? | yes | | + | isDefault | Boolean? | yes | | + +--- + + + + + #### [ApprovedPossibleLenders](#ApprovedPossibleLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | | + | name | String | no | | + | slug | String | no | | + | active | Boolean | no | | + | id | String | no | | + | theme | Object? | yes | | + +--- + + + + + #### [AvailableLenders](#AvailableLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | approvedLenders | ArrayList<[ApprovedPossibleLenders](#ApprovedPossibleLenders)> | no | | + | possibleLenders | ArrayList<[ApprovedPossibleLenders](#ApprovedPossibleLenders)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [CreditLimit](#CreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | availableLimit | Double | no | | + | approvedLimit | Double | no | | + +--- + + + + + #### [CreditLimitResponse](#CreditLimitResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | action | Boolean | no | | + | credit | [CreditLimit](#CreditLimit) | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderPgConfigResponse](#LenderPgConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | lenderId | String | no | | + | pgId | String | no | | + | active | Boolean | no | | + | pgName | String | no | | + | pgActive | Boolean | no | | + +--- + + + + + #### [GetLendersResponse](#GetLendersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[Lender](#Lender)> | no | | + +--- + + + + + #### [LenderConfigurationResponse](#LenderConfigurationResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lender | [Lender](#Lender) | no | | + | lenderPgConfig | [LenderPgConfig](#LenderPgConfig) | no | | + | lenderConfig | [LenderConfig](#LenderConfig) | no | | + | lenderState | ArrayList<[LenderState](#LenderState)> | no | | + | lenderKycStepMap | ArrayList<[LenderKycStepMap](#LenderKycStepMap)> | no | | + +--- + + + + + #### [UpsertLenderResponse](#UpsertLenderResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpsertLenderConfigResponse](#UpsertLenderConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [CreateKycStepsSchema](#CreateKycStepsSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderKycStepMap](#LenderKycStepMap)> | no | | + +--- + + + + + #### [CreatePaymentGatewaySchema](#CreatePaymentGatewaySchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderPgConfig](#LenderPgConfig)> | no | | + +--- + + + + + #### [CreateLenderStateSchema](#CreateLenderStateSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderState](#LenderState)> | no | | + +--- + + + + + #### [GetAllPaymentGatewaysSchema](#GetAllPaymentGatewaysSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[Pg](#Pg)> | no | | + +--- + + + + + #### [PolicyResponse](#PolicyResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policies | ArrayList<[Policy](#Policy)> | no | | + +--- + + + + + #### [CreditCheckBreResponse](#CreditCheckBreResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | newLenderAssigned | Boolean | no | | + | breStatus | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [MerchantConfigResponse](#MerchantConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merhantConfigSchema | String | no | | + +--- + + + + + #### [UserLenderByIdAndStatusResponse](#UserLenderByIdAndStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | approvedLimit | Double | no | | + | slug | String? | yes | | + | theme | Object? | yes | | + | name | Object? | yes | | + +--- + + + + + #### [IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | | + | lenderName | String | no | | + | slug | String | no | | + | isDefault | Boolean | no | | + | logoUrl | String | no | | + +--- + + + + + #### [IngtrAvailableLimit](#IngtrAvailableLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | available | ArrayList<[IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit)> | no | | + | possible | ArrayList<[IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit)>? | yes | | + +--- + + + + + #### [IntgrCreditLimit](#IntgrCreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | [IngtrAvailableLimit](#IngtrAvailableLimit) | no | | + +--- + + + + + #### [PossibleLendersInternal](#PossibleLendersInternal) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Boolean | no | | + | lenderName | String | no | | + | slug | String | no | | + | isDefault | Boolean | no | | + | logo | String | no | | + | lenderId | String | no | | + +--- + + + + + #### [PossibleLendersInternalResponse](#PossibleLendersInternalResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenders | ArrayList<[PossibleLendersInternal](#PossibleLendersInternal)> | no | | + +--- + + + + + #### [GetTotalKycResponse](#GetTotalKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalKyc | String | no | | + +--- + + + + + #### [GetTotalKycCompletedUsersResponse](#GetTotalKycCompletedUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalKycCompletedUsers | String | no | | + +--- + + + + + #### [GetTotalPendingUsersResponse](#GetTotalPendingUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalPendingKyc | String | no | | + +--- + + + + + #### [GetTotalCreditProvidedResponse](#GetTotalCreditProvidedResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalCreditLimit | String | no | | + +--- + + + + + #### [MetaSchemaResponse](#MetaSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | name | String | no | | + | required | ArrayList | no | | + | type | String | no | | + | properties | HashMap | no | | + +--- + + + + + #### [MetaSchema](#MetaSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metaSchema | [MetaSchemaResponse](#MetaSchemaResponse) | no | | + +--- + + + + + #### [AddMetaSchema](#AddMetaSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderSlug | String | no | | + | merchantId | String | no | | + | schema | Object | no | | + +--- + + + + + #### [AddMetaSchemaRequest](#AddMetaSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String | no | | + | schema | Object | no | | + +--- + + + + + #### [ValidatePanResponse](#ValidatePanResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | panName | String | no | | + | isPanValid | String | no | | + | pan | String | no | | + | isProprietor | Boolean | no | | + | panType | String | no | | + | errorCode | String? | yes | | + | status | String? | yes | | + | errorMessage | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [ConfirmPanResonse](#ConfirmPanResonse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | statusCode | String | no | | + | message | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderCountResponse](#LenderCountResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | active | Double | no | | + | inActive | Double | no | | + +--- + + + + + #### [OnboardStepsDto](#OnboardStepsDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | steps | ArrayList<[StepDetails](#StepDetails)> | no | | + | lender | [Lender](#Lender) | no | | + +--- + + + + + #### [OnboardStepsResponse](#OnboardStepsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | stepDetails | ArrayList<[OnboardStepsDto](#OnboardStepsDto)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderDocumentResponse](#LenderDocumentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [LenderDocument](#LenderDocument) | no | | + +--- + + + + + #### [GetUserLendersResponse](#GetUserLendersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[UserLender](#UserLender)> | no | | + +--- + + + + + #### [CreditReportResponse](#CreditReportResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [SourceCreditReport](#SourceCreditReport) | no | | + +--- + + + + + #### [KycDetailsReponse](#KycDetailsReponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + +--- + + + + + #### [GetDocumentByIdResponse](#GetDocumentByIdResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [Document](#Document) | no | | + +--- + + + + + #### [GetAllFormsResponse](#GetAllFormsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpsertFormResponse](#UpsertFormResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [GstDetails](#GstDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstin | String | no | | + | businessName | String | no | | + +--- + + + + + #### [GstDetailsResponse](#GstDetailsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstDetails | ArrayList<[GstDetails](#GstDetails)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [RegisterGstResponse](#RegisterGstResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstDocDetails | [Document](#Document) | no | | + | status | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [PopulateFormResponse](#PopulateFormResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | form | Object | no | | + +--- + + + + + #### [ValidateFormFieldResponse](#ValidateFormFieldResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | data | Object | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderCustomerMetricsResponse](#LenderCustomerMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | data | [MetricData](#MetricData) | no | | + +--- + + + + + #### [BreOutput](#BreOutput) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | entityId | String | no | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | policyName | String | no | | + | category | String | no | | + | type | String | no | | + | output | Object | no | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String | no | | + +--- + + + + + #### [ManualKycResponse](#ManualKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | | + | step | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + +--- + + + + + #### [CustomerKycDetailsReponse](#CustomerKycDetailsReponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + +--- + + + + + #### [PlatformFees](#PlatformFees) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customerAcquisitionFee | Double | no | | + | transactionFee | Double | no | | + +--- + + + + + #### [CommercialResponse](#CommercialResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [Commercial](#Commercial) | no | | + +--- + + + + + #### [Report](#Report) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [CreditReportRequest](#CreditReportRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | pan | String? | yes | | + | mobile | String? | yes | | + +--- + + + + + #### [MasterData](#MasterData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String | no | | + | displayName | String | no | | + | value | String | no | | + | type | String | no | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | createdAt | String | no | | + | updatedAt | String | no | | + +--- + + + + + #### [Component](#Component) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logoUrl | String? | yes | | + | iconUrl | String? | yes | | + | portraitBgUrl | String? | yes | | + | landscapeBgUrl | String? | yes | | + | bgUrl | String? | yes | | + | primary | [Component](#Component)? | yes | | + | secondary | [Component](#Component)? | yes | | + | text | String? | yes | | + +--- + + + + + #### [UiResponse](#UiResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | [Component](#Component) | no | | + | data | Object? | yes | | + +--- + + + + + #### [GetLenderCardsResponse](#GetLenderCardsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | ArrayList<[UiResponse](#UiResponse)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OrganizationLogosResponse](#OrganizationLogosResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizations | ArrayList<[OrganizationLogosObject](#OrganizationLogosObject)> | no | | + | headers | HashMap? | yes | | + +--- + + + diff --git a/documentation/application/PAYMENT.md b/documentation/application/PAYMENT.md new file mode 100644 index 0000000..b43bcdf --- /dev/null +++ b/documentation/application/PAYMENT.md @@ -0,0 +1,1218 @@ + + + + +##### [Back to Application docs](./README.md) + +## Payment Methods +KYC Service +* [downpaymentOptions](#downpaymentoptions) +* [downpaymentUsingNetbanking](#downpaymentusingnetbanking) +* [downpaymentUsingUPI](#downpaymentusingupi) +* [checkDownpaymentStatus](#checkdownpaymentstatus) +* [paymentOptions](#paymentoptions) +* [autoPayStatus](#autopaystatus) +* [repaymentUsingNetbanking](#repaymentusingnetbanking) +* [repaymentUsingUPI](#repaymentusingupi) +* [registerUPIMandate](#registerupimandate) +* [mandateStatusCheck](#mandatestatuscheck) +* [checkPaymentStatus](#checkpaymentstatus) +* [getOutstandingAmount](#getoutstandingamount) + + + +## Methods with example and description + + +### downpaymentOptions +Get List of Payment Options Available + + + + +```java +payment.downpaymentOptions( merchantSlug) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| merchantSlug | String | yes | This is merchant slug | + + + +Use this API to get list of payment options available + +*Returned Response:* + + + + +[PaymentOptionsResponse](#PaymentOptionsResponse) + +Success. Returns a JSON object as shown below. Refer `PaymentOptionsResponse` for more details. + + + + +
+  Example: + +```json +{ + "paymentOptions": [ + { + "title": "UPI ID", + "kind": "upiID", + "options": null + }, + { + "title": "UPI Apps", + "kind": "upiApps", + "options": [ + { + "title": "Google PAY", + "imageUrl": "", + "uid": "GPAY" + } + ] + }, + { + "title": "Netbanking", + "kind": "netBanking", + "options": [ + { + "title": "State Bank of India", + "shortTitle": "SBI", + "uid": "1038", + "imageUrl": "https://pp-checkout.jiopay.com:8443/images/logos/StateBankofIndia.gif" + } + ] + } + ] +} +``` +
+ + + + + + + + + +--- + + +### downpaymentUsingNetbanking +Downpayment + + + + +```java +payment.downpaymentUsingNetbanking( merchantSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| merchantSlug | String | yes | This is merchant Slug | +| body | [RepaymentUsingNetbanking](#RepaymentUsingNetbanking) | yes | Request body | + + +Use this API to downpayment for user. + +*Returned Response:* + + + + +[RepaymentUsingNetbankingResponse](#RepaymentUsingNetbankingResponse) + +Success. Returns a html as shown below. for more details. + + + + +
+  Example: + +```json +{ + "form": "" +} +``` +
+ + + + + + + + + +--- + + +### downpaymentUsingUPI +Downpayment + + + + +```java +payment.downpaymentUsingUPI( merchantSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| merchantSlug | String | yes | This is merchant slug | +| body | [RepaymentUsingUPI](#RepaymentUsingUPI) | yes | Request body | + + +Use this API to Downpayment for user + +*Returned Response:* + + + + +[RepaymentUsingUPIResponse](#RepaymentUsingUPIResponse) + +Success. Returns a success message as shown below. Refer `RepaymentUsingUPIResponse` for more details. + + + + +
+  Example: + +```json +{ + "status": "INITIATED" +} +``` +
+ + + + + + + + + +--- + + +### checkDownpaymentStatus +Check payment status + + + + +```java +payment.checkDownpaymentStatus( merchantSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| merchantSlug | String | yes | This is merchant slug | +| body | [TransactionStatusRequest](#TransactionStatusRequest) | yes | Request body | + + +Use this API to check status of the downpayment. + +*Returned Response:* + + + + +[TransactionStatusResponse](#TransactionStatusResponse) + +Success. Returns a success message as shown below. Refer `TransactionStatusResponse` for more details. + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### paymentOptions +Get List of Payment Options Available + + + + +```java +payment.paymentOptions( lenderSlug) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | + + + +Use this API to get list of payment options available + +*Returned Response:* + + + + +[PaymentOptionsResponse](#PaymentOptionsResponse) + +Success. Returns a JSON object as shown below. Refer `PaymentOptionsResponse` for more details. + + + + +
+  Example: + +```json +{ + "paymentOptions": [ + { + "title": "UPI ID", + "kind": "upiID", + "options": null + }, + { + "title": "UPI Apps", + "kind": "upiApps", + "options": [ + { + "title": "Google PAY", + "imageUrl": "", + "uid": "GPAY" + } + ] + }, + { + "title": "Netbanking", + "kind": "netBanking", + "options": [ + { + "title": "State Bank of India", + "shortTitle": "SBI", + "uid": "1038", + "imageUrl": "https://pp-checkout.jiopay.com:8443/images/logos/StateBankofIndia.gif" + } + ] + } + ] +} +``` +
+ + + + + + + + + +--- + + +### autoPayStatus +Get status of AutoPay + + + + +```java +payment.autoPayStatus() { + //use response +} +``` + + + + +Use this API to get status of AutoPay + +*Returned Response:* + + + + +[AutoPayStatusResponse](#AutoPayStatusResponse) + +Success. Returns a JSON object as shown below. Refer `AutoPayStatusResponse` for more details. + + + + +
+  Example: + +```json +{ + "status": "PENDING" +} +``` +
+ + + + + + + + + +--- + + +### repaymentUsingNetbanking +Repayment + + + + +```java +payment.repaymentUsingNetbanking( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| body | [RepaymentUsingNetbanking](#RepaymentUsingNetbanking) | yes | Request body | + + +Use this API to repayment for user. + +*Returned Response:* + + + + +[RepaymentUsingNetbankingResponse](#RepaymentUsingNetbankingResponse) + +Success. Returns a html as shown below. for more details. + + + + +
+  Example: + +```json +{ + "form": "" +} +``` +
+ + + + + + + + + +--- + + +### repaymentUsingUPI +Repayment + + + + +```java +payment.repaymentUsingUPI( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| body | [RepaymentUsingUPI](#RepaymentUsingUPI) | yes | Request body | + + +Use this API to repayment for user + +*Returned Response:* + + + + +[RepaymentUsingUPIResponse](#RepaymentUsingUPIResponse) + +Success. Returns a success message as shown below. Refer `RepaymentUsingUPIResponse` for more details. + + + + +
+  Example: + +```json +{ + "status": "INITIATED" +} +``` +
+ + + + + + + + + +--- + + +### registerUPIMandate +MandateRegistration + + + + +```java +payment.registerUPIMandate( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| body | [RegisterUPIMandateRequest](#RegisterUPIMandateRequest) | yes | Request body | + + +Use this API to register upi mandate for user. + +*Returned Response:* + + + + +[RegisterUPIMandateResponse](#RegisterUPIMandateResponse) + +Success. Returns a success message as shown below. Refer `RegisterUPIMandateResponse` for more details. + + + + +
+  Example: + +```json +{ + "transactionId": "10322234354461670000", + "expiry": 180, + "interval": 5 +} +``` +
+ + + + + + + + + +--- + + +### mandateStatusCheck +Repayment + + + + +```java +payment.mandateStatusCheck( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| body | [RegisterUPIMandateStatusCheckRequest](#RegisterUPIMandateStatusCheckRequest) | yes | Request body | + + +Use this API to repayment for user. + +*Returned Response:* + + + + +[RegisterMandateStatusCheckResponse](#RegisterMandateStatusCheckResponse) + +Success. Returns a success message as shown below. Refer `RegisterMandateStatusCheckResponse` for more details. + + + + +
+  Example: + +```json +{ + "status": "INITIATED" +} +``` +
+ + + + + + + + + +--- + + +### checkPaymentStatus +Check payment status + + + + +```java +payment.checkPaymentStatus( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| body | [TransactionStatusRequest](#TransactionStatusRequest) | yes | Request body | + + +Use this API to check status of the transaction. + +*Returned Response:* + + + + +[TransactionStatusResponse](#TransactionStatusResponse) + +Success. Returns a success message as shown below. Refer `TransactionStatusResponse` for more details. + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getOutstandingAmount +Get Outstanding amount for repayment + + + + +```java +payment.getOutstandingAmount( lenderSlug, viewType) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| viewType | String | yes | This is lender slug | + + + +Use this API to get Outstanding amount for repayment + +*Returned Response:* + + + + +[OutstandingDetail](#OutstandingDetail) + +Success. Returns a JSON object as shown below. Refer `OutstandingDetail` for more details. + + + + +
+  Example: + +```json +{ + "outstanding": "100" +} +``` +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | HashMap | no | The data payload of the response. The structure of this object will vary depending on the specific API endpoint. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | errors | ArrayList<[IntegrationResponseError](#IntegrationResponseError)>? | yes | | + +--- + + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [RepaymentUsingNetbanking](#RepaymentUsingNetbanking) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | amount | Double | no | | + | bankId | String | no | | + | bankName | String | no | | + | chargeToken | String? | yes | | + +--- + + + + + #### [RepaymentUsingNetbankingResponse](#RepaymentUsingNetbankingResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | form | String? | yes | | + | isDifferent | Boolean? | yes | | + | outstanding | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [RepaymentUsingUPI](#RepaymentUsingUPI) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | amount | Double | no | | + | vpa | String | no | | + | chargeToken | String? | yes | | + +--- + + + + + #### [RepaymentUsingUPIResponse](#RepaymentUsingUPIResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | isDifferent | Boolean? | yes | | + | outstanding | String? | yes | | + | status | String? | yes | | + | intentId | String? | yes | | + | transactionId | String? | yes | | + | expiry | Double? | yes | | + | interval | Double? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [RegisterUPIMandateRequest](#RegisterUPIMandateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | vpa | String? | yes | | + +--- + + + + + #### [RegisterUPIMandateResponse](#RegisterUPIMandateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionId | String? | yes | | + | expiry | Double? | yes | | + | interval | Double? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [RegisterUPIMandateStatusCheckRequest](#RegisterUPIMandateStatusCheckRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionId | String? | yes | | + +--- + + + + + #### [RegisterMandateStatusCheckResponse](#RegisterMandateStatusCheckResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [TransactionStatusRequest](#TransactionStatusRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | intentId | String | no | | + | transactionId | String | no | | + +--- + + + + + #### [TransactionStatusResponse](#TransactionStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean | no | | + | methodType | String? | yes | | + | methodSubType | String? | yes | | + | status | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [BankList](#BankList) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | bankId | String? | yes | | + | bankName | String? | yes | | + | rank | Double? | yes | | + | popular | Boolean? | yes | | + | imageUrl | String? | yes | | + +--- + + + + + #### [PaymentOptions](#PaymentOptions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String? | yes | | + | shortTitle | String? | yes | | + | uid | String? | yes | | + | imageUrl | String? | yes | | + +--- + + + + + #### [PaymentsObject](#PaymentsObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String? | yes | | + | kind | String? | yes | | + | options | ArrayList<[PaymentOptions](#PaymentOptions)>? | yes | | + +--- + + + + + #### [LenderTheme](#LenderTheme) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | iconUrl | String | no | | + | logoUrl | String | no | | + +--- + + + + + #### [LenderDetails](#LenderDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String | no | | + | name | String | no | | + | id | String | no | | + | theme | [LenderTheme](#LenderTheme) | no | | + +--- + + + + + #### [OutstandingDetail](#OutstandingDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | action | Boolean? | yes | | + | message | [OutstandingMessage](#OutstandingMessage)? | yes | | + | credit | [UserCredit](#UserCredit)? | yes | | + | dueSummary | [DueSummaryOutstanding](#DueSummaryOutstanding)? | yes | | + | outstandingSummary | [OutstandingSummary](#OutstandingSummary)? | yes | | + | entityMapId | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OutstandingSummary](#OutstandingSummary) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalOutstanding | Double? | yes | | + | totalOutstandingWithInterest | Double? | yes | | + | totalOutstandingPenalty | Double? | yes | | + | availableLimit | Double? | yes | | + | isOverdue | Boolean? | yes | | + | dueFromDate | String? | yes | | + | repaymentSummary | ArrayList<[RepaymentSummaryOutstanding](#RepaymentSummaryOutstanding)>? | yes | | + +--- + + + + + #### [DueSummaryOutstanding](#DueSummaryOutstanding) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dueDate | String? | yes | | + | totalDue | Double? | yes | | + | totalDueWithInterest | Double? | yes | | + | totalDuePenalty | Double? | yes | | + | dueTransactions | ArrayList<[DueTransactionsOutstanding](#DueTransactionsOutstanding)>? | yes | | + | minAmntDue | Double? | yes | | + +--- + + + + + #### [OutstandingMessage](#OutstandingMessage) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dueMessage | String? | yes | | + | backgroundColor | String? | yes | | + | textColor | String? | yes | | + | isFlexiRepayEnabled | Boolean? | yes | | + +--- + + + + + #### [UserCredit](#UserCredit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | availableLimit | Double? | yes | | + | approvedLimit | Double? | yes | | + | isEligibleToDrawdown | Boolean? | yes | | + +--- + + + + + #### [DueTransactionsOutstanding](#DueTransactionsOutstanding) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | loanRequestNo | String? | yes | | + | merchantCategory | String? | yes | | + | installmentAmountWithInterest | Double? | yes | | + | installmentAmount | Double? | yes | | + | dueAmount | Double? | yes | | + | loanType | String? | yes | | + | installmentNo | String? | yes | | + | installmentDueDate | String? | yes | | + | isPastDue | Boolean? | yes | | + | isPenaltyCharged | Boolean? | yes | | + | penaltyAmount | Double? | yes | | + | noOfDaysPenaltyCharged | Integer? | yes | | + | daysDifference | Integer? | yes | | + | lenderTransactionId | String? | yes | | + +--- + + + + + #### [RepaymentSummaryOutstanding](#RepaymentSummaryOutstanding) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | loanRequestNo | String? | yes | | + | loanType | String? | yes | | + | merchantCategory | String? | yes | | + | isBbillingTransaction | Boolean? | yes | | + | totalInstallmentAmount | Integer? | yes | | + | totalInstallmentAmountWithInterest | Integer? | yes | | + | outstandingDetails | ArrayList<[OutstandingDetailsRepayment](#OutstandingDetailsRepayment)>? | yes | | + +--- + + + + + #### [OutstandingDetailsRepayment](#OutstandingDetailsRepayment) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentAmountWithInterest | Double? | yes | | + | installmentAmount | Double? | yes | | + | dueAmount | Double? | yes | | + | installmentNo | String? | yes | | + | installmentDueDate | String? | yes | | + | isPastDue | Boolean? | yes | | + | loanType | String? | yes | | + | isPenaltyCharged | Boolean? | yes | | + | penaltyAmount | Integer? | yes | | + | noOfDaysPenaltyCharged | Integer? | yes | | + | lenderTransactionId | String? | yes | | + +--- + + + + + #### [PaymentOptionsResponse](#PaymentOptionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | paymentOptions | ArrayList<[PaymentsObject](#PaymentsObject)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AutoPayStatusResponse](#AutoPayStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OutstandingData](#OutstandingData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderDetails | [LenderDetails](#LenderDetails)? | yes | | + | availableLimit | Double | no | | + | creditLimit | Double | no | | + | dueAmount | Double? | yes | | + | outstandingAmount | Double? | yes | | + | dueDate | String? | yes | | + +--- + + + + + #### [OutstandingDetailsData](#OutstandingDetailsData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | outstandingDetails | ArrayList<[OutstandingData](#OutstandingData)> | no | | + +--- + + + + + #### [OutstandingDetailsResponse](#OutstandingDetailsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [OutstandingDetailsData](#OutstandingDetailsData) | no | | + +--- + + + diff --git a/documentation/application/REWARDS.md b/documentation/application/REWARDS.md new file mode 100644 index 0000000..99fefa7 --- /dev/null +++ b/documentation/application/REWARDS.md @@ -0,0 +1,255 @@ + + + + +##### [Back to Application docs](./README.md) + +## Rewards Methods +Rewards Service +* [addUserReferral](#adduserreferral) +* [getUserReferrals](#getuserreferrals) +* [getReferralCode](#getreferralcode) + + + +## Methods with example and description + + +### addUserReferral +Add user referral + + + + +```java +rewards.addUserReferral(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [AddUserReferralRequest](#AddUserReferralRequest) | yes | Request body | + + + + +*Returned Response:* + + + + +[AddUserReferralResponse](#AddUserReferralResponse) + +Successful operation + + + + +
+  Example: + +```json +{ + "success": true +} +``` +
+ + + + + + + + + +--- + + +### getUserReferrals +Get user referrals + + + + +```java +rewards.getUserReferrals() { + //use response +} +``` + + + + + + +*Returned Response:* + + + + +[UserReferralsResponse](#UserReferralsResponse) + +Successful operation + + + + +
+  Example: + +```json +{ + "referrals": [ + { + "name": "John Doe", + "mobile": "86******35", + "registeredOn": "2022-11-03T13:22:22.561Z", + "isVerified": false + } + ], + "totalCount": 1, + "verifiedCount": 0 +} +``` +
+ + + + + + + + + +--- + + +### getReferralCode +Get user referral code + + + + +```java +rewards.getReferralCode() { + //use response +} +``` + + + + + + +*Returned Response:* + + + + +[UserReferralCodeResponse](#UserReferralCodeResponse) + +Successful operation + + + + +
+  Example: + +```json +{ + "referralCode": "4WW40IW", + "referralLink": "https://www.potlee.co.in/r/4WW40IW", + "referralMessage": "Join Potlee using my referral link https://www.potlee.co.in/r/4WW40IW", + "isEligible": true, + "hasBeenReferred": false +} +``` +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [UserReferralsResponse](#UserReferralsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalCount | Integer | no | | + | verifiedCount | Integer | no | | + | referrals | ArrayList<[UserReferrals](#UserReferrals)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UserReferrals](#UserReferrals) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | mobile | String? | yes | | + | registeredOn | String | no | | + | isVerified | Boolean | no | | + +--- + + + + + #### [UserReferralCodeResponse](#UserReferralCodeResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | referralCode | String | no | | + | referralLink | String | no | | + | isEligible | Boolean | no | | + | hasBeenReferred | Boolean | no | | + | referralMessage | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AddUserReferralRequest](#AddUserReferralRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | referralCode | String | no | | + +--- + + + + + #### [AddUserReferralResponse](#AddUserReferralResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | headers | HashMap? | yes | | + +--- + + + diff --git a/documentation/application/SURL.md b/documentation/application/SURL.md new file mode 100644 index 0000000..ca51f64 --- /dev/null +++ b/documentation/application/SURL.md @@ -0,0 +1,104 @@ + + + + +##### [Back to Application docs](./README.md) + +## Surl Methods +Short URL Service +* [getOriginal](#getoriginal) + + + +## Methods with example and description + + +### getOriginal +Get original URL + + + + +```java +surl.getOriginal( hash) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| hash | String | yes | This is the hash | + + + +Use this API to get original URL. + +*Returned Response:* + + + + +[OriginalUrlSchema](#OriginalUrlSchema) + +Success. Returns a success message as shown below. Refer `OriginalUrlSchema` for more details. + + + + +
+  Example: + +```json + +``` +
+ + + + + +[Object](#Object) + +Success. Returns a success message as shown below. Refer `OriginalUrlSchema` for more details. + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [OriginalUrlSchema](#OriginalUrlSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | originalLink | String | no | | + | hash | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + diff --git a/documentation/application/TRANSACTION.md b/documentation/application/TRANSACTION.md new file mode 100644 index 0000000..0d05736 --- /dev/null +++ b/documentation/application/TRANSACTION.md @@ -0,0 +1,1293 @@ + + + + +##### [Back to Application docs](./README.md) + +## Transaction Methods +Transaction Service +* [disburse](#disburse) +* [plans](#plans) +* [kfs](#kfs) +* [listOfTransactions](#listoftransactions) +* [loadTransactionById](#loadtransactionbyid) + + + +## Methods with example and description + + +### disburse +Disburse the credit + + + + +```java +transaction.disburse( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| body | [DisbursalRequest](#DisbursalRequest) | yes | Request body | + + +Use this API to disburse the credit. + +*Returned Response:* + + + + +[DisbursalResponse](#DisbursalResponse) + +Success. Returns a JSON object as shown below. Refer `DisbursalResponse` for more details. + + + + +
+  Examples: + + +
+  success + +```json +true +``` +
+ +
+ + + + + + + + + +--- + + +### plans +Disburse the credit + + + + +```java +transaction.plans( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| body | [EligiblePlansRequest](#EligiblePlansRequest) | yes | Request body | + + +Use this API to disburse the credit. + +*Returned Response:* + + + + +[EligiblePlansResponse](#EligiblePlansResponse) + +Success. Returns a JSON object as shown below. Refer `EligiblePlansResponse` for more details. + + + + +
+  Examples: + + +
+  success + +```json +true +``` +
+ +
+ + + + + + + + + +--- + + +### kfs +Fetch KFS + + + + +```java +transaction.kfs( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | This is lender slug | +| body | [KfsRequest](#KfsRequest) | yes | Request body | + + +Use this API to get kfs. + +*Returned Response:* + + + + +[KfsResponse](#KfsResponse) + +Success. Returns a JSON object as shown below. Refer `Kfs` for more details. + + + + +
+  Examples: + + +
+  success + +```json +true +``` +
+ +
+ + + + + + + + + +--- + + +### listOfTransactions +Get List of transactions + + + + +```java +transaction.listOfTransactions( page, type, lender, loanType, limit) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| page | Integer | yes | This is page number | +| type | List? | no | This is transaction type | +| lender | String? | no | This is lenderSlug | +| loanType | String? | no | This is loanType EMI/BNPL | +| limit | Integer | yes | This is no of transaction | + + + +Use this API to get list of user's transaction. + +*Returned Response:* + + + + +[TransactionResponse](#TransactionResponse) + +Success. Returns a JSON object as shown below. Refer `TransactionResponse` for more details. + + + + +
+  Example: + +```json +[ + { + "id": 1, + "type": "credit", + "amount": "10000", + "remark": "Potlee credit" + } +] +``` +
+ + + + + + + + + +--- + + +### loadTransactionById +Get List of transactions + + + + +```java +transaction.loadTransactionById( transactionId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| transactionId | String | yes | This is transaction id | + + + +Use this API to get list of user's transaction. + +*Returned Response:* + + + + +[Transactions](#Transactions) + +Success. Returns a JSON object as shown below. Refer `Transactions` for more details. + + + + +
+  Example: + +```json +[ + { + "id": 1, + "userId": "123 \"type\":\"credit\"", + "amount": "10000", + "remark": "Potlee credit" + } +] +``` +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | HashMap | no | The data payload of the response. The structure of this object will vary depending on the specific API endpoint. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | errors | ArrayList<[IntegrationResponseError](#IntegrationResponseError)>? | yes | | + +--- + + + + + #### [DisbursalRequest](#DisbursalRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | chargeToken | String | no | | + | loanTypeId | Double? | yes | | + | emiTenure | Double? | yes | | + | isDownpaymentRequired | Boolean? | yes | | + | downpaymentAmount | Double? | yes | | + | loanAmount | Double? | yes | | + | data | HashMap? | yes | | + | transactionId | String? | yes | | + | lenderSlug | String? | yes | | + | intent | String? | yes | | + +--- + + + + + #### [WorkflowUser](#WorkflowUser) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + +--- + + + + + #### [EligiblePlansRequest](#EligiblePlansRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String? | yes | | + +--- + + + + + #### [EligiblePlans](#EligiblePlans) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | displayName | String? | yes | | + | description | String? | yes | | + | brokenInterest | Double? | yes | | + | noOfEmi | Double? | yes | | + | emiAmount | Double? | yes | | + | processingFee | Double? | yes | | + | installmentInterestRate | Double? | yes | | + +--- + + + + + #### [EligiblePlansResponse](#EligiblePlansResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | eligiblePlans | ArrayList<[EligiblePlans](#EligiblePlans)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [DisbursalResponse](#DisbursalResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionId | String? | yes | | + | status | String? | yes | | + | message | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OrderStatus](#OrderStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderId | String | no | | + | transactionId | String? | yes | | + | status | String | no | | + | message | String | no | | + +--- + + + + + #### [DisbursalStatusRequest](#DisbursalStatusRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | transactionId | String | no | | + +--- + + + + + #### [Transactions](#Transactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | partnerId | String? | yes | | + | partner | String? | yes | | + | partnerLogo | String? | yes | | + | status | String | no | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double | no | | + | loanAccountNumber | String? | yes | | + | kfs | String? | yes | | + | utr | String? | yes | | + | sanctionLetter | String? | yes | | + | orderId | String? | yes | | + | refundId | String? | yes | | + | createdAt | String | no | | + | lenderId | String? | yes | | + | lenderName | String? | yes | | + | lenderLogo | String? | yes | | + | loanType | String? | yes | | + | nextDueDate | String? | yes | | + | paidPercent | Double? | yes | | + | lenderDetail | [LenderDetail](#LenderDetail)? | yes | | + | emis | ArrayList<[Emi](#Emi)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderDetail](#LenderDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | imageUrl | String? | yes | | + | slug | String? | yes | | + | active | Boolean? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | theme | [Theme](#Theme)? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [FilterKeys](#FilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [FilterValues](#FilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [Filters](#Filters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [FilterKeys](#FilterKeys)? | yes | | + | values | ArrayList<[FilterValues](#FilterValues)>? | yes | | + +--- + + + + + #### [PageResponse](#PageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Integer | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Integer | no | | + | itemTotal | Integer | no | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [TransactionResponse](#TransactionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | transactions | ArrayList<[Transactions](#Transactions)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [GetReconciliationFileResponse](#GetReconciliationFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | files | ArrayList<[ReconFile](#ReconFile)> | no | | + +--- + + + + + #### [ReconFile](#ReconFile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | base64 | String | no | | + | name | String | no | | + +--- + + + + + #### [UploadReconciliationFileRequest](#UploadReconciliationFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | base64File | String | no | | + | format | String? | yes | | + | lenderId | String? | yes | | + +--- + + + + + #### [UploadReconciliationFileResponse](#UploadReconciliationFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [TransactionCount](#TransactionCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalTransactions | String? | yes | | + +--- + + + + + #### [RefundCount](#RefundCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | refundTransactions | String? | yes | | + +--- + + + + + #### [OrganizationTransactionsCount](#OrganizationTransactionsCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | Double? | yes | | + +--- + + + + + #### [OrganizationTransactionsSum](#OrganizationTransactionsSum) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sum | Double? | yes | | + +--- + + + + + #### [UniqueCustomersInOrg](#UniqueCustomersInOrg) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | Double? | yes | | + +--- + + + + + #### [TransactionAmount](#TransactionAmount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalTransactionAmount | String? | yes | | + +--- + + + + + #### [SchemaForOneDayTotal](#SchemaForOneDayTotal) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orgId | String? | yes | | + | createdAt | String? | yes | | + | count | Double? | yes | | + | sum | String? | yes | | + | refund | String? | yes | | + | difference | String? | yes | | + +--- + + + + + #### [SumofOneDayTransactions](#SumofOneDayTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dayTotal | ArrayList<[SchemaForOneDayTotal](#SchemaForOneDayTotal)>? | yes | | + +--- + + + + + #### [AverageTransaction](#AverageTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | average | Double? | yes | | + +--- + + + + + #### [AllTransactionsResponse](#AllTransactionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | partnerId | String? | yes | | + | status | String? | yes | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double? | yes | | + | loanAccountNumber | String? | yes | | + | createdAt | String? | yes | | + +--- + + + + + #### [TotalRefund](#TotalRefund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalRefund | String? | yes | | + +--- + + + + + #### [TotalRepayment](#TotalRepayment) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalRepayment | String? | yes | | + +--- + + + + + #### [TotalOverDue](#TotalOverDue) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalDue | String? | yes | | + +--- + + + + + #### [TotalLoansDisbursed](#TotalLoansDisbursed) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalLoansDisbursed | String? | yes | | + +--- + + + + + #### [OrganizationTransactionResponse](#OrganizationTransactionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[TrFilters](#TrFilters)> | no | | + | page | [TrPageResponse](#TrPageResponse) | no | | + | transactions | ArrayList<[OrgTransactions](#OrgTransactions)> | no | | + +--- + + + + + #### [TrFilters](#TrFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [TrFilterKeys](#TrFilterKeys)? | yes | | + | values | ArrayList<[TrFilterValues](#TrFilterValues)>? | yes | | + +--- + + + + + #### [TrPageResponse](#TrPageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Double | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Double | no | | + | itemTotal | Double | no | | + +--- + + + + + #### [OrgTransactions](#OrgTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | userName | String? | yes | | + | partnerId | String? | yes | | + | partner | String? | yes | | + | partnerLogo | String? | yes | | + | status | String | no | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double | no | | + | orderId | String? | yes | | + | loanAccountNumber | String? | yes | | + | kfs | String? | yes | | + | sanctionLetter | String? | yes | | + | createdAt | String | no | | + +--- + + + + + #### [TrFilterKeys](#TrFilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [TrFilterValues](#TrFilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [KfsRequest](#KfsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | loanTypeId | Double? | yes | | + | chargeToken | String? | yes | | + +--- + + + + + #### [KfsResponse](#KfsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kfsTable | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderTransactionState](#LenderTransactionState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | stepIndex | Double? | yes | | + | lenderId | String? | yes | | + | workflowId | String? | yes | | + | workflowName | String? | yes | | + | parentStateId | String? | yes | | + | workflowUrl | String? | yes | | + | isInternal | Boolean? | yes | | + | active | Boolean? | yes | | + | ttl | Double? | yes | | + | name | String? | yes | | + | type | String? | yes | | + | inputData | HashMap? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [TransactionStateResponse](#TransactionStateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionState | ArrayList<[LenderTransactionState](#LenderTransactionState)>? | yes | | + +--- + + + + + #### [Theme](#Theme) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logoUrl | String? | yes | | + | iconUrl | String? | yes | | + | landscapeBgUrl | String? | yes | | + | portraitBgUrl | String? | yes | | + | shortName | String? | yes | | + +--- + + + + + #### [Emi](#Emi) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | installmentno | Double? | yes | | + | loanAccountNumber | String? | yes | | + | amount | Double? | yes | | + | dueDate | String? | yes | | + | referenceTransactionId | String? | yes | | + | remark | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | entityId | String? | yes | | + | paid | Boolean? | yes | | + | overdue | Boolean? | yes | | + | repaymentDate | String? | yes | | + +--- + + + + + #### [MetricPivots](#MetricPivots) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String? | yes | | + | sum | Double? | yes | | + +--- + + + + + #### [TransactionMetricSubResponse](#TransactionMetricSubResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | total | String? | yes | | + | pivots | ArrayList<[MetricPivots](#MetricPivots)>? | yes | | + | title | String? | yes | | + | description | String? | yes | | + | valueFormat | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [TransactionMetrics](#TransactionMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalDisbursement | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + | totalOverdue | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + | totalRepayment | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean | no | | + +--- + + + + + #### [LenderCustomerTransactionMetrics](#LenderCustomerTransactionMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [TransactionMetrics](#TransactionMetrics)? | yes | | + | filters | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | sort | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsResponse](#LenderCustomerTransactionMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | HashMap? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsRequest](#LenderCustomerTransactionMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | sort | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [TransactionOrder](#TransactionOrder) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier of the order. | + | amount | Double | no | Total amount of the order. | + +--- + + + + + #### [TransactionMerchant](#TransactionMerchant) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | Name of the merchant. | + | logo | String | no | URL to the merchant's logo. | + +--- + + + + + #### [TransactionLoan](#TransactionLoan) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | Loan account number. | + | amount | Double | no | Loan amount. | + | type | String | no | Type of loan. | + | dueDate | String | no | Due date in ISO format for the loan repayment. | + | repaidAmount | Double | no | Amount that has been repaid. | + | isSettled | Boolean | no | Indicates if the loan is fully settled. | + | emis | ArrayList<[TransactionLoanEmi](#TransactionLoanEmi)>? | yes | EMIs associated with the loan. This information is available only if the granularity is set to 'detail' and an EMI schedule is available for this loan. | + +--- + + + + + #### [TransactionLoanEmi](#TransactionLoanEmi) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | amount | Double | no | EMI amount. | + | dueDate | String | no | Due date in ISO format for the EMI payment. | + | installmentNo | Integer | no | Installment number for the EMI. | + | repaidAmount | Double | no | Amount that has been repaid towards the EMI. | + | isSettled | Boolean | no | Indicates if the EMI is fully settled. | + +--- + + + + + #### [TransactionLender](#TransactionLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | Name of the lender. | + | slug | String | no | A slug representing the lender. | + | logo | String | no | URL to the lender's logo. | + | shortName | String | no | Short name of the lender. | + +--- + + + + + #### [UserTransaction](#UserTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier of the transaction. | + | amount | Double | no | Amount of the transaction. | + | type | String | no | Type of the transaction. | + | status | String | no | Status of the transaction. | + | settlementUtr | String? | yes | Settlement UTR for the transaction. | + | refundId | String? | yes | Refund ID if the transaction is a refund. | + | createdAt | String | no | Timestamp in ISO format when the transaction was created. | + | isMasked | Boolean | no | Indicates if the transaction details are masked. This field is true of the transaction if done on some other merchant | + | order | [TransactionOrder](#TransactionOrder)? | yes | | + | merchant | [TransactionMerchant](#TransactionMerchant) | no | | + | loans | ArrayList<[TransactionLoan](#TransactionLoan)>? | yes | | + | lender | [TransactionLender](#TransactionLender)? | yes | | + +--- + + + + + #### [Pagination](#Pagination) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | The type of pagination. | + | current | Integer | no | The current page number. | + | hasPrevious | Boolean | no | Indicates if there is a previous page. | + | hasNext | Boolean | no | Indicates if there is a next page. | + | size | Integer | no | The number of items per page. | + | itemTotal | Integer | no | The total number of items across all pages. | + +--- + + + + + #### [GetTransactionsData](#GetTransactionsData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactions | ArrayList<[UserTransaction](#UserTransaction)> | no | | + | page | [Pagination](#Pagination) | no | | + +--- + + + + + #### [GetTransactionsResponse](#GetTransactionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [GetTransactionsData](#GetTransactionsData) | no | | + +--- + + + + + #### [SummaryRequest](#SummaryRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | type | String? | yes | | + +--- + + + diff --git a/documentation/application/USER.md b/documentation/application/USER.md new file mode 100644 index 0000000..23b8a82 --- /dev/null +++ b/documentation/application/USER.md @@ -0,0 +1,4097 @@ + + + + +##### [Back to Application docs](./README.md) + +## User Methods +Authentication Service +* [sendOTPOnMobile](#sendotponmobile) +* [reSendOTPOnMobile](#resendotponmobile) +* [verifyMobileOTP](#verifymobileotp) +* [logout](#logout) +* [registerForPNS](#registerforpns) +* [getLoggedInUser](#getloggedinuser) +* [raiseSupportTicket](#raisesupportticket) +* [getSupportCategories](#getsupportcategories) +* [initiateTransaction](#initiatetransaction) +* [getMobileNumberFromOnboardingToken](#getmobilenumberfromonboardingtoken) +* [getDataFromOnboardingToken](#getdatafromonboardingtoken) +* [getMobileNumberFromLinkingToken](#getmobilenumberfromlinkingtoken) +* [getSessionFromLinkingToken](#getsessionfromlinkingtoken) +* [saveUserConsents](#saveuserconsents) +* [getMobileDashboard](#getmobiledashboard) +* [getTips](#gettips) +* [getDesktopDashboard](#getdesktopdashboard) +* [checkIsUserWhitelistedForKyC](#checkisuserwhitelistedforkyc) +* [languageTranslation](#languagetranslation) +* [getPageBySlug](#getpagebyslug) +* [getFaqs](#getfaqs) +* [getFaqById](#getfaqbyid) +* [verifyMagicLink](#verifymagiclink) +* [getMobileNavigations](#getmobilenavigations) +* [getDesktopNavigations](#getdesktopnavigations) +* [getUserState](#getuserstate) +* [updateProfile](#updateprofile) + + + +## Methods with example and description + + +### sendOTPOnMobile +Send OTP on mobile + + + + +```java +user.sendOTPOnMobile(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [SendMobileOtpRequest](#SendMobileOtpRequest) | yes | Request body | + + +Use this API to send an OTP to a mobile number. + +*Returned Response:* + + + + +[OtpSuccess](#OtpSuccess) + +Success. Returns a JSON object as shown below. Refer `OtpSuccess` for more details. + + + + +
+  Example: + +```json +{ + "success": true, + "requestId": "01503005aeab87cbed93d40f46cc2749", + "message": "OTP sent", + "mobile": "8652523958", + "countryCode": "91", + "resendTimer": 30, + "resendToken": "18fc3d60-66e5-11eb-9399-0312fbf2c2a6" +} +``` +
+ + + + + + + + + +--- + + +### reSendOTPOnMobile +Send OTP on mobile + + + + +```java +user.reSendOTPOnMobile(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [ReSendMobileOtpRequest](#ReSendMobileOtpRequest) | yes | Request body | + + +Use this API to send an OTP to a mobile number. + +*Returned Response:* + + + + +[OtpSuccess](#OtpSuccess) + +Success. Returns a JSON object as shown below. Refer `OtpSuccess` for more details. + + + + +
+  Example: + +```json +{ + "success": true, + "requestId": "01503005aeab87cbed93d40f46cc2749", + "message": "OTP sent", + "mobile": "8652523958", + "countryCode": "91", + "resend_timer": 30, + "resendToken": "18fc3d60-66e5-11eb-9399-0312fbf2c2a6" +} +``` +
+ + + + + + + + + +--- + + +### verifyMobileOTP +Verify OTP on mobile + + + + +```java +user.verifyMobileOTP(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [VerifyOtpRequest](#VerifyOtpRequest) | yes | Request body | + + +Use this API to verify the OTP received on a mobile number. + +*Returned Response:* + + + + +[VerifyOtpSuccess](#VerifyOtpSuccess) + +Success. Returns a JSON object as shown below. Refer `VerifyOtpSuccess` for more details. + + + + +
+  Examples: + + +
+  default + +```json +{ + "value": { + "user": { + "gender": "male", + "active": true, + "profilePicUrl": "https://d2co8r51m5ca2d.cloudfront.net/inapp_banners/default_profile_img.png", + "id": "5e68af49cfa09bf7233022f1", + "firstName": "Akash", + "lastName": "Mane", + "username": "akashmane_gofynd_com_10039", + "mobile": "8652523958", + "countryCode": 91, + "email": "akashmane@gofynd.com", + "createdAt": "2020-03-11T09:28:41.982Z", + "updatedAt": "2021-02-04T10:10:44.981Z" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### logout +Logs out currently logged in user + + + + +```java +user.logout() { + //use response +} +``` + + + + +Use this API to check to logout a user from the app. + +*Returned Response:* + + + + +[LogoutSuccess](#LogoutSuccess) + +Success. Returns a success message as shown below. Refer `LogoutSuccess` for more details. + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### registerForPNS +Register device for push notification service + + + + +```java +user.registerForPNS(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [SendPNSRegisterRequest](#SendPNSRegisterRequest) | yes | Request body | + + +Use this API to register device for push notification service + +*Returned Response:* + + + + +[PNSRegisterResponse](#PNSRegisterResponse) + +Success. Returns a JSON object as shown below. Refer `PNSRegisterResponse` for more details. + + + + +
+  Example: + +```json +{ + "success": true, + "message": "Added Successfully" +} +``` +
+ + + + + + + + + +--- + + +### getLoggedInUser +Get logged in user + + + + +```java +user.getLoggedInUser() { + //use response +} +``` + + + + +Use this API to get the details of a logged in user. + +*Returned Response:* + + + + +[ApplicationUser](#ApplicationUser) + +Success. Returns a JSON object with user details. Refer `User` for more details. + + + + +
+  Examples: + + +
+  default + +```json +{ + "value": { + "user": { + "gender": "male", + "active": true, + "profilePicUrl": "https://d2co8r51m5ca2d.cloudfront.net/inapp_banners/default_profile_img.png", + "id": "5e68af49cfa09bf7233022f1", + "firstName": "Akash", + "lastName": "Mane", + "mobile": "8652523958", + "countryCode": 91, + "email": "akashmane@gofynd.com", + "createdAt": "2020-03-11T09:28:41.982Z", + "updatedAt": "2021-02-04T10:10:44.981Z" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### raiseSupportTicket +Raise support ticket + + + + +```java +user.raiseSupportTicket(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [CreateTicket](#CreateTicket) | yes | Request body | + + +Use this API to raise support ticket + +*Returned Response:* + + + + +[CreateTicketResponse](#CreateTicketResponse) + +Success. Returns a JSON object as shown below. Refer `CreateTicketResponse` for more details. + + + + +
+  Example: + +```json +{ + "serviceRequestId": "DB2022093015042" +} +``` +
+ + + + + + + + + +--- + + +### getSupportCategories +Get category list category for support ticket + + + + +```java +user.getSupportCategories() { + //use response +} +``` + + + + +Use this API to get the list of category for support ticket + +*Returned Response:* + + + + +[SupportCategoriesResponse](#SupportCategoriesResponse) + +Success. Returns a JSON object with category details. Refer `SupportCategoriesResponse` for more details. + + + + +
+  Examples: + + +
+  categories + +```json +[ + { + "kind": "transaction", + "display": "transaction" + } +] +``` +
+ +
+ + + + + + + + + +--- + + +### initiateTransaction +Verify Transaction token and Initiate Transaction + + + + +```java +user.initiateTransaction(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [InitiateTransactions](#InitiateTransactions) | yes | Request body | + + +Use this API to verify the customer token and get chargetoken to Initiate Transaction + +*Returned Response:* + + + + +[InitiateTransactionsSuccess](#InitiateTransactionsSuccess) + +Success. Returns a JSON object as shown below. Refer `InitiateTransactionsSuccess` for more details. + + + + +
+  Examples: + + +
+  chargeToken + +```json +"19be735d-5a4a-4c44-8f2b-d640f7509c4d" +``` +
+ +
+  message + +```json +"All the transactions you do between 1st to 15th of this month, will need to be repayed before 18th of this month" +``` +
+ +
+ + + + + + + + + +--- + + +### getMobileNumberFromOnboardingToken +Get mobile number from onboarding token + + + + +```java +user.getMobileNumberFromOnboardingToken(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [GetMobileFromToken](#GetMobileFromToken) | yes | Request body | + + +Use this API to retrieve mobile number from the onboarding token + +*Returned Response:* + + + + +[RetrieveMobileFromToken](#RetrieveMobileFromToken) + +Success. Returns a JSON object as shown below. Refer `RetrieveMobileFromToken` for more details. + + + + +
+  Examples: + + +
+  mobile + +```json +"7021390789" +``` +
+ +
+  countryCode + +```json +"91" +``` +
+ +
+ + + + + + + + + +--- + + +### getDataFromOnboardingToken +Get mobile number from onboarding token + + + + +```java +user.getDataFromOnboardingToken(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [GetDataFromToken](#GetDataFromToken) | yes | Request body | + + +Use this API to retrieve mobile number from the onboarding token + +*Returned Response:* + + + + +[RetrieveMobileFromToken](#RetrieveMobileFromToken) + +Success. Returns a JSON object as shown below. Refer `RetrieveMobileFromToken` for more details. + + + + +
+  Examples: + + +
+  mobile + +```json +"7021390789" +``` +
+ +
+  countryCode + +```json +"91" +``` +
+ +
+ + + + + + + + + +--- + + +### getMobileNumberFromLinkingToken +Get mobile number from linking token + + + + +```java +user.getMobileNumberFromLinkingToken(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [MobileFromLinkingRequest](#MobileFromLinkingRequest) | yes | Request body | + + +Use this API to retrieve mobile number from the linking token + +*Returned Response:* + + + + +[MobileFromLinkingResponse](#MobileFromLinkingResponse) + +Success. Returns a JSON object as shown below. Refer `MobileFromLinkingResponse` for more details. + + + + +
+  Examples: + + +
+  mobile + +```json +"8698952318" +``` +
+ +
+  countryCode + +```json +"91" +``` +
+ +
+ + + + + + + + + +--- + + +### getSessionFromLinkingToken +Get session for linking user account with merchant app + + + + +```java +user.getSessionFromLinkingToken(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [SessionFromLinkingRequest](#SessionFromLinkingRequest) | yes | Request body | + + +Use this API to session from linking token to link user account with merchant app + +*Returned Response:* + + + + +[SessionFromLinkingResponse](#SessionFromLinkingResponse) + +Success. Returns a JSON object as shown below. Refer `SessionFromLinkingResponse` for more details. + + + + +
+  Examples: + + +
+  session + +```json +"s%3Ac7dec6b78775e13beda12cec623ac64442d9adf48b106ae8dafdeb2a8e310f28.qdV%2F%2FNOt5mB1%2B3Dg4IY%2B9Ku8P1UWr3GhIhqKQsSPFp0" +``` +
+ +
+  expiry + +```json +1686882926224 +``` +
+ +
+ + + + + + + + + +--- + + +### saveUserConsents +Save user consents + + + + +```java +user.saveUserConsents(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [UserConsentRequestV2](#UserConsentRequestV2) | yes | Request body | + + +Use this API to save user consents + +*Returned Response:* + + + + +[UserConsentResponse](#UserConsentResponse) + +Success. Returns a JSON object with category details. Refer `UserConsentResponse` for more details. + + + + +
+  Examples: + + +
+  success + +```json +true +``` +
+ +
+ + + + + + + + + +--- + + +### getMobileDashboard +Get Dashboard Template + + + + +```java +user.getMobileDashboard( version, id, withDeleted) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| version | String? | no | This is the template version | +| id | String? | no | This is the template ID | +| withDeleted | Boolean? | no | Setting this to true will fetch deleted records also | + + + +Use this API to get dashboard template for mobile. + +*Returned Response:* + + + + +[DashboardTemplateResponse](#DashboardTemplateResponse) + +Success. Check the example shown below or refer `DashboardTemplateResponse` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/DashboardTemplateResponseExample" +``` +
+ +
+ + + + + + + + + +--- + + +### getTips +Get Tips section + + + + +```java +user.getTips() { + //use response +} +``` + + + + +Use this API to get tips section + +*Returned Response:* + + + + +[TipsSection](#TipsSection) + +Success. Check the example shown below or refer `TipsSection` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/TipsResponseExample" +``` +
+ +
+ + + + + + + + + +--- + + +### getDesktopDashboard +Get Dashboard Template + + + + +```java +user.getDesktopDashboard( version, id, withDeleted) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| version | String? | no | This is the template version | +| id | String? | no | This is the template ID | +| withDeleted | Boolean? | no | Setting this to true will fetch deleted records also | + + + +Use this API to get dashboard template for desktop. + +*Returned Response:* + + + + +[DashboardTemplateResponse](#DashboardTemplateResponse) + +Success. Check the example shown below or refer `DashboardTemplateResponse` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/DashboardTemplateResponseExample" +``` +
+ +
+ + + + + + + + + +--- + + +### checkIsUserWhitelistedForKyC +Check user is whitelisted for kyc or not + + + + +```java +user.checkIsUserWhitelistedForKyC() { + //use response +} +``` + + + + +Use this api to check user status for kyc + +*Returned Response:* + + + + +[UserWhiteListedResponse](#UserWhiteListedResponse) + +Success. Check the example shown below or refer `UserWhiteListedResponse` for more details. + + + + +
+  Examples: + + +
+  status + +```json +"ENABLED" +``` +
+ +
+ + + + + + + + + +--- + + +### languageTranslation +Translate the dashboard + + + + +```java +user.languageTranslation() { + //use response +} +``` + + + + +Transalating the dashboard to English + +*Returned Response:* + + + + +[Translation](#Translation) + +Success. Check the example shown below or refer `Translation` for more details. + + + + +
+  Examples: + + +
+  status + +```json +"ENABLED" +``` +
+ +
+ + + + + + + + + +--- + + +### getPageBySlug +Retrieve a single page by slug + + + + +```java +user.getPageBySlug( slug) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| slug | String | yes | Slug | + + + +GET: Retrieve a single page by slug + +*Returned Response:* + + + + +[PageSchemaResponse](#PageSchemaResponse) + +Success. Returns a JSON object as shown below. Refer `createPage` for more details. + + + + +
+  Example: + +```json +{} +``` +
+ + + + + + + + + +--- + + +### getFaqs +Get All FAQ categories + + + + +```java +user.getFaqs() { + //use response +} +``` + + + + +Use this API to get all FAQ categories. + +*Returned Response:* + + + + +[FaqResponse](#FaqResponse) + +Success. Check the example shown below or refer `FaqResponse` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/FaqResponseExample" +``` +
+ +
+ + + + + + + + + +--- + + +### getFaqById +Get FAQ Category By ID + + + + +```java +user.getFaqById( uid) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| uid | String | yes | This is FAQ ID | + + + +Use this API to get FAQ category by ID. + +*Returned Response:* + + + + +[CategorySchema](#CategorySchema) + +Success. Check the example shown below or refer `CategorySchema` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/FaqCategoryExample" +``` +
+ +
+ + + + + + + + + +--- + + +### verifyMagicLink +Verify magic link + + + + +```java +user.verifyMagicLink(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [VerifyMagicLinkRequest](#VerifyMagicLinkRequest) | yes | Request body | + + +Use this API to verify magic link and login into application without authentication. This link is a one time link and should not be shared and cannot be used multiple times. + +*Returned Response:* + + + + +[VerifyMagicLinkResponse](#VerifyMagicLinkResponse) + +Success. Returns a JSON object as shown below. Refer `VerifyMagicLinkResponse` for more details. + + + + +
+  Example: + +```json +{ + "user": { + "mobile": "9810122290", + "activeEntity": { + "userId": "12k3qw-x3x4-w3tw-a2oe3m" + } + }, + "lenderSlug": "cashe", + "scope": [ + "repayment" + ] +} +``` +
+ + + + + + + + + +--- + + +### getMobileNavigations +Get Mobile Navigations + + + + +```java +user.getMobileNavigations() { + //use response +} +``` + + + + +Use this API to get navigations for navbar and profile section in mobile. + +*Returned Response:* + + + + +[NavigationsMobileResponse](#NavigationsMobileResponse) + +Success. Check the example shown below or refer `NavigationsMobileResponse` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/NavigationsMobileResponseExample" +``` +
+ +
+ + + + + + + + + +--- + + +### getDesktopNavigations +Get Desktop Navigations + + + + +```java +user.getDesktopNavigations() { + //use response +} +``` + + + + +Use this API to get navigations for navbar and profile section in desktop. + +*Returned Response:* + + + + +[NavigationsMobileResponse](#NavigationsMobileResponse) + +Success. Check the example shown below or refer `NavigationsMobileResponse` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/NavigationsMobileResponseExample" +``` +
+ +
+ + + + + + + + + +--- + + +### getUserState +Get user state + + + + +```java +user.getUserState() { + //use response +} +``` + + + + +Use this API to get Get user state. + +*Returned Response:* + + + + +[UserStateSchema](#UserStateSchema) + +Success. Show user onboarding state + + + + +
+  Examples: + + +
+  screen + +```json +{ + "screenType": "PAN", + "name": "Home", + "link": "/" +} +``` +
+ +
+ + + + + + + + + +--- + + +### updateProfile +Edit User email + + + + +```java +user.updateProfile(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [EmailUpdate](#EmailUpdate) | yes | Request body | + + +Use this API to update email in the user profile. + +*Returned Response:* + + + + +[ProfileEditSuccess](#ProfileEditSuccess) + +Success. Check the example shown below or refer `ProfileEditSuccess` for more details. + + + + +
+  Examples: + + +
+  default + +```json +{ + "value": { + "user": { + "gender": "male", + "active": true, + "profilePicUrl": "https://d2co8r51m5ca2d.cloudfront.net/inapp_banners/default_profile_img.png", + "id": "5e68af49cfa09bf7233022f1", + "firstName": "Akash", + "lastName": "Mane", + "mobile": "8652523958", + "countryCode": 91, + "email": "akashmane@gofynd.com", + "createdAt": "2020-03-11T09:28:41.982Z", + "updatedAt": "2021-02-04T10:10:44.981Z" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | HashMap | no | The data payload of the response. The structure of this object will vary depending on the specific API endpoint. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | errors | ArrayList<[IntegrationResponseError](#IntegrationResponseError)>? | yes | | + +--- + + + + + #### [RefundResponse](#RefundResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | message | String? | yes | | + | transactionId | String? | yes | | + | refundId | String? | yes | | + +--- + + + + + #### [UserSource](#UserSource) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String? | yes | | + | type | String? | yes | | + | sourceId | String? | yes | | + | meta | HashMap? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | app | String? | yes | | + | entityId | String? | yes | | + | userMerchants | ArrayList? | yes | | + +--- + + + + + #### [UserSchema](#UserSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | firstName | String? | yes | | + | lastName | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | active | Boolean? | yes | | + | profilePicUrl | String? | yes | | + | isEmailVerified | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [count](#count) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalUsers | String? | yes | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [LenderCount](#LenderCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalLenders | String? | yes | | + +--- + + + + + #### [LenderSchema](#LenderSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [TotalUsersPerLender](#TotalUsersPerLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | lenderList | ArrayList<[TotalUsersPerLenderData](#TotalUsersPerLenderData)> | no | | + +--- + + + + + #### [TotalUsersPerLenderData](#TotalUsersPerLenderData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | totalUsers | String? | yes | | + +--- + + + + + #### [TotalUserByLender](#TotalUserByLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | count | String? | yes | | + +--- + + + + + #### [UsersByLender](#UsersByLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | name | String? | yes | | + +--- + + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [EditProfileRequest](#EditProfileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | registrationToken | String? | yes | | + +--- + + + + + #### [VerifyOtpRequest](#VerifyOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | requestId | String | no | | + | otp | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + | referralCode | String? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [SendMobileOtpRequest](#SendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + | force | String? | yes | | + +--- + + + + + #### [ReSendMobileOtpRequest](#ReSendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | captchaCode | String? | yes | | + | token | String | no | | + | androidHash | String? | yes | | + +--- + + + + + #### [SendOtpRequest](#SendOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | captchaCode | String? | yes | | + | mobile | String? | yes | | + +--- + + + + + #### [ApplicationUser](#ApplicationUser) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [SendOtpResponse](#SendOtpResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | countryCode | String? | yes | | + | email | String? | yes | | + | resendEmailToken | String? | yes | | + | registerToken | String? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | userExists | Boolean? | yes | | + +--- + + + + + #### [EmailUpdate](#EmailUpdate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + +--- + + + + + #### [UserUpdateRequest](#UserUpdateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | Object? | yes | | + | lastName | Object? | yes | | + | countryCode | String | no | | + | mobile | String | no | | + | email | Object? | yes | | + | gender | Object? | yes | | + | dob | Object? | yes | | + | active | Boolean? | yes | | + | profilePictureUrl | Object? | yes | | + | isEmailVerified | Boolean? | yes | | + +--- + + + + + #### [LenderUpdateRequest](#LenderUpdateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [ProfileEditSuccess](#ProfileEditSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | registerToken | String? | yes | | + | resendEmailToken | String? | yes | | + | userExists | Boolean? | yes | | + | verifyEmailLink | Boolean? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | email | String? | yes | | + | requestId | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | success | Boolean? | yes | | + | message | String? | yes | | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LoginSuccess](#LoginSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | requestId | String? | yes | | + | registerToken | String? | yes | | + +--- + + + + + #### [VerifyOtpSuccess](#VerifyOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | userExists | Boolean? | yes | | + | isNew | Boolean? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LogoutSuccess](#LogoutSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logout | Boolean? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OtpSuccess](#OtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | registerToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | isNew | Boolean? | yes | | + | countryCode | String? | yes | | + | otpLength | Double? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [SessionListSuccess](#SessionListSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sessions | ArrayList? | yes | | + +--- + + + + + #### [VerifyMobileOTPSuccess](#VerifyMobileOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + +--- + + + + + #### [Location](#Location) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | latitude | Double? | yes | | + | longitude | Double? | yes | | + +--- + + + + + #### [OrderAddress](#OrderAddress) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | line1 | String? | yes | | + | line2 | String? | yes | | + | city | String? | yes | | + | state | String? | yes | | + | country | String? | yes | | + | pincode | String? | yes | | + | type | String? | yes | | + | geoLocation | [Location](#Location)? | yes | | + +--- + + + + + #### [CustomerObject](#CustomerObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | mobile | String | no | | + | uid | String? | yes | | + | email | String? | yes | | + | firstname | String? | yes | | + | middleName | String? | yes | | + | lastName | String? | yes | | + +--- + + + + + #### [Order](#Order) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer | no | | + | uid | String | no | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [VerifyOrder](#VerifyOrder) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer | no | | + | uid | String? | yes | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [OrderUid](#OrderUid) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer? | yes | | + | uid | String | no | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [CustomerMeta](#CustomerMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ip | String | no | | + | appVersion | String | no | | + | appIdentifier | String? | yes | | + | customerUserAgent | String? | yes | | + | deviceId | String | no | | + +--- + + + + + #### [Device](#Device) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ipAddress | String | no | | + | userAgent | String | no | | + | latitude | Double? | yes | | + | longitude | Double? | yes | | + +--- + + + + + #### [ValidateCustomer](#ValidateCustomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [VerifyOrder](#VerifyOrder) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + | fetchLimitOptions | Boolean? | yes | | + | fetchPlans | Boolean? | yes | | + +--- + + + + + #### [CreateTransaction](#CreateTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String | no | User will be redirected back to this URL after a successful or a failed transaction. | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | Any additional details | + | emiTenure | Integer? | yes | EMI tenure selected by customer | + | lenderSlug | String? | yes | slug of lender selected by customer | + | consents | ArrayList<[Consents](#Consents)>? | yes | Consent for AUTO_DISBURSAL is mandatory while calling createTransaction API. | + +--- + + + + + #### [ResendPaymentRequest](#ResendPaymentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String? | yes | | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [OrderUid](#OrderUid) | no | | + +--- + + + + + #### [ValidateCustomerSuccess](#ValidateCustomerSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | Indicates whether a user is allowed to perform the transaction or not | + | userStatus | String | no | Represents the status of the user for transaction eligibility | + | message | String | no | Message to be displayed to the user | + | schemes | ArrayList<[SchemeResponse](#SchemeResponse)>? | yes | An array of possible schemes of lenders available for a transaction. | + | limit | [LimitResponse](#LimitResponse)? | yes | Limit details of available and possible lenders for a transaction. | + +--- + + + + + #### [CreateTransactionSuccess](#CreateTransactionSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String? | yes | A unique token for completing the transaction. Charge token is received only if a valid user session is passed in request and auto capture is false. ASP merchants do not receive charge token. | + | redirectUrl | String? | yes | URL to which the user should be redirected to complete the transaction. | + | message | String | no | A message or information related to the transaction. | + | transactionId | String? | yes | A unique identifier for the transaction. This is received only if session is passed and auto capture is true in request. ASP merchants do not receive transaction ID in this response. | + | status | String? | yes | Indicates transaction status in case of auto disbursal. | + | userStatus | String? | yes | Represents the status of the user for transaction eligibility | + +--- + + + + + #### [SupportDocuments](#SupportDocuments) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fileName | String? | yes | | + | fileUrl | String? | yes | | + +--- + + + + + #### [CreateTicketResponse](#CreateTicketResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | serviceRequestId | String? | yes | | + | message | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [CreateTicket](#CreateTicket) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | transactionId | String? | yes | | + | description | String | no | | + | documents | ArrayList<[SupportDocuments](#SupportDocuments)>? | yes | | + +--- + + + + + #### [InitiateTransactions](#InitiateTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [GetMobileFromToken](#GetMobileFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [GetDataFromToken](#GetDataFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [MerchantDetails](#MerchantDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | website | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [InitiateTransactionsSuccess](#InitiateTransactionsSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String | no | | + | session | String? | yes | | + | expiry | String? | yes | | + | hash | String? | yes | | + | order | [Order](#Order)? | yes | | + | isAsp | Boolean? | yes | | + | merchant | [MerchantDetails](#MerchantDetails)? | yes | | + | redirectUrl | String? | yes | | + +--- + + + + + #### [RetrieveMobileFromToken](#RetrieveMobileFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + +--- + + + + + #### [CreateDashboardTemplateRequest](#CreateDashboardTemplateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | version | String | no | | + | isDefault | Boolean? | yes | | + | sections | ArrayList<[TemplateSections](#TemplateSections)> | no | | + +--- + + + + + #### [TemplateSections](#TemplateSections) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sequence | Integer | no | | + | isAvailableInMobile | Boolean | no | | + | isAvailableInDesktop | Boolean | no | | + | component | [TemplateComponent](#TemplateComponent) | no | | + +--- + + + + + #### [TemplateComponent](#TemplateComponent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String | no | | + | isAvailableInDesktop | Boolean? | yes | | + | partnerApplications | ArrayList<[PartnerApplications](#PartnerApplications)>? | yes | | + | banners | ArrayList<[Banners](#Banners)>? | yes | | + | tips | ArrayList<[Tips](#Tips)>? | yes | | + +--- + + + + + #### [PartnerApplications](#PartnerApplications) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String | no | | + | sequence | Integer? | yes | | + +--- + + + + + #### [Offerings](#Offerings) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String | no | | + | sequence | Integer? | yes | | + | gradient | ArrayList | no | | + +--- + + + + + #### [Banners](#Banners) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | imageUrl | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + +--- + + + + + #### [Tips](#Tips) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | description | String? | yes | | + | urlPath | String | no | | + | urlTarget | String? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + +--- + + + + + #### [DashboardTemplateResponse](#DashboardTemplateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | version | String? | yes | | + | active | Boolean? | yes | | + | sections | ArrayList<[SectionSchema](#SectionSchema)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [SectionSchema](#SectionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | partners | ArrayList<[PartnerApplicationsResponse](#PartnerApplicationsResponse)>? | yes | | + | banners | ArrayList<[BannersResponse](#BannersResponse)>? | yes | | + | tips | ArrayList<[TipsResponse](#TipsResponse)>? | yes | | + +--- + + + + + #### [PartnerApplicationsResponse](#PartnerApplicationsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String | no | | + +--- + + + + + #### [OfferingsResponse](#OfferingsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String | no | | + | gradient | ArrayList | no | | + +--- + + + + + #### [BannersResponse](#BannersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | action | [ActionSchema](#ActionSchema)? | yes | | + | imageUrl | String | no | | + +--- + + + + + #### [TipsSection](#TipsSection) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | tips | ArrayList<[TipsResponse](#TipsResponse)>? | yes | | + | categories | ArrayList<[TipsCategories](#TipsCategories)>? | yes | | + | action | [ActionSchema](#ActionSchema)? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [TipsResponse](#TipsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | category | String? | yes | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String? | yes | | + +--- + + + + + #### [TipsCategories](#TipsCategories) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | title | String | no | | + +--- + + + + + #### [ActionSchema](#ActionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | | + | page | [PageSchema](#PageSchema)? | yes | | + | popup | [PageSchema](#PageSchema)? | yes | | + +--- + + + + + #### [UpdateDashboardTemplateRequest](#UpdateDashboardTemplateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | version | String? | yes | | + | isDefault | Boolean? | yes | | + | active | Boolean? | yes | | + | sections | ArrayList<[UpdateTemplateSections](#UpdateTemplateSections)>? | yes | | + +--- + + + + + #### [UpdateTemplateSections](#UpdateTemplateSections) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | sequence | Integer? | yes | | + | isAvailableInMobile | Boolean? | yes | | + | isAvailableInDesktop | Boolean? | yes | | + | active | Boolean? | yes | | + | component | [UpdateTemplateComponent](#UpdateTemplateComponent)? | yes | | + +--- + + + + + #### [UpdateTemplateComponent](#UpdateTemplateComponent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | isAvailableInDesktop | Boolean? | yes | | + | active | Boolean? | yes | | + | partners | ArrayList<[UpdatePartnerApplications](#UpdatePartnerApplications)>? | yes | | + | banners | ArrayList<[UpdateBanners](#UpdateBanners)>? | yes | | + | tips | ArrayList<[UpdateTips](#UpdateTips)>? | yes | | + +--- + + + + + #### [UpdatePartnerApplications](#UpdatePartnerApplications) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | action | HashMap? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [UpdateOfferings](#UpdateOfferings) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + | gradient | ArrayList? | yes | | + +--- + + + + + #### [UpdateBanners](#UpdateBanners) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | imageUrl | String? | yes | | + | action | HashMap? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [UpdateTips](#UpdateTips) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | imageUrl | String? | yes | | + | action | HashMap? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [NavigationsMobileResponse](#NavigationsMobileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | tabs | ArrayList<[TabsSchema](#TabsSchema)> | no | | + | profileSections | ArrayList<[ProfileSectionSchema](#ProfileSectionSchema)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [TabsSchema](#TabsSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + | page | [PageSchema](#PageSchema) | no | | + | icon | String | no | | + | activeIcon | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [PageSchema](#PageSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | link | String? | yes | | + | type | [PageType](#PageType)? | yes | | + | params | HashMap>? | yes | | + | query | HashMap? | yes | | + +--- + + + + + #### [ProfileSectionSchema](#ProfileSectionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | navigations | ArrayList<[ProfileNavigationSchema](#ProfileNavigationSchema)> | no | | + | active | Boolean | no | | + +--- + + + + + #### [ProfileNavigationSchema](#ProfileNavigationSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | description | String? | yes | | + | icon | String | no | | + | type | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [SendPNSRegisterRequest](#SendPNSRegisterRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | deviceId | String | no | | + | deviceType | String | no | | + | token | String | no | | + +--- + + + + + #### [PNSRegisterResponse](#PNSRegisterResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | Boolean? | yes | | + | message | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [FaqResponse](#FaqResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | categories | ArrayList<[CategorySchema](#CategorySchema)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [CategorySchema](#CategorySchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | uid | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | logo | String? | yes | | + | questions | ArrayList<[QuestionSchema](#QuestionSchema)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [QuestionSchema](#QuestionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | uid | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | displayOrder | Integer? | yes | | + | canRaiseRequest | Boolean? | yes | | + +--- + + + + + #### [SupportCategories](#SupportCategories) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kind | String? | yes | | + | display | String? | yes | | + +--- + + + + + #### [SupportCategoriesResponse](#SupportCategoriesResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | categories | ArrayList<[SupportCategories](#SupportCategories)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [SanctionLetterResponse](#SanctionLetterResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sanctionedLetterFileUrl | String | no | | + +--- + + + + + #### [KfsDocumentResponse](#KfsDocumentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kfsFileUrl | String | no | | + +--- + + + + + #### [UserWhiteListedResponse](#UserWhiteListedResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UserConsentRequest](#UserConsentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | consents | ArrayList? | yes | | + +--- + + + + + #### [Consents](#Consents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | | + | text | String? | yes | | + | purpose | String? | yes | If consent type is AUTO_DISBURSAL, purpose will be uid of order. | + +--- + + + + + #### [UserConsentRequestV2](#UserConsentRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | consents | ArrayList<[Consents](#Consents)>? | yes | | + +--- + + + + + #### [UserConsentResponse](#UserConsentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UserKycSteps](#UserKycSteps) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | index | String? | yes | | + | name | String? | yes | | + | rules | HashMap? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [CreateKycStepRequest](#CreateKycStepRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | index | String | no | | + | active | Boolean | no | | + | rules | HashMap? | yes | | + +--- + + + + + #### [RemoveKycStepRequest](#RemoveKycStepRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | index | String | no | | + | active | Boolean? | yes | | + | rules | HashMap? | yes | | + +--- + + + + + #### [KycUpdateMessage](#KycUpdateMessage) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [MobileFromLinkingRequest](#MobileFromLinkingRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [MobileFromLinkingResponse](#MobileFromLinkingResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + +--- + + + + + #### [SessionFromLinkingRequest](#SessionFromLinkingRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [SessionFromLinkingResponse](#SessionFromLinkingResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | session | String | no | | + | expiry | Integer | no | | + +--- + + + + + #### [LinkAccount](#LinkAccount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | redirectUrl | String | no | | + | device | [Device](#Device) | no | | + +--- + + + + + #### [LinkAccountSuccess](#LinkAccountSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String? | yes | | + | statusCode | Double? | yes | | + | status | String? | yes | | + | message | String? | yes | | + | errorCode | String? | yes | | + +--- + + + + + #### [UnlinkAccount](#UnlinkAccount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | device | [Device](#Device) | no | | + +--- + + + + + #### [UnlinkAccountSuccess](#UnlinkAccountSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | statusCode | Double | no | | + | userStatus | String? | yes | | + | errorCode | String? | yes | | + +--- + + + + + #### [Refund](#Refund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | customer | [CustomerObject](#CustomerObject)? | yes | | + | refundItems | ArrayList<[Items](#Items)>? | yes | | + | orderId | String | no | | + | refundId | String | no | | + | refundAmount | Double | no | | + | redirectionUrl | String? | yes | | + +--- + + + + + #### [Translation](#Translation) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | content | Object? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [FilterKeys](#FilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [FilterValues](#FilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [Filters](#Filters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [FilterKeys](#FilterKeys)? | yes | | + | values | ArrayList<[FilterValues](#FilterValues)>? | yes | | + +--- + + + + + #### [PageResponse](#PageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Integer | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Integer | no | | + | itemTotal | Integer | no | | + +--- + + + + + #### [UserResponse](#UserResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | listOfUsers | ArrayList<[UserSchema](#UserSchema)> | no | | + +--- + + + + + #### [UserDetailRequest](#UserDetailRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + +--- + + + + + #### [UserConsents](#UserConsents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | ipAddress | String? | yes | | + | text | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [CreditScoreSchema](#CreditScoreSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | cibil | Double? | yes | | + | finbox | String? | yes | | + | systemAwarded | String? | yes | | + | isActive | Boolean? | yes | | + | deletedAt | String? | yes | | + | updatedAt | String? | yes | | + | createdAt | String? | yes | | + +--- + + + + + #### [CreditLimitSchema](#CreditLimitSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | creditLimit | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [Screen](#Screen) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | screenType | String? | yes | | + | name | String? | yes | | + | link | String? | yes | | + +--- + + + + + #### [UserStateSchema](#UserStateSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | screen | [Screen](#Screen)? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [GetAccessTokenResponse](#GetAccessTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | refreshToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + | refreshTokenExpiryAt | String? | yes | | + | refreshTokenExpiryIn | String? | yes | | + | scope | ArrayList? | yes | | + +--- + + + + + #### [RefreshTokenResponse](#RefreshTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + +--- + + + + + #### [RefreshTokenRequest](#RefreshTokenRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [Items](#Items) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String? | yes | | + | sku | String? | yes | | + | rate | Double? | yes | | + | quantity | Double? | yes | | + +--- + + + + + #### [RefundStatusList](#RefundStatusList) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | orderItems | ArrayList<[Items](#Items)>? | yes | | + | amount | Double? | yes | | + | status | String? | yes | | + | createdAt | String? | yes | | + | processedDate | String? | yes | | + +--- + + + + + #### [RefundStatus](#RefundStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderId | String? | yes | | + | userId | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | loanAccountNumber | String? | yes | | + | refund | ArrayList<[RefundStatusList](#RefundStatusList)>? | yes | | + +--- + + + + + #### [GetSchemesSuccess](#GetSchemesSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String? | yes | | + | lenders | ArrayList<[SchemeResponse](#SchemeResponse)> | no | | + +--- + + + + + #### [CustomerMetricsPivots](#CustomerMetricsPivots) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String? | yes | | + | sum | Double? | yes | | + +--- + + + + + #### [CustomerMetricsSubResponse](#CustomerMetricsSubResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | total | String? | yes | | + | pivots | ArrayList<[CustomerMetricsPivots](#CustomerMetricsPivots)>? | yes | | + | title | String? | yes | | + | description | String? | yes | | + | valueFormat | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [CustomerMetricsAnalytics](#CustomerMetricsAnalytics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalCustomers | [CustomerMetricsSubResponse](#CustomerMetricsSubResponse)? | yes | | + | source | [CustomerMetricsSubResponse](#CustomerMetricsSubResponse)? | yes | | + +--- + + + + + #### [CustomerMetricsFilters](#CustomerMetricsFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean | no | | + +--- + + + + + #### [CustomerMetrics](#CustomerMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [CustomerMetricsAnalytics](#CustomerMetricsAnalytics)? | yes | | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | sort | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + +--- + + + + + #### [SchemeResponse](#SchemeResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String | no | A slug identifier for the lender. | + | isDefault | Boolean | no | Indicates if this is the default lender | + | logoUrl | String | no | URL to the logo of the lender | + | name | String | no | Name of the lender | + | title | String | no | Title of the lender | + | subtitle | String | no | Subtitle or additional information about the lender | + | amount | Double? | yes | Transaction amount | + | paymentOptions | [SchemePaymentOptionsResponse](#SchemePaymentOptionsResponse) | no | | + +--- + + + + + #### [SchemePaymentOptionsResponse](#SchemePaymentOptionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | emis | ArrayList<[SchemeEmiPaymentOptionResponse](#SchemeEmiPaymentOptionResponse)>? | yes | | + | payLater | [SchemePayLaterPaymentOptionResponse](#SchemePayLaterPaymentOptionResponse)? | yes | | + +--- + + + + + #### [SchemeEmiPaymentOptionResponse](#SchemeEmiPaymentOptionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier for the payment option. | + | isDefault | Boolean | no | Indicates if this is the default payment option. | + | description | String | no | Description of the payment option. | + | title | String | no | Title of the payment option. | + | subtitle | String | no | Subtitle or additional information about the payment option. | + | amount | Double | no | Total amount for this EMI. | + | interest | Double? | yes | Interest rate applicable to the EMIn. | + | processingFee | Double | no | Processing fee associated with the EMI. | + | tenure | Double | no | Tenure of the EMI in months. | + | emiSchedule | ArrayList<[SchemeEmiScheduleResponse](#SchemeEmiScheduleResponse)> | no | Schedule of EMIs. | + +--- + + + + + #### [SchemeEmiScheduleResponse](#SchemeEmiScheduleResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentNo | Integer | no | The installment number. | + | installmentAmount | Double | no | The total amount due for this installment. | + | dueDate | String | no | The date by which the installment is due, in ISO 8601 format. | + +--- + + + + + #### [SchemePayLaterPaymentOptionResponse](#SchemePayLaterPaymentOptionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier for the PayLater option | + | title | String | no | Title of the PayLater option | + | subtitle | String | no | Subtitle or additional descriptor for the PayLater option | + | description | String | no | Detailed description of the PayLater option | + | tenure | Integer | no | The tenure of the PayLater option, in months | + | interest | Integer | no | Interest amount for the PayLater option | + | processingFee | Integer | no | Processing fee for the PayLater option | + | amount | Integer | no | The amount to be paid in Rupees | + | isDefault | Boolean | no | Indicates if this is the default payment option | + +--- + + + + + #### [LimitResponse](#LimitResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | available | ArrayList<[AvailableOrPossibleLender](#AvailableOrPossibleLender)>? | yes | | + | possible | ArrayList<[AvailableOrPossibleLender](#AvailableOrPossibleLender)>? | yes | | + +--- + + + + + #### [AvailableOrPossibleLender](#AvailableOrPossibleLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | The available credit limit from the lender. | + | lenderName | String | no | The name of the lender. | + | slug | String | no | A slug identifier for the lender. | + | isDefault | Boolean | no | Indicates if this is the default lender option. | + | logo | String | no | URL to the lender's logo. | + +--- + + + + + #### [GetSchemesRequest](#GetSchemesRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + +--- + + + + + #### [CustomerMetricsResponse](#CustomerMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [CustomerMetrics](#CustomerMetrics)? | yes | | + +--- + + + + + #### [CustomerMetricsRequest](#CustomerMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | sort | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [SourceAnalyticsRequest](#SourceAnalyticsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderResponse](#LenderResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | name | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [CreditLimitObject](#CreditLimitObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | availableLimit | Double? | yes | | + | possibleLimit | Double? | yes | | + | lender | [LenderResponse](#LenderResponse)? | yes | | + +--- + + + + + #### [BusinessDetails](#BusinessDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | shopName | String? | yes | | + | legalName | String | no | | + | address | String? | yes | | + | type | String? | yes | | + | pincode | String? | yes | | + +--- + + + + + #### [DocumentItems](#DocumentItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | | + | category | String? | yes | | + | type | String | no | | + | name | String? | yes | | + | issuedOn | String? | yes | | + | issuedAt | String? | yes | | + | issuedBy | String? | yes | | + | expiryOn | String? | yes | | + +--- + + + + + #### [VintageItems](#VintageItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | Integer | no | | + | year | Integer | no | | + | totalTransactions | Integer | no | | + | totalTransactionAmount | Double | no | | + | totalCancellations | Integer? | yes | | + | totalCancellationAmount | Double? | yes | | + +--- + + + + + #### [EligibilitySuccess](#EligibilitySuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | message | String? | yes | | + | redirectUrl | String? | yes | | + | creditLimits | ArrayList<[CreditLimitObject](#CreditLimitObject)>? | yes | | + +--- + + + + + #### [CheckEligibilityRequest](#CheckEligibilityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order)? | yes | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + | fetchLimitOptions | Boolean? | yes | | + +--- + + + + + #### [EmiSchedule](#EmiSchedule) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentNo | Integer? | yes | | + | installmentAmount | Integer? | yes | | + | dueDate | String? | yes | | + +--- + + + + + #### [PaymentOption](#PaymentOption) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | title | String? | yes | | + | subtitle | String? | yes | | + | description | String? | yes | | + | tenure | Integer? | yes | | + | processingFee | Integer? | yes | | + | amount | Integer? | yes | | + | isDefault | Boolean? | yes | | + | emiSchedule | ArrayList<[EmiSchedule](#EmiSchedule)>? | yes | | + +--- + + + + + #### [PaymentOptions](#PaymentOptions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | payLater | [PaymentOption](#PaymentOption)? | yes | | + | emis | ArrayList<[PaymentOption](#PaymentOption)>? | yes | | + +--- + + + + + #### [LenderAndPaymentOption](#LenderAndPaymentOption) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | title | String? | yes | | + | subtitle | String? | yes | | + | isDefault | Boolean? | yes | | + | logoUrl | String | no | | + | amount | Integer? | yes | | + | paymentOptions | [PaymentOptions](#PaymentOptions)? | yes | | + +--- + + + + + #### [GetSchemesSuccessOld](#GetSchemesSuccessOld) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String | no | | + | lenders | ArrayList<[LenderAndPaymentOption](#LenderAndPaymentOption)>? | yes | | + +--- + + + + + #### [PageSchemaResponse](#PageSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | description | String? | yes | | + | sections | HashMap? | yes | | + | settings | HashMap? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [userCountRequest](#userCountRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [RepaymentRequest](#RepaymentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String | no | | + | countryCode | String? | yes | | + | target | String? | yes | | + | callbackUrl | String | no | | + | lenderSlug | String? | yes | | + +--- + + + + + #### [RepaymentResponse](#RepaymentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [RepaymentResponseData](#RepaymentResponseData) | no | | + +--- + + + + + #### [RepaymentResponseData](#RepaymentResponseData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | repaymentUrl | String? | yes | | + +--- + + + + + #### [VerifyMagicLinkResponse](#VerifyMagicLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + | scope | ArrayList? | yes | | + | redirectPath | String | no | | + | callbackUrl | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [VerifyMagicLinkRequest](#VerifyMagicLinkRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [VintageData](#VintageData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject)? | yes | | + | businessDetails | [BusinessDetails](#BusinessDetails) | no | | + | documents | ArrayList<[DocumentItems](#DocumentItems)>? | yes | | + | device | [Device](#Device)? | yes | | + | vintage | ArrayList<[VintageItems](#VintageItems)> | no | | + | meta | HashMap? | yes | | + +--- + + + + + #### [AddVintageResponse](#AddVintageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mesasge | String? | yes | | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta)? | yes | | + | data | HashMap? | yes | | + +--- + + + + +### Enums + + + + + + #### [PageType](#PageType) + Type : string + + | Name | Value | Description | + | ---- | ----- | ----------- | + | external | external | Symbolic link for External Link: /external/:url | + | login | login | Symbolic link for Login: /login | + | home | home | Symbolic link for Home: / | + | transactions | transactions | Symbolic link for Transactions: /transactions | + | transactionDetails | transactionDetails | Symbolic link for Transaction Details: /transactions/:id | + | rewards | rewards | Symbolic link for Rewards: /rewards | + | referAndEarn | referAndEarn | Symbolic link for Refer: /refer | + | profile | profile | Symbolic link for Profile: /profile | + | setupAutopay | setupAutopay | Symbolic link for AutoPay: /autopay | + | updateEmail | updateEmail | Symbolic link for Update Email: /profile/email | + | reportIssue | reportIssue | Symbolic link for Report Issue: /profile/report | + | creditScore | creditScore | Symbolic link for Credit Score: /credit-score | + | autoPay | autoPay | Symbolic link for Setup Autopay: /autopay | + | helpCenter | helpCenter | Symbolic link for Help Center: /profile/help-center | + | kycInit | kycInit | Symbolic link for Start KYC: /kyc | + | accessDigilocker | accessDigilocker | Symbolic link for Access Digilocker: /kyc/:lender/access-digilocker | + | liveliness | liveliness | Symbolic link for Liveliness: /kyc/:lender/selfie | + | lenderOnboard | lenderOnboard | Symbolic link for Lender Onboard: /kyc/:lender/lender-onboard | + | lender | lender | Symbolic link for Lender: /lender/:lenderName | + | kycDocs | kycDocs | Symbolic link for Verify KYC Documents: /kyc/documents | + | kycSelfie | kycSelfie | Symbolic link for Verify KYC Selfie: /kyc/selfie | + | kycStatus | kycStatus | Symbolic link for KYC Status: /kyc/status | + | kycError | kycError | Symbolic link for KYC Error: /kyc/error | + | kycDigilockerResponse | kycDigilockerResponse | Symbolic link for KYC Digilocker Response: /kyc/digilocker-response | + | kycInitResponse | kycInitResponse | Symbolic link for KYC Init Response: /kyc/init-response | + | repayment | repayment | Symbolic link for Repayment: /repayment | + | netBankingRepayment | netBankingRepayment | Symbolic link for Net Banking Repayment: /repayment/netbanking | + | upiRepayment | upiRepayment | Symbolic link for UPI Repayment: /repayment/upi | + | sanctionLetter | sanctionLetter | Symbolic link for Sanction Letter: /sanction/:userId | + | kfs | kfs | Symbolic link for KFS: /kfs/:userId | + | dynamicPage | dynamicPage | Symbolic link for Dynamic Page: /page/:slug | + +--- + + + + + diff --git a/documentation/platform/CREDIT.md b/documentation/platform/CREDIT.md new file mode 100644 index 0000000..7000e16 --- /dev/null +++ b/documentation/platform/CREDIT.md @@ -0,0 +1,1281 @@ + + + + +##### [Back to Platform docs](./README.md) + +## Credit Methods +Transaction Service +* [getOrderStatus](#getorderstatus) +* [getEligiblePlans](#geteligibleplans) +* [getTransactions](#gettransactions) + + + +## Methods with example and description + + +### getOrderStatus +check status of the order + + + + +```java +credit.getOrderStatus( orderId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organization ID | +| orderId | String | yes | This is order ID | + + + +Use this API to check status the order. + +*Returned Response:* + + + + +[OrderStatus](#OrderStatus) + +Success. Returns a JSON object as shown below. Refer `OrderStatus` for more details. + + + + +
+  Examples: + + +
+  orderId + +```json +"FY12345" +``` +
+ +
+  transactionId + +```json +"TXN123567890" +``` +
+ +
+  status + +```json +"PAYMENT_CAPTURED" +``` +
+ +
+  message + +```json +"Payment Accepted" +``` +
+ +
+ + + + + + + + + +--- + + +### getEligiblePlans +Get eligible plans + + + + +```java +credit.getEligiblePlans( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organization id | +| lenderSlug | String | yes | This is lender slug | +| body | [EligiblePlansRequest](#EligiblePlansRequest) | yes | Request body | + + +Use this API to Get eligible plans. + +*Returned Response:* + + + + +[EligiblePlansResponse](#EligiblePlansResponse) + +Success. Returns a JSON object as shown below. Refer `EligiblePlansResponse` for more details. + + + + +
+  Examples: + + +
+  success + +```json +true +``` +
+ +
+ + + + + + + + + +--- + + +### getTransactions +Get list of user transactions + + + + +```java +credit.getTransactions( mobile, countryCode, page, limit, orderId, transactionId, type, status, onlySelf, granularity) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | The unique identifier of the organization | +| mobile | String | yes | The mobile number of the user | +| countryCode | String? | no | The country code of the user's mobile number. | +| page | Integer? | no | The page number of the transaction list | +| limit | Integer? | no | The number of transactions to fetch | +| orderId | String? | no | The order ID | +| transactionId | String? | no | The transaction ID | +| type | Object? | no | The transaction type | +| status | Object? | no | The transaction status | +| onlySelf | Boolean? | no | Set this flag to true to fetch transactions exclusively for your organization, excluding other organizations. | +| granularity | String? | no | Defines the granularity of transaction details. | + + + +Retrieves a paginated list of transactions associated with a specific organization, sorted from the latest to the oldest. This endpoint allows filtering transactions based on various criteria and supports pagination. + +*Returned Response:* + + + + +[GetTransactionsResponse](#GetTransactionsResponse) + +Success. The request has been processed successfully and the response contains the requested data. + + + + +
+  Examples: + + +
+  GetTransactionsExample + +```json +{ + "value": { + "message": "The request has been processed successfully.", + "data": { + "transactions": [ + { + "id": "TXN1234PKoGu", + "amount": 5000, + "type": "DEBIT", + "status": "SUCCESS", + "settlementUtr": null, + "createdAt": "2024-06-10T12:56:46.396Z", + "merchant": { + "name": "J Company", + "logo": "https://cdn.pixelbin.io/v2/muddy-glitter-1091e5/original/public/logos/j.png" + }, + "order": { + "id": "ORD1234", + "amount": 5000 + }, + "loans": [ + { + "number": "LN123456", + "amount": 5000, + "type": "EMI", + "dueDate": "2024-09-04T18:30:00.000Z", + "repaidAmount": 2600, + "isSettled": false, + "emis": [ + { + "amount": 2600, + "dueDate": "2024-08-04T18:30:00.000Z", + "installmentNo": 1, + "repaidAmount": 2600, + "isSettled": true + }, + { + "amount": 2550, + "dueDate": "2024-09-04T18:30:00.000Z", + "installmentNo": 2, + "repaidAmount": 0, + "isSettled": false + } + ] + } + ], + "lender": { + "name": "Bank of J Limited", + "slug": "j-bank", + "logo": "https://cdn.pixelbin.io/v2/muddy-glitter-1091e5/original/public/logos/j.png", + "shortName": "J Bank" + }, + "isMasked": false + }, + { + "id": "XXXXXPKoGu", + "amount": 500, + "type": "DEBIT", + "status": "SUCCESS", + "settlementUtr": null, + "createdAt": "2024-07-01T11:56:46.396Z", + "merchant": { + "name": "Other Merchant", + "logo": "https://cdn.pixelbin.io/v2/potlee/t.grey()/public/logos/settle/square-dark.png" + }, + "isMasked": true + } + ], + "page": { + "type": "number", + "current": 1, + "hasPrevious": false, + "hasNext": false, + "size": 25, + "itemTotal": 1 + } + }, + "meta": { + "timestamp": "2024-07-10T13:56:46.396Z", + "version": "v1.0", + "product": "Settle Checkout" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | HashMap | no | The data payload of the response. The structure of this object will vary depending on the specific API endpoint. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | errors | ArrayList<[IntegrationResponseError](#IntegrationResponseError)>? | yes | | + +--- + + + + + #### [DisbursalRequest](#DisbursalRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | chargeToken | String | no | | + | loanTypeId | Double? | yes | | + | emiTenure | Double? | yes | | + | isDownpaymentRequired | Boolean? | yes | | + | downpaymentAmount | Double? | yes | | + | loanAmount | Double? | yes | | + | data | HashMap? | yes | | + | transactionId | String? | yes | | + | lenderSlug | String? | yes | | + | intent | String? | yes | | + +--- + + + + + #### [WorkflowUser](#WorkflowUser) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + +--- + + + + + #### [EligiblePlansRequest](#EligiblePlansRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String? | yes | | + +--- + + + + + #### [EligiblePlans](#EligiblePlans) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | displayName | String? | yes | | + | description | String? | yes | | + | brokenInterest | Double? | yes | | + | noOfEmi | Double? | yes | | + | emiAmount | Double? | yes | | + | processingFee | Double? | yes | | + | installmentInterestRate | Double? | yes | | + +--- + + + + + #### [EligiblePlansResponse](#EligiblePlansResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | eligiblePlans | ArrayList<[EligiblePlans](#EligiblePlans)>? | yes | | + +--- + + + + + #### [DisbursalResponse](#DisbursalResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionId | String? | yes | | + | status | String? | yes | | + | message | String? | yes | | + +--- + + + + + #### [OrderStatus](#OrderStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderId | String | no | | + | transactionId | String? | yes | | + | status | String | no | | + | message | String | no | | + +--- + + + + + #### [DisbursalStatusRequest](#DisbursalStatusRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | transactionId | String | no | | + +--- + + + + + #### [Transactions](#Transactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | partnerId | String? | yes | | + | partner | String? | yes | | + | partnerLogo | String? | yes | | + | status | String | no | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double | no | | + | loanAccountNumber | String? | yes | | + | kfs | String? | yes | | + | utr | String? | yes | | + | sanctionLetter | String? | yes | | + | orderId | String? | yes | | + | refundId | String? | yes | | + | createdAt | String | no | | + | lenderId | String? | yes | | + | lenderName | String? | yes | | + | lenderLogo | String? | yes | | + | loanType | String? | yes | | + | nextDueDate | String? | yes | | + | paidPercent | Double? | yes | | + | lenderDetail | [LenderDetail](#LenderDetail)? | yes | | + | emis | ArrayList<[Emi](#Emi)>? | yes | | + +--- + + + + + #### [LenderDetail](#LenderDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | imageUrl | String? | yes | | + | slug | String? | yes | | + | active | Boolean? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | theme | [Theme](#Theme)? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [FilterKeys](#FilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [FilterValues](#FilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [Filters](#Filters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [FilterKeys](#FilterKeys)? | yes | | + | values | ArrayList<[FilterValues](#FilterValues)>? | yes | | + +--- + + + + + #### [PageResponse](#PageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Integer | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Integer | no | | + | itemTotal | Integer | no | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [TransactionResponse](#TransactionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | transactions | ArrayList<[Transactions](#Transactions)> | no | | + +--- + + + + + #### [GetReconciliationFileResponse](#GetReconciliationFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | files | ArrayList<[ReconFile](#ReconFile)> | no | | + +--- + + + + + #### [ReconFile](#ReconFile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | base64 | String | no | | + | name | String | no | | + +--- + + + + + #### [UploadReconciliationFileRequest](#UploadReconciliationFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | base64File | String | no | | + | format | String? | yes | | + | lenderId | String? | yes | | + +--- + + + + + #### [UploadReconciliationFileResponse](#UploadReconciliationFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [TransactionCount](#TransactionCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalTransactions | String? | yes | | + +--- + + + + + #### [RefundCount](#RefundCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | refundTransactions | String? | yes | | + +--- + + + + + #### [OrganizationTransactionsCount](#OrganizationTransactionsCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | Double? | yes | | + +--- + + + + + #### [OrganizationTransactionsSum](#OrganizationTransactionsSum) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sum | Double? | yes | | + +--- + + + + + #### [UniqueCustomersInOrg](#UniqueCustomersInOrg) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | Double? | yes | | + +--- + + + + + #### [TransactionAmount](#TransactionAmount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalTransactionAmount | String? | yes | | + +--- + + + + + #### [SchemaForOneDayTotal](#SchemaForOneDayTotal) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orgId | String? | yes | | + | createdAt | String? | yes | | + | count | Double? | yes | | + | sum | String? | yes | | + | refund | String? | yes | | + | difference | String? | yes | | + +--- + + + + + #### [SumofOneDayTransactions](#SumofOneDayTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dayTotal | ArrayList<[SchemaForOneDayTotal](#SchemaForOneDayTotal)>? | yes | | + +--- + + + + + #### [AverageTransaction](#AverageTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | average | Double? | yes | | + +--- + + + + + #### [AllTransactionsResponse](#AllTransactionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | partnerId | String? | yes | | + | status | String? | yes | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double? | yes | | + | loanAccountNumber | String? | yes | | + | createdAt | String? | yes | | + +--- + + + + + #### [TotalRefund](#TotalRefund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalRefund | String? | yes | | + +--- + + + + + #### [TotalRepayment](#TotalRepayment) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalRepayment | String? | yes | | + +--- + + + + + #### [TotalOverDue](#TotalOverDue) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalDue | String? | yes | | + +--- + + + + + #### [TotalLoansDisbursed](#TotalLoansDisbursed) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalLoansDisbursed | String? | yes | | + +--- + + + + + #### [OrganizationTransactionResponse](#OrganizationTransactionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[TrFilters](#TrFilters)> | no | | + | page | [TrPageResponse](#TrPageResponse) | no | | + | transactions | ArrayList<[OrgTransactions](#OrgTransactions)> | no | | + +--- + + + + + #### [TrFilters](#TrFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [TrFilterKeys](#TrFilterKeys)? | yes | | + | values | ArrayList<[TrFilterValues](#TrFilterValues)>? | yes | | + +--- + + + + + #### [TrPageResponse](#TrPageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Double | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Double | no | | + | itemTotal | Double | no | | + +--- + + + + + #### [OrgTransactions](#OrgTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | userName | String? | yes | | + | partnerId | String? | yes | | + | partner | String? | yes | | + | partnerLogo | String? | yes | | + | status | String | no | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double | no | | + | orderId | String? | yes | | + | loanAccountNumber | String? | yes | | + | kfs | String? | yes | | + | sanctionLetter | String? | yes | | + | createdAt | String | no | | + +--- + + + + + #### [TrFilterKeys](#TrFilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [TrFilterValues](#TrFilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [KfsRequest](#KfsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | loanTypeId | Double? | yes | | + | chargeToken | String? | yes | | + +--- + + + + + #### [KfsResponse](#KfsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kfsTable | String? | yes | | + +--- + + + + + #### [LenderTransactionState](#LenderTransactionState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | stepIndex | Double? | yes | | + | lenderId | String? | yes | | + | workflowId | String? | yes | | + | workflowName | String? | yes | | + | parentStateId | String? | yes | | + | workflowUrl | String? | yes | | + | isInternal | Boolean? | yes | | + | active | Boolean? | yes | | + | ttl | Double? | yes | | + | name | String? | yes | | + | type | String? | yes | | + | inputData | HashMap? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [TransactionStateResponse](#TransactionStateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionState | ArrayList<[LenderTransactionState](#LenderTransactionState)>? | yes | | + +--- + + + + + #### [Theme](#Theme) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logoUrl | String? | yes | | + | iconUrl | String? | yes | | + | landscapeBgUrl | String? | yes | | + | portraitBgUrl | String? | yes | | + | shortName | String? | yes | | + +--- + + + + + #### [Emi](#Emi) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | installmentno | Double? | yes | | + | loanAccountNumber | String? | yes | | + | amount | Double? | yes | | + | dueDate | String? | yes | | + | referenceTransactionId | String? | yes | | + | remark | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | entityId | String? | yes | | + | paid | Boolean? | yes | | + | overdue | Boolean? | yes | | + | repaymentDate | String? | yes | | + +--- + + + + + #### [MetricPivots](#MetricPivots) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String? | yes | | + | sum | Double? | yes | | + +--- + + + + + #### [TransactionMetricSubResponse](#TransactionMetricSubResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | total | String? | yes | | + | pivots | ArrayList<[MetricPivots](#MetricPivots)>? | yes | | + | title | String? | yes | | + | description | String? | yes | | + | valueFormat | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [TransactionMetrics](#TransactionMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalDisbursement | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + | totalOverdue | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + | totalRepayment | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean | no | | + +--- + + + + + #### [LenderCustomerTransactionMetrics](#LenderCustomerTransactionMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [TransactionMetrics](#TransactionMetrics)? | yes | | + | filters | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | sort | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsResponse](#LenderCustomerTransactionMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | HashMap? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsRequest](#LenderCustomerTransactionMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | sort | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [TransactionOrder](#TransactionOrder) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier of the order. | + | amount | Double | no | Total amount of the order. | + +--- + + + + + #### [TransactionMerchant](#TransactionMerchant) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | Name of the merchant. | + | logo | String | no | URL to the merchant's logo. | + +--- + + + + + #### [TransactionLoan](#TransactionLoan) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | Loan account number. | + | amount | Double | no | Loan amount. | + | type | String | no | Type of loan. | + | dueDate | String | no | Due date in ISO format for the loan repayment. | + | repaidAmount | Double | no | Amount that has been repaid. | + | isSettled | Boolean | no | Indicates if the loan is fully settled. | + | emis | ArrayList<[TransactionLoanEmi](#TransactionLoanEmi)>? | yes | EMIs associated with the loan. This information is available only if the granularity is set to 'detail' and an EMI schedule is available for this loan. | + +--- + + + + + #### [TransactionLoanEmi](#TransactionLoanEmi) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | amount | Double | no | EMI amount. | + | dueDate | String | no | Due date in ISO format for the EMI payment. | + | installmentNo | Integer | no | Installment number for the EMI. | + | repaidAmount | Double | no | Amount that has been repaid towards the EMI. | + | isSettled | Boolean | no | Indicates if the EMI is fully settled. | + +--- + + + + + #### [TransactionLender](#TransactionLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | Name of the lender. | + | slug | String | no | A slug representing the lender. | + | logo | String | no | URL to the lender's logo. | + | shortName | String | no | Short name of the lender. | + +--- + + + + + #### [UserTransaction](#UserTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier of the transaction. | + | amount | Double | no | Amount of the transaction. | + | type | String | no | Type of the transaction. | + | status | String | no | Status of the transaction. | + | settlementUtr | String? | yes | Settlement UTR for the transaction. | + | refundId | String? | yes | Refund ID if the transaction is a refund. | + | createdAt | String | no | Timestamp in ISO format when the transaction was created. | + | isMasked | Boolean | no | Indicates if the transaction details are masked. This field is true of the transaction if done on some other merchant | + | order | [TransactionOrder](#TransactionOrder)? | yes | | + | merchant | [TransactionMerchant](#TransactionMerchant) | no | | + | loans | ArrayList<[TransactionLoan](#TransactionLoan)>? | yes | | + | lender | [TransactionLender](#TransactionLender)? | yes | | + +--- + + + + + #### [Pagination](#Pagination) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | The type of pagination. | + | current | Integer | no | The current page number. | + | hasPrevious | Boolean | no | Indicates if there is a previous page. | + | hasNext | Boolean | no | Indicates if there is a next page. | + | size | Integer | no | The number of items per page. | + | itemTotal | Integer | no | The total number of items across all pages. | + +--- + + + + + #### [GetTransactionsData](#GetTransactionsData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactions | ArrayList<[UserTransaction](#UserTransaction)> | no | | + | page | [Pagination](#Pagination) | no | | + +--- + + + + + #### [GetTransactionsResponse](#GetTransactionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [GetTransactionsData](#GetTransactionsData) | no | | + +--- + + + + + #### [SummaryRequest](#SummaryRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | type | String? | yes | | + +--- + + + diff --git a/documentation/platform/CUSTOMER.md b/documentation/platform/CUSTOMER.md new file mode 100644 index 0000000..b13636f --- /dev/null +++ b/documentation/platform/CUSTOMER.md @@ -0,0 +1,3290 @@ + + + + +##### [Back to Platform docs](./README.md) + +## Customer Methods +Authentication Service +* [validate](#validate) +* [createTransaction](#createtransaction) +* [link](#link) +* [unlink](#unlink) +* [refund](#refund) +* [refundStatus](#refundstatus) +* [getSchemes](#getschemes) +* [checkEligibility](#checkeligibility) +* [getRepaymentLink](#getrepaymentlink) +* [getAllCustomers](#getallcustomers) +* [addVintageData](#addvintagedata) + + + +## Methods with example and description + + +### validate +Validate Customer + + + + +```java +customer.validate(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [ValidateCustomer](#ValidateCustomer) | yes | Request body | + + +The Validate Customer API processes validity checks using customer details, order information, a redirect URL, and device data. It returns `Disabled` if the transaction cannot proceed due to reasons such as the customer's limit being unavailable, already used, the customer being blocked, the pincode not being serviceable, or the SKU/product category not being serviceable by the lender. It returns `Enabled` if the transaction is allowed. + +*Returned Response:* + + + + +[ValidateCustomerSuccess](#ValidateCustomerSuccess) + +Success. Returns a JSON object as shown below. Refer `ValidateCustomerSuccess` for more details. + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### createTransaction +Create Transaction + + + + +```java +customer.createTransaction( session, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| session | String? | no | The user session. | +| organizationId | String | yes | This is organizationId | +| body | [CreateTransaction](#CreateTransaction) | yes | Request body | + + +The Create Transaction API processes transactions using customer details, order information, a redirect URL, and device data. It returns `Disabled` if the transaction cannot proceed due to reasons such as the customer's limit being unavailable, already used, the customer being blocked, the pincode not being serviceable, or the SKU/product category not being serviceable by the lender. If the transaction is allowed, it returns `Enabled` along with the redirect URL and the user status as authorized. + +*Returned Response:* + + + + +[CreateTransactionSuccess](#CreateTransactionSuccess) + +Success. Returns a JSON object as shown below. Refer `CreateTransactionSuccess` for more details. + + + + +
+  Examples: + + +
+  CreateTransactionResponseExample + +```json +{ + "value": { + "redirectUrl": "https://account.potlee.co.in/auth/login?onboardingToken=e738521b-a763-460d-a440-d9570e79be47&redirectUrl=https://url.merchant.com/callback", + "message": "Payment Authorised", + "userStatus": "PAYMENT_AUTHORISED" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### link +Link account + + + + +```java +customer.link(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [LinkAccount](#LinkAccount) | yes | Request body | + + +The Link API generates a merchant-linked session for the user, enabling automatic login to complete payment or repayment activities seamlessly. This session ensures a smooth and secure transaction process without requiring the user to manually log in. + +*Returned Response:* + + + + +[LinkAccountSuccess](#LinkAccountSuccess) + +Success. Returns a JSON object as shown below. Refer `LinkAccountSuccess` for more details. + + + + +
+  Examples: + + +
+  redirectUrl + +```json +"https://account.potlee.co.in/auth/login?linkingToken=1245rtfyg765" +``` +
+ +
+ + + + + + + + + +--- + + +### unlink +Unlink account + + + + +```java +customer.unlink(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [UnlinkAccount](#UnlinkAccount) | yes | Request body | + + +The Unlink API serves as the reverse of the Link API. It terminates the merchant-linked session for the user, effectively logging them out and preventing any further automatic login for payment or repayment activities. This ensures security and control over session management. + +*Returned Response:* + + + + +[UnlinkAccountSuccess](#UnlinkAccountSuccess) + +Success. Returns a JSON object as shown below. Refer `UnlinkAccountSuccess` for more details. + + + + +
+  Examples: + + +
+  success + +```json +true +``` +
+ +
+ + + + + + + + + +--- + + +### refund +Refund Order + + + + +```java +customer.refund(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [Refund](#Refund) | yes | Request body | + + +The Refund API processes refunds based on business arrangements and returns the corresponding status of the refund request. The possible statuses include: - SUCCESS: The refund was processed successfully. - FAILED: The refund request failed. - PENDING: The refund request is still being processed and is awaiting completion. + +*Returned Response:* + + + + +[RefundResponse](#RefundResponse) + +Success. Returns a JSON object as shown below. Refer `RefundResponse` for more details. + + + + +
+  Examples: + + +
+  status + +```json +"SUCCESS" +``` +
+ +
+  message + +```json +"Refund request has been successfully recorded." +``` +
+ +
+  refundId + +```json +"R123" +``` +
+ +
+  transactionId + +```json +"TXN1234567dsfg" +``` +
+ +
+ + + + + + + + + +--- + + +### refundStatus +Check Refund status + + + + +```java +customer.refundStatus( refundId, orderId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| refundId | String? | no | This is the refund ID | +| orderId | String? | no | This is the order ID | + + + +The Refund Status API returns the current status of a refund request based on business arrangements. The possible statuses include: - SUCCESS: The refund was processed successfully. - FAILED: The refund request failed. - PENDING: The refund request is still being processed and is awaiting completion. + +*Returned Response:* + + + + +[RefundStatus](#RefundStatus) + +Success. Returns a JSON object as shown below. Refer `RefundStatus` for more details. + + + + +
+  Examples: + + +
+  orderId + +```json +"PM-28" +``` +
+ +
+  userId + +```json +"c004a863-bce5-492b-b7aa-ba2890bc9e25" +``` +
+ +
+  merchantId + +```json +"3e0cf7da-ad5f-4c99-a9e7-49cad484ef37" +``` +
+ +
+  lenderId + +```json +"f622b3e8-c797-434d-948f-d0fda56e3db6" +``` +
+ +
+  refund + +```json +[ + { + "id": "10122313672606485999", + "loanAccountNumber": "CASHe-1686764747795", + "orderItems": { + "list": [ + { + "sku": "1", + "rate": "1", + "category": "1", + "quantity": 1 + } + ] + }, + "amount": 3000, + "status": "SUCCESS", + "processedDate": "2023-06-14T17:44:28.052Z", + "createdAt": "2023-06-14T17:44:28.052Z" + } +] +``` +
+ +
+ + + + + + + + + +--- + + +### getSchemes +Get schemes + + + + +```java +customer.getSchemes(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [GetSchemesRequest](#GetSchemesRequest) | yes | Request body | + + +The Schemes API returns Buy Now, Pay Later (BNPL) and EMI plans offered by lenders for the user. It provides details on available financing options, including terms and conditions for both BNPL and EMI arrangements. + +*Returned Response:* + + + + +[GetSchemesSuccess](#GetSchemesSuccess) + +Success. Returns a JSON object as shown below. Refer `GetSchemesSuccess` for more details. + + + + +
+  Examples: + + +
+  userId + +```json +"bf94b96a-1a15-406b-8d2f-0b37bfe47732" +``` +
+ +
+  lenders + +```json +[ + { + "slug": "cashe", + "name": "CASHe", + "title": "CASHe", + "subtitle": "Bhanix Finance and Investment Limited", + "isDefault": false, + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/v2/512h-logo/cashe-logo.png", + "amount": 5000, + "paymentOptions": { + "emis": [ + { + "id": 62, + "title": "3 Months - EMIs", + "subtitle": "CASHe Shop 3EMI (PaymentGateway)", + "description": "3 Months - No cost EMIs", + "tenure": 3, + "interest": 0, + "processingFee": 75, + "amount": 1692, + "emiSchedule": [ + { + "installmentNo": 1, + "installmentAmount": 1741, + "dueDate": "2023-12-22T12:00:00.000+00:00", + "dueAmount": 3334 + }, + { + "installmentNo": 2, + "installmentAmount": 1666, + "dueDate": "2024-01-22T12:00:00.000+00:00", + "dueAmount": 1668 + }, + { + "installmentNo": 3, + "installmentAmount": 1666, + "dueDate": "2024-02-22T12:00:00.000+00:00", + "dueAmount": 2 + } + ], + "isDefault": false + } + ], + "payLater": { + "id": 1, + "title": "PayLater", + "subtitle": "CASHe_PayLater", + "description": "Customer can pay after 30days", + "tenure": 1, + "interest": 0, + "processingFee": 0, + "amount": 5000, + "emiSchedule": null, + "isDefault": true + } + } + } +] +``` +
+ +
+ + + + + + + + + +--- + + +### checkEligibility +Check Credit Eligibility + + + + +```java +customer.checkEligibility(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [CheckEligibilityRequest](#CheckEligibilityRequest) | yes | Request body | + + +Use this API to pre approve by checking the customer's credit eligibility based on mobile number and countryCode and vintage data of monthly transactions. + +*Returned Response:* + + + + +[EligibilitySuccess](#EligibilitySuccess) + +Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for more details. + + + + +
+  Examples: + + +
+  EligibilitySuccess + +```json +{ + "value": { + "status": "ENABLED", + "message": "User is eligible to transact", + "redirectUrl": "https://account.potlee.co.in", + "creditLimit": [ + { + "availableLimit": 300000, + "possibleLimit": 500000, + "lender": { + "slug": "ugro", + "name": "UGRO", + "logo": "https://cdn.pixelbin.io/v2/potlee/original/public/ugro/ugro_logo" + } + } + ] + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getRepaymentLink +Get Repayment link + + + + +```java +customer.getRepaymentLink(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [RepaymentRequest](#RepaymentRequest) | yes | Request body | + + +The Repayment Link API generates a repayment link based on the current outstanding balance. The URL provided allows users to make payments and settle their outstanding amounts directly. + +*Returned Response:* + + + + +[RepaymentResponse](#RepaymentResponse) + +Success. The request has been processed successfully and the response contains the requested data. + + + + +
+  Examples: + + +
+  RepaymentUrlResponseExample + +```json +{ + "value": { + "message": "The request has been processed successfully.", + "data": { + "repaymentUrl": "https://account.settle.club/magic-link/65bafe6a-f665-4378-964f-fc7457585ac7" + }, + "meta": { + "timestamp": "2024-07-16T13:30:10.663Z", + "version": "v1.0", + "product": "Settle Checkout" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getAllCustomers +Get List of Users + + + + +```java +customer.getAllCustomers( page, limit, name, mobile) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| page | Integer | yes | This is page number | +| limit | Integer | yes | This is no of transaction | +| name | String? | no | This is name for filter | +| mobile | String? | no | This is Mobile Number for filter | + + + +The Customer Listing API returns a paginated list of users associated with the specified organization. Supports filtering by various query parameters such as name, ID, and mobile number. + +*Returned Response:* + + + + +[UserResponse](#UserResponse) + +Success. Returns a JSON object as shown below. Refer `UserResponse` for more details. + + + + +
+  Examples: + + +
+  UserExample + +```json +{ + "value": { + "gender": "male", + "active": true, + "profilePicUrl": "https://d2co8r51m5ca2d.cloudfront.net/inapp_banners/default_profile_img.png", + "id": "5e68af49cfa09bf7233022f1", + "firstName": "Akash", + "lastName": "Mane", + "mobile": "8652523958", + "countryCode": 91, + "email": "akashmane@gofynd.com", + "createdAt": "2020-03-11T09:28:41.982Z", + "updatedAt": "2021-02-04T10:10:44.981Z" + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### addVintageData +Add user vintage details + + + + +```java +customer.addVintageData(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [VintageData](#VintageData) | yes | Request body | + + +Use this API to add vintage details of the user. + +*Returned Response:* + + + + +[AddVintageResponse](#AddVintageResponse) + +Success. Returns a JSON object as shown below. Refer `AddVintageResponse` for more details. + + + + +
+  Examples: + + +
+  AddVintageResponse + +```json +{ + "value": { + "message": "Request Processed Successfully.", + "meta": { + "timestamp": "2024-07-10T13:56:46.396Z", + "version": "v1.0", + "product": "Settle Checkout" + }, + "data": {} + } +} +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | HashMap | no | The data payload of the response. The structure of this object will vary depending on the specific API endpoint. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | errors | ArrayList<[IntegrationResponseError](#IntegrationResponseError)>? | yes | | + +--- + + + + + #### [RefundResponse](#RefundResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | message | String? | yes | | + | transactionId | String? | yes | | + | refundId | String? | yes | | + +--- + + + + + #### [UserSource](#UserSource) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String? | yes | | + | type | String? | yes | | + | sourceId | String? | yes | | + | meta | HashMap? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | app | String? | yes | | + | entityId | String? | yes | | + | userMerchants | ArrayList? | yes | | + +--- + + + + + #### [UserSchema](#UserSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | firstName | String? | yes | | + | lastName | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | active | Boolean? | yes | | + | profilePicUrl | String? | yes | | + | isEmailVerified | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [count](#count) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalUsers | String? | yes | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [LenderCount](#LenderCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalLenders | String? | yes | | + +--- + + + + + #### [LenderSchema](#LenderSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [TotalUsersPerLender](#TotalUsersPerLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | lenderList | ArrayList<[TotalUsersPerLenderData](#TotalUsersPerLenderData)> | no | | + +--- + + + + + #### [TotalUsersPerLenderData](#TotalUsersPerLenderData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | totalUsers | String? | yes | | + +--- + + + + + #### [TotalUserByLender](#TotalUserByLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | count | String? | yes | | + +--- + + + + + #### [UsersByLender](#UsersByLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | name | String? | yes | | + +--- + + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [EditProfileRequest](#EditProfileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | registrationToken | String? | yes | | + +--- + + + + + #### [VerifyOtpRequest](#VerifyOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | requestId | String | no | | + | otp | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + | referralCode | String? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [SendMobileOtpRequest](#SendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + | force | String? | yes | | + +--- + + + + + #### [ReSendMobileOtpRequest](#ReSendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | captchaCode | String? | yes | | + | token | String | no | | + | androidHash | String? | yes | | + +--- + + + + + #### [SendOtpRequest](#SendOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | captchaCode | String? | yes | | + | mobile | String? | yes | | + +--- + + + + + #### [ApplicationUser](#ApplicationUser) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + +--- + + + + + #### [SendOtpResponse](#SendOtpResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | countryCode | String? | yes | | + | email | String? | yes | | + | resendEmailToken | String? | yes | | + | registerToken | String? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | userExists | Boolean? | yes | | + +--- + + + + + #### [EmailUpdate](#EmailUpdate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + +--- + + + + + #### [UserUpdateRequest](#UserUpdateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | Object? | yes | | + | lastName | Object? | yes | | + | countryCode | String | no | | + | mobile | String | no | | + | email | Object? | yes | | + | gender | Object? | yes | | + | dob | Object? | yes | | + | active | Boolean? | yes | | + | profilePictureUrl | Object? | yes | | + | isEmailVerified | Boolean? | yes | | + +--- + + + + + #### [LenderUpdateRequest](#LenderUpdateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [ProfileEditSuccess](#ProfileEditSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | registerToken | String? | yes | | + | resendEmailToken | String? | yes | | + | userExists | Boolean? | yes | | + | verifyEmailLink | Boolean? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | email | String? | yes | | + | requestId | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | success | Boolean? | yes | | + | message | String? | yes | | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + +--- + + + + + #### [LoginSuccess](#LoginSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | requestId | String? | yes | | + | registerToken | String? | yes | | + +--- + + + + + #### [VerifyOtpSuccess](#VerifyOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | userExists | Boolean? | yes | | + | isNew | Boolean? | yes | | + +--- + + + + + #### [LogoutSuccess](#LogoutSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logout | Boolean? | yes | | + +--- + + + + + #### [OtpSuccess](#OtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | registerToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | isNew | Boolean? | yes | | + | countryCode | String? | yes | | + | otpLength | Double? | yes | | + +--- + + + + + #### [SessionListSuccess](#SessionListSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sessions | ArrayList? | yes | | + +--- + + + + + #### [VerifyMobileOTPSuccess](#VerifyMobileOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + +--- + + + + + #### [Location](#Location) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | latitude | Double? | yes | | + | longitude | Double? | yes | | + +--- + + + + + #### [OrderAddress](#OrderAddress) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | line1 | String? | yes | | + | line2 | String? | yes | | + | city | String? | yes | | + | state | String? | yes | | + | country | String? | yes | | + | pincode | String? | yes | | + | type | String? | yes | | + | geoLocation | [Location](#Location)? | yes | | + +--- + + + + + #### [CustomerObject](#CustomerObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | mobile | String | no | | + | uid | String? | yes | | + | email | String? | yes | | + | firstname | String? | yes | | + | middleName | String? | yes | | + | lastName | String? | yes | | + +--- + + + + + #### [Order](#Order) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer | no | | + | uid | String | no | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [VerifyOrder](#VerifyOrder) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer | no | | + | uid | String? | yes | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [OrderUid](#OrderUid) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer? | yes | | + | uid | String | no | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [CustomerMeta](#CustomerMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ip | String | no | | + | appVersion | String | no | | + | appIdentifier | String? | yes | | + | customerUserAgent | String? | yes | | + | deviceId | String | no | | + +--- + + + + + #### [Device](#Device) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ipAddress | String | no | | + | userAgent | String | no | | + | latitude | Double? | yes | | + | longitude | Double? | yes | | + +--- + + + + + #### [ValidateCustomer](#ValidateCustomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [VerifyOrder](#VerifyOrder) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + | fetchLimitOptions | Boolean? | yes | | + | fetchPlans | Boolean? | yes | | + +--- + + + + + #### [CreateTransaction](#CreateTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String | no | User will be redirected back to this URL after a successful or a failed transaction. | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | Any additional details | + | emiTenure | Integer? | yes | EMI tenure selected by customer | + | lenderSlug | String? | yes | slug of lender selected by customer | + | consents | ArrayList<[Consents](#Consents)>? | yes | Consent for AUTO_DISBURSAL is mandatory while calling createTransaction API. | + +--- + + + + + #### [ResendPaymentRequest](#ResendPaymentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String? | yes | | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [OrderUid](#OrderUid) | no | | + +--- + + + + + #### [ValidateCustomerSuccess](#ValidateCustomerSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | Indicates whether a user is allowed to perform the transaction or not | + | userStatus | String | no | Represents the status of the user for transaction eligibility | + | message | String | no | Message to be displayed to the user | + | schemes | ArrayList<[SchemeResponse](#SchemeResponse)>? | yes | An array of possible schemes of lenders available for a transaction. | + | limit | [LimitResponse](#LimitResponse)? | yes | Limit details of available and possible lenders for a transaction. | + +--- + + + + + #### [CreateTransactionSuccess](#CreateTransactionSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String? | yes | A unique token for completing the transaction. Charge token is received only if a valid user session is passed in request and auto capture is false. ASP merchants do not receive charge token. | + | redirectUrl | String? | yes | URL to which the user should be redirected to complete the transaction. | + | message | String | no | A message or information related to the transaction. | + | transactionId | String? | yes | A unique identifier for the transaction. This is received only if session is passed and auto capture is true in request. ASP merchants do not receive transaction ID in this response. | + | status | String? | yes | Indicates transaction status in case of auto disbursal. | + | userStatus | String? | yes | Represents the status of the user for transaction eligibility | + +--- + + + + + #### [SupportDocuments](#SupportDocuments) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fileName | String? | yes | | + | fileUrl | String? | yes | | + +--- + + + + + #### [CreateTicketResponse](#CreateTicketResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | serviceRequestId | String? | yes | | + | message | String? | yes | | + +--- + + + + + #### [CreateTicket](#CreateTicket) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | transactionId | String? | yes | | + | description | String | no | | + | documents | ArrayList<[SupportDocuments](#SupportDocuments)>? | yes | | + +--- + + + + + #### [InitiateTransactions](#InitiateTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [GetMobileFromToken](#GetMobileFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [GetDataFromToken](#GetDataFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [MerchantDetails](#MerchantDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | website | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [InitiateTransactionsSuccess](#InitiateTransactionsSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String | no | | + | session | String? | yes | | + | expiry | String? | yes | | + | hash | String? | yes | | + | order | [Order](#Order)? | yes | | + | isAsp | Boolean? | yes | | + | merchant | [MerchantDetails](#MerchantDetails)? | yes | | + | redirectUrl | String? | yes | | + +--- + + + + + #### [RetrieveMobileFromToken](#RetrieveMobileFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + +--- + + + + + #### [CreateDashboardTemplateRequest](#CreateDashboardTemplateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | version | String | no | | + | isDefault | Boolean? | yes | | + | sections | ArrayList<[TemplateSections](#TemplateSections)> | no | | + +--- + + + + + #### [TemplateSections](#TemplateSections) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sequence | Integer | no | | + | isAvailableInMobile | Boolean | no | | + | isAvailableInDesktop | Boolean | no | | + | component | [TemplateComponent](#TemplateComponent) | no | | + +--- + + + + + #### [TemplateComponent](#TemplateComponent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String | no | | + | isAvailableInDesktop | Boolean? | yes | | + | partnerApplications | ArrayList<[PartnerApplications](#PartnerApplications)>? | yes | | + | banners | ArrayList<[Banners](#Banners)>? | yes | | + | tips | ArrayList<[Tips](#Tips)>? | yes | | + +--- + + + + + #### [PartnerApplications](#PartnerApplications) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String | no | | + | sequence | Integer? | yes | | + +--- + + + + + #### [Offerings](#Offerings) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String | no | | + | sequence | Integer? | yes | | + | gradient | ArrayList | no | | + +--- + + + + + #### [Banners](#Banners) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | imageUrl | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + +--- + + + + + #### [Tips](#Tips) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | description | String? | yes | | + | urlPath | String | no | | + | urlTarget | String? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + +--- + + + + + #### [DashboardTemplateResponse](#DashboardTemplateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | version | String? | yes | | + | active | Boolean? | yes | | + | sections | ArrayList<[SectionSchema](#SectionSchema)> | no | | + +--- + + + + + #### [SectionSchema](#SectionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | partners | ArrayList<[PartnerApplicationsResponse](#PartnerApplicationsResponse)>? | yes | | + | banners | ArrayList<[BannersResponse](#BannersResponse)>? | yes | | + | tips | ArrayList<[TipsResponse](#TipsResponse)>? | yes | | + +--- + + + + + #### [PartnerApplicationsResponse](#PartnerApplicationsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String | no | | + +--- + + + + + #### [OfferingsResponse](#OfferingsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String | no | | + | gradient | ArrayList | no | | + +--- + + + + + #### [BannersResponse](#BannersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | action | [ActionSchema](#ActionSchema)? | yes | | + | imageUrl | String | no | | + +--- + + + + + #### [TipsSection](#TipsSection) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | tips | ArrayList<[TipsResponse](#TipsResponse)>? | yes | | + | categories | ArrayList<[TipsCategories](#TipsCategories)>? | yes | | + | action | [ActionSchema](#ActionSchema)? | yes | | + +--- + + + + + #### [TipsResponse](#TipsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | category | String? | yes | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String? | yes | | + +--- + + + + + #### [TipsCategories](#TipsCategories) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | title | String | no | | + +--- + + + + + #### [ActionSchema](#ActionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | | + | page | [PageSchema](#PageSchema)? | yes | | + | popup | [PageSchema](#PageSchema)? | yes | | + +--- + + + + + #### [UpdateDashboardTemplateRequest](#UpdateDashboardTemplateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | version | String? | yes | | + | isDefault | Boolean? | yes | | + | active | Boolean? | yes | | + | sections | ArrayList<[UpdateTemplateSections](#UpdateTemplateSections)>? | yes | | + +--- + + + + + #### [UpdateTemplateSections](#UpdateTemplateSections) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | sequence | Integer? | yes | | + | isAvailableInMobile | Boolean? | yes | | + | isAvailableInDesktop | Boolean? | yes | | + | active | Boolean? | yes | | + | component | [UpdateTemplateComponent](#UpdateTemplateComponent)? | yes | | + +--- + + + + + #### [UpdateTemplateComponent](#UpdateTemplateComponent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | isAvailableInDesktop | Boolean? | yes | | + | active | Boolean? | yes | | + | partners | ArrayList<[UpdatePartnerApplications](#UpdatePartnerApplications)>? | yes | | + | banners | ArrayList<[UpdateBanners](#UpdateBanners)>? | yes | | + | tips | ArrayList<[UpdateTips](#UpdateTips)>? | yes | | + +--- + + + + + #### [UpdatePartnerApplications](#UpdatePartnerApplications) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | action | HashMap? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [UpdateOfferings](#UpdateOfferings) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + | gradient | ArrayList? | yes | | + +--- + + + + + #### [UpdateBanners](#UpdateBanners) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | imageUrl | String? | yes | | + | action | HashMap? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [UpdateTips](#UpdateTips) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | imageUrl | String? | yes | | + | action | HashMap? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [NavigationsMobileResponse](#NavigationsMobileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | tabs | ArrayList<[TabsSchema](#TabsSchema)> | no | | + | profileSections | ArrayList<[ProfileSectionSchema](#ProfileSectionSchema)> | no | | + +--- + + + + + #### [TabsSchema](#TabsSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + | page | [PageSchema](#PageSchema) | no | | + | icon | String | no | | + | activeIcon | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [PageSchema](#PageSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | link | String? | yes | | + | type | [PageType](#PageType)? | yes | | + | params | HashMap>? | yes | | + | query | HashMap? | yes | | + +--- + + + + + #### [ProfileSectionSchema](#ProfileSectionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | navigations | ArrayList<[ProfileNavigationSchema](#ProfileNavigationSchema)> | no | | + | active | Boolean | no | | + +--- + + + + + #### [ProfileNavigationSchema](#ProfileNavigationSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | description | String? | yes | | + | icon | String | no | | + | type | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [SendPNSRegisterRequest](#SendPNSRegisterRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | deviceId | String | no | | + | deviceType | String | no | | + | token | String | no | | + +--- + + + + + #### [PNSRegisterResponse](#PNSRegisterResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | Boolean? | yes | | + | message | String? | yes | | + +--- + + + + + #### [FaqResponse](#FaqResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | categories | ArrayList<[CategorySchema](#CategorySchema)>? | yes | | + +--- + + + + + #### [CategorySchema](#CategorySchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | uid | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | logo | String? | yes | | + | questions | ArrayList<[QuestionSchema](#QuestionSchema)>? | yes | | + +--- + + + + + #### [QuestionSchema](#QuestionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | uid | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | displayOrder | Integer? | yes | | + | canRaiseRequest | Boolean? | yes | | + +--- + + + + + #### [SupportCategories](#SupportCategories) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kind | String? | yes | | + | display | String? | yes | | + +--- + + + + + #### [SupportCategoriesResponse](#SupportCategoriesResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | categories | ArrayList<[SupportCategories](#SupportCategories)>? | yes | | + +--- + + + + + #### [SanctionLetterResponse](#SanctionLetterResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sanctionedLetterFileUrl | String | no | | + +--- + + + + + #### [KfsDocumentResponse](#KfsDocumentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kfsFileUrl | String | no | | + +--- + + + + + #### [UserWhiteListedResponse](#UserWhiteListedResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + +--- + + + + + #### [UserConsentRequest](#UserConsentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | consents | ArrayList? | yes | | + +--- + + + + + #### [Consents](#Consents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | | + | text | String? | yes | | + | purpose | String? | yes | If consent type is AUTO_DISBURSAL, purpose will be uid of order. | + +--- + + + + + #### [UserConsentRequestV2](#UserConsentRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | consents | ArrayList<[Consents](#Consents)>? | yes | | + +--- + + + + + #### [UserConsentResponse](#UserConsentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [UserKycSteps](#UserKycSteps) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | index | String? | yes | | + | name | String? | yes | | + | rules | HashMap? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [CreateKycStepRequest](#CreateKycStepRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | index | String | no | | + | active | Boolean | no | | + | rules | HashMap? | yes | | + +--- + + + + + #### [RemoveKycStepRequest](#RemoveKycStepRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | index | String | no | | + | active | Boolean? | yes | | + | rules | HashMap? | yes | | + +--- + + + + + #### [KycUpdateMessage](#KycUpdateMessage) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [MobileFromLinkingRequest](#MobileFromLinkingRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [MobileFromLinkingResponse](#MobileFromLinkingResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + +--- + + + + + #### [SessionFromLinkingRequest](#SessionFromLinkingRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [SessionFromLinkingResponse](#SessionFromLinkingResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | session | String | no | | + | expiry | Integer | no | | + +--- + + + + + #### [LinkAccount](#LinkAccount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | redirectUrl | String | no | | + | device | [Device](#Device) | no | | + +--- + + + + + #### [LinkAccountSuccess](#LinkAccountSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String? | yes | | + | statusCode | Double? | yes | | + | status | String? | yes | | + | message | String? | yes | | + | errorCode | String? | yes | | + +--- + + + + + #### [UnlinkAccount](#UnlinkAccount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | device | [Device](#Device) | no | | + +--- + + + + + #### [UnlinkAccountSuccess](#UnlinkAccountSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | statusCode | Double | no | | + | userStatus | String? | yes | | + | errorCode | String? | yes | | + +--- + + + + + #### [Refund](#Refund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | customer | [CustomerObject](#CustomerObject)? | yes | | + | refundItems | ArrayList<[Items](#Items)>? | yes | | + | orderId | String | no | | + | refundId | String | no | | + | refundAmount | Double | no | | + | redirectionUrl | String? | yes | | + +--- + + + + + #### [Translation](#Translation) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | content | Object? | yes | | + +--- + + + + + #### [FilterKeys](#FilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [FilterValues](#FilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [Filters](#Filters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [FilterKeys](#FilterKeys)? | yes | | + | values | ArrayList<[FilterValues](#FilterValues)>? | yes | | + +--- + + + + + #### [PageResponse](#PageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Integer | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Integer | no | | + | itemTotal | Integer | no | | + +--- + + + + + #### [UserResponse](#UserResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | listOfUsers | ArrayList<[UserSchema](#UserSchema)> | no | | + +--- + + + + + #### [UserDetailRequest](#UserDetailRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + +--- + + + + + #### [UserConsents](#UserConsents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | ipAddress | String? | yes | | + | text | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [CreditScoreSchema](#CreditScoreSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | cibil | Double? | yes | | + | finbox | String? | yes | | + | systemAwarded | String? | yes | | + | isActive | Boolean? | yes | | + | deletedAt | String? | yes | | + | updatedAt | String? | yes | | + | createdAt | String? | yes | | + +--- + + + + + #### [CreditLimitSchema](#CreditLimitSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | creditLimit | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [Screen](#Screen) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | screenType | String? | yes | | + | name | String? | yes | | + | link | String? | yes | | + +--- + + + + + #### [UserStateSchema](#UserStateSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | screen | [Screen](#Screen)? | yes | | + +--- + + + + + #### [GetAccessTokenResponse](#GetAccessTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | refreshToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + | refreshTokenExpiryAt | String? | yes | | + | refreshTokenExpiryIn | String? | yes | | + | scope | ArrayList? | yes | | + +--- + + + + + #### [RefreshTokenResponse](#RefreshTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + +--- + + + + + #### [RefreshTokenRequest](#RefreshTokenRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [Items](#Items) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String? | yes | | + | sku | String? | yes | | + | rate | Double? | yes | | + | quantity | Double? | yes | | + +--- + + + + + #### [RefundStatusList](#RefundStatusList) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | orderItems | ArrayList<[Items](#Items)>? | yes | | + | amount | Double? | yes | | + | status | String? | yes | | + | createdAt | String? | yes | | + | processedDate | String? | yes | | + +--- + + + + + #### [RefundStatus](#RefundStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderId | String? | yes | | + | userId | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | loanAccountNumber | String? | yes | | + | refund | ArrayList<[RefundStatusList](#RefundStatusList)>? | yes | | + +--- + + + + + #### [GetSchemesSuccess](#GetSchemesSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String? | yes | | + | lenders | ArrayList<[SchemeResponse](#SchemeResponse)> | no | | + +--- + + + + + #### [CustomerMetricsPivots](#CustomerMetricsPivots) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String? | yes | | + | sum | Double? | yes | | + +--- + + + + + #### [CustomerMetricsSubResponse](#CustomerMetricsSubResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | total | String? | yes | | + | pivots | ArrayList<[CustomerMetricsPivots](#CustomerMetricsPivots)>? | yes | | + | title | String? | yes | | + | description | String? | yes | | + | valueFormat | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [CustomerMetricsAnalytics](#CustomerMetricsAnalytics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalCustomers | [CustomerMetricsSubResponse](#CustomerMetricsSubResponse)? | yes | | + | source | [CustomerMetricsSubResponse](#CustomerMetricsSubResponse)? | yes | | + +--- + + + + + #### [CustomerMetricsFilters](#CustomerMetricsFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean | no | | + +--- + + + + + #### [CustomerMetrics](#CustomerMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [CustomerMetricsAnalytics](#CustomerMetricsAnalytics)? | yes | | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | sort | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + +--- + + + + + #### [SchemeResponse](#SchemeResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String | no | A slug identifier for the lender. | + | isDefault | Boolean | no | Indicates if this is the default lender | + | logoUrl | String | no | URL to the logo of the lender | + | name | String | no | Name of the lender | + | title | String | no | Title of the lender | + | subtitle | String | no | Subtitle or additional information about the lender | + | amount | Double? | yes | Transaction amount | + | paymentOptions | [SchemePaymentOptionsResponse](#SchemePaymentOptionsResponse) | no | | + +--- + + + + + #### [SchemePaymentOptionsResponse](#SchemePaymentOptionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | emis | ArrayList<[SchemeEmiPaymentOptionResponse](#SchemeEmiPaymentOptionResponse)>? | yes | | + | payLater | [SchemePayLaterPaymentOptionResponse](#SchemePayLaterPaymentOptionResponse)? | yes | | + +--- + + + + + #### [SchemeEmiPaymentOptionResponse](#SchemeEmiPaymentOptionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier for the payment option. | + | isDefault | Boolean | no | Indicates if this is the default payment option. | + | description | String | no | Description of the payment option. | + | title | String | no | Title of the payment option. | + | subtitle | String | no | Subtitle or additional information about the payment option. | + | amount | Double | no | Total amount for this EMI. | + | interest | Double? | yes | Interest rate applicable to the EMIn. | + | processingFee | Double | no | Processing fee associated with the EMI. | + | tenure | Double | no | Tenure of the EMI in months. | + | emiSchedule | ArrayList<[SchemeEmiScheduleResponse](#SchemeEmiScheduleResponse)> | no | Schedule of EMIs. | + +--- + + + + + #### [SchemeEmiScheduleResponse](#SchemeEmiScheduleResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentNo | Integer | no | The installment number. | + | installmentAmount | Double | no | The total amount due for this installment. | + | dueDate | String | no | The date by which the installment is due, in ISO 8601 format. | + +--- + + + + + #### [SchemePayLaterPaymentOptionResponse](#SchemePayLaterPaymentOptionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier for the PayLater option | + | title | String | no | Title of the PayLater option | + | subtitle | String | no | Subtitle or additional descriptor for the PayLater option | + | description | String | no | Detailed description of the PayLater option | + | tenure | Integer | no | The tenure of the PayLater option, in months | + | interest | Integer | no | Interest amount for the PayLater option | + | processingFee | Integer | no | Processing fee for the PayLater option | + | amount | Integer | no | The amount to be paid in Rupees | + | isDefault | Boolean | no | Indicates if this is the default payment option | + +--- + + + + + #### [LimitResponse](#LimitResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | available | ArrayList<[AvailableOrPossibleLender](#AvailableOrPossibleLender)>? | yes | | + | possible | ArrayList<[AvailableOrPossibleLender](#AvailableOrPossibleLender)>? | yes | | + +--- + + + + + #### [AvailableOrPossibleLender](#AvailableOrPossibleLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | The available credit limit from the lender. | + | lenderName | String | no | The name of the lender. | + | slug | String | no | A slug identifier for the lender. | + | isDefault | Boolean | no | Indicates if this is the default lender option. | + | logo | String | no | URL to the lender's logo. | + +--- + + + + + #### [GetSchemesRequest](#GetSchemesRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + +--- + + + + + #### [CustomerMetricsResponse](#CustomerMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [CustomerMetrics](#CustomerMetrics)? | yes | | + +--- + + + + + #### [CustomerMetricsRequest](#CustomerMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | sort | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [SourceAnalyticsRequest](#SourceAnalyticsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderResponse](#LenderResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | name | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [CreditLimitObject](#CreditLimitObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | availableLimit | Double? | yes | | + | possibleLimit | Double? | yes | | + | lender | [LenderResponse](#LenderResponse)? | yes | | + +--- + + + + + #### [BusinessDetails](#BusinessDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | shopName | String? | yes | | + | legalName | String | no | | + | address | String? | yes | | + | type | String? | yes | | + | pincode | String? | yes | | + +--- + + + + + #### [DocumentItems](#DocumentItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | | + | category | String? | yes | | + | type | String | no | | + | name | String? | yes | | + | issuedOn | String? | yes | | + | issuedAt | String? | yes | | + | issuedBy | String? | yes | | + | expiryOn | String? | yes | | + +--- + + + + + #### [VintageItems](#VintageItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | Integer | no | | + | year | Integer | no | | + | totalTransactions | Integer | no | | + | totalTransactionAmount | Double | no | | + | totalCancellations | Integer? | yes | | + | totalCancellationAmount | Double? | yes | | + +--- + + + + + #### [EligibilitySuccess](#EligibilitySuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | message | String? | yes | | + | redirectUrl | String? | yes | | + | creditLimits | ArrayList<[CreditLimitObject](#CreditLimitObject)>? | yes | | + +--- + + + + + #### [CheckEligibilityRequest](#CheckEligibilityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order)? | yes | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + | fetchLimitOptions | Boolean? | yes | | + +--- + + + + + #### [EmiSchedule](#EmiSchedule) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentNo | Integer? | yes | | + | installmentAmount | Integer? | yes | | + | dueDate | String? | yes | | + +--- + + + + + #### [PaymentOption](#PaymentOption) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | title | String? | yes | | + | subtitle | String? | yes | | + | description | String? | yes | | + | tenure | Integer? | yes | | + | processingFee | Integer? | yes | | + | amount | Integer? | yes | | + | isDefault | Boolean? | yes | | + | emiSchedule | ArrayList<[EmiSchedule](#EmiSchedule)>? | yes | | + +--- + + + + + #### [PaymentOptions](#PaymentOptions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | payLater | [PaymentOption](#PaymentOption)? | yes | | + | emis | ArrayList<[PaymentOption](#PaymentOption)>? | yes | | + +--- + + + + + #### [LenderAndPaymentOption](#LenderAndPaymentOption) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | title | String? | yes | | + | subtitle | String? | yes | | + | isDefault | Boolean? | yes | | + | logoUrl | String | no | | + | amount | Integer? | yes | | + | paymentOptions | [PaymentOptions](#PaymentOptions)? | yes | | + +--- + + + + + #### [GetSchemesSuccessOld](#GetSchemesSuccessOld) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String | no | | + | lenders | ArrayList<[LenderAndPaymentOption](#LenderAndPaymentOption)>? | yes | | + +--- + + + + + #### [PageSchemaResponse](#PageSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | description | String? | yes | | + | sections | HashMap? | yes | | + | settings | HashMap? | yes | | + +--- + + + + + #### [userCountRequest](#userCountRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [RepaymentRequest](#RepaymentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String | no | | + | countryCode | String? | yes | | + | target | String? | yes | | + | callbackUrl | String | no | | + | lenderSlug | String? | yes | | + +--- + + + + + #### [RepaymentResponse](#RepaymentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [RepaymentResponseData](#RepaymentResponseData) | no | | + +--- + + + + + #### [RepaymentResponseData](#RepaymentResponseData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | repaymentUrl | String? | yes | | + +--- + + + + + #### [VerifyMagicLinkResponse](#VerifyMagicLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + | scope | ArrayList? | yes | | + | redirectPath | String | no | | + | callbackUrl | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [VerifyMagicLinkRequest](#VerifyMagicLinkRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [VintageData](#VintageData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject)? | yes | | + | businessDetails | [BusinessDetails](#BusinessDetails) | no | | + | documents | ArrayList<[DocumentItems](#DocumentItems)>? | yes | | + | device | [Device](#Device)? | yes | | + | vintage | ArrayList<[VintageItems](#VintageItems)> | no | | + | meta | HashMap? | yes | | + +--- + + + + + #### [AddVintageResponse](#AddVintageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mesasge | String? | yes | | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta)? | yes | | + | data | HashMap? | yes | | + +--- + + + + +### Enums + + + + + + #### [PageType](#PageType) + Type : string + + | Name | Value | Description | + | ---- | ----- | ----------- | + | external | external | Symbolic link for External Link: /external/:url | + | login | login | Symbolic link for Login: /login | + | home | home | Symbolic link for Home: / | + | transactions | transactions | Symbolic link for Transactions: /transactions | + | transactionDetails | transactionDetails | Symbolic link for Transaction Details: /transactions/:id | + | rewards | rewards | Symbolic link for Rewards: /rewards | + | referAndEarn | referAndEarn | Symbolic link for Refer: /refer | + | profile | profile | Symbolic link for Profile: /profile | + | setupAutopay | setupAutopay | Symbolic link for AutoPay: /autopay | + | updateEmail | updateEmail | Symbolic link for Update Email: /profile/email | + | reportIssue | reportIssue | Symbolic link for Report Issue: /profile/report | + | creditScore | creditScore | Symbolic link for Credit Score: /credit-score | + | autoPay | autoPay | Symbolic link for Setup Autopay: /autopay | + | helpCenter | helpCenter | Symbolic link for Help Center: /profile/help-center | + | kycInit | kycInit | Symbolic link for Start KYC: /kyc | + | accessDigilocker | accessDigilocker | Symbolic link for Access Digilocker: /kyc/:lender/access-digilocker | + | liveliness | liveliness | Symbolic link for Liveliness: /kyc/:lender/selfie | + | lenderOnboard | lenderOnboard | Symbolic link for Lender Onboard: /kyc/:lender/lender-onboard | + | lender | lender | Symbolic link for Lender: /lender/:lenderName | + | kycDocs | kycDocs | Symbolic link for Verify KYC Documents: /kyc/documents | + | kycSelfie | kycSelfie | Symbolic link for Verify KYC Selfie: /kyc/selfie | + | kycStatus | kycStatus | Symbolic link for KYC Status: /kyc/status | + | kycError | kycError | Symbolic link for KYC Error: /kyc/error | + | kycDigilockerResponse | kycDigilockerResponse | Symbolic link for KYC Digilocker Response: /kyc/digilocker-response | + | kycInitResponse | kycInitResponse | Symbolic link for KYC Init Response: /kyc/init-response | + | repayment | repayment | Symbolic link for Repayment: /repayment | + | netBankingRepayment | netBankingRepayment | Symbolic link for Net Banking Repayment: /repayment/netbanking | + | upiRepayment | upiRepayment | Symbolic link for UPI Repayment: /repayment/upi | + | sanctionLetter | sanctionLetter | Symbolic link for Sanction Letter: /sanction/:userId | + | kfs | kfs | Symbolic link for KFS: /kfs/:userId | + | dynamicPage | dynamicPage | Symbolic link for Dynamic Page: /page/:slug | + +--- + + + + + diff --git a/documentation/platform/MERCHANT.md b/documentation/platform/MERCHANT.md new file mode 100644 index 0000000..3217f23 --- /dev/null +++ b/documentation/platform/MERCHANT.md @@ -0,0 +1,1817 @@ + + + + +##### [Back to Platform docs](./README.md) + +## Merchant Methods +Authentication Service +* [getAccessToken](#getaccesstoken) +* [renewAccessToken](#renewaccesstoken) +* [validateCredentials](#validatecredentials) + + + +## Methods with example and description + + +### getAccessToken +Get Access Token + + + + +```java +merchant.getAccessToken() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | + + + +Use this API to get access token + +*Returned Response:* + + + + +[GetAccessTokenResponse](#GetAccessTokenResponse) + +Success. Returns a JSON object as shown below. Refer `GetAccessTokenResponse` for more details. + + + + +
+  Examples: + + +
+  success + +```json +true +``` +
+ +
+  accessToken + +```json +"oa-0a7a064dd15ef22fe002946f90c1e7b22eea47de" +``` +
+ +
+  refreshToken + +```json +"oa-d2f33b6be9957050386be051501b84b008f5ef6f" +``` +
+ +
+  tokenExpireAt + +```json +"2023-06-27T09:43:07.818Z" +``` +
+ +
+  tokenExpiryIn + +```json +"600" +``` +
+ +
+  refreshTokenExpiryAt + +```json +"2023-06-27T10:33:07.822Z" +``` +
+ +
+  refreshTokenExpiryIn + +```json +"3600" +``` +
+ +
+  scope + +```json +[ + "transaction" +] +``` +
+ +
+ + + + + + + + + +--- + + +### renewAccessToken +Renew Access Token + + + + +```java +merchant.renewAccessToken(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [RefreshTokenRequest](#RefreshTokenRequest) | yes | Request body | + + +Use this API to renew access token + +*Returned Response:* + + + + +[RefreshTokenResponse](#RefreshTokenResponse) + +Success. Returns a JSON object as shown below. Refer `RefreshTokenResponse` for more details. + + + + +
+  Examples: + + +
+  success + +```json +true +``` +
+ +
+  accessToken + +```json +"oa-de1496c16c91c45396ba87a888eed20fb223995d" +``` +
+ +
+  tokenExpireAt + +```json +"2023-06-26T19:23:46.977Z" +``` +
+ +
+  tokenExpiryIn + +```json +"600" +``` +
+ +
+ + + + + + + + + +--- + + +### validateCredentials +Validate organization's credentials + + + + +```java +merchant.validateCredentials() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | + + + +Use this API to validate organization's credentials + +*Returned Response:* + + + + +[ValidateCredentialsResponse](#ValidateCredentialsResponse) + +Success. Returns a JSON object as shown below. Refer `ValidateCredentialsResponse` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/schemas/ValidateCredentialsResponseExample" +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [BlockUserRequestSchema](#BlockUserRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | Boolean? | yes | | + | userid | ArrayList? | yes | | + | reason | String? | yes | | + +--- + + + + + #### [EditEmailRequestSchema](#EditEmailRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + +--- + + + + + #### [SendVerificationLinkMobileRequestSchema](#SendVerificationLinkMobileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verified | Boolean? | yes | | + | active | Boolean? | yes | | + | countryCode | String? | yes | | + | phone | String? | yes | | + | primary | Boolean? | yes | | + +--- + + + + + #### [EditMobileRequestSchema](#EditMobileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | phone | String? | yes | | + +--- + + + + + #### [UpdateEmail](#UpdateEmail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String | no | | + | additionalProperties | Object? | yes | | + +--- + + + + + #### [EditProfileRequestSchema](#EditProfileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String | no | | + | lastName | String | no | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | registrationToken | String? | yes | | + +--- + + + + + #### [EditProfileMobileSchema](#EditProfileMobileSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | phone | String? | yes | | + | countryCode | String? | yes | | + +--- + + + + + #### [SendEmailOtpRequestSchema](#SendEmailOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + | action | String? | yes | | + | token | String? | yes | | + | registerToken | String? | yes | | + +--- + + + + + #### [VerifyEmailOtpRequestSchema](#VerifyEmailOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + | action | String? | yes | | + | registerToken | String? | yes | | + | otp | String? | yes | | + +--- + + + + + #### [VerifyOtpRequest](#VerifyOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | requestId | String | no | | + | otp | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + +--- + + + + + #### [SendMobileOtpRequest](#SendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + | force | String? | yes | | + +--- + + + + + #### [ReSendMobileOtpRequestSchema](#ReSendMobileOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | captchaCode | String? | yes | | + | token | String | no | | + | androidHash | String? | yes | | + +--- + + + + + #### [LoginSuccess](#LoginSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | requestId | String? | yes | | + | registerToken | String? | yes | | + +--- + + + + + #### [VerifyOtpSuccess](#VerifyOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | userExists | Boolean? | yes | | + | registerToken | String? | yes | | + +--- + + + + + #### [ResetPasswordSuccess](#ResetPasswordSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + +--- + + + + + #### [RegisterFormSuccess](#RegisterFormSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | resendEmailToken | String? | yes | | + | registerToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | countryCode | String? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | userExists | Boolean? | yes | | + +--- + + + + + #### [VerifyEmailSuccess](#VerifyEmailSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [LogoutSuccess](#LogoutSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logout | Boolean? | yes | | + +--- + + + + + #### [BlockUserSuccess](#BlockUserSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [ProfileEditSuccess](#ProfileEditSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | registerToken | String? | yes | | + | resendEmailToken | String? | yes | | + | userExists | Boolean? | yes | | + | verifyEmailLink | Boolean? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | email | String? | yes | | + | requestId | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | success | Boolean? | yes | | + | message | String? | yes | | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + +--- + + + + + #### [OtpSuccess](#OtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | registerToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | countryCode | String? | yes | | + +--- + + + + + #### [EmailOtpSuccess](#EmailOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [SessionListSuccess](#SessionListSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sessions | ArrayList? | yes | | + +--- + + + + + #### [VerifyMobileOTPSuccess](#VerifyMobileOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | verifyMobileLink | Boolean? | yes | | + +--- + + + + + #### [VerifyEmailOTPSuccess](#VerifyEmailOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | verifyEmailLink | Boolean? | yes | | + +--- + + + + + #### [SendMobileVerifyLinkSuccess](#SendMobileVerifyLinkSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verifyMobileLink | Boolean? | yes | | + +--- + + + + + #### [SendEmailVerifyLinkSuccess](#SendEmailVerifyLinkSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verifyEmailLink | Boolean? | yes | | + +--- + + + + + #### [UserSearchResponseSchema](#UserSearchResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | users | ArrayList<[UserSchema](#UserSchema)>? | yes | | + +--- + + + + + #### [CustomerListResponseSchema](#CustomerListResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | items | ArrayList<[UserSchema](#UserSchema)>? | yes | | + | page | [PaginationSchema](#PaginationSchema)? | yes | | + +--- + + + + + #### [PaginationSchema](#PaginationSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | size | Integer? | yes | | + | itemTotal | Integer? | yes | | + | hasNext | Boolean? | yes | | + | type | String? | yes | | + | current | Integer? | yes | | + +--- + + + + + #### [UserObjectSchema](#UserObjectSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + +--- + + + + + #### [CreateOrganization](#CreateOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | logo | String? | yes | | + | website | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + | businessName | String? | yes | | + | email | String? | yes | | + | businessAddress | String? | yes | | + | pincode | String? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | docType | String? | yes | | + | docNumber | String? | yes | | + | organizationId | String? | yes | | + +--- + + + + + #### [UpdateLogo](#UpdateLogo) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logo | String? | yes | | + +--- + + + + + #### [AddMetaSchemaRequest](#AddMetaSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | schema | HashMap? | yes | | + +--- + + + + + #### [AddMetaSchemaResponse](#AddMetaSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | mid | String? | yes | | + | data | HashMap? | yes | | + +--- + + + + + #### [UpdateOrganization](#UpdateOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | Object? | yes | | + | logo | Object? | yes | | + | website | Object? | yes | | + | disbursementAccountHolderName | Object? | yes | | + | disbursementAccountNumber | Object? | yes | | + | disbursementIfsc | Object? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [UpdateFinancials](#UpdateFinancials) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | disbursementAccountHolderName | String | no | | + | disbursementAccountNumber | String | no | | + | disbursementIfsc | String | no | | + +--- + + + + + #### [Documents](#Documents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | docType | String | no | | + | docNumber | String | no | | + +--- + + + + + #### [FinancialDetails](#FinancialDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | businessName | String? | yes | | + | email | String? | yes | | + | businessAddress | String? | yes | | + | pincode | String? | yes | | + | documents | ArrayList<[Documents](#Documents)>? | yes | | + +--- + + + + + #### [GetOrganization](#GetOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationId | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | isAdmin | Boolean? | yes | | + | name | String? | yes | | + | isActive | Boolean? | yes | | + +--- + + + + + #### [OrganizationDetails](#OrganizationDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | organizationId | String? | yes | | + | isAdmin | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | isActive | Boolean? | yes | | + | logo | String? | yes | | + | website | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + +--- + + + + + #### [Organization](#Organization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [OrganizationList](#OrganizationList) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | logo | String? | yes | | + | id | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | isActive | Boolean? | yes | | + | epikId | String? | yes | | + | website | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + +--- + + + + + #### [OrganizationCount](#OrganizationCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | String? | yes | | + +--- + + + + + #### [TeamMembers](#TeamMembers) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | members | ArrayList<[Member](#Member)>? | yes | | + +--- + + + + + #### [Member](#Member) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | organizationId | String? | yes | | + | isAdmin | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | profile | [Profile](#Profile)? | yes | | + +--- + + + + + #### [Profile](#Profile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | organizationId | String? | yes | | + | isAdmin | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [AddTeamMember](#AddTeamMember) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | userIsAdmin | Boolean? | yes | | + +--- + + + + + #### [UpdateTeamMemberRole](#UpdateTeamMemberRole) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userIsAdmin | Boolean? | yes | | + | userId | String? | yes | | + +--- + + + + + #### [RemoveTeamMemberResponse](#RemoveTeamMemberResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [AddTeamMemberResponse](#AddTeamMemberResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | organizationId | String? | yes | | + | isAdmin | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [ApiKey](#ApiKey) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | String? | yes | | + | secret | String? | yes | | + +--- + + + + + #### [UpdateApiHook](#UpdateApiHook) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | apiKey | String | no | | + | url | String | no | | + | customHeaders | HashMap? | yes | | + +--- + + + + + #### [ApiHookDetails](#ApiHookDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | apiKey | String | no | | + | url | String | no | | + | customHeaders | HashMap? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + +--- + + + + + #### [UpdateApiHookResponse](#UpdateApiHookResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [OrganizationIp](#OrganizationIp) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | ip | String | no | | + +--- + + + + + #### [AddOrganizationIpDetails](#AddOrganizationIpDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationIps | ArrayList<[OrganizationIp](#OrganizationIp)>? | yes | | + | delete | String? | yes | | + +--- + + + + + #### [AddUpdateCsvFileResponse](#AddUpdateCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [AddUpdateCsvFileRequest](#AddUpdateCsvFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | String? | yes | | + | organizationId | String? | yes | | + +--- + + + + + #### [CsvFile](#CsvFile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | String? | yes | | + +--- + + + + + #### [AddReportCsvFileResponse](#AddReportCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [AddReportCsvFileRequest](#AddReportCsvFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | String? | yes | | + | organizationId | String? | yes | | + | name | String? | yes | | + | type | String? | yes | | + +--- + + + + + #### [ReportCsvFileResponse](#ReportCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | String? | yes | | + +--- + + + + + #### [AddReportRequestArray](#AddReportRequestArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + | merchantId | String? | yes | | + | category | String? | yes | | + | shopName | String? | yes | | + | legalName | String? | yes | | + | firstName | String? | yes | | + | middleName | String? | yes | | + | lastName | String? | yes | | + | aadhaar | String? | yes | | + | nameOnPan | String? | yes | | + | gstNumber | String? | yes | | + | gstBusinessName | String? | yes | | + | panNumber | String? | yes | | + | udyam | String? | yes | | + | ownershipType | String? | yes | | + | address | String? | yes | | + | pincode | String? | yes | | + | license1Type | String? | yes | | + | license1 | String? | yes | | + | license2Type | String? | yes | | + | license2 | String? | yes | | + +--- + + + + + #### [AddReportRequest](#AddReportRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | businessDetails | ArrayList? | yes | | + +--- + + + + + #### [AddReportResponseArray](#AddReportResponseArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + | merchantId | String? | yes | | + | anchorId | String? | yes | | + | category | String? | yes | | + | shopName | String? | yes | | + | legalName | String? | yes | | + | firstName | String? | yes | | + | middleName | String? | yes | | + | lastName | String? | yes | | + | aadhaar | String? | yes | | + | nameOnPan | String? | yes | | + | gstNumber | String? | yes | | + | gstBusinessName | String? | yes | | + | panNumber | String? | yes | | + | udyam | String? | yes | | + | ownershipType | String? | yes | | + | address | String? | yes | | + | pincode | String? | yes | | + | license1Type | String? | yes | | + | license1 | String? | yes | | + | license2Type | String? | yes | | + | license2 | String? | yes | | + +--- + + + + + #### [AddReportResponse](#AddReportResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | businessDetails | ArrayList<[AddReportResponseArray](#AddReportResponseArray)>? | yes | | + +--- + + + + + #### [VintageDataResponseObject](#VintageDataResponseObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | String? | yes | | + | year | Integer? | yes | | + | revenue | String? | yes | | + | businessId | String? | yes | | + | createdBy | String? | yes | | + | id | String? | yes | | + | createdAt | String? | yes | | + | updatedBy | String? | yes | | + | updatedAt | String? | yes | | + +--- + + + + + #### [VintageDataResponse](#VintageDataResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | vintageData | ArrayList<[VintageDataResponseObject](#VintageDataResponseObject)>? | yes | | + +--- + + + + + #### [AddSkuRequestArray](#AddSkuRequestArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sku | String | no | | + | productName | String | no | | + | creditPurchaseOptionFlag | String | no | | + | effectiveDates | String | no | | + | organizationId | String | no | | + +--- + + + + + #### [AddSkuRequest](#AddSkuRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | skuDetails | ArrayList<[AddSkuRequestArray](#AddSkuRequestArray)>? | yes | | + +--- + + + + + #### [AddSkuResponse](#AddSkuResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [RestrictedSkuSchema](#RestrictedSkuSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | skuDetails | ArrayList? | yes | | + +--- + + + + + #### [OrganizationIpResponse](#OrganizationIpResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationId | String | no | | + | ip | String | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | id | String | no | | + +--- + + + + + #### [OrganizationIpDetails](#OrganizationIpDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationIps | ArrayList<[OrganizationIpResponse](#OrganizationIpResponse)>? | yes | | + +--- + + + + + #### [TrFilterKeys](#TrFilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [TrFilterValues](#TrFilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [TrFilters](#TrFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [TrFilterKeys](#TrFilterKeys)? | yes | | + | values | ArrayList<[TrFilterValues](#TrFilterValues)>? | yes | | + +--- + + + + + #### [TrPageResponse](#TrPageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Double | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Double | no | | + | itemTotal | Double | no | | + +--- + + + + + #### [RefundSuccess](#RefundSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | Double | no | | + | transactionId | String | no | | + | refundId | String | no | | + +--- + + + + + #### [RefundItem](#RefundItem) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | items | ArrayList | no | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [Refund](#Refund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | refundItems | [RefundItem](#RefundItem)? | yes | | + | refundId | String | no | | + | refundAmount | Double | no | | + +--- + + + + + #### [GetAccessTokenResponse](#GetAccessTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | refreshToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + | refreshTokenExpiryAt | String? | yes | | + | refreshTokenExpiryIn | String? | yes | | + | scope | ArrayList? | yes | | + +--- + + + + + #### [RefreshTokenResponse](#RefreshTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + +--- + + + + + #### [RefreshTokenRequest](#RefreshTokenRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | error | [IntegrationResponseError](#IntegrationResponseError) | no | | + +--- + + + + + #### [ValidateCredentialsData](#ValidateCredentialsData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean | no | | + | organizationId | String | no | | + | organizationName | String? | yes | | + +--- + + + + + #### [ValidateCredentialsResponse](#ValidateCredentialsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [ValidateCredentialsData](#ValidateCredentialsData) | no | | + +--- + + + + + #### [PaymentLinkResponse](#PaymentLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | message | String? | yes | | + | paymentLink | String? | yes | | + +--- + + + + + #### [ApplicationCutomer](#ApplicationCutomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | mobile | String | no | | + | uid | String? | yes | | + | email | String? | yes | | + +--- + + + + + #### [GeoLocation](#GeoLocation) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | latitude | Double | no | | + | longitude | Double | no | | + +--- + + + + + #### [Address](#Address) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | line1 | String? | yes | | + | line2 | String? | yes | | + | city | String? | yes | | + | state | String? | yes | | + | country | String? | yes | | + | pincode | String? | yes | | + | type | String? | yes | | + | geoLocation | [GeoLocation](#GeoLocation)? | yes | | + +--- + + + + + #### [OrderItems](#OrderItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String? | yes | | + | sku | String? | yes | | + | rate | Double? | yes | | + | quantity | Double? | yes | | + +--- + + + + + #### [Order](#Order) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer | no | | + | uid | String | no | | + | items | ArrayList<[OrderItems](#OrderItems)>? | yes | | + | shippingAddress | [Address](#Address)? | yes | | + | billingAddress | [Address](#Address)? | yes | | + +--- + + + + + #### [Device](#Device) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ipAddress | String | no | | + | userAgent | String | no | | + | latitude | Double? | yes | | + | longitude | Double? | yes | | + +--- + + + + + #### [PaymentLinkRequest](#PaymentLinkRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | autoCapture | Boolean? | yes | | + | lenderId | String? | yes | | + | emiTenure | Double? | yes | | + | customer | [ApplicationCutomer](#ApplicationCutomer) | no | | + | order | [Order](#Order) | no | | + | device | [Device](#Device)? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [UpdateLenderStatusSchemaRequest](#UpdateLenderStatusSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | enable | Boolean? | yes | | + +--- + + + + + #### [UpdateLenderStatusSchemaResponse](#UpdateLenderStatusSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | mid | String? | yes | | + | enable | Boolean? | yes | | + | data | HashMap? | yes | | + +--- + + + + + #### [LenderTheme](#LenderTheme) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | iconUrl | String? | yes | | + | logoUrl | String? | yes | | + +--- + + + + + #### [LenderDetails](#LenderDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | name | String? | yes | | + | id | String? | yes | | + | theme | [LenderTheme](#LenderTheme)? | yes | | + +--- + + + + + #### [OutstandingData](#OutstandingData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderDetails | [LenderDetails](#LenderDetails)? | yes | | + | availableLimit | Double? | yes | | + | creditLimit | Double? | yes | | + | dueAmount | Double? | yes | | + | outstandingAmount | Double? | yes | | + | dueDate | String? | yes | | + +--- + + + + + #### [OutstandingDetailsResponse](#OutstandingDetailsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | outstandingDetails | ArrayList<[OutstandingData](#OutstandingData)>? | yes | | + +--- + + + + + #### [CreateUserRequestSchema](#CreateUserRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String | no | | + | email | String? | yes | | + | firstName | String? | yes | | + | lastName | String? | yes | | + | gender | String? | yes | | + +--- + + + + + #### [CreateUserResponseSchema](#CreateUserResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + +--- + + + + + #### [UserSchema](#UserSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | firstName | String? | yes | | + | lastName | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | active | Boolean? | yes | | + | profilePicUrl | String? | yes | | + | isEmailVerified | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + diff --git a/documentation/platform/MULTIKYC.md b/documentation/platform/MULTIKYC.md new file mode 100644 index 0000000..fcd4b50 --- /dev/null +++ b/documentation/platform/MULTIKYC.md @@ -0,0 +1,2473 @@ + + + + +##### [Back to Platform docs](./README.md) + +## MultiKyc Methods +Will deprecate Hawkeye +* [approvedLenders](#approvedlenders) + + + +## Methods with example and description + + +### approvedLenders +Approved lenders + + + + +```java +multikyc.approvedLenders() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | Object | yes | | + + + + + +*Returned Response:* + + + + +[ApprovedLendersTransaction](#ApprovedLendersTransaction) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [Lender](#Lender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | imageUrl | String? | yes | | + | slug | String? | yes | | + | theme | Object? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | merchantConfigSchema | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | meta | Object? | yes | | + | metaSchema | Object? | yes | | + +--- + + + + + #### [UserLender](#UserLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | approvedLimit | Double | no | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [SourceCreditReport](#SourceCreditReport) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | pan | String | no | | + | name | String | no | | + | mobile | String | no | | + | bureau | String | no | | + | score | String | no | | + | report | String | no | | + | createdAt | String? | yes | | + +--- + + + + + #### [Document](#Document) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | imageUrl | String | no | | + | number | String | no | | + | detail | Object | no | | + | valid | Boolean | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [UserKycDetail](#UserKycDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | status | String | no | | + | type | String | no | | + | remark | String | no | | + | profileType | String | no | | + | active | Boolean | no | | + | expiryDate | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | lenderId | String | no | | + | lender | [Lender](#Lender)? | yes | | + | entityMapId | String? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [Form](#Form) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | title | String? | yes | | + | subtitle | String? | yes | | + | action | String? | yes | | + | form | Object? | yes | | + | uiSchema | Object? | yes | | + | workflowId | String? | yes | | + +--- + + + + + #### [LenderKycStepMap](#LenderKycStepMap) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | step | String | no | | + | stepIndex | Double | no | | + | lenderId | String | no | | + | active | Boolean | no | | + | rules | Object | no | | + | profileType | String | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | name | String | no | | + | description | String | no | | + | iconUrl | String | no | | + | isInteractive | Boolean | no | | + | formId | String? | yes | | + | merchantId | String? | yes | | + | form | [Form](#Form) | no | | + | docSchema | Object | no | | + +--- + + + + + #### [UserKycLenderStepMap](#UserKycLenderStepMap) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderKycStepMapId | String | no | | + | userKycDetailId | String | no | | + | lenderId | String | no | | + | ruleState | Object | no | | + | active | Boolean | no | | + | status | String | no | | + | documentId | String? | yes | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | lenderKycStepMap | [LenderKycStepMap](#LenderKycStepMap)? | yes | | + | entityMapId | String? | yes | | + | entityId | String? | yes | | + | updatedBy | String? | yes | | + +--- + + + + + #### [ProofOfIdentity](#ProofOfIdentity) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dob | String | no | | + | hashedEmail | String | no | | + | gender | String | no | | + | hashedMobileNumber | String | no | | + | name | String | no | | + +--- + + + + + #### [ProofOfAddress](#ProofOfAddress) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | careOf | String | no | | + | country | String | no | | + | district | String | no | | + | house | String | no | | + | landmark | String | no | | + | locality | String | no | | + | pincode | String | no | | + | postOffice | String | no | | + | state | String | no | | + | street | String | no | | + | subDistrict | String | no | | + | vtc | String | no | | + +--- + + + + + #### [EAadhaarData](#EAadhaarData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | aadhaarReferenceNumber | String | no | | + | aadhaarUid | String | no | | + | image | String | no | | + | proofOfIdentity | [ProofOfIdentity](#ProofOfIdentity) | no | | + | proofOfAddress | [ProofOfAddress](#ProofOfAddress) | no | | + | xml | String? | yes | | + | pdf | String? | yes | | + | address | String? | yes | | + +--- + + + + + #### [EntityMapDto](#EntityMapDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merchantId | String? | yes | | + | status | String? | yes | | + | lenderId | String | no | | + | limit | Double? | yes | | + | creditType | String? | yes | | + | userId | String | no | | + | entityId | String | no | | + +--- + + + + + #### [EntityDto](#EntityDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | type | String? | yes | | + | address | String? | yes | | + | name | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | userId | String | no | | + +--- + + + + + #### [MerchantSchema](#MerchantSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | logo | String? | yes | | + | website | String? | yes | | + | apiHook | String? | yes | | + | epikId | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + | createdBy | String? | yes | | + | active | Boolean? | yes | | + | category | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | businessName | String? | yes | | + | email | String? | yes | | + | businessAddress | String? | yes | | + | pincode | String? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + +--- + + + + + #### [Consent](#Consent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | text | String | no | | + | type | String | no | | + +--- + + + + + #### [ValidatePanRequest](#ValidatePanRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pan | String | no | | + | consents | ArrayList<[Consent](#Consent)> | no | | + +--- + + + + + #### [BankDetails](#BankDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | accountType | String | no | | + | bankName | String | no | | + | ifsc | String | no | | + | accountNumber | String | no | | + | accountHolderName | String | no | | + +--- + + + + + #### [DocumentData](#DocumentData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | selfie | String? | yes | | + | video | String? | yes | | + | digilockerCode | String? | yes | | + | bankDetails | [BankDetails](#BankDetails)? | yes | | + +--- + + + + + #### [ConfirmPanRequest](#ConfirmPanRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pan | String | no | | + | name | String | no | | + | entity | String? | yes | | + | merchantId | String? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [LivelinessDetails](#LivelinessDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | selfie | String | no | | + | video | String | no | | + +--- + + + + + #### [UploadDocumentRequest](#UploadDocumentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | Object? | yes | | + | documentData | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadDocumentRequestV1](#UploadDocumentRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycStep | String | no | | + | entityMapId | String | no | | + | documentData | Object | no | | + +--- + + + + + #### [UploadDocumentRequestV3](#UploadDocumentRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycStep | String | no | | + | entityMapId | String | no | | + | documentData | Object | no | | + +--- + + + + + #### [AadhaarRequest](#AadhaarRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | digilockerCode | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequest](#UploadAadhaarRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadLivelinessRequest](#UploadLivelinessRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequestV1](#UploadAadhaarRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadLivelinessRequestV1](#UploadLivelinessRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadAadhaarRequestV2](#UploadAadhaarRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadLivelinessRequestV2](#UploadLivelinessRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequestV3](#UploadAadhaarRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadLivelinessRequestV3](#UploadLivelinessRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadBankDetailsRequest](#UploadBankDetailsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [BankDetails](#BankDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [InitiateKycRequest](#InitiateKycRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycType | String | no | | + | kycId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [InitiateKycRequestV1](#InitiateKycRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityMapId | String | no | | + | kycType | String | no | | + | kycId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderOnboardRequest](#LenderOnboardRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ack | String? | yes | | + | data | Object | no | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderOnboardRequestV1](#LenderOnboardRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityMapId | String | no | | + | ack | String? | yes | | + | data | Object | no | | + | merchantId | String? | yes | | + +--- + + + + + #### [UpdateLenderStatusRequest](#UpdateLenderStatusRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | payload | Object | no | | + | data | Object | no | | + | action | Boolean | no | | + +--- + + + + + #### [UpdateProfileRequest](#UpdateProfileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | userId | String | no | | + | isOnboarded | Boolean? | yes | | + | address | String? | yes | | + +--- + + + + + #### [UpdateEntityRequest](#UpdateEntityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | isDefault | Boolean? | yes | | + | address | [ProofOfAddress](#ProofOfAddress)? | yes | | + +--- + + + + + #### [CreateKycStepsRequest](#CreateKycStepsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [CreateLenderPgConfigRequest](#CreateLenderPgConfigRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | active | Boolean | no | | + | pgId | String | no | | + | lenderId | String | no | | + +--- + + + + + #### [CreateLenderStateRequest](#CreateLenderStateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpdateLenderRequest](#UpdateLenderRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + | lenderId | String | no | | + +--- + + + + + #### [OtherPolicyFilters](#OtherPolicyFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderBy | ArrayList? | yes | | + +--- + + + + + #### [GetPolicyFilters](#GetPolicyFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyType | String? | yes | | + | lenderIds | ArrayList? | yes | | + | merchantIds | ArrayList? | yes | | + | orderBy | ArrayList? | yes | | + +--- + + + + + #### [GetPolicyFilters2](#GetPolicyFilters2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | breType | String? | yes | | + | lenderId | ArrayList? | yes | | + | merchantId | ArrayList? | yes | | + | loanType | String? | yes | | + | journeyType | String? | yes | | + | subType | String? | yes | | + +--- + + + + + #### [MerchantConfigRequest](#MerchantConfigRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merchantConfigSchema | Object | no | | + +--- + + + + + #### [PanDetails](#PanDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | idNumber | String | no | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [AvailableLendersRequest](#AvailableLendersRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String | no | | + +--- + + + + + #### [InitialData](#InitialData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String | no | | + | entityId | String | no | | + +--- + + + + + #### [ExecutePolicyRequest](#ExecutePolicyRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyFilters | [GetPolicyFilters](#GetPolicyFilters)? | yes | | + | initialData | [InitialData](#InitialData) | no | | + +--- + + + + + #### [ExecutePolicyRequest2](#ExecutePolicyRequest2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyFilters | [GetPolicyFilters2](#GetPolicyFilters2)? | yes | | + | initialData | [InitialData](#InitialData) | no | | + +--- + + + + + #### [RegisterGstRequest](#RegisterGstRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstin | String | no | | + | skipGst | Boolean? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [PopulateFormRequest](#PopulateFormRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | form | Object | no | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [ValidateFormFieldRequest](#ValidateFormFieldRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | workflowName | String | no | | + | userId | String? | yes | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | fields | Object | no | | + +--- + + + + + #### [MerchantMetricFilter](#MerchantMetricFilter) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean? | yes | | + +--- + + + + + #### [LenderCustomerMetricsRequest](#LenderCustomerMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sort | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)>? | yes | | + | filters | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)>? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [StonewallCustomer](#StonewallCustomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + | uid | String? | yes | | + +--- + + + + + #### [GetLimitRequest](#GetLimitRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderSlugs | ArrayList? | yes | | + | onlyDefaultLender | Boolean? | yes | | + | customer | [StonewallCustomer](#StonewallCustomer) | no | | + +--- + + + + + #### [DocumentObject](#DocumentObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | name | String? | yes | | + | imageUrl | String? | yes | | + | number | String | no | | + | detail | Object | no | | + | valid | Boolean? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [ManualKycRequest](#ManualKycRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | remark | Object | no | | + | status | String | no | | + | stepId | String | no | | + | entityMapId | String | no | | + | documentData | [DocumentObject](#DocumentObject)? | yes | | + +--- + + + + + #### [RetriggerLenderOnboardRequest](#RetriggerLenderOnboardRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | stepId | String | no | | + | data | Object | no | | + +--- + + + + + #### [BusinessDetail](#BusinessDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | shopName | String? | yes | | + | legalName | String | no | | + | address | String? | yes | | + | type | String? | yes | | + | pincode | String? | yes | | + +--- + + + + + #### [VintageData](#VintageData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | Double | no | | + | year | Double | no | | + | totalTransactions | Double | no | | + | totalTransactionAmount | Double | no | | + | totalCancellations | Double? | yes | | + | totalCancellationAmount | Double? | yes | | + +--- + + + + + #### [DocumentObjects](#DocumentObjects) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | | + | category | String | no | | + | type | String | no | | + | name | String? | yes | | + | issuedOn | String? | yes | | + | issuedAt | String? | yes | | + | issuedBy | String? | yes | | + | expiryOn | String? | yes | | + +--- + + + + + #### [AddVintageRequest](#AddVintageRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | Object | no | | + | businessDetails | [BusinessDetail](#BusinessDetail) | no | | + | vintageData | [VintageData](#VintageData) | no | | + | documents | [DocumentObjects](#DocumentObjects) | no | | + | merchant | [MerchantSchema](#MerchantSchema) | no | | + +--- + + + + + #### [CheckEligibilityRequest](#CheckEligibilityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entity | [EntityDto](#EntityDto)? | yes | | + | isPreApproved | Boolean | no | | + | fetchLimit | Boolean? | yes | | + | user | Object | no | | + | businessDetails | [BusinessDetail](#BusinessDetail) | no | | + | vintageData | [VintageData](#VintageData) | no | | + | documents | [DocumentObjects](#DocumentObjects) | no | | + | merchant | [MerchantSchema](#MerchantSchema) | no | | + +--- + + + + + #### [KycCountByStatus](#KycCountByStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + +--- + + + + + #### [FindDocResponse](#FindDocResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | info | String | no | | + | details | Object? | yes | | + | name | String? | yes | | + +--- + + + + + #### [LenderKycStatus](#LenderKycStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | lenderId | String? | yes | | + | lenderName | String? | yes | | + | kycType | String? | yes | | + +--- + + + + + #### [StateResponeDto](#StateResponeDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | step | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + | isStepCompleted | Boolean | no | | + +--- + + + + + #### [KycStateMachineDto](#KycStateMachineDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [UserKycLenderStepMap](#UserKycLenderStepMap)? | yes | | + +--- + + + + + #### [InitiateKycDto](#InitiateKycDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycType | String | no | | + | lenderId | String | no | | + | user | Object | no | | + | kycId | String? | yes | | + | entityRelation | [EntityMapDto](#EntityMapDto)? | yes | | + +--- + + + + + #### [LenderOnboardDto](#LenderOnboardDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lender | [Lender](#Lender)? | yes | | + | user | Object | no | | + | userLenderDetail | [UserLender](#UserLender)? | yes | | + | payload | [LenderOnboardRequest](#LenderOnboardRequest) | no | | + | entityRelation | [EntityMapDto](#EntityMapDto)? | yes | | + | ipAddress | String | no | | + | overrideTtl | Boolean? | yes | | + +--- + + + + + #### [StepDetails](#StepDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | description | String? | yes | | + | iconUrl | String? | yes | | + | status | String | no | | + | step | String | no | | + | order | Double | no | | + +--- + + + + + #### [OnboardStatusDto](#OnboardStatusDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | onboardStep | String | no | | + | onboardingId | String | no | | + | status | String | no | | + | action | String | no | | + | actionStatus | String | no | | + | lender | [Lender](#Lender) | no | | + | navigation | String? | yes | | + | approvedLimit | Double | no | | + | proposedLimit | Double | no | | + | actionData | Object? | yes | | + | steps | ArrayList<[StepDetails](#StepDetails)>? | yes | | + | entityId | String | no | | + | entityMapId | String | no | | + | actionIsForm | Boolean | no | | + | actionForm | [Form](#Form)? | yes | | + | merchantId | String? | yes | | + | actionName | String? | yes | | + | actionDescription | String? | yes | | + +--- + + + + + #### [LenderFilters](#LenderFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | includeStatus | ArrayList? | yes | | + | excludeStatus | ArrayList? | yes | | + | allowDisabledLender | Object? | yes | | + +--- + + + + + #### [Policy](#Policy) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | url | String? | yes | | + | data | Object? | yes | | + | version | String? | yes | | + | active | Boolean? | yes | | + | type | Object? | yes | | + | index | Integer? | yes | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | workflowId | String? | yes | | + | schemaRef | ArrayList? | yes | | + | masterVariableRef | ArrayList? | yes | | + | customVariable | Object? | yes | | + | subType | String? | yes | | + | createdAt | Object? | yes | | + | updatedAt | Object? | yes | | + | deletedAt | Object? | yes | | + +--- + + + + + #### [OrganizationLogosObject](#OrganizationLogosObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String | no | | + | logo | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [MetricSubTypes](#MetricSubTypes) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String | no | | + | count | String? | yes | | + | sum | String? | yes | | + +--- + + + + + #### [MetricTypes](#MetricTypes) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pivots | ArrayList<[MetricSubTypes](#MetricSubTypes)> | no | | + | total | String? | yes | | + | description | String | no | | + | title | String | no | | + | valueFormat | String | no | | + | logo | String | no | | + +--- + + + + + #### [BreApprovedUsersResponse](#BreApprovedUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [MetricTypes](#MetricTypes) | no | | + +--- + + + + + #### [Metrics](#Metrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderApprovedUsers | [MetricTypes](#MetricTypes) | no | | + | breApprovedUsers | [MetricTypes](#MetricTypes) | no | | + | totalCreditLine | [MetricTypes](#MetricTypes) | no | | + +--- + + + + + #### [MetricData](#MetricData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [Metrics](#Metrics) | no | | + | filters | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)> | no | | + | sort | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)> | no | | + +--- + + + + + #### [GetAllUserLendersByEnityId](#GetAllUserLendersByEnityId) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityId | String | no | | + | entityMapId | String | no | | + | userId | String | no | | + | status | String | no | | + | lender | [Lender](#Lender)? | yes | | + | partnerId | String? | yes | | + | approvedLimit | Double? | yes | | + +--- + + + + + #### [ApprovedLenders](#ApprovedLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | lenders | ArrayList<[BreOutput](#BreOutput)> | no | | + +--- + + + + + #### [BreResultStatus](#BreResultStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | approvedLenders | ArrayList<[BreOutput](#BreOutput)>? | yes | | + +--- + + + + + #### [LenderState](#LenderState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | lenderId | String | no | | + | index | Integer | no | | + | workflowName | String | no | | + | workflowUrl | String? | yes | | + | active | Boolean | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | lender | [Lender](#Lender)? | yes | | + | parentStateId | String? | yes | | + | ttl | Double | no | | + | displayName | String? | yes | | + | description | String? | yes | | + | iconUrl | String? | yes | | + | isInteractive | Boolean | no | | + | schema | Object? | yes | | + +--- + + + + + #### [UserLenderState](#UserLenderState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | lenderStateId | String | no | | + | lenderId | String | no | | + | userId | String | no | | + | status | String | no | | + | userLenderId | String | no | | + | remark | String | no | | + | active | Boolean | no | | + | lenderState | [LenderState](#LenderState)? | yes | | + | data | Object? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + | updatedBy | String? | yes | | + +--- + + + + + #### [LenderConfig](#LenderConfig) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | baseUrl | String | no | | + | accessToken | String? | yes | | + | secret | String? | yes | | + | data | Object | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [Pg](#Pg) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [LenderPgConfig](#LenderPgConfig) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | lenderId | String | no | | + | pgId | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [FileUploadResponse](#FileUploadResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fileId | String | no | | + | name | String | no | | + | path | String | no | | + | format | String | no | | + | size | Double | no | | + | access | String | no | | + | tags | String | no | | + | metadata | String | no | | + | url | String | no | | + | thumbnail | String | no | | + +--- + + + + + #### [PresignedUrl](#PresignedUrl) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | url | String | no | | + | fields | Object | no | | + +--- + + + + + #### [PresignedUrlV2](#PresignedUrlV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | url | String | no | | + | fields | Object | no | | + +--- + + + + + #### [LenderDocument](#LenderDocument) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | lenderId | String? | yes | | + | type | String? | yes | | + | document | Object? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [Commercial](#Commercial) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | lenderId | String | no | | + | merchantId | String | no | | + | commercial | Object | no | | + | active | Boolean | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + +--- + + + + + #### [KycStatusResponse](#KycStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | isKycInitiated | Boolean | no | | + | userId | String | no | | + | kycStatuses | ArrayList<[LenderKycStatus](#LenderKycStatus)> | no | | + +--- + + + + + #### [WorkflowResponse](#WorkflowResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object? | yes | | + +--- + + + + + #### [Action](#Action) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | step | String | no | | + | status | String | no | | + | index | Double | no | | + | isForm | Boolean? | yes | | + | form | [Form](#Form) | no | | + +--- + + + + + #### [InitiateKycResponse](#InitiateKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [Action](#Action) | no | | + +--- + + + + + #### [UploadDocResponse](#UploadDocResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | data | Object? | yes | | + | remark | String? | yes | | + | reasons | String | no | | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [Action](#Action) | no | | + +--- + + + + + #### [LenderOnboardResponse](#LenderOnboardResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | result | [UserLender](#UserLender) | no | | + | action | [UserLenderState](#UserLenderState) | no | | + | data | Object | no | | + +--- + + + + + #### [OnboardingStatusResponse](#OnboardingStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | onboardStatuses | ArrayList<[OnboardStatusDto](#OnboardStatusDto)> | no | | + +--- + + + + + #### [SignedUrlResponse](#SignedUrlResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | [PresignedUrl](#PresignedUrl) | no | | + | fileUrl | String | no | | + +--- + + + + + #### [SignedUrlV2Response](#SignedUrlV2Response) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | [PresignedUrlV2](#PresignedUrlV2) | no | | + | fileUrl | String | no | | + +--- + + + + + #### [PresignedUrlV3](#PresignedUrlV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | String | no | | + | provider | Object | no | | + +--- + + + + + #### [SignedUrlV3Response](#SignedUrlV3Response) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedDetails | [PresignedUrlV3](#PresignedUrlV3) | no | | + | fileUrl | String | no | | + +--- + + + + + #### [DigilockerLinkResponse](#DigilockerLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | authorizationUrl | String | no | | + +--- + + + + + #### [GetDocumentsResponse](#GetDocumentsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documents | ArrayList<[FindDocResponse](#FindDocResponse)> | no | | + +--- + + + + + #### [ApprovedLendersTransaction](#ApprovedLendersTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | slug | String | no | | + | imageUrl | String | no | | + | status | String | no | | + | active | Boolean | no | | + | proposedLimit | Double | no | | + | createdAt | Object | no | | + | updatedAt | Object | no | | + | deletedAt | Object? | yes | | + | isDefault | Boolean? | yes | | + +--- + + + + + #### [ApprovedPossibleLenders](#ApprovedPossibleLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | | + | name | String | no | | + | slug | String | no | | + | active | Boolean | no | | + | id | String | no | | + | theme | Object? | yes | | + +--- + + + + + #### [AvailableLenders](#AvailableLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | approvedLenders | ArrayList<[ApprovedPossibleLenders](#ApprovedPossibleLenders)> | no | | + | possibleLenders | ArrayList<[ApprovedPossibleLenders](#ApprovedPossibleLenders)> | no | | + +--- + + + + + #### [CreditLimit](#CreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | availableLimit | Double | no | | + | approvedLimit | Double | no | | + +--- + + + + + #### [CreditLimitResponse](#CreditLimitResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | action | Boolean | no | | + | credit | [CreditLimit](#CreditLimit) | no | | + +--- + + + + + #### [LenderPgConfigResponse](#LenderPgConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | lenderId | String | no | | + | pgId | String | no | | + | active | Boolean | no | | + | pgName | String | no | | + | pgActive | Boolean | no | | + +--- + + + + + #### [GetLendersResponse](#GetLendersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[Lender](#Lender)> | no | | + +--- + + + + + #### [LenderConfigurationResponse](#LenderConfigurationResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lender | [Lender](#Lender) | no | | + | lenderPgConfig | [LenderPgConfig](#LenderPgConfig) | no | | + | lenderConfig | [LenderConfig](#LenderConfig) | no | | + | lenderState | ArrayList<[LenderState](#LenderState)> | no | | + | lenderKycStepMap | ArrayList<[LenderKycStepMap](#LenderKycStepMap)> | no | | + +--- + + + + + #### [UpsertLenderResponse](#UpsertLenderResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpsertLenderConfigResponse](#UpsertLenderConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [CreateKycStepsSchema](#CreateKycStepsSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderKycStepMap](#LenderKycStepMap)> | no | | + +--- + + + + + #### [CreatePaymentGatewaySchema](#CreatePaymentGatewaySchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderPgConfig](#LenderPgConfig)> | no | | + +--- + + + + + #### [CreateLenderStateSchema](#CreateLenderStateSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderState](#LenderState)> | no | | + +--- + + + + + #### [GetAllPaymentGatewaysSchema](#GetAllPaymentGatewaysSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[Pg](#Pg)> | no | | + +--- + + + + + #### [PolicyResponse](#PolicyResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policies | ArrayList<[Policy](#Policy)> | no | | + +--- + + + + + #### [CreditCheckBreResponse](#CreditCheckBreResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | newLenderAssigned | Boolean | no | | + | breStatus | String | no | | + +--- + + + + + #### [MerchantConfigResponse](#MerchantConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merhantConfigSchema | String | no | | + +--- + + + + + #### [UserLenderByIdAndStatusResponse](#UserLenderByIdAndStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | approvedLimit | Double | no | | + | slug | String? | yes | | + | theme | Object? | yes | | + | name | Object? | yes | | + +--- + + + + + #### [IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | | + | lenderName | String | no | | + | slug | String | no | | + | isDefault | Boolean | no | | + | logoUrl | String | no | | + +--- + + + + + #### [IngtrAvailableLimit](#IngtrAvailableLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | available | ArrayList<[IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit)> | no | | + | possible | ArrayList<[IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit)>? | yes | | + +--- + + + + + #### [IntgrCreditLimit](#IntgrCreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | [IngtrAvailableLimit](#IngtrAvailableLimit) | no | | + +--- + + + + + #### [PossibleLendersInternal](#PossibleLendersInternal) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Boolean | no | | + | lenderName | String | no | | + | slug | String | no | | + | isDefault | Boolean | no | | + | logo | String | no | | + | lenderId | String | no | | + +--- + + + + + #### [PossibleLendersInternalResponse](#PossibleLendersInternalResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenders | ArrayList<[PossibleLendersInternal](#PossibleLendersInternal)> | no | | + +--- + + + + + #### [GetTotalKycResponse](#GetTotalKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalKyc | String | no | | + +--- + + + + + #### [GetTotalKycCompletedUsersResponse](#GetTotalKycCompletedUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalKycCompletedUsers | String | no | | + +--- + + + + + #### [GetTotalPendingUsersResponse](#GetTotalPendingUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalPendingKyc | String | no | | + +--- + + + + + #### [GetTotalCreditProvidedResponse](#GetTotalCreditProvidedResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalCreditLimit | String | no | | + +--- + + + + + #### [MetaSchemaResponse](#MetaSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | name | String | no | | + | required | ArrayList | no | | + | type | String | no | | + | properties | HashMap | no | | + +--- + + + + + #### [MetaSchema](#MetaSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metaSchema | [MetaSchemaResponse](#MetaSchemaResponse) | no | | + +--- + + + + + #### [AddMetaSchema](#AddMetaSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderSlug | String | no | | + | merchantId | String | no | | + | schema | Object | no | | + +--- + + + + + #### [AddMetaSchemaRequest](#AddMetaSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String | no | | + | schema | Object | no | | + +--- + + + + + #### [ValidatePanResponse](#ValidatePanResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | panName | String | no | | + | isPanValid | String | no | | + | pan | String | no | | + | isProprietor | Boolean | no | | + | panType | String | no | | + | errorCode | String? | yes | | + | status | String? | yes | | + | errorMessage | String? | yes | | + +--- + + + + + #### [ConfirmPanResonse](#ConfirmPanResonse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | statusCode | String | no | | + | message | String | no | | + +--- + + + + + #### [LenderCountResponse](#LenderCountResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | active | Double | no | | + | inActive | Double | no | | + +--- + + + + + #### [OnboardStepsDto](#OnboardStepsDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | steps | ArrayList<[StepDetails](#StepDetails)> | no | | + | lender | [Lender](#Lender) | no | | + +--- + + + + + #### [OnboardStepsResponse](#OnboardStepsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | stepDetails | ArrayList<[OnboardStepsDto](#OnboardStepsDto)> | no | | + +--- + + + + + #### [LenderDocumentResponse](#LenderDocumentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [LenderDocument](#LenderDocument) | no | | + +--- + + + + + #### [GetUserLendersResponse](#GetUserLendersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[UserLender](#UserLender)> | no | | + +--- + + + + + #### [CreditReportResponse](#CreditReportResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [SourceCreditReport](#SourceCreditReport) | no | | + +--- + + + + + #### [KycDetailsReponse](#KycDetailsReponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + +--- + + + + + #### [GetDocumentByIdResponse](#GetDocumentByIdResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [Document](#Document) | no | | + +--- + + + + + #### [GetAllFormsResponse](#GetAllFormsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpsertFormResponse](#UpsertFormResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [GstDetails](#GstDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstin | String | no | | + | businessName | String | no | | + +--- + + + + + #### [GstDetailsResponse](#GstDetailsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstDetails | ArrayList<[GstDetails](#GstDetails)> | no | | + +--- + + + + + #### [RegisterGstResponse](#RegisterGstResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstDocDetails | [Document](#Document) | no | | + | status | String | no | | + +--- + + + + + #### [PopulateFormResponse](#PopulateFormResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | form | Object | no | | + +--- + + + + + #### [ValidateFormFieldResponse](#ValidateFormFieldResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | data | Object | no | | + +--- + + + + + #### [LenderCustomerMetricsResponse](#LenderCustomerMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | data | [MetricData](#MetricData) | no | | + +--- + + + + + #### [BreOutput](#BreOutput) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | entityId | String | no | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | policyName | String | no | | + | category | String | no | | + | type | String | no | | + | output | Object | no | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String | no | | + +--- + + + + + #### [ManualKycResponse](#ManualKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | | + | step | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + +--- + + + + + #### [CustomerKycDetailsReponse](#CustomerKycDetailsReponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + +--- + + + + + #### [PlatformFees](#PlatformFees) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customerAcquisitionFee | Double | no | | + | transactionFee | Double | no | | + +--- + + + + + #### [CommercialResponse](#CommercialResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [Commercial](#Commercial) | no | | + +--- + + + diff --git a/documentation/platform/PAYMENTS.md b/documentation/platform/PAYMENTS.md new file mode 100644 index 0000000..12b1935 --- /dev/null +++ b/documentation/platform/PAYMENTS.md @@ -0,0 +1,578 @@ + + + + +##### [Back to Platform docs](./README.md) + +## Payments Methods +KYC Service +* [getUserCreditSummary](#getusercreditsummary) + + + +## Methods with example and description + + +### getUserCreditSummary +Get user outstanding details. + + + + +```java +payments.getUserCreditSummary( mobile, lenderSlugs) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| mobile | String | yes | mobile number of the user | +| organizationId | String | yes | organization id of the merchant. | +| lenderSlugs | List? | no | This is list of lender slugs. eg. ['cashe','liquiloans'] | + + + +This api is for getting outstanding details for the user with all the lenders. + +*Returned Response:* + + + + +[OutstandingDetailsResponse](#OutstandingDetailsResponse) + +Success. Returns a JSON object as shown below. Refer `PaymentLinkResponse` for more details. + + + + +
+  Examples: + + +
+  OutstandingDetailsResponse + +```json +{ + "value": { + "message": "The request has been processed successfully.", + "data": { + "outstandingDetails": [ + { + "lender": { + "id": "315f60f4-1238-462c-8108-cfff9fbc400f", + "name": "Bhanix Finance and Investment Limited", + "slug": "cashe", + "theme": { + "iconUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/v2/512h-logo/cashe-icon.png", + "logoUrl": "https://cdn.pixelbin.io/v2/potlee/original/public/lenders/lenderLogo/v2/512h-logo/cashe-logo.png" + } + }, + "availableLimit": 40000, + "creditLimit": 40000, + "dueAmount": 0, + "outstandingAmount": 0, + "dueDate": null + } + ] + }, + "meta": { + "timestamp": "2024-07-26T08:01:02.592Z", + "version": "v1.0", + "product": "Settle Checkout", + "requestId": "048dcf5c1d4ab39a9f39e1d07c584983" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | HashMap | no | The data payload of the response. The structure of this object will vary depending on the specific API endpoint. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | errors | ArrayList<[IntegrationResponseError](#IntegrationResponseError)>? | yes | | + +--- + + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [RepaymentUsingNetbanking](#RepaymentUsingNetbanking) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | amount | Double | no | | + | bankId | String | no | | + | bankName | String | no | | + | chargeToken | String? | yes | | + +--- + + + + + #### [RepaymentUsingNetbankingResponse](#RepaymentUsingNetbankingResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | form | String? | yes | | + | isDifferent | Boolean? | yes | | + | outstanding | String? | yes | | + +--- + + + + + #### [RepaymentUsingUPI](#RepaymentUsingUPI) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | amount | Double | no | | + | vpa | String | no | | + | chargeToken | String? | yes | | + +--- + + + + + #### [RepaymentUsingUPIResponse](#RepaymentUsingUPIResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | isDifferent | Boolean? | yes | | + | outstanding | String? | yes | | + | status | String? | yes | | + | intentId | String? | yes | | + | transactionId | String? | yes | | + | expiry | Double? | yes | | + | interval | Double? | yes | | + +--- + + + + + #### [RegisterUPIMandateRequest](#RegisterUPIMandateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | vpa | String? | yes | | + +--- + + + + + #### [RegisterUPIMandateResponse](#RegisterUPIMandateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionId | String? | yes | | + | expiry | Double? | yes | | + | interval | Double? | yes | | + +--- + + + + + #### [RegisterUPIMandateStatusCheckRequest](#RegisterUPIMandateStatusCheckRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionId | String? | yes | | + +--- + + + + + #### [RegisterMandateStatusCheckResponse](#RegisterMandateStatusCheckResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + +--- + + + + + #### [TransactionStatusRequest](#TransactionStatusRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | intentId | String | no | | + | transactionId | String | no | | + +--- + + + + + #### [TransactionStatusResponse](#TransactionStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean | no | | + | methodType | String? | yes | | + | methodSubType | String? | yes | | + | status | String? | yes | | + +--- + + + + + #### [BankList](#BankList) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | bankId | String? | yes | | + | bankName | String? | yes | | + | rank | Double? | yes | | + | popular | Boolean? | yes | | + | imageUrl | String? | yes | | + +--- + + + + + #### [PaymentOptions](#PaymentOptions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String? | yes | | + | shortTitle | String? | yes | | + | uid | String? | yes | | + | imageUrl | String? | yes | | + +--- + + + + + #### [PaymentsObject](#PaymentsObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String? | yes | | + | kind | String? | yes | | + | options | ArrayList<[PaymentOptions](#PaymentOptions)>? | yes | | + +--- + + + + + #### [LenderTheme](#LenderTheme) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | iconUrl | String | no | | + | logoUrl | String | no | | + +--- + + + + + #### [LenderDetails](#LenderDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String | no | | + | name | String | no | | + | id | String | no | | + | theme | [LenderTheme](#LenderTheme) | no | | + +--- + + + + + #### [OutstandingDetail](#OutstandingDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | action | Boolean? | yes | | + | message | [OutstandingMessage](#OutstandingMessage)? | yes | | + | credit | [UserCredit](#UserCredit)? | yes | | + | dueSummary | [DueSummaryOutstanding](#DueSummaryOutstanding)? | yes | | + | outstandingSummary | [OutstandingSummary](#OutstandingSummary)? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [OutstandingSummary](#OutstandingSummary) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalOutstanding | Double? | yes | | + | totalOutstandingWithInterest | Double? | yes | | + | totalOutstandingPenalty | Double? | yes | | + | availableLimit | Double? | yes | | + | isOverdue | Boolean? | yes | | + | dueFromDate | String? | yes | | + | repaymentSummary | ArrayList<[RepaymentSummaryOutstanding](#RepaymentSummaryOutstanding)>? | yes | | + +--- + + + + + #### [DueSummaryOutstanding](#DueSummaryOutstanding) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dueDate | String? | yes | | + | totalDue | Double? | yes | | + | totalDueWithInterest | Double? | yes | | + | totalDuePenalty | Double? | yes | | + | dueTransactions | ArrayList<[DueTransactionsOutstanding](#DueTransactionsOutstanding)>? | yes | | + | minAmntDue | Double? | yes | | + +--- + + + + + #### [OutstandingMessage](#OutstandingMessage) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dueMessage | String? | yes | | + | backgroundColor | String? | yes | | + | textColor | String? | yes | | + | isFlexiRepayEnabled | Boolean? | yes | | + +--- + + + + + #### [UserCredit](#UserCredit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | availableLimit | Double? | yes | | + | approvedLimit | Double? | yes | | + | isEligibleToDrawdown | Boolean? | yes | | + +--- + + + + + #### [DueTransactionsOutstanding](#DueTransactionsOutstanding) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | loanRequestNo | String? | yes | | + | merchantCategory | String? | yes | | + | installmentAmountWithInterest | Double? | yes | | + | installmentAmount | Double? | yes | | + | dueAmount | Double? | yes | | + | loanType | String? | yes | | + | installmentNo | String? | yes | | + | installmentDueDate | String? | yes | | + | isPastDue | Boolean? | yes | | + | isPenaltyCharged | Boolean? | yes | | + | penaltyAmount | Double? | yes | | + | noOfDaysPenaltyCharged | Integer? | yes | | + | daysDifference | Integer? | yes | | + | lenderTransactionId | String? | yes | | + +--- + + + + + #### [RepaymentSummaryOutstanding](#RepaymentSummaryOutstanding) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | loanRequestNo | String? | yes | | + | loanType | String? | yes | | + | merchantCategory | String? | yes | | + | isBbillingTransaction | Boolean? | yes | | + | totalInstallmentAmount | Integer? | yes | | + | totalInstallmentAmountWithInterest | Integer? | yes | | + | outstandingDetails | ArrayList<[OutstandingDetailsRepayment](#OutstandingDetailsRepayment)>? | yes | | + +--- + + + + + #### [OutstandingDetailsRepayment](#OutstandingDetailsRepayment) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentAmountWithInterest | Double? | yes | | + | installmentAmount | Double? | yes | | + | dueAmount | Double? | yes | | + | installmentNo | String? | yes | | + | installmentDueDate | String? | yes | | + | isPastDue | Boolean? | yes | | + | loanType | String? | yes | | + | isPenaltyCharged | Boolean? | yes | | + | penaltyAmount | Integer? | yes | | + | noOfDaysPenaltyCharged | Integer? | yes | | + | lenderTransactionId | String? | yes | | + +--- + + + + + #### [PaymentOptionsResponse](#PaymentOptionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | paymentOptions | ArrayList<[PaymentsObject](#PaymentsObject)>? | yes | | + +--- + + + + + #### [AutoPayStatusResponse](#AutoPayStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + +--- + + + + + #### [OutstandingData](#OutstandingData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderDetails | [LenderDetails](#LenderDetails)? | yes | | + | availableLimit | Double | no | | + | creditLimit | Double | no | | + | dueAmount | Double? | yes | | + | outstandingAmount | Double? | yes | | + | dueDate | String? | yes | | + +--- + + + + + #### [OutstandingDetailsData](#OutstandingDetailsData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | outstandingDetails | ArrayList<[OutstandingData](#OutstandingData)> | no | | + +--- + + + + + #### [OutstandingDetailsResponse](#OutstandingDetailsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [OutstandingDetailsData](#OutstandingDetailsData) | no | | + +--- + + + diff --git a/documentation/platform/README.md b/documentation/platform/README.md new file mode 100644 index 0000000..2a024ff --- /dev/null +++ b/documentation/platform/README.md @@ -0,0 +1,10 @@ +##### [Back to home](../../README.md) + +# FDK Platform Front API Documentaion + + +* [Customer](CUSTOMER.md) - Authentication Service +* [Credit](CREDIT.md) - Transaction Service +* [MultiKyc](MULTIKYC.md) - Will deprecate Hawkeye +* [Merchant](MERCHANT.md) - Authentication Service +* [Payments](PAYMENTS.md) - KYC Service \ No newline at end of file diff --git a/documentation/public/MERCHANT.md b/documentation/public/MERCHANT.md new file mode 100644 index 0000000..69ac946 --- /dev/null +++ b/documentation/public/MERCHANT.md @@ -0,0 +1,3772 @@ + + + + +##### [Back to Public docs](./README.md) + +## Merchant Methods +Authentication Service +* [sendOTPOnMobile](#sendotponmobile) +* [reSendOTPOnMobile](#resendotponmobile) +* [verifyMobileOTP](#verifymobileotp) +* [logout](#logout) +* [getLoggedInUser](#getloggedinuser) +* [getListOfActiveSessions](#getlistofactivesessions) +* [refund](#refund) +* [getOrganizations](#getorganizations) +* [createOrganization](#createorganization) +* [getOrganizationDetails](#getorganizationdetails) +* [getOrganizationFinanceDetails](#getorganizationfinancedetails) +* [updateFinancialDetails](#updatefinancialdetails) +* [getTeamMembers](#getteammembers) +* [addTeamMemberToOrganization](#addteammembertoorganization) +* [removeTeamMemberFromOrganization](#removeteammemberfromorganization) +* [updateMemberRole](#updatememberrole) +* [getOrganizationApiKeyAndSecret](#getorganizationapikeyandsecret) +* [updateTransactionApiHookOfOrganization](#updatetransactionapihookoforganization) +* [getOrganizationApiHookDetails](#getorganizationapihookdetails) +* [getOrganizationIpDetails](#getorganizationipdetails) +* [addOrUpdateIpToWhiteListOfOrganization](#addorupdateiptowhitelistoforganization) +* [updateOrganizationLogo](#updateorganizationlogo) +* [addRestrictedSku](#addrestrictedsku) +* [getRestrictedSku](#getrestrictedsku) +* [addReport](#addreport) +* [getCsvReport](#getcsvreport) +* [addBusinessDetails](#addbusinessdetails) +* [getBusinessDetails](#getbusinessdetails) +* [getVintageData](#getvintagedata) +* [addLenderMetaSchema](#addlendermetaschema) +* [getLenderMetaSchema](#getlendermetaschema) +* [updateLenderStatus](#updatelenderstatus) +* [generatePaymentLink](#generatepaymentlink) +* [updateProfile](#updateprofile) +* [getOutStandingDetails](#getoutstandingdetails) + + + +## Methods with example and description + + +### sendOTPOnMobile +Send OTP on mobile + + + + +```java +merchant.sendOTPOnMobile(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [SendMobileOtpRequest](#SendMobileOtpRequest) | yes | Request body | + + +Use this API to send an OTP to a mobile number. + +*Returned Response:* + + + + +[OtpSuccess](#OtpSuccess) + +Success. Returns a JSON object as shown below. Refer `OtpSuccess` for more details. + + + + +
+  Example: + +```json +{ + "success": true, + "requestId": "01503005aeab87cbed93d40f46cc2749", + "message": "OTP sent", + "mobile": "8652523958", + "countryCode": "91", + "resendTimer": 30, + "resendToken": "18fc3d60-66e5-11eb-9399-0312fbf2c2a6" +} +``` +
+ + + + + + + + + +--- + + +### reSendOTPOnMobile +Send OTP on mobile + + + + +```java +merchant.reSendOTPOnMobile(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [ReSendMobileOtpRequestSchema](#ReSendMobileOtpRequestSchema) | yes | Request body | + + +Use this API to send an OTP to a mobile number. + +*Returned Response:* + + + + +[OtpSuccess](#OtpSuccess) + +Success. Returns a JSON object as shown below. Refer `OtpSuccess` for more details. + + + + +
+  Example: + +```json +{ + "success": true, + "requestId": "01503005aeab87cbed93d40f46cc2749", + "message": "OTP sent", + "mobile": "8652523958", + "countryCode": "91", + "resendTimer": 30, + "resendToken": "18fc3d60-66e5-11eb-9399-0312fbf2c2a6" +} +``` +
+ + + + + + + + + +--- + + +### verifyMobileOTP +Verify OTP on mobile + + + + +```java +merchant.verifyMobileOTP(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [VerifyOtpRequest](#VerifyOtpRequest) | yes | Request body | + + +Use this API to verify the OTP received on a mobile number. + +*Returned Response:* + + + + +[VerifyOtpSuccess](#VerifyOtpSuccess) + +Success. Returns a JSON object as shown below. Refer `VerifyOtpSuccess` for more details. + + + + +
+  Examples: + + +
+  default + +```json +{ + "value": { + "verifyMobileLink": true, + "user": { + "debug": { + "source": "enclose", + "platform": "000000000000000000000001" + }, + "gender": "male", + "active": true, + "profilePicUrl": "https://d2co8r51m5ca2d.cloudfront.net/inapp_banners/default_profile_img.png", + "id": "5e68af49cfa09bf7233022f1", + "firstName": "Akash", + "lastName": "Mane", + "username": "akashmane_gofynd_com_10039", + "mobile": "8652523958", + "countryCode": "91", + "email": "akashmane@gofynd.com", + "createdAt": "2020-03-11T09:28:41.982Z", + "updatedAt": "2021-02-04T10:10:44.981Z" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### logout +Logs out currently logged in user + + + + +```java +merchant.logout() { + //use response +} +``` + + + + +Use this API to check to logout a user from the app. + +*Returned Response:* + + + + +[LogoutSuccess](#LogoutSuccess) + +Success. Returns a success message as shown below. Refer `LogoutSuccess` for more details. + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getLoggedInUser +Get logged in user + + + + +```java +merchant.getLoggedInUser() { + //use response +} +``` + + + + +Use this API to get the details of a logged in user. + +*Returned Response:* + + + + +[UserObjectSchema](#UserObjectSchema) + +Success. Returns a JSON object with user details. Refer `UserObjectSchema` for more details. + + + + +
+  Examples: + + +
+  default + +```json +{ + "value": { + "user": { + "gender": "male", + "active": true, + "profilePicUrl": "https://d2co8r51m5ca2d.cloudfront.net/inapp_banners/default_profile_img.png", + "id": "5e68af49cfa09bf7233022f1", + "firstName": "Akash", + "lastName": "Mane", + "username": "akashmane_gofynd_com_10039", + "mobile": "8652523958", + "countryCode": "91", + "email": "akashmane@gofynd.com", + "createdAt": "2020-03-11T09:28:41.982Z", + "updatedAt": "2021-02-04T10:10:44.981Z", + "uid": "61" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getListOfActiveSessions +Get list of sessions + + + + +```java +merchant.getListOfActiveSessions() { + //use response +} +``` + + + + +Use this API to retrieve all active sessions of a user. + +*Returned Response:* + + + + +[SessionListSuccess](#SessionListSuccess) + +Success. Returns a JSON object containing an array of sessions. Refer `SessionListSuccess` for more details. + + + + +
+  Example: + +```json +{ + "sessions": [ + "session_1", + "session_2" + ] +} +``` +
+ + + + + + + + + +--- + + +### refund +Refund customer order amount + + + + +```java +merchant.refund( orderId, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| orderId | String | yes | This is orderId | +| body | [Refund](#Refund) | yes | Request body | + + +Use this API to refund partial or full order amount to the customer + +*Returned Response:* + + + + +[RefundSuccess](#RefundSuccess) + +Success. Returns a JSON object as shown below. Refer `RefundSuccess` for more details. + + + + +
+  Examples: + + +
+  status + +```json +"Completed" +``` +
+ +
+  message + +```json +"Refund completed" +``` +
+ +
+  transactionId + +```json +"TXNbvL44WskCc5deF9XtTvYcBQoU" +``` +
+ +
+  refundId + +```json +"R1FY7" +``` +
+ +
+ + + + + + + + + +--- + + +### getOrganizations +Get Organization Details + + + + +```java +merchant.getOrganizations() { + //use response +} +``` + + + + +Use this API to get organization details belongs to logged in user + +*Returned Response:* + + + + +[OrganizationDetails](#OrganizationDetails) + +Success. Returns a JSON object as shown below. Refer `OrganizationDetails` for more details. + + + + +
+  Example: + +```json +{ + "isAdmin": false, + "organizationId": "c97348ad-a5fe-4640-b98b-afb455187fe8", + "name": "Potlee", + "createdAt": "2022-05-25T08:02:54.772Z", + "updatedAt": "2022-05-25T08:02:54.772Z", + "isActive": true +} +``` +
+ + + + + + + + + +--- + + +### createOrganization +create organization + + + + +```java +merchant.createOrganization(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [CreateOrganization](#CreateOrganization) | yes | Request body | + + +Use this API to create new organization. + +*Returned Response:* + + + + +[GetOrganization](#GetOrganization) + +Success. Returns a JSON object as shown below. Refer `GetOrganization` for more details. + + + + +
+  Example: + +```json +{ + "id": "5fa209a9-cbdb-4c55-98f6-e0a26b9f004a", + "userId": "5cd5d84d-4caf-44e0-8183-73a97e4720e2", + "organizationId": "edc21c75-0226-49a7-8dd5-02db865cde11", + "isAdmin": "true", + "createdAt": "2022-05-11T05:08:12.918Z", + "updatedAt": "2022-05-11T05:08:12.919Z", + "deletedAt": null, + "organization": { + "id": "edc21c75-0226-49a7-8dd5-02db865cde11", + "name": "Potlee", + "active": true, + "createdAt": "2022-05-11T05:08:12.898Z", + "updatedAt": "2022-05-11T05:08:12.898Z", + "deletedAt": null + } +} +``` +
+ + + + + + + + + +--- + + +### getOrganizationDetails +Get Organization Details + + + + +```java +merchant.getOrganizationDetails() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | + + + +Use this API to get organization details belongs to logged in user + +*Returned Response:* + + + + +[GetOrganization](#GetOrganization) + +Success. Returns a JSON object as shown below. Refer `GetOrganization` for more details. + + + + +
+  Example: + +```json +{ + "isAdmin": false, + "organizationId": "c97348ad-a5fe-4640-b98b-afb455187fe8", + "name": "Potlee", + "createdAt": "2022-05-25T08:02:54.772Z", + "updatedAt": "2022-05-25T08:02:54.772Z", + "isActive": true +} +``` +
+ + + + + + + + + +--- + + +### getOrganizationFinanceDetails +Get Organization Finance Details + + + + +```java +merchant.getOrganizationFinanceDetails() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | + + + +Use this API to get organization finance details belongs to logged in user.. + +*Returned Response:* + + + + +[FinancialDetails](#FinancialDetails) + +Success. Returns a JSON object as shown below. Refer `FinancialDetails` for more details. + + + + +
+  Example: + +```json +{ + "disbursementAccountHolderName": "Potlee", + "disbursementAccountNumber": "99", + "disbursementIfsc": "POTLEE-1234", + "b2b": false, + "b2c": true, + "businessName": "businessname example", + "email": "raunaksingh@gofynd.com", + "businessAddress": "address example 1", + "pincode": "400051", + "documents": [ + { + "docType": "pan", + "docNumber": "LSCPX7788F" + } + ] +} +``` +
+ + + + + + + + + +--- + + +### updateFinancialDetails +update financial details of organization + + + + +```java +merchant.updateFinancialDetails(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| body | [UpdateFinancials](#UpdateFinancials) | yes | Request body | + + +Use this API to update financial details of organization. + +*Returned Response:* + + + + +[FinancialDetails](#FinancialDetails) + +Success. Returns a JSON object as shown below. Refer `FinancialDetails` for more details. + + + + +
+  Example: + +```json +{ + "disbursementAccountHolderName": "Potlee", + "disbursementAccountNumber": "99", + "disbursementIfsc": "POTLEE-1234" +} +``` +
+ + + + + + + + + +--- + + +### getTeamMembers +Get Organization Team Members Details + + + + +```java +merchant.getTeamMembers() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | + + + +Use this API to get team members belongs organization of logged in user + +*Returned Response:* + + + + +[TeamMembers](#TeamMembers) + +Success. Returns a JSON object as shown below. Refer `TeamMembers` for more details. + + + + +
+  Example: + +```json +{ + "[\n {\n \"id\": \"5cd5d84d-4caf-44e0-8183-73a97e4720e2\",\n \"firstName\": \"AK\",\n \"lastName\": \"G\",\n \"gender\": \"male\",\n \"dob\": \"1993-05-13\",\n \"email\": \"gaykar.akshay@gmail.com\",\n \"countryCode\": \"91\",\n \"mobile\": \"7738670789\",\n \"profilePictureUrl\": null,\n \"isEmailVerified\": false,\n \"active\": true,\n \"createdAt\": \"2022-05-11T05:07:45.478Z\",\n \"updatedAt\": \"2022-05-11T05:08:20.107Z\"\n }\n]": null +} +``` +
+ + + + + + + + + +--- + + +### addTeamMemberToOrganization +Add Team Member to Organization + + + + +```java +merchant.addTeamMemberToOrganization(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| body | [AddTeamMember](#AddTeamMember) | yes | Request body | + + +Use this API to add new team members to organization. + +*Returned Response:* + + + + +[AddTeamMemberResponse](#AddTeamMemberResponse) + +Success. Returns a JSON object as shown below. Refer `AddTeamMemberResponse` for more details. + + + + +
+  Example: + +```json +{ + "userId": "d3bda3f7-2bd0-4ad5-ab32-eeb24987aaed", + "organizationId": "edc21c75-0226-49a7-8dd5-02db865cde11", + "createdAt": "2022-05-11T05:10:30.266Z", + "updatedAt": "2022-05-11T05:10:30.266Z", + "id": "78ead1da-22ce-4367-90ef-22c388a15db3", + "isAdmin": null, + "deletedAt": null +} +``` +
+ + + + + + + + + +--- + + +### removeTeamMemberFromOrganization +Remove Team Member from Organization + + + + +```java +merchant.removeTeamMemberFromOrganization( userId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| userId | String | yes | This is the user ID | + + + +Use this API to remove a team member from the organization. + +*Returned Response:* + + + + +[RemoveTeamMemberResponse](#RemoveTeamMemberResponse) + +Success. Returns a JSON object as shown below. Refer `RemoveTeamMemberResponse` for more details. + + + + +
+  Example: + +```json +{ + "success": "true" +} +``` +
+ + + + + + + + + +--- + + +### updateMemberRole +Update Team Member Role in Organization + + + + +```java +merchant.updateMemberRole(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| body | [UpdateTeamMemberRole](#UpdateTeamMemberRole) | yes | Request body | + + +Use this API to update team members role in organization. + +*Returned Response:* + + + + +[AddTeamMemberResponse](#AddTeamMemberResponse) + +Success. Returns a JSON object as shown below. Refer `AddTeamMemberResponse` for more details. + + + + +
+  Example: + +```json +{} +``` +
+ + + + + + + + + +--- + + +### getOrganizationApiKeyAndSecret +Get Organization API key and secret + + + + +```java +merchant.getOrganizationApiKeyAndSecret() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | + + + +Use this API to get API key and secret of the organization + +*Returned Response:* + + + + +[ApiKey](#ApiKey) + +Success. Returns a JSON object as shown below. Refer `ApiKey` for more details. + + + + +
+  Example: + +```json +{ + "key": "6489dc79-ecf1-4f65-add7-f580504482d7", + "secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +} +``` +
+ + + + + + + + + +--- + + +### updateTransactionApiHookOfOrganization +add or update api details of organization for transaction status update + + + + +```java +merchant.updateTransactionApiHookOfOrganization(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| body | [UpdateApiHook](#UpdateApiHook) | yes | Request body | + + +Use this API to update api hook of organization. + +*Returned Response:* + + + + +[UpdateApiHookResponse](#UpdateApiHookResponse) + +Success. Returns a JSON object as shown below. Refer `UpdateApiHookResponse` for more details. + + + + +
+  Example: + +```json +{ + "success": true +} +``` +
+ + + + + + + + + +--- + + +### getOrganizationApiHookDetails +Get Organization API hook details + + + + +```java +merchant.getOrganizationApiHookDetails() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | + + + +Use this API to get API hook details of Organization + +*Returned Response:* + + + + +[ApiHookDetails](#ApiHookDetails) + +Success. Returns a JSON object as shown below. Refer `ApiHookDetails` for more details. + + + + +
+  Example: + +```json +{ + "url": "http://google.com", + "customHeaders": { + "x-id": "123" + }, + "apiKey": "12345", + "createdAt": "2022-07-01T11:35:20.251Z", + "updatedAt": "2022-07-01T11:35:20.251Z" +} +``` +
+ + + + + + + + + +--- + + +### getOrganizationIpDetails +Get Organization's ip whitelist details + + + + +```java +merchant.getOrganizationIpDetails() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | + + + +Use this API to get list of ips related to organization + +*Returned Response:* + + + + +[OrganizationIpDetails](#OrganizationIpDetails) + +Success. Returns a JSON object as shown below. Refer `OrganizationIpDetails` for more details. + + + + +
+  Example: + +```json +{ + "organizationIps": [ + { + "id": "ba13ee97-5029-4ec9-91c2-f6388fd06298", + "organizationId": "f0ed1368-e3d5-4e9b-8de6-c7d97d62f339", + "ip": "127.0.0.3", + "active": true, + "createdAt": "2022-07-04T08:15:59.145Z", + "updatedAt": "2022-07-04T08:15:59.145Z" + } + ] +} +``` +
+ + + + + + + + + +--- + + +### addOrUpdateIpToWhiteListOfOrganization +Add or Update ip to be whitelisted for Organization + + + + +```java +merchant.addOrUpdateIpToWhiteListOfOrganization(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| body | [AddOrganizationIpDetails](#AddOrganizationIpDetails) | yes | Request body | + + +Use this API to add or update ip to whitelist of organization. + +*Returned Response:* + + + + +[OrganizationIpDetails](#OrganizationIpDetails) + +Success. Returns a JSON object as shown below. Refer `OrganizationIpDetails` for more details. + + + + +
+  Example: + +```json +{ + "organizationIps": [ + { + "organizationId": "f0ed1368-e3d5-4e9b-8de6-c7d97d62f339", + "ip": "127.0.0.1", + "active": true, + "createdAt": "2022-07-04T08:15:59.145Z", + "updatedAt": "2022-07-04T08:15:59.145Z", + "id": "ba13ee97-5029-4ec9-91c2-f6388fd06298" + } + ] +} +``` +
+ + + + + + + + + +--- + + +### updateOrganizationLogo +Update Organization logo + + + + +```java +merchant.updateOrganizationLogo( logo) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| logo | String | yes | This is the logo url | + + + +Use this API to Update Organization logo. + +*Returned Response:* + + + + +[UpdateLogo](#UpdateLogo) + +Success. Returns a JSON object as shown below. Refer `UpdateLogo` for more details. + + + + +
+  Example: + +```json +{ + "logo:\"https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png\"": null +} +``` +
+ + + + + + + + + +--- + + +### addRestrictedSku +Add or Update csv for Organization + + + + +```java +merchant.addRestrictedSku(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| body | [AddSkuRequest](#AddSkuRequest) | yes | Request body | + + +Use this api to Add or Update csv for Organization. + +*Returned Response:* + + + + +[AddSkuResponse](#AddSkuResponse) + +Success. Returns a JSON object as shown below. Refer `AddSkuResponse` for more details. + + + + +
+  Example: + +```json +{ + "message": "csv added successfully" +} +``` +
+ + + + + + + + + +--- + + +### getRestrictedSku +Get Organization retricted SKU data + + + + +```java +merchant.getRestrictedSku() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | + + + +Use this API to get organization csv file. + +*Returned Response:* + + + + +[RestrictedSkuSchema](#RestrictedSkuSchema) + +Success. Returns a JSON object as shown below. Refer `RestrictedSkuSchema` for more details. + + + + +
+  Example: + +```json +{} +``` +
+ + + + + + + + + +--- + + +### addReport +Add Report csv pixelbinUrl for Organization + + + + +```java +merchant.addReport(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| body | [AddReportCsvFileRequest](#AddReportCsvFileRequest) | yes | Request body | + + +Use this api to Add Report csv for Organization. + +*Returned Response:* + + + + +[AddReportCsvFileResponse](#AddReportCsvFileResponse) + +Success. Returns a JSON object as shown below. Refer `AddReportCsvFileResponse` for more details. + + + + +
+  Example: + +```json +{ + "message": "csv added successfully" +} +``` +
+ + + + + + + + + +--- + + +### getCsvReport +Get Organization Report file pixelbinUrl + + + + +```java +merchant.getCsvReport( type) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| type | String | yes | This is the type of report | + + + +Use this API to get organization report csv file. + +*Returned Response:* + + + + +[ReportCsvFileResponse](#ReportCsvFileResponse) + +Success. Returns a JSON object as shown below. Refer `ReportCsvFileResponse` for more details. + + + + +
+  Example: + +```json +{ + "csv": "this is csv data" +} +``` +
+ + + + + + + + + +--- + + +### addBusinessDetails +Add Report JSON data for Organization + + + + +```java +merchant.addBusinessDetails(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| body | [AddReportRequest](#AddReportRequest) | yes | Request body | + + +Use this api to Add Report csv for Organization. + +*Returned Response:* + + + + +[AddReportResponse](#AddReportResponse) + +Success. Returns a JSON object as shown below. Refer `AddReportResponse` for more details. + + + + +
+  Example: + +```json +{ + "message": "report added successfully" +} +``` +
+ + + + + + + + + +--- + + +### getBusinessDetails +Get Business Details from sharing center + + + + +```java +merchant.getBusinessDetails() { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | + + + +Use this API to get organization business details. + +*Returned Response:* + + + + +[AddReportResponse](#AddReportResponse) + +Success. Returns a JSON object as shown below. Refer `AddReportResponse` for more details. + + + + +
+  Example: + +```json +{ + "csv": "this is csv data" +} +``` +
+ + + + + + + + + +--- + + +### getVintageData +Get Vintage Details from sharing center + + + + +```java +merchant.getVintageData( businessId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| businessId | String | yes | businessId for vintageDat | + + + +Use this API to get organization vintage details. + +*Returned Response:* + + + + +[VintageDataResponse](#VintageDataResponse) + +Success. Returns a JSON object as shown below. Refer `VintageDataResponse` for more details. + + + + +
+  Example: + +```json +{ + "csv": "this is csv data" +} +``` +
+ + + + + + + + + +--- + + +### addLenderMetaSchema +add lender schema + + + + +```java +merchant.addLenderMetaSchema( lenderId, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderId | String | yes | lenderId for lender merchant config | +| body | [AddMetaSchemaRequest](#AddMetaSchemaRequest) | yes | Request body | + + +Use this API to add lender schema. + +*Returned Response:* + + + + +[AddMetaSchemaResponse](#AddMetaSchemaResponse) + +Success. Returns a JSON object as shown below. Refer `AddMetaSchemaResponse` for more details. + + + + +
+  Example: + +```json +{ + "merchantId": "5fa209a9-cbdb-4c55-98f6-e0a26b9f004a", + "lenderId": "5fa209a9-cbdb-4c55-98f6-e0a26b9f004a", + "mid": "qwdx23dxq3xxqwx", + "data": { + "name": "test organization" + } +} +``` +
+ + + + + + + + + +--- + + +### getLenderMetaSchema +Get lender meta schema + + + + +```java +merchant.getLenderMetaSchema( lenderId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| lenderId | String | yes | lenderId for lender merchant config | + + + +Use this API toGet lender meta schema. + +*Returned Response:* + + + + +[AddMetaSchemaResponse](#AddMetaSchemaResponse) + +Success. Returns a JSON object as shown below. Refer `AddMetaSchemaResponse` for more details. + + + + +
+  Example: + +```json +{ + "id": "15b643e9-a63d-4749-90d4-a0bdbdeccd9c", + "merchantId": "b2ac2bfb-8d9a-4a18-b245-e632b7048163", + "lenderId": "315f60f4-1238-462c-8108-cfff9fbc400f", + "mid": "b2ac2bfb-8d9a-4a18-b245-e632b7048163", + "data": { + "mid": "RaunakSingh", + "secret": "Raunak", + "schemes": { + "1": "wx", + "2": "xqwx", + "3": "xqwxq", + "4": "wxqwxqwxqwx", + "5": "qwxqw", + "6": "xqxqwxqw", + "7": "kn", + "8": "lkn", + "9": "qk", + "10": "k", + "11": "lk" + } + }, + "createdAt": "2023-08-24T10:15:07.067Z", + "updatedAt": "2023-08-24T10:15:07.067Z", + "deletedAt": null +} +``` +
+ + + + + + + + + +--- + + +### updateLenderStatus +update lender enable status + + + + +```java +merchant.updateLenderStatus( lenderId, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderId | String | yes | lenderId for lender merchant config | +| body | [UpdateLenderStatusSchemaRequest](#UpdateLenderStatusSchemaRequest) | yes | Request body | + + +Use this API to update the status of a lender by updating enable flag value. + +*Returned Response:* + + + + +[UpdateLenderStatusSchemaResponse](#UpdateLenderStatusSchemaResponse) + +Success. Returns a JSON object as shown below. Refer `UpdateLenderStatusSchemaResponse` for more details. + + + + +
+  Example: + +```json +{ + "merchantId": "5fa209a9-cbdb-4c55-98f6-e0a26b9f004a", + "lenderId": "5fa209a9-cbdb-4c55-98f6-e0a26b9f004a", + "mid": "qwdx23dxq3xxqwx", + "data": { + "name": "test organization" + } +} +``` +
+ + + + + + + + + +--- + + +### generatePaymentLink +Generate a payment link + + + + +```java +merchant.generatePaymentLink(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| body | [PaymentLinkRequest](#PaymentLinkRequest) | yes | Request body | + + +This api is for ASP flow where merchant share the payment link with the user. + +*Returned Response:* + + + + +[PaymentLinkResponse](#PaymentLinkResponse) + +Success. Returns a JSON object as shown below. Refer `PaymentLinkResponse` for more details. + + + + +
+  Examples: + + +
+  status + +```json +"SUCCESS" +``` +
+ +
+  paymentLink + +```json +"https://account.potlee.co.in?token=nqnkdnwdnwkcnjcnejcnj" +``` +
+ +
+ + + + + + + + + +--- + + +### updateProfile +Update user profile + + + + +```java +merchant.updateProfile(body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| body | [EditProfileRequestSchema](#EditProfileRequestSchema) | yes | Request body | + + +Use this API to update the user profile + +*Returned Response:* + + + + +[ProfileEditSuccess](#ProfileEditSuccess) + +Success. Check the example shown below or refer `LoginSuccess` for more details. + + + + +
+  Examples: + + +
+  default + +```json +{ + "value": { + "user": { + "gender": "male", + "active": true, + "profilePicUrl": "https://d2co8r51m5ca2d.cloudfront.net/inapp_banners/default_profile_img.png", + "id": "5e68af49cfa09bf7233022f1", + "firstName": "Akash", + "lastName": "Mane", + "username": "akashmane_gofynd_com_10039", + "mobile": "8652523958", + "countryCode": "91", + "email": "akashmane@gofynd.com", + "createdAt": "2020-03-11T09:28:41.982Z", + "updatedAt": "2021-02-04T10:10:44.981Z", + "uid": "61" + } + } +} +``` +
+ +
+ + + + + + + + + +--- + + +### getOutStandingDetails +Get user outstanding details. + + + + +```java +merchant.getOutStandingDetails( userId, lenderSlugs) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| userId | String | yes | This is userId | +| lenderSlugs | List? | no | This list of lender slugs. eg. ['cashe','liquiloans'] | + + + +This api is for getting outstanding details for the user with all the lenders. + +*Returned Response:* + + + + +[OutstandingDetailsResponse](#OutstandingDetailsResponse) + +Success. Returns a JSON object as shown below. Refer `PaymentLinkResponse` for more details. + + + + +
+  Examples: + + +
+  default + +```json +{ + "outstandingDetails": [ + { + "lenderDetails": { + "slug": "cashe", + "id": "f162ae3e-cc7c-4b96-85d1-19c3e0f7e780", + "name": "Bhanix", + "theme": { + "logoUrl": "", + "iconUrl": "" + } + }, + "availableLimit": 40000, + "crediLimit": 40000, + "dueAmount": 0, + "outstandingAmount": 0, + "dueDate": null + } + ] +} +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [BlockUserRequestSchema](#BlockUserRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | Boolean? | yes | | + | userid | ArrayList? | yes | | + | reason | String? | yes | | + +--- + + + + + #### [EditEmailRequestSchema](#EditEmailRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + +--- + + + + + #### [SendVerificationLinkMobileRequestSchema](#SendVerificationLinkMobileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verified | Boolean? | yes | | + | active | Boolean? | yes | | + | countryCode | String? | yes | | + | phone | String? | yes | | + | primary | Boolean? | yes | | + +--- + + + + + #### [EditMobileRequestSchema](#EditMobileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | phone | String? | yes | | + +--- + + + + + #### [UpdateEmail](#UpdateEmail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String | no | | + | additionalProperties | Object? | yes | | + +--- + + + + + #### [EditProfileRequestSchema](#EditProfileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String | no | | + | lastName | String | no | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | registrationToken | String? | yes | | + +--- + + + + + #### [EditProfileMobileSchema](#EditProfileMobileSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | phone | String? | yes | | + | countryCode | String? | yes | | + +--- + + + + + #### [SendEmailOtpRequestSchema](#SendEmailOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + | action | String? | yes | | + | token | String? | yes | | + | registerToken | String? | yes | | + +--- + + + + + #### [VerifyEmailOtpRequestSchema](#VerifyEmailOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + | action | String? | yes | | + | registerToken | String? | yes | | + | otp | String? | yes | | + +--- + + + + + #### [VerifyOtpRequest](#VerifyOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | requestId | String | no | | + | otp | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + +--- + + + + + #### [SendMobileOtpRequest](#SendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + | force | String? | yes | | + +--- + + + + + #### [ReSendMobileOtpRequestSchema](#ReSendMobileOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | captchaCode | String? | yes | | + | token | String | no | | + | androidHash | String? | yes | | + +--- + + + + + #### [LoginSuccess](#LoginSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | requestId | String? | yes | | + | registerToken | String? | yes | | + +--- + + + + + #### [VerifyOtpSuccess](#VerifyOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | userExists | Boolean? | yes | | + | registerToken | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [ResetPasswordSuccess](#ResetPasswordSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + +--- + + + + + #### [RegisterFormSuccess](#RegisterFormSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | resendEmailToken | String? | yes | | + | registerToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | countryCode | String? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | userExists | Boolean? | yes | | + +--- + + + + + #### [VerifyEmailSuccess](#VerifyEmailSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [LogoutSuccess](#LogoutSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logout | Boolean? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [BlockUserSuccess](#BlockUserSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [ProfileEditSuccess](#ProfileEditSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | registerToken | String? | yes | | + | resendEmailToken | String? | yes | | + | userExists | Boolean? | yes | | + | verifyEmailLink | Boolean? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | email | String? | yes | | + | requestId | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | success | Boolean? | yes | | + | message | String? | yes | | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OtpSuccess](#OtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | registerToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | countryCode | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [EmailOtpSuccess](#EmailOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [SessionListSuccess](#SessionListSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sessions | ArrayList? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [VerifyMobileOTPSuccess](#VerifyMobileOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | verifyMobileLink | Boolean? | yes | | + +--- + + + + + #### [VerifyEmailOTPSuccess](#VerifyEmailOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | verifyEmailLink | Boolean? | yes | | + +--- + + + + + #### [SendMobileVerifyLinkSuccess](#SendMobileVerifyLinkSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verifyMobileLink | Boolean? | yes | | + +--- + + + + + #### [SendEmailVerifyLinkSuccess](#SendEmailVerifyLinkSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verifyEmailLink | Boolean? | yes | | + +--- + + + + + #### [UserSearchResponseSchema](#UserSearchResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | users | ArrayList<[UserSchema](#UserSchema)>? | yes | | + +--- + + + + + #### [CustomerListResponseSchema](#CustomerListResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | items | ArrayList<[UserSchema](#UserSchema)>? | yes | | + | page | [PaginationSchema](#PaginationSchema)? | yes | | + +--- + + + + + #### [PaginationSchema](#PaginationSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | size | Integer? | yes | | + | itemTotal | Integer? | yes | | + | hasNext | Boolean? | yes | | + | type | String? | yes | | + | current | Integer? | yes | | + +--- + + + + + #### [UserObjectSchema](#UserObjectSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [CreateOrganization](#CreateOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | logo | String? | yes | | + | website | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + | businessName | String? | yes | | + | email | String? | yes | | + | businessAddress | String? | yes | | + | pincode | String? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | docType | String? | yes | | + | docNumber | String? | yes | | + | organizationId | String? | yes | | + +--- + + + + + #### [UpdateLogo](#UpdateLogo) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logo | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AddMetaSchemaRequest](#AddMetaSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | schema | HashMap? | yes | | + +--- + + + + + #### [AddMetaSchemaResponse](#AddMetaSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | mid | String? | yes | | + | data | HashMap? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UpdateOrganization](#UpdateOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | Object? | yes | | + | logo | Object? | yes | | + | website | Object? | yes | | + | disbursementAccountHolderName | Object? | yes | | + | disbursementAccountNumber | Object? | yes | | + | disbursementIfsc | Object? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [UpdateFinancials](#UpdateFinancials) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | disbursementAccountHolderName | String | no | | + | disbursementAccountNumber | String | no | | + | disbursementIfsc | String | no | | + +--- + + + + + #### [Documents](#Documents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | docType | String | no | | + | docNumber | String | no | | + +--- + + + + + #### [FinancialDetails](#FinancialDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | businessName | String? | yes | | + | email | String? | yes | | + | businessAddress | String? | yes | | + | pincode | String? | yes | | + | documents | ArrayList<[Documents](#Documents)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [GetOrganization](#GetOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationId | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | isAdmin | Boolean? | yes | | + | name | String? | yes | | + | isActive | Boolean? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OrganizationDetails](#OrganizationDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | organizationId | String? | yes | | + | isAdmin | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | isActive | Boolean? | yes | | + | logo | String? | yes | | + | website | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [Organization](#Organization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [OrganizationList](#OrganizationList) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | logo | String? | yes | | + | id | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | isActive | Boolean? | yes | | + | epikId | String? | yes | | + | website | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + +--- + + + + + #### [OrganizationCount](#OrganizationCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | String? | yes | | + +--- + + + + + #### [TeamMembers](#TeamMembers) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | members | ArrayList<[Member](#Member)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [Member](#Member) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | organizationId | String? | yes | | + | isAdmin | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | profile | [Profile](#Profile)? | yes | | + +--- + + + + + #### [Profile](#Profile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | organizationId | String? | yes | | + | isAdmin | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [AddTeamMember](#AddTeamMember) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | userIsAdmin | Boolean? | yes | | + +--- + + + + + #### [UpdateTeamMemberRole](#UpdateTeamMemberRole) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userIsAdmin | Boolean? | yes | | + | userId | String? | yes | | + +--- + + + + + #### [RemoveTeamMemberResponse](#RemoveTeamMemberResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AddTeamMemberResponse](#AddTeamMemberResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | organizationId | String? | yes | | + | isAdmin | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [ApiKey](#ApiKey) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | String? | yes | | + | secret | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UpdateApiHook](#UpdateApiHook) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | apiKey | String | no | | + | url | String | no | | + | customHeaders | HashMap? | yes | | + +--- + + + + + #### [ApiHookDetails](#ApiHookDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | apiKey | String | no | | + | url | String | no | | + | customHeaders | HashMap? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UpdateApiHookResponse](#UpdateApiHookResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OrganizationIp](#OrganizationIp) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | ip | String | no | | + +--- + + + + + #### [AddOrganizationIpDetails](#AddOrganizationIpDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationIps | ArrayList<[OrganizationIp](#OrganizationIp)>? | yes | | + | delete | String? | yes | | + +--- + + + + + #### [AddUpdateCsvFileResponse](#AddUpdateCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [AddUpdateCsvFileRequest](#AddUpdateCsvFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | String? | yes | | + | organizationId | String? | yes | | + +--- + + + + + #### [CsvFile](#CsvFile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | String? | yes | | + +--- + + + + + #### [AddReportCsvFileResponse](#AddReportCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AddReportCsvFileRequest](#AddReportCsvFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | String? | yes | | + | organizationId | String? | yes | | + | name | String? | yes | | + | type | String? | yes | | + +--- + + + + + #### [ReportCsvFileResponse](#ReportCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AddReportRequestArray](#AddReportRequestArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + | merchantId | String? | yes | | + | category | String? | yes | | + | shopName | String? | yes | | + | legalName | String? | yes | | + | firstName | String? | yes | | + | middleName | String? | yes | | + | lastName | String? | yes | | + | aadhaar | String? | yes | | + | nameOnPan | String? | yes | | + | gstNumber | String? | yes | | + | gstBusinessName | String? | yes | | + | panNumber | String? | yes | | + | udyam | String? | yes | | + | ownershipType | String? | yes | | + | address | String? | yes | | + | pincode | String? | yes | | + | license1Type | String? | yes | | + | license1 | String? | yes | | + | license2Type | String? | yes | | + | license2 | String? | yes | | + +--- + + + + + #### [AddReportRequest](#AddReportRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | businessDetails | ArrayList? | yes | | + +--- + + + + + #### [AddReportResponseArray](#AddReportResponseArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + | merchantId | String? | yes | | + | anchorId | String? | yes | | + | category | String? | yes | | + | shopName | String? | yes | | + | legalName | String? | yes | | + | firstName | String? | yes | | + | middleName | String? | yes | | + | lastName | String? | yes | | + | aadhaar | String? | yes | | + | nameOnPan | String? | yes | | + | gstNumber | String? | yes | | + | gstBusinessName | String? | yes | | + | panNumber | String? | yes | | + | udyam | String? | yes | | + | ownershipType | String? | yes | | + | address | String? | yes | | + | pincode | String? | yes | | + | license1Type | String? | yes | | + | license1 | String? | yes | | + | license2Type | String? | yes | | + | license2 | String? | yes | | + +--- + + + + + #### [AddReportResponse](#AddReportResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | businessDetails | ArrayList<[AddReportResponseArray](#AddReportResponseArray)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [VintageDataResponseObject](#VintageDataResponseObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | String? | yes | | + | year | Integer? | yes | | + | revenue | String? | yes | | + | businessId | String? | yes | | + | createdBy | String? | yes | | + | id | String? | yes | | + | createdAt | String? | yes | | + | updatedBy | String? | yes | | + | updatedAt | String? | yes | | + +--- + + + + + #### [VintageDataResponse](#VintageDataResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | vintageData | ArrayList<[VintageDataResponseObject](#VintageDataResponseObject)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AddSkuRequestArray](#AddSkuRequestArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sku | String | no | | + | productName | String | no | | + | creditPurchaseOptionFlag | String | no | | + | effectiveDates | String | no | | + | organizationId | String | no | | + +--- + + + + + #### [AddSkuRequest](#AddSkuRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | skuDetails | ArrayList<[AddSkuRequestArray](#AddSkuRequestArray)>? | yes | | + +--- + + + + + #### [AddSkuResponse](#AddSkuResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [RestrictedSkuSchema](#RestrictedSkuSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | skuDetails | ArrayList? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OrganizationIpResponse](#OrganizationIpResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationId | String | no | | + | ip | String | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | id | String | no | | + +--- + + + + + #### [OrganizationIpDetails](#OrganizationIpDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationIps | ArrayList<[OrganizationIpResponse](#OrganizationIpResponse)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [TrFilterKeys](#TrFilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [TrFilterValues](#TrFilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [TrFilters](#TrFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [TrFilterKeys](#TrFilterKeys)? | yes | | + | values | ArrayList<[TrFilterValues](#TrFilterValues)>? | yes | | + +--- + + + + + #### [TrPageResponse](#TrPageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Double | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Double | no | | + | itemTotal | Double | no | | + +--- + + + + + #### [RefundSuccess](#RefundSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | Double | no | | + | transactionId | String | no | | + | refundId | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [RefundItem](#RefundItem) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | items | ArrayList | no | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [Refund](#Refund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | refundItems | [RefundItem](#RefundItem)? | yes | | + | refundId | String | no | | + | refundAmount | Double | no | | + +--- + + + + + #### [GetAccessTokenResponse](#GetAccessTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | refreshToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + | refreshTokenExpiryAt | String? | yes | | + | refreshTokenExpiryIn | String? | yes | | + | scope | ArrayList? | yes | | + +--- + + + + + #### [RefreshTokenResponse](#RefreshTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + +--- + + + + + #### [RefreshTokenRequest](#RefreshTokenRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | error | [IntegrationResponseError](#IntegrationResponseError) | no | | + +--- + + + + + #### [ValidateCredentialsData](#ValidateCredentialsData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean | no | | + | organizationId | String | no | | + | organizationName | String? | yes | | + +--- + + + + + #### [ValidateCredentialsResponse](#ValidateCredentialsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [ValidateCredentialsData](#ValidateCredentialsData) | no | | + +--- + + + + + #### [PaymentLinkResponse](#PaymentLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | message | String? | yes | | + | paymentLink | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [ApplicationCutomer](#ApplicationCutomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | mobile | String | no | | + | uid | String? | yes | | + | email | String? | yes | | + +--- + + + + + #### [GeoLocation](#GeoLocation) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | latitude | Double | no | | + | longitude | Double | no | | + +--- + + + + + #### [Address](#Address) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | line1 | String? | yes | | + | line2 | String? | yes | | + | city | String? | yes | | + | state | String? | yes | | + | country | String? | yes | | + | pincode | String? | yes | | + | type | String? | yes | | + | geoLocation | [GeoLocation](#GeoLocation)? | yes | | + +--- + + + + + #### [OrderItems](#OrderItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String? | yes | | + | sku | String? | yes | | + | rate | Double? | yes | | + | quantity | Double? | yes | | + +--- + + + + + #### [Order](#Order) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer | no | | + | uid | String | no | | + | items | ArrayList<[OrderItems](#OrderItems)>? | yes | | + | shippingAddress | [Address](#Address)? | yes | | + | billingAddress | [Address](#Address)? | yes | | + +--- + + + + + #### [Device](#Device) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ipAddress | String | no | | + | userAgent | String | no | | + | latitude | Double? | yes | | + | longitude | Double? | yes | | + +--- + + + + + #### [PaymentLinkRequest](#PaymentLinkRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | autoCapture | Boolean? | yes | | + | lenderId | String? | yes | | + | emiTenure | Double? | yes | | + | customer | [ApplicationCutomer](#ApplicationCutomer) | no | | + | order | [Order](#Order) | no | | + | device | [Device](#Device)? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [UpdateLenderStatusSchemaRequest](#UpdateLenderStatusSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | enable | Boolean? | yes | | + +--- + + + + + #### [UpdateLenderStatusSchemaResponse](#UpdateLenderStatusSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | mid | String? | yes | | + | enable | Boolean? | yes | | + | data | HashMap? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderTheme](#LenderTheme) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | iconUrl | String? | yes | | + | logoUrl | String? | yes | | + +--- + + + + + #### [LenderDetails](#LenderDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | name | String? | yes | | + | id | String? | yes | | + | theme | [LenderTheme](#LenderTheme)? | yes | | + +--- + + + + + #### [OutstandingData](#OutstandingData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderDetails | [LenderDetails](#LenderDetails)? | yes | | + | availableLimit | Double? | yes | | + | creditLimit | Double? | yes | | + | dueAmount | Double? | yes | | + | outstandingAmount | Double? | yes | | + | dueDate | String? | yes | | + +--- + + + + + #### [OutstandingDetailsResponse](#OutstandingDetailsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | outstandingDetails | ArrayList<[OutstandingData](#OutstandingData)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [CreateUserRequestSchema](#CreateUserRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String | no | | + | email | String? | yes | | + | firstName | String? | yes | | + | lastName | String? | yes | | + | gender | String? | yes | | + +--- + + + + + #### [CreateUserResponseSchema](#CreateUserResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + +--- + + + + + #### [UserSchema](#UserSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | firstName | String? | yes | | + | lastName | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | active | Boolean? | yes | | + | profilePicUrl | String? | yes | | + | isEmailVerified | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + diff --git a/documentation/public/MULTIKYC.md b/documentation/public/MULTIKYC.md new file mode 100644 index 0000000..834cb5f --- /dev/null +++ b/documentation/public/MULTIKYC.md @@ -0,0 +1,2825 @@ + + + + +##### [Back to Public docs](./README.md) + +## MultiKyc Methods +Will deprecate Hawkeye +* [getAlllenders](#getalllenders) +* [getLenderMetaSchema](#getlendermetaschema) +* [addLenderMetaSchema](#addlendermetaschema) +* [getAllUserLendersByEnityId](#getalluserlendersbyenityid) +* [getAvailableLimit](#getavailablelimit) +* [getUserKycDetails](#getuserkycdetails) +* [createPixelbinSignedUrl](#createpixelbinsignedurl) + + + +## Methods with example and description + + +### getAlllenders +Get alllenders + + + + +```java +multikyc.getAlllenders( lenderId, lenderSlug) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderId | String? | no | | +| lenderSlug | String? | no | | + + + + + +*Returned Response:* + + + + +[Lender](#Lender) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getLenderMetaSchema +Get lender meta schema + + + + +```java +multikyc.getLenderMetaSchema( lenderSlug) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | | + + + + + +*Returned Response:* + + + + +[MetaSchema](#MetaSchema) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### addLenderMetaSchema +Add lender meta schema + + + + +```java +multikyc.addLenderMetaSchema( lenderSlug, body body) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | | +| body | [AddMetaSchemaRequest](#AddMetaSchemaRequest) | yes | Request body | + + + + +*Returned Response:* + + + + +[AddMetaSchema](#AddMetaSchema) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getAllUserLendersByEnityId +Get all user lenders by enity id + + + + +```java +multikyc.getAllUserLendersByEnityId( entityId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | Object | yes | | +| entityId | String | yes | | + + + + + +*Returned Response:* + + + + +[GetUserLendersResponse](#GetUserLendersResponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getAvailableLimit +Get available limit + + + + +```java +multikyc.getAvailableLimit( lenderSlug, entityId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| lenderSlug | String | yes | | +| entityId | String | yes | | + + + + + +*Returned Response:* + + + + +[CreditLimitResponse](#CreditLimitResponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### getUserKycDetails +Get user kyc details + + + + +```java +multikyc.getUserKycDetails( enitityMap, entityId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | | +| enitityMap | String | yes | | +| entityId | String | yes | | + + + + + +*Returned Response:* + + + + +[CustomerKycDetailsReponse](#CustomerKycDetailsReponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + +### createPixelbinSignedUrl +Create pixelbin signed url + + + + +```java +multikyc.createPixelbinSignedUrl( documentName, purpose, extention) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| documentName | String | yes | | +| purpose | String? | no | | +| extention | String? | no | | + + + + + +*Returned Response:* + + + + +[SignedUrlResponse](#SignedUrlResponse) + + + + + + +
+  Example: + +```json + +``` +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [Lender](#Lender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | imageUrl | String? | yes | | + | slug | String? | yes | | + | theme | Object? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | merchantConfigSchema | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | meta | Object? | yes | | + | metaSchema | Object? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UserKycDetail](#UserKycDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | status | String | no | | + | type | String | no | | + | remark | String | no | | + | profileType | String | no | | + | active | Boolean | no | | + | expiryDate | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | lenderId | String | no | | + | lender | [Lender](#Lender)? | yes | | + | entityMapId | String? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [Form](#Form) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | title | String? | yes | | + | subtitle | String? | yes | | + | action | String? | yes | | + | form | Object? | yes | | + | uiSchema | Object? | yes | | + | workflowId | String? | yes | | + +--- + + + + + #### [LenderKycStepMap](#LenderKycStepMap) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | step | String | no | | + | stepIndex | Double | no | | + | lenderId | String | no | | + | active | Boolean | no | | + | rules | Object | no | | + | profileType | String | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | name | String | no | | + | description | String | no | | + | iconUrl | String | no | | + | isInteractive | Boolean | no | | + | formId | String? | yes | | + | merchantId | String? | yes | | + | form | [Form](#Form) | no | | + | docSchema | Object | no | | + +--- + + + + + #### [Document](#Document) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | imageUrl | String | no | | + | number | String | no | | + | detail | Object | no | | + | valid | Boolean | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [UserKycLenderStepMap](#UserKycLenderStepMap) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderKycStepMapId | String | no | | + | userKycDetailId | String | no | | + | lenderId | String | no | | + | ruleState | Object | no | | + | active | Boolean | no | | + | status | String | no | | + | documentId | String? | yes | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | lenderKycStepMap | [LenderKycStepMap](#LenderKycStepMap)? | yes | | + | entityMapId | String? | yes | | + | entityId | String? | yes | | + | updatedBy | String? | yes | | + +--- + + + + + #### [UserLender](#UserLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | approvedLimit | Double | no | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [ProofOfIdentity](#ProofOfIdentity) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dob | String | no | | + | hashedEmail | String | no | | + | gender | String | no | | + | hashedMobileNumber | String | no | | + | name | String | no | | + +--- + + + + + #### [ProofOfAddress](#ProofOfAddress) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | careOf | String | no | | + | country | String | no | | + | district | String | no | | + | house | String | no | | + | landmark | String | no | | + | locality | String | no | | + | pincode | String | no | | + | postOffice | String | no | | + | state | String | no | | + | street | String | no | | + | subDistrict | String | no | | + | vtc | String | no | | + +--- + + + + + #### [EAadhaarData](#EAadhaarData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | aadhaarReferenceNumber | String | no | | + | aadhaarUid | String | no | | + | image | String | no | | + | proofOfIdentity | [ProofOfIdentity](#ProofOfIdentity) | no | | + | proofOfAddress | [ProofOfAddress](#ProofOfAddress) | no | | + | xml | String? | yes | | + | pdf | String? | yes | | + | address | String? | yes | | + +--- + + + + + #### [EntityMapDto](#EntityMapDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merchantId | String? | yes | | + | status | String? | yes | | + | lenderId | String | no | | + | limit | Double? | yes | | + | creditType | String? | yes | | + | userId | String | no | | + | entityId | String | no | | + +--- + + + + + #### [EntityDto](#EntityDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | type | String? | yes | | + | address | String? | yes | | + | name | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | userId | String | no | | + +--- + + + + + #### [MerchantSchema](#MerchantSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | logo | String? | yes | | + | website | String? | yes | | + | apiHook | String? | yes | | + | epikId | String? | yes | | + | disbursementAccountHolderName | String? | yes | | + | disbursementAccountNumber | String? | yes | | + | disbursementIfsc | String? | yes | | + | createdBy | String? | yes | | + | active | Boolean? | yes | | + | category | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | businessName | String? | yes | | + | email | String? | yes | | + | businessAddress | String? | yes | | + | pincode | String? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + +--- + + + + + #### [Consent](#Consent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | text | String | no | | + | type | String | no | | + +--- + + + + + #### [ValidatePanRequest](#ValidatePanRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pan | String | no | | + | consents | ArrayList<[Consent](#Consent)> | no | | + +--- + + + + + #### [BankDetails](#BankDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | accountType | String | no | | + | bankName | String | no | | + | ifsc | String | no | | + | accountNumber | String | no | | + | accountHolderName | String | no | | + +--- + + + + + #### [DocumentData](#DocumentData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | selfie | String? | yes | | + | video | String? | yes | | + | digilockerCode | String? | yes | | + | bankDetails | [BankDetails](#BankDetails)? | yes | | + +--- + + + + + #### [ConfirmPanRequest](#ConfirmPanRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pan | String | no | | + | name | String | no | | + | entity | String? | yes | | + | merchantId | String? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [LivelinessDetails](#LivelinessDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | selfie | String | no | | + | video | String | no | | + +--- + + + + + #### [UploadDocumentRequest](#UploadDocumentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | Object? | yes | | + | documentData | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadDocumentRequestV1](#UploadDocumentRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycStep | String | no | | + | entityMapId | String | no | | + | documentData | Object | no | | + +--- + + + + + #### [UploadDocumentRequestV3](#UploadDocumentRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycStep | String | no | | + | entityMapId | String | no | | + | documentData | Object | no | | + +--- + + + + + #### [AadhaarRequest](#AadhaarRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | digilockerCode | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequest](#UploadAadhaarRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadLivelinessRequest](#UploadLivelinessRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequestV1](#UploadAadhaarRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadLivelinessRequestV1](#UploadLivelinessRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadAadhaarRequestV2](#UploadAadhaarRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadLivelinessRequestV2](#UploadLivelinessRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [UploadAadhaarRequestV3](#UploadAadhaarRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [AadhaarRequest](#AadhaarRequest) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadLivelinessRequestV3](#UploadLivelinessRequestV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [LivelinessDetails](#LivelinessDetails) | no | | + | kycStep | String | no | | + | entityMapId | String | no | | + +--- + + + + + #### [UploadBankDetailsRequest](#UploadBankDetailsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documentData | [BankDetails](#BankDetails)? | yes | | + | user | Object? | yes | | + | lenderSlug | String | no | | + | kycStep | String | no | | + | merchantId | String? | yes | | + | entityMapId | String? | yes | | + +--- + + + + + #### [InitiateKycRequest](#InitiateKycRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycType | String | no | | + | kycId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [InitiateKycRequestV1](#InitiateKycRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityMapId | String | no | | + | kycType | String | no | | + | kycId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderOnboardRequest](#LenderOnboardRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ack | String? | yes | | + | data | Object | no | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderOnboardRequestV1](#LenderOnboardRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityMapId | String | no | | + | ack | String? | yes | | + | data | Object | no | | + | merchantId | String? | yes | | + +--- + + + + + #### [UpdateLenderStatusRequest](#UpdateLenderStatusRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | payload | Object | no | | + | data | Object | no | | + | action | Boolean | no | | + +--- + + + + + #### [UpdateProfileRequest](#UpdateProfileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | userId | String | no | | + | isOnboarded | Boolean? | yes | | + | address | String? | yes | | + +--- + + + + + #### [UpdateEntityRequest](#UpdateEntityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | isDefault | Boolean? | yes | | + | address | [ProofOfAddress](#ProofOfAddress)? | yes | | + +--- + + + + + #### [CreateKycStepsRequest](#CreateKycStepsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [CreateLenderPgConfigRequest](#CreateLenderPgConfigRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | active | Boolean | no | | + | pgId | String | no | | + | lenderId | String | no | | + +--- + + + + + #### [CreateLenderStateRequest](#CreateLenderStateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpdateLenderRequest](#UpdateLenderRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + | lenderId | String | no | | + +--- + + + + + #### [OtherPolicyFilters](#OtherPolicyFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderBy | ArrayList? | yes | | + +--- + + + + + #### [GetPolicyFilters](#GetPolicyFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyType | String? | yes | | + | lenderIds | ArrayList? | yes | | + | merchantIds | ArrayList? | yes | | + | orderBy | ArrayList? | yes | | + +--- + + + + + #### [GetPolicyFilters2](#GetPolicyFilters2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | breType | String? | yes | | + | lenderId | ArrayList? | yes | | + | merchantId | ArrayList? | yes | | + | loanType | String? | yes | | + | journeyType | String? | yes | | + | subType | String? | yes | | + +--- + + + + + #### [MerchantConfigRequest](#MerchantConfigRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merchantConfigSchema | Object | no | | + +--- + + + + + #### [PanDetails](#PanDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | idNumber | String | no | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [AvailableLendersRequest](#AvailableLendersRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String | no | | + +--- + + + + + #### [InitialData](#InitialData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String | no | | + | entityId | String | no | | + +--- + + + + + #### [ExecutePolicyRequest](#ExecutePolicyRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyFilters | [GetPolicyFilters](#GetPolicyFilters)? | yes | | + | initialData | [InitialData](#InitialData) | no | | + +--- + + + + + #### [ExecutePolicyRequest2](#ExecutePolicyRequest2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policyFilters | [GetPolicyFilters2](#GetPolicyFilters2)? | yes | | + | initialData | [InitialData](#InitialData) | no | | + +--- + + + + + #### [RegisterGstRequest](#RegisterGstRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstin | String | no | | + | skipGst | Boolean? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [PopulateFormRequest](#PopulateFormRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | form | Object | no | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [ValidateFormFieldRequest](#ValidateFormFieldRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | workflowName | String | no | | + | userId | String? | yes | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | fields | Object | no | | + +--- + + + + + #### [MerchantMetricFilter](#MerchantMetricFilter) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean? | yes | | + +--- + + + + + #### [LenderCustomerMetricsRequest](#LenderCustomerMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sort | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)>? | yes | | + | filters | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)>? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [StonewallCustomer](#StonewallCustomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + | uid | String? | yes | | + +--- + + + + + #### [GetLimitRequest](#GetLimitRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderSlugs | ArrayList? | yes | | + | onlyDefaultLender | Boolean? | yes | | + | customer | [StonewallCustomer](#StonewallCustomer) | no | | + +--- + + + + + #### [DocumentObject](#DocumentObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | name | String? | yes | | + | imageUrl | String? | yes | | + | number | String | no | | + | detail | Object | no | | + | valid | Boolean? | yes | | + | entityId | String? | yes | | + +--- + + + + + #### [ManualKycRequest](#ManualKycRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | remark | Object | no | | + | status | String | no | | + | stepId | String | no | | + | entityMapId | String | no | | + | documentData | [DocumentObject](#DocumentObject)? | yes | | + +--- + + + + + #### [RetriggerLenderOnboardRequest](#RetriggerLenderOnboardRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | stepId | String | no | | + | data | Object | no | | + +--- + + + + + #### [BusinessDetail](#BusinessDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | shopName | String? | yes | | + | legalName | String | no | | + | address | String? | yes | | + | type | String? | yes | | + | pincode | String? | yes | | + +--- + + + + + #### [VintageData](#VintageData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | Double | no | | + | year | Double | no | | + | totalTransactions | Double | no | | + | totalTransactionAmount | Double | no | | + | totalCancellations | Double? | yes | | + | totalCancellationAmount | Double? | yes | | + +--- + + + + + #### [DocumentObjects](#DocumentObjects) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | | + | category | String | no | | + | type | String | no | | + | name | String? | yes | | + | issuedOn | String? | yes | | + | issuedAt | String? | yes | | + | issuedBy | String? | yes | | + | expiryOn | String? | yes | | + +--- + + + + + #### [AddVintageRequest](#AddVintageRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | Object | no | | + | businessDetails | [BusinessDetail](#BusinessDetail) | no | | + | vintageData | [VintageData](#VintageData) | no | | + | documents | [DocumentObjects](#DocumentObjects) | no | | + | merchant | [MerchantSchema](#MerchantSchema) | no | | + +--- + + + + + #### [CheckEligibilityRequest](#CheckEligibilityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entity | [EntityDto](#EntityDto)? | yes | | + | isPreApproved | Boolean | no | | + | fetchLimit | Boolean? | yes | | + | user | Object | no | | + | businessDetails | [BusinessDetail](#BusinessDetail) | no | | + | vintageData | [VintageData](#VintageData) | no | | + | documents | [DocumentObjects](#DocumentObjects) | no | | + | merchant | [MerchantSchema](#MerchantSchema) | no | | + +--- + + + + + #### [KycCountByStatus](#KycCountByStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + +--- + + + + + #### [FindDocResponse](#FindDocResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | info | String | no | | + | details | Object? | yes | | + | name | String? | yes | | + +--- + + + + + #### [LenderKycStatus](#LenderKycStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | lenderId | String? | yes | | + | lenderName | String? | yes | | + | kycType | String? | yes | | + +--- + + + + + #### [StateResponeDto](#StateResponeDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | step | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + | isStepCompleted | Boolean | no | | + +--- + + + + + #### [KycStateMachineDto](#KycStateMachineDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [UserKycLenderStepMap](#UserKycLenderStepMap)? | yes | | + +--- + + + + + #### [InitiateKycDto](#InitiateKycDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycType | String | no | | + | lenderId | String | no | | + | user | Object | no | | + | kycId | String? | yes | | + | entityRelation | [EntityMapDto](#EntityMapDto)? | yes | | + +--- + + + + + #### [LenderOnboardDto](#LenderOnboardDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lender | [Lender](#Lender)? | yes | | + | user | Object | no | | + | userLenderDetail | [UserLender](#UserLender)? | yes | | + | payload | [LenderOnboardRequest](#LenderOnboardRequest) | no | | + | entityRelation | [EntityMapDto](#EntityMapDto)? | yes | | + | ipAddress | String | no | | + | overrideTtl | Boolean? | yes | | + +--- + + + + + #### [StepDetails](#StepDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | description | String? | yes | | + | iconUrl | String? | yes | | + | status | String | no | | + | step | String | no | | + | order | Double | no | | + +--- + + + + + #### [OnboardStatusDto](#OnboardStatusDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | onboardStep | String | no | | + | onboardingId | String | no | | + | status | String | no | | + | action | String | no | | + | actionStatus | String | no | | + | lender | [Lender](#Lender) | no | | + | navigation | String? | yes | | + | approvedLimit | Double | no | | + | proposedLimit | Double | no | | + | actionData | Object? | yes | | + | steps | ArrayList<[StepDetails](#StepDetails)>? | yes | | + | entityId | String | no | | + | entityMapId | String | no | | + | actionIsForm | Boolean | no | | + | actionForm | [Form](#Form)? | yes | | + | merchantId | String? | yes | | + | actionName | String? | yes | | + | actionDescription | String? | yes | | + +--- + + + + + #### [LenderFilters](#LenderFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | includeStatus | ArrayList? | yes | | + | excludeStatus | ArrayList? | yes | | + | allowDisabledLender | Object? | yes | | + +--- + + + + + #### [Policy](#Policy) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | url | String? | yes | | + | data | Object? | yes | | + | version | String? | yes | | + | active | Boolean? | yes | | + | type | Object? | yes | | + | index | Integer? | yes | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | workflowId | String? | yes | | + | schemaRef | ArrayList? | yes | | + | masterVariableRef | ArrayList? | yes | | + | customVariable | Object? | yes | | + | subType | String? | yes | | + | createdAt | Object? | yes | | + | updatedAt | Object? | yes | | + | deletedAt | Object? | yes | | + +--- + + + + + #### [OrganizationLogosObject](#OrganizationLogosObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String | no | | + | logo | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [MetricSubTypes](#MetricSubTypes) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String | no | | + | count | String? | yes | | + | sum | String? | yes | | + +--- + + + + + #### [MetricTypes](#MetricTypes) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | pivots | ArrayList<[MetricSubTypes](#MetricSubTypes)> | no | | + | total | String? | yes | | + | description | String | no | | + | title | String | no | | + | valueFormat | String | no | | + | logo | String | no | | + +--- + + + + + #### [BreApprovedUsersResponse](#BreApprovedUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [MetricTypes](#MetricTypes) | no | | + +--- + + + + + #### [Metrics](#Metrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderApprovedUsers | [MetricTypes](#MetricTypes) | no | | + | breApprovedUsers | [MetricTypes](#MetricTypes) | no | | + | totalCreditLine | [MetricTypes](#MetricTypes) | no | | + +--- + + + + + #### [MetricData](#MetricData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [Metrics](#Metrics) | no | | + | filters | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)> | no | | + | sort | ArrayList<[MerchantMetricFilter](#MerchantMetricFilter)> | no | | + +--- + + + + + #### [GetAllUserLendersByEnityId](#GetAllUserLendersByEnityId) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityId | String | no | | + | entityMapId | String | no | | + | userId | String | no | | + | status | String | no | | + | lender | [Lender](#Lender)? | yes | | + | partnerId | String? | yes | | + | approvedLimit | Double? | yes | | + +--- + + + + + #### [ApprovedLenders](#ApprovedLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | lenders | ArrayList<[BreOutput](#BreOutput)> | no | | + +--- + + + + + #### [BreResultStatus](#BreResultStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | approvedLenders | ArrayList<[BreOutput](#BreOutput)>? | yes | | + +--- + + + + + #### [LenderState](#LenderState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | lenderId | String | no | | + | index | Integer | no | | + | workflowName | String | no | | + | workflowUrl | String? | yes | | + | active | Boolean | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | lender | [Lender](#Lender)? | yes | | + | parentStateId | String? | yes | | + | ttl | Double | no | | + | displayName | String? | yes | | + | description | String? | yes | | + | iconUrl | String? | yes | | + | isInteractive | Boolean | no | | + | schema | Object? | yes | | + +--- + + + + + #### [UserLenderState](#UserLenderState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | lenderStateId | String | no | | + | lenderId | String | no | | + | userId | String | no | | + | status | String | no | | + | userLenderId | String | no | | + | remark | String | no | | + | active | Boolean | no | | + | lenderState | [LenderState](#LenderState)? | yes | | + | data | Object? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | entityId | String? | yes | | + | entityMapId | String? | yes | | + | updatedBy | String? | yes | | + +--- + + + + + #### [LenderConfig](#LenderConfig) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | baseUrl | String | no | | + | accessToken | String? | yes | | + | secret | String? | yes | | + | data | Object | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [Pg](#Pg) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [LenderPgConfig](#LenderPgConfig) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | lenderId | String | no | | + | pgId | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [FileUploadResponse](#FileUploadResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fileId | String | no | | + | name | String | no | | + | path | String | no | | + | format | String | no | | + | size | Double | no | | + | access | String | no | | + | tags | String | no | | + | metadata | String | no | | + | url | String | no | | + | thumbnail | String | no | | + +--- + + + + + #### [PresignedUrl](#PresignedUrl) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | url | String | no | | + | fields | Object | no | | + +--- + + + + + #### [PresignedUrlV2](#PresignedUrlV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | url | String | no | | + | fields | Object | no | | + +--- + + + + + #### [LenderDocument](#LenderDocument) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | lenderId | String? | yes | | + | type | String? | yes | | + | document | Object? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [SourceCreditReport](#SourceCreditReport) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | pan | String | no | | + | name | String | no | | + | mobile | String | no | | + | bureau | String | no | | + | score | String | no | | + | report | String | no | | + | createdAt | String? | yes | | + +--- + + + + + #### [Commercial](#Commercial) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | lenderId | String | no | | + | merchantId | String | no | | + | commercial | Object | no | | + | active | Boolean | no | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + +--- + + + + + #### [KycStatusResponse](#KycStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | isKycInitiated | Boolean | no | | + | userId | String | no | | + | kycStatuses | ArrayList<[LenderKycStatus](#LenderKycStatus)> | no | | + +--- + + + + + #### [WorkflowResponse](#WorkflowResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object? | yes | | + +--- + + + + + #### [Action](#Action) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | step | String | no | | + | status | String | no | | + | index | Double | no | | + | isForm | Boolean? | yes | | + | form | [Form](#Form) | no | | + +--- + + + + + #### [InitiateKycResponse](#InitiateKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [Action](#Action) | no | | + +--- + + + + + #### [UploadDocResponse](#UploadDocResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | data | Object? | yes | | + | remark | String? | yes | | + | reasons | String | no | | + | kycResult | [UserKycDetail](#UserKycDetail) | no | | + | action | [Action](#Action) | no | | + +--- + + + + + #### [LenderOnboardResponse](#LenderOnboardResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | result | [UserLender](#UserLender) | no | | + | action | [UserLenderState](#UserLenderState) | no | | + | data | Object | no | | + +--- + + + + + #### [OnboardingStatusResponse](#OnboardingStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | onboardStatuses | ArrayList<[OnboardStatusDto](#OnboardStatusDto)> | no | | + +--- + + + + + #### [SignedUrlResponse](#SignedUrlResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | [PresignedUrl](#PresignedUrl) | no | | + | fileUrl | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [SignedUrlV2Response](#SignedUrlV2Response) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | [PresignedUrlV2](#PresignedUrlV2) | no | | + | fileUrl | String | no | | + +--- + + + + + #### [PresignedUrlV3](#PresignedUrlV3) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedUrl | String | no | | + | provider | Object | no | | + +--- + + + + + #### [SignedUrlV3Response](#SignedUrlV3Response) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | signedDetails | [PresignedUrlV3](#PresignedUrlV3) | no | | + | fileUrl | String | no | | + +--- + + + + + #### [DigilockerLinkResponse](#DigilockerLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | authorizationUrl | String | no | | + +--- + + + + + #### [GetDocumentsResponse](#GetDocumentsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | documents | ArrayList<[FindDocResponse](#FindDocResponse)> | no | | + +--- + + + + + #### [ApprovedLendersTransaction](#ApprovedLendersTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | slug | String | no | | + | imageUrl | String | no | | + | status | String | no | | + | active | Boolean | no | | + | proposedLimit | Double | no | | + | createdAt | Object | no | | + | updatedAt | Object | no | | + | deletedAt | Object? | yes | | + | isDefault | Boolean? | yes | | + +--- + + + + + #### [ApprovedPossibleLenders](#ApprovedPossibleLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | | + | name | String | no | | + | slug | String | no | | + | active | Boolean | no | | + | id | String | no | | + | theme | Object? | yes | | + +--- + + + + + #### [AvailableLenders](#AvailableLenders) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | approvedLenders | ArrayList<[ApprovedPossibleLenders](#ApprovedPossibleLenders)> | no | | + | possibleLenders | ArrayList<[ApprovedPossibleLenders](#ApprovedPossibleLenders)> | no | | + +--- + + + + + #### [CreditLimit](#CreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | availableLimit | Double | no | | + | approvedLimit | Double | no | | + +--- + + + + + #### [CreditLimitResponse](#CreditLimitResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | action | Boolean | no | | + | credit | [CreditLimit](#CreditLimit) | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [LenderPgConfigResponse](#LenderPgConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | mid | String | no | | + | clientId | String | no | | + | secret | String | no | | + | lenderId | String | no | | + | pgId | String | no | | + | active | Boolean | no | | + | pgName | String | no | | + | pgActive | Boolean | no | | + +--- + + + + + #### [GetLendersResponse](#GetLendersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[Lender](#Lender)> | no | | + +--- + + + + + #### [LenderConfigurationResponse](#LenderConfigurationResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lender | [Lender](#Lender) | no | | + | lenderPgConfig | [LenderPgConfig](#LenderPgConfig) | no | | + | lenderConfig | [LenderConfig](#LenderConfig) | no | | + | lenderState | ArrayList<[LenderState](#LenderState)> | no | | + | lenderKycStepMap | ArrayList<[LenderKycStepMap](#LenderKycStepMap)> | no | | + +--- + + + + + #### [UpsertLenderResponse](#UpsertLenderResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpsertLenderConfigResponse](#UpsertLenderConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [CreateKycStepsSchema](#CreateKycStepsSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderKycStepMap](#LenderKycStepMap)> | no | | + +--- + + + + + #### [CreatePaymentGatewaySchema](#CreatePaymentGatewaySchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderPgConfig](#LenderPgConfig)> | no | | + +--- + + + + + #### [CreateLenderStateSchema](#CreateLenderStateSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[LenderState](#LenderState)> | no | | + +--- + + + + + #### [GetAllPaymentGatewaysSchema](#GetAllPaymentGatewaysSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[Pg](#Pg)> | no | | + +--- + + + + + #### [PolicyResponse](#PolicyResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | policies | ArrayList<[Policy](#Policy)> | no | | + +--- + + + + + #### [CreditCheckBreResponse](#CreditCheckBreResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | newLenderAssigned | Boolean | no | | + | breStatus | String | no | | + +--- + + + + + #### [MerchantConfigResponse](#MerchantConfigResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | merhantConfigSchema | String | no | | + +--- + + + + + #### [UserLenderByIdAndStatusResponse](#UserLenderByIdAndStatusResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | lenderId | String | no | | + | active | Boolean? | yes | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String? | yes | | + | approvedLimit | Double | no | | + | slug | String? | yes | | + | theme | Object? | yes | | + | name | Object? | yes | | + +--- + + + + + #### [IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | | + | lenderName | String | no | | + | slug | String | no | | + | isDefault | Boolean | no | | + | logoUrl | String | no | | + +--- + + + + + #### [IngtrAvailableLimit](#IngtrAvailableLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | available | ArrayList<[IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit)> | no | | + | possible | ArrayList<[IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit)>? | yes | | + +--- + + + + + #### [IntgrCreditLimit](#IntgrCreditLimit) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | [IngtrAvailableLimit](#IngtrAvailableLimit) | no | | + +--- + + + + + #### [PossibleLendersInternal](#PossibleLendersInternal) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Boolean | no | | + | lenderName | String | no | | + | slug | String | no | | + | isDefault | Boolean | no | | + | logo | String | no | | + | lenderId | String | no | | + +--- + + + + + #### [PossibleLendersInternalResponse](#PossibleLendersInternalResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenders | ArrayList<[PossibleLendersInternal](#PossibleLendersInternal)> | no | | + +--- + + + + + #### [GetTotalKycResponse](#GetTotalKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalKyc | String | no | | + +--- + + + + + #### [GetTotalKycCompletedUsersResponse](#GetTotalKycCompletedUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalKycCompletedUsers | String | no | | + +--- + + + + + #### [GetTotalPendingUsersResponse](#GetTotalPendingUsersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalPendingKyc | String | no | | + +--- + + + + + #### [GetTotalCreditProvidedResponse](#GetTotalCreditProvidedResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalCreditLimit | String | no | | + +--- + + + + + #### [MetaSchemaResponse](#MetaSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | name | String | no | | + | required | ArrayList | no | | + | type | String | no | | + | properties | HashMap | no | | + +--- + + + + + #### [MetaSchema](#MetaSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metaSchema | [MetaSchemaResponse](#MetaSchemaResponse) | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AddMetaSchema](#AddMetaSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | lenderSlug | String | no | | + | merchantId | String | no | | + | schema | Object | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AddMetaSchemaRequest](#AddMetaSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String | no | | + | schema | Object | no | | + +--- + + + + + #### [ValidatePanResponse](#ValidatePanResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | panName | String | no | | + | isPanValid | String | no | | + | pan | String | no | | + | isProprietor | Boolean | no | | + | panType | String | no | | + | errorCode | String? | yes | | + | status | String? | yes | | + | errorMessage | String? | yes | | + +--- + + + + + #### [ConfirmPanResonse](#ConfirmPanResonse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | statusCode | String | no | | + | message | String | no | | + +--- + + + + + #### [LenderCountResponse](#LenderCountResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | active | Double | no | | + | inActive | Double | no | | + +--- + + + + + #### [OnboardStepsDto](#OnboardStepsDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | steps | ArrayList<[StepDetails](#StepDetails)> | no | | + | lender | [Lender](#Lender) | no | | + +--- + + + + + #### [OnboardStepsResponse](#OnboardStepsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | stepDetails | ArrayList<[OnboardStepsDto](#OnboardStepsDto)> | no | | + +--- + + + + + #### [LenderDocumentResponse](#LenderDocumentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [LenderDocument](#LenderDocument) | no | | + +--- + + + + + #### [GetUserLendersResponse](#GetUserLendersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | ArrayList<[UserLender](#UserLender)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [CreditReportResponse](#CreditReportResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [SourceCreditReport](#SourceCreditReport) | no | | + +--- + + + + + #### [KycDetailsReponse](#KycDetailsReponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + +--- + + + + + #### [GetDocumentByIdResponse](#GetDocumentByIdResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [Document](#Document) | no | | + +--- + + + + + #### [GetAllFormsResponse](#GetAllFormsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [UpsertFormResponse](#UpsertFormResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | Object | no | | + +--- + + + + + #### [GstDetails](#GstDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstin | String | no | | + | businessName | String | no | | + +--- + + + + + #### [GstDetailsResponse](#GstDetailsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstDetails | ArrayList<[GstDetails](#GstDetails)> | no | | + +--- + + + + + #### [RegisterGstResponse](#RegisterGstResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | gstDocDetails | [Document](#Document) | no | | + | status | String | no | | + +--- + + + + + #### [PopulateFormResponse](#PopulateFormResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | form | Object | no | | + +--- + + + + + #### [ValidateFormFieldResponse](#ValidateFormFieldResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | data | Object | no | | + +--- + + + + + #### [LenderCustomerMetricsResponse](#LenderCustomerMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | data | [MetricData](#MetricData) | no | | + +--- + + + + + #### [BreOutput](#BreOutput) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | entityId | String | no | | + | lenderId | String? | yes | | + | merchantId | String? | yes | | + | policyName | String | no | | + | category | String | no | | + | type | String | no | | + | output | Object | no | | + | status | String | no | | + | createdAt | String | no | | + | updatedAt | String | no | | + | deletedAt | String | no | | + +--- + + + + + #### [ManualKycResponse](#ManualKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | | + | step | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + +--- + + + + + #### [CustomerKycDetailsReponse](#CustomerKycDetailsReponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [UserKycLenderStepMap](#UserKycLenderStepMap) | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [PlatformFees](#PlatformFees) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customerAcquisitionFee | Double | no | | + | transactionFee | Double | no | | + +--- + + + + + #### [CommercialResponse](#CommercialResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [Commercial](#Commercial) | no | | + +--- + + + + + #### [LenderMerchantConf](#LenderMerchantConf) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | lenderId | String | no | | + | merchantId | String | no | | + | schema | String | no | | + +--- + + + diff --git a/documentation/public/TRANSACTION.md b/documentation/public/TRANSACTION.md new file mode 100644 index 0000000..104e0fd --- /dev/null +++ b/documentation/public/TRANSACTION.md @@ -0,0 +1,1549 @@ + + + + +##### [Back to Public docs](./README.md) + +## Transaction Methods +Transaction Service +* [getTransactions](#gettransactions) +* [getAllTransactionsCSV](#getalltransactionscsv) +* [getTransactionDetails](#gettransactiondetails) +* [getTransactionCount](#gettransactioncount) +* [getRefundCount](#getrefundcount) +* [getSumOfTransactions](#getsumoftransactions) +* [getCustomerCount](#getcustomercount) +* [getDayTotal](#getdaytotal) +* [getTransactionUtrCount](#gettransactionutrcount) + + + +## Methods with example and description + + +### getTransactions +Get List of transactions + + + + +```java +transaction.getTransactions( page, type, status, limit, id, orderId, name, mobile, entityId, utr, startDate, endDate) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| page | Double | yes | This is page number | +| type | List? | no | This is transaction type | +| status | List? | no | This is transaction status | +| limit | Double | yes | This is no of transaction | +| organizationId | String | yes | This is the organization ID | +| id | String? | no | This is the search term | +| orderId | String? | no | This is the search term | +| name | String? | no | This is the search term | +| mobile | String? | no | This is the search term | +| entityId | String? | no | This is the entity id | +| utr | String? | no | This is the UTR number | +| startDate | String? | no | This is used to filter from date | +| endDate | String? | no | This is used to filter till date | + + + +Use this API to get list of user's transaction. + +*Returned Response:* + + + + +[OrganizationTransactionResponse](#OrganizationTransactionResponse) + +Success. Returns a JSON object as shown below. Refer `OrganizationTransactionResponse` for more details. + + + + +
+  Example: + +```json +[ + { + "id": 1, + "type": "credit", + "amount": "10000", + "remark": "Potlee credit" + } +] +``` +
+ + + + + + + + + +--- + + +### getAllTransactionsCSV +Get List of transactions + + + + +```java +transaction.getAllTransactionsCSV( page, type, limit, id, orderId, name, mobile, userId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| page | Double | yes | This is page number | +| type | List? | no | This is transaction type | +| limit | Double | yes | This is no of transaction | +| organizationId | String | yes | This is the organization ID | +| id | String? | no | This is the search term | +| orderId | String? | no | This is the search term | +| name | String? | no | This is the search term | +| mobile | String? | no | This is the search term | +| userId | String? | no | This is the user id | + + + +Use this API to get list of user's transaction. + +*Returned Response:* + + + + +[OrganizationTransactionResponse](#OrganizationTransactionResponse) + +Success. Returns a JSON object as shown below. Refer `OrganizationTransactionResponse` for more details. + + + + +
+  Example: + +```json +[ + { + "id": 1, + "type": "credit", + "amount": "10000", + "remark": "Potlee credit" + } +] +``` +
+ + + + + + + + + +--- + + +### getTransactionDetails +Get List of transactions + + + + +```java +transaction.getTransactionDetails( transactionId, userId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is the organization ID | +| transactionId | String | yes | This is the transactionId | +| userId | String? | no | This is the user id | + + + +Use this API to get list of user's transaction. + +*Returned Response:* + + + + +[OrgTransactions](#OrgTransactions) + +Success. Returns a JSON object as shown below. Refer `OrgTransactions` for more details. + + + + +
+  Example: + +```json +[ + { + "id": 1, + "type": "credit", + "amount": "10000", + "remark": "Potlee credit" + } +] +``` +
+ + + + + + + + + +--- + + +### getTransactionCount +Get Count of transactions + + + + +```java +transaction.getTransactionCount( startDate, endDate) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is Organization id | +| startDate | String? | no | startDate of filter | +| endDate | String? | no | endDate of filter | + + + +Use this API to get count of user's transaction. + +*Returned Response:* + + + + +[OrganizationTransactionsCount](#OrganizationTransactionsCount) + +Success. Returns a JSON object as shown below. Refer `OrganizationTransactionsCount` for more details.. + + + + +
+  Example: + +```json +{ + "count": 1 +} +``` +
+ + + + + + + + + +--- + + +### getRefundCount +Get Count of refunds + + + + +```java +transaction.getRefundCount( startDate, endDate) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is Organization id | +| startDate | String? | no | startDate of filter | +| endDate | String? | no | endDate of filter | + + + +Use this API to get count of user's refunds. + +*Returned Response:* + + + + +[RefundCount](#RefundCount) + +Success. Returns a JSON object as shown below. Refer `RefundCount` for more details.. + + + + +
+  Example: + +```json +{ + "count": 1 +} +``` +
+ + + + + + + + + +--- + + +### getSumOfTransactions +Get Sum of transactions + + + + +```java +transaction.getSumOfTransactions( startDate, endDate) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is Organization id | +| startDate | String? | no | startDate of filter | +| endDate | String? | no | endDate of filter | + + + +Use this API to get Sum of all credited user's transaction. + +*Returned Response:* + + + + +[OrganizationTransactionsSum](#OrganizationTransactionsSum) + +Success. Returns a JSON object as shown below. Refer `OrganizationTransactionsSum` for more details. + + + + +
+  Example: + +```json +{ + "sum": 1 +} +``` +
+ + + + + + + + + +--- + + +### getCustomerCount +Get Total Unique Count of Customers + + + + +```java +transaction.getCustomerCount( startDate, endDate) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is Organization id | +| startDate | String? | no | startDate of filter | +| endDate | String? | no | endDate of filter | + + + +Use this API to get Count of all Customers. + +*Returned Response:* + + + + +[UniqueCustomersInOrg](#UniqueCustomersInOrg) + +Success. Returns a JSON object as shown below. Refer `UniqueCustomersInOrg` for more details.. + + + + +
+  Example: + +```json +{ + "count": 1 +} +``` +
+ + + + + + + + + +--- + + +### getDayTotal +Get sum of day total + + + + +```java +transaction.getDayTotal( startDate, endDate) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is Organization id | +| startDate | String | yes | startDate of filter | +| endDate | String? | no | endDate of filter | + + + +Use this API to get total amoun of all transaction in a day + +*Returned Response:* + + + + +[SumofOneDayTransactions](#SumofOneDayTransactions) + +Success. Returns a JSON object as shown below. Refer `SumofOneDayTransactions` for more details.. + + + + +
+  Example: + +```json +[ + { + "orgId:\"efbf45ac-f015-48e5-a11f-1053922876b7\" createdAt:\"2020-01-01\" count:\"1\" sum:500": null, + "refund:500": null, + "difference:500": null + } +] +``` +
+ + + + + + + + + +--- + + +### getTransactionUtrCount +Get Total amount acc to a day + + + + +```java +transaction.getTransactionUtrCount( startDate, endDate) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is Organization id | +| startDate | String | yes | startDate of filter | +| endDate | String? | no | endDate of filter | + + + +Use this API to get total amoun of all transaction in a day + +*Returned Response:* + + + + +[UniqueCustomersInOrg](#UniqueCustomersInOrg) + +Success. Returns a JSON object as shown below. Refer `UniqueCustomersInOrg` for more details.. + + + + +
+  Example: + +```json +[ + { + "orgId:\"efbf45ac-f015-48e5-a11f-1053922876b7\" createdAt:\"2020-01-01\" sum:500": null, + "count:\"1\"": null + } +] +``` +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | HashMap | no | The data payload of the response. The structure of this object will vary depending on the specific API endpoint. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | errors | ArrayList<[IntegrationResponseError](#IntegrationResponseError)>? | yes | | + +--- + + + + + #### [DisbursalRequest](#DisbursalRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | chargeToken | String | no | | + | loanTypeId | Double? | yes | | + | emiTenure | Double? | yes | | + | isDownpaymentRequired | Boolean? | yes | | + | downpaymentAmount | Double? | yes | | + | loanAmount | Double? | yes | | + | data | HashMap? | yes | | + | transactionId | String? | yes | | + | lenderSlug | String? | yes | | + | intent | String? | yes | | + +--- + + + + + #### [WorkflowUser](#WorkflowUser) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String? | yes | | + +--- + + + + + #### [EligiblePlansRequest](#EligiblePlansRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String? | yes | | + +--- + + + + + #### [EligiblePlans](#EligiblePlans) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | displayName | String? | yes | | + | description | String? | yes | | + | brokenInterest | Double? | yes | | + | noOfEmi | Double? | yes | | + | emiAmount | Double? | yes | | + | processingFee | Double? | yes | | + | installmentInterestRate | Double? | yes | | + +--- + + + + + #### [EligiblePlansResponse](#EligiblePlansResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | eligiblePlans | ArrayList<[EligiblePlans](#EligiblePlans)>? | yes | | + +--- + + + + + #### [DisbursalResponse](#DisbursalResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionId | String? | yes | | + | status | String? | yes | | + | message | String? | yes | | + +--- + + + + + #### [OrderStatus](#OrderStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderId | String | no | | + | transactionId | String? | yes | | + | status | String | no | | + | message | String | no | | + +--- + + + + + #### [DisbursalStatusRequest](#DisbursalStatusRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | transactionId | String | no | | + +--- + + + + + #### [Transactions](#Transactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | partnerId | String? | yes | | + | partner | String? | yes | | + | partnerLogo | String? | yes | | + | status | String | no | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double | no | | + | loanAccountNumber | String? | yes | | + | kfs | String? | yes | | + | utr | String? | yes | | + | sanctionLetter | String? | yes | | + | orderId | String? | yes | | + | refundId | String? | yes | | + | createdAt | String | no | | + | lenderId | String? | yes | | + | lenderName | String? | yes | | + | lenderLogo | String? | yes | | + | loanType | String? | yes | | + | nextDueDate | String? | yes | | + | paidPercent | Double? | yes | | + | lenderDetail | [LenderDetail](#LenderDetail)? | yes | | + | emis | ArrayList<[Emi](#Emi)>? | yes | | + +--- + + + + + #### [LenderDetail](#LenderDetail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | imageUrl | String? | yes | | + | slug | String? | yes | | + | active | Boolean? | yes | | + | b2B | Boolean? | yes | | + | b2C | Boolean? | yes | | + | theme | [Theme](#Theme)? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [FilterKeys](#FilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [FilterValues](#FilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [Filters](#Filters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [FilterKeys](#FilterKeys)? | yes | | + | values | ArrayList<[FilterValues](#FilterValues)>? | yes | | + +--- + + + + + #### [PageResponse](#PageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Integer | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Integer | no | | + | itemTotal | Integer | no | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [TransactionResponse](#TransactionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | transactions | ArrayList<[Transactions](#Transactions)> | no | | + +--- + + + + + #### [GetReconciliationFileResponse](#GetReconciliationFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | files | ArrayList<[ReconFile](#ReconFile)> | no | | + +--- + + + + + #### [ReconFile](#ReconFile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | base64 | String | no | | + | name | String | no | | + +--- + + + + + #### [UploadReconciliationFileRequest](#UploadReconciliationFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | base64File | String | no | | + | format | String? | yes | | + | lenderId | String? | yes | | + +--- + + + + + #### [UploadReconciliationFileResponse](#UploadReconciliationFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [TransactionCount](#TransactionCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalTransactions | String? | yes | | + +--- + + + + + #### [RefundCount](#RefundCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | refundTransactions | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OrganizationTransactionsCount](#OrganizationTransactionsCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | Double? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [OrganizationTransactionsSum](#OrganizationTransactionsSum) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sum | Double? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UniqueCustomersInOrg](#UniqueCustomersInOrg) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | Double? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [TransactionAmount](#TransactionAmount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalTransactionAmount | String? | yes | | + +--- + + + + + #### [SchemaForOneDayTotal](#SchemaForOneDayTotal) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orgId | String? | yes | | + | createdAt | String? | yes | | + | count | Double? | yes | | + | sum | String? | yes | | + | refund | String? | yes | | + | difference | String? | yes | | + +--- + + + + + #### [SumofOneDayTransactions](#SumofOneDayTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | dayTotal | ArrayList<[SchemaForOneDayTotal](#SchemaForOneDayTotal)>? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [AverageTransaction](#AverageTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | average | Double? | yes | | + +--- + + + + + #### [AllTransactionsResponse](#AllTransactionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | partnerId | String? | yes | | + | status | String? | yes | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double? | yes | | + | loanAccountNumber | String? | yes | | + | createdAt | String? | yes | | + +--- + + + + + #### [TotalRefund](#TotalRefund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalRefund | String? | yes | | + +--- + + + + + #### [TotalRepayment](#TotalRepayment) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalRepayment | String? | yes | | + +--- + + + + + #### [TotalOverDue](#TotalOverDue) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalDue | String? | yes | | + +--- + + + + + #### [TotalLoansDisbursed](#TotalLoansDisbursed) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalLoansDisbursed | String? | yes | | + +--- + + + + + #### [OrganizationTransactionResponse](#OrganizationTransactionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[TrFilters](#TrFilters)> | no | | + | page | [TrPageResponse](#TrPageResponse) | no | | + | transactions | ArrayList<[OrgTransactions](#OrgTransactions)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [TrFilters](#TrFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [TrFilterKeys](#TrFilterKeys)? | yes | | + | values | ArrayList<[TrFilterValues](#TrFilterValues)>? | yes | | + +--- + + + + + #### [TrPageResponse](#TrPageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Double | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Double | no | | + | itemTotal | Double | no | | + +--- + + + + + #### [OrgTransactions](#OrgTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | userId | String | no | | + | userName | String? | yes | | + | partnerId | String? | yes | | + | partner | String? | yes | | + | partnerLogo | String? | yes | | + | status | String | no | | + | type | String? | yes | | + | remark | String? | yes | | + | amount | Double | no | | + | orderId | String? | yes | | + | loanAccountNumber | String? | yes | | + | kfs | String? | yes | | + | sanctionLetter | String? | yes | | + | createdAt | String | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [TrFilterKeys](#TrFilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [TrFilterValues](#TrFilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [KfsRequest](#KfsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | loanTypeId | Double? | yes | | + | chargeToken | String? | yes | | + +--- + + + + + #### [KfsResponse](#KfsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kfsTable | String? | yes | | + +--- + + + + + #### [LenderTransactionState](#LenderTransactionState) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | stepIndex | Double? | yes | | + | lenderId | String? | yes | | + | workflowId | String? | yes | | + | workflowName | String? | yes | | + | parentStateId | String? | yes | | + | workflowUrl | String? | yes | | + | isInternal | Boolean? | yes | | + | active | Boolean? | yes | | + | ttl | Double? | yes | | + | name | String? | yes | | + | type | String? | yes | | + | inputData | HashMap? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [TransactionStateResponse](#TransactionStateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactionState | ArrayList<[LenderTransactionState](#LenderTransactionState)>? | yes | | + +--- + + + + + #### [Theme](#Theme) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logoUrl | String? | yes | | + | iconUrl | String? | yes | | + | landscapeBgUrl | String? | yes | | + | portraitBgUrl | String? | yes | | + | shortName | String? | yes | | + +--- + + + + + #### [Emi](#Emi) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | installmentno | Double? | yes | | + | loanAccountNumber | String? | yes | | + | amount | Double? | yes | | + | dueDate | String? | yes | | + | referenceTransactionId | String? | yes | | + | remark | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | entityId | String? | yes | | + | paid | Boolean? | yes | | + | overdue | Boolean? | yes | | + | repaymentDate | String? | yes | | + +--- + + + + + #### [MetricPivots](#MetricPivots) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String? | yes | | + | sum | Double? | yes | | + +--- + + + + + #### [TransactionMetricSubResponse](#TransactionMetricSubResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | total | String? | yes | | + | pivots | ArrayList<[MetricPivots](#MetricPivots)>? | yes | | + | title | String? | yes | | + | description | String? | yes | | + | valueFormat | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [TransactionMetrics](#TransactionMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalDisbursement | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + | totalOverdue | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + | totalRepayment | [TransactionMetricSubResponse](#TransactionMetricSubResponse)? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean | no | | + +--- + + + + + #### [LenderCustomerTransactionMetrics](#LenderCustomerTransactionMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [TransactionMetrics](#TransactionMetrics)? | yes | | + | filters | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | sort | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsResponse](#LenderCustomerTransactionMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | HashMap? | yes | | + +--- + + + + + #### [LenderCustomerTransactionMetricsRequest](#LenderCustomerTransactionMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | sort | ArrayList<[LenderCustomerTransactionMetricsFilters](#LenderCustomerTransactionMetricsFilters)>? | yes | | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [TransactionOrder](#TransactionOrder) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier of the order. | + | amount | Double | no | Total amount of the order. | + +--- + + + + + #### [TransactionMerchant](#TransactionMerchant) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | Name of the merchant. | + | logo | String | no | URL to the merchant's logo. | + +--- + + + + + #### [TransactionLoan](#TransactionLoan) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | Loan account number. | + | amount | Double | no | Loan amount. | + | type | String | no | Type of loan. | + | dueDate | String | no | Due date in ISO format for the loan repayment. | + | repaidAmount | Double | no | Amount that has been repaid. | + | isSettled | Boolean | no | Indicates if the loan is fully settled. | + | emis | ArrayList<[TransactionLoanEmi](#TransactionLoanEmi)>? | yes | EMIs associated with the loan. This information is available only if the granularity is set to 'detail' and an EMI schedule is available for this loan. | + +--- + + + + + #### [TransactionLoanEmi](#TransactionLoanEmi) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | amount | Double | no | EMI amount. | + | dueDate | String | no | Due date in ISO format for the EMI payment. | + | installmentNo | Integer | no | Installment number for the EMI. | + | repaidAmount | Double | no | Amount that has been repaid towards the EMI. | + | isSettled | Boolean | no | Indicates if the EMI is fully settled. | + +--- + + + + + #### [TransactionLender](#TransactionLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | Name of the lender. | + | slug | String | no | A slug representing the lender. | + | logo | String | no | URL to the lender's logo. | + | shortName | String | no | Short name of the lender. | + +--- + + + + + #### [UserTransaction](#UserTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier of the transaction. | + | amount | Double | no | Amount of the transaction. | + | type | String | no | Type of the transaction. | + | status | String | no | Status of the transaction. | + | settlementUtr | String? | yes | Settlement UTR for the transaction. | + | refundId | String? | yes | Refund ID if the transaction is a refund. | + | createdAt | String | no | Timestamp in ISO format when the transaction was created. | + | isMasked | Boolean | no | Indicates if the transaction details are masked. This field is true of the transaction if done on some other merchant | + | order | [TransactionOrder](#TransactionOrder)? | yes | | + | merchant | [TransactionMerchant](#TransactionMerchant) | no | | + | loans | ArrayList<[TransactionLoan](#TransactionLoan)>? | yes | | + | lender | [TransactionLender](#TransactionLender)? | yes | | + +--- + + + + + #### [Pagination](#Pagination) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | The type of pagination. | + | current | Integer | no | The current page number. | + | hasPrevious | Boolean | no | Indicates if there is a previous page. | + | hasNext | Boolean | no | Indicates if there is a next page. | + | size | Integer | no | The number of items per page. | + | itemTotal | Integer | no | The total number of items across all pages. | + +--- + + + + + #### [GetTransactionsData](#GetTransactionsData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactions | ArrayList<[UserTransaction](#UserTransaction)> | no | | + | page | [Pagination](#Pagination) | no | | + +--- + + + + + #### [GetTransactionsResponse](#GetTransactionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [GetTransactionsData](#GetTransactionsData) | no | | + +--- + + + + + #### [SummaryRequest](#SummaryRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + | merchantId | String? | yes | | + | type | String? | yes | | + +--- + + + diff --git a/documentation/public/USER.md b/documentation/public/USER.md new file mode 100644 index 0000000..cd90ebe --- /dev/null +++ b/documentation/public/USER.md @@ -0,0 +1,2622 @@ + + + + +##### [Back to Public docs](./README.md) + +## User Methods +Authentication Service +* [getTips](#gettips) +* [getCustomerDetails](#getcustomerdetails) +* [getAllUsersPaginated](#getalluserspaginated) + + + +## Methods with example and description + + +### getTips +Get Tips section + + + + +```java +user.getTips() { + //use response +} +``` + + + + +Use this API to get tips section + +*Returned Response:* + + + + +[TipsSection](#TipsSection) + +Success. Check the example shown below or refer `TipsSection` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/TipsResponseExample" +``` +
+ +
+ + + + + + + + + +--- + + +### getCustomerDetails +User detail + + + + +```java +user.getCustomerDetails( userId) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is customer id | +| userId | String | yes | This is customer id | + + + +Use this API to get User Detail + +*Returned Response:* + + + + +[UserSchema](#UserSchema) + +Success. Check the example shown below or refer `UserSchema` for more details. + + + + +
+  Example: + +```json +{ + "value": { + "gender": "male", + "active": true, + "profilePicUrl": "https://d2co8r51m5ca2d.cloudfront.net/inapp_banners/default_profile_img.png", + "id": "5e68af49cfa09bf7233022f1", + "firstName": "Akash", + "lastName": "Mane", + "mobile": "8652523958", + "countryCode": 91, + "email": "akashmane@gofynd.com", + "createdAt": "2020-03-11T09:28:41.982Z", + "updatedAt": "2021-02-04T10:10:44.981Z" + } +} +``` +
+ + + + + + + + + +--- + + +### getAllUsersPaginated +Get List of Users + + + + +```java +user.getAllUsersPaginated( page, limit, name, id, mobile) { + //use response +} +``` + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| organizationId | String | yes | This is organizationId | +| page | Integer | yes | This is page number | +| limit | Integer | yes | This is no of transaction | +| name | String? | no | This is name for filter | +| id | String? | no | This is uuid for filter | +| mobile | String? | no | This is Mobile Number for filter | + + + +Use this API to get list of user. + +*Returned Response:* + + + + +[UserResponse](#UserResponse) + +Success. Returns a JSON object as shown below. Refer `UserResponse` for more details. + + + + +
+  Examples: + + +
+  $ref + +```json +"#/components/examples/UserExample" +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | String | no | The timestamp when the response was generated. | + | version | String | no | The version of the API. | + | product | String | no | The name of the product or service. | + | requestId | String? | yes | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | String | no | Error code representing the type of error. | + | message | String | no | A human-readable message providing more details about the error. | + | exception | String | no | The exception name or type. | + | field | String? | yes | The field associated with the error, if applicable. | + | location | String? | yes | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | HashMap | no | The data payload of the response. The structure of this object will vary depending on the specific API endpoint. | + +--- + + + + + #### [IntegrationErrorResponse](#IntegrationErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | errors | ArrayList<[IntegrationResponseError](#IntegrationResponseError)>? | yes | | + +--- + + + + + #### [RefundResponse](#RefundResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | message | String? | yes | | + | transactionId | String? | yes | | + | refundId | String? | yes | | + +--- + + + + + #### [UserSource](#UserSource) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String? | yes | | + | type | String? | yes | | + | sourceId | String? | yes | | + | meta | HashMap? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | app | String? | yes | | + | entityId | String? | yes | | + | userMerchants | ArrayList? | yes | | + +--- + + + + + #### [UserSchema](#UserSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | firstName | String? | yes | | + | lastName | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | active | Boolean? | yes | | + | profilePicUrl | String? | yes | | + | isEmailVerified | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [count](#count) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalUsers | String? | yes | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [LenderCount](#LenderCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalLenders | String? | yes | | + +--- + + + + + #### [LenderSchema](#LenderSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [TotalUsersPerLender](#TotalUsersPerLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | lenderList | ArrayList<[TotalUsersPerLenderData](#TotalUsersPerLenderData)> | no | | + +--- + + + + + #### [TotalUsersPerLenderData](#TotalUsersPerLenderData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + | totalUsers | String? | yes | | + +--- + + + + + #### [TotalUserByLender](#TotalUserByLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | count | String? | yes | | + +--- + + + + + #### [UsersByLender](#UsersByLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | name | String? | yes | | + +--- + + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + | info | String? | yes | | + | code | String? | yes | | + | requestId | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [EditProfileRequest](#EditProfileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | String? | yes | | + | lastName | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | email | String? | yes | | + | gender | String? | yes | | + | dob | String? | yes | | + | registrationToken | String? | yes | | + +--- + + + + + #### [VerifyOtpRequest](#VerifyOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | requestId | String | no | | + | otp | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + | referralCode | String? | yes | | + | onboardingToken | String? | yes | | + +--- + + + + + #### [SendMobileOtpRequest](#SendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + | captchaCode | String? | yes | | + | androidHash | String? | yes | | + | force | String? | yes | | + +--- + + + + + #### [ReSendMobileOtpRequest](#ReSendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | captchaCode | String? | yes | | + | token | String | no | | + | androidHash | String? | yes | | + +--- + + + + + #### [SendOtpRequest](#SendOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | captchaCode | String? | yes | | + | mobile | String? | yes | | + +--- + + + + + #### [ApplicationUser](#ApplicationUser) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + +--- + + + + + #### [SendOtpResponse](#SendOtpResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | countryCode | String? | yes | | + | email | String? | yes | | + | resendEmailToken | String? | yes | | + | registerToken | String? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | userExists | Boolean? | yes | | + +--- + + + + + #### [EmailUpdate](#EmailUpdate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | String? | yes | | + +--- + + + + + #### [UserUpdateRequest](#UserUpdateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | Object? | yes | | + | lastName | Object? | yes | | + | countryCode | String | no | | + | mobile | String | no | | + | email | Object? | yes | | + | gender | Object? | yes | | + | dob | Object? | yes | | + | active | Boolean? | yes | | + | profilePictureUrl | Object? | yes | | + | isEmailVerified | Boolean? | yes | | + +--- + + + + + #### [LenderUpdateRequest](#LenderUpdateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [ProfileEditSuccess](#ProfileEditSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | registerToken | String? | yes | | + | resendEmailToken | String? | yes | | + | userExists | Boolean? | yes | | + | verifyEmailLink | Boolean? | yes | | + | verifyEmailOtp | Boolean? | yes | | + | verifyMobileOtp | Boolean? | yes | | + | email | String? | yes | | + | requestId | String? | yes | | + | countryCode | String? | yes | | + | mobile | String? | yes | | + | success | Boolean? | yes | | + | message | String? | yes | | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + +--- + + + + + #### [LoginSuccess](#LoginSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | requestId | String? | yes | | + | registerToken | String? | yes | | + +--- + + + + + #### [VerifyOtpSuccess](#VerifyOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + | userExists | Boolean? | yes | | + | isNew | Boolean? | yes | | + +--- + + + + + #### [LogoutSuccess](#LogoutSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logout | Boolean? | yes | | + +--- + + + + + #### [OtpSuccess](#OtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | Integer? | yes | | + | resendToken | String? | yes | | + | registerToken | String? | yes | | + | success | Boolean? | yes | | + | requestId | String? | yes | | + | message | String? | yes | | + | mobile | String? | yes | | + | isNew | Boolean? | yes | | + | countryCode | String? | yes | | + | otpLength | Double? | yes | | + +--- + + + + + #### [SessionListSuccess](#SessionListSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sessions | ArrayList? | yes | | + +--- + + + + + #### [VerifyMobileOTPSuccess](#VerifyMobileOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema)? | yes | | + +--- + + + + + #### [Location](#Location) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | latitude | Double? | yes | | + | longitude | Double? | yes | | + +--- + + + + + #### [OrderAddress](#OrderAddress) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | line1 | String? | yes | | + | line2 | String? | yes | | + | city | String? | yes | | + | state | String? | yes | | + | country | String? | yes | | + | pincode | String? | yes | | + | type | String? | yes | | + | geoLocation | [Location](#Location)? | yes | | + +--- + + + + + #### [CustomerObject](#CustomerObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String? | yes | | + | mobile | String | no | | + | uid | String? | yes | | + | email | String? | yes | | + | firstname | String? | yes | | + | middleName | String? | yes | | + | lastName | String? | yes | | + +--- + + + + + #### [Order](#Order) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer | no | | + | uid | String | no | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [VerifyOrder](#VerifyOrder) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer | no | | + | uid | String? | yes | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [OrderUid](#OrderUid) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | Integer? | yes | | + | uid | String | no | | + | items | ArrayList<[Items](#Items)>? | yes | | + | shippingAddress | [OrderAddress](#OrderAddress)? | yes | | + | billingAddress | [OrderAddress](#OrderAddress)? | yes | | + +--- + + + + + #### [CustomerMeta](#CustomerMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ip | String | no | | + | appVersion | String | no | | + | appIdentifier | String? | yes | | + | customerUserAgent | String? | yes | | + | deviceId | String | no | | + +--- + + + + + #### [Device](#Device) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ipAddress | String | no | | + | userAgent | String | no | | + | latitude | Double? | yes | | + | longitude | Double? | yes | | + +--- + + + + + #### [ValidateCustomer](#ValidateCustomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [VerifyOrder](#VerifyOrder) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + | fetchLimitOptions | Boolean? | yes | | + | fetchPlans | Boolean? | yes | | + +--- + + + + + #### [CreateTransaction](#CreateTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String | no | User will be redirected back to this URL after a successful or a failed transaction. | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | Any additional details | + | emiTenure | Integer? | yes | EMI tenure selected by customer | + | lenderSlug | String? | yes | slug of lender selected by customer | + | consents | ArrayList<[Consents](#Consents)>? | yes | Consent for AUTO_DISBURSAL is mandatory while calling createTransaction API. | + +--- + + + + + #### [ResendPaymentRequest](#ResendPaymentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String? | yes | | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [OrderUid](#OrderUid) | no | | + +--- + + + + + #### [ValidateCustomerSuccess](#ValidateCustomerSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | Indicates whether a user is allowed to perform the transaction or not | + | userStatus | String | no | Represents the status of the user for transaction eligibility | + | message | String | no | Message to be displayed to the user | + | schemes | ArrayList<[SchemeResponse](#SchemeResponse)>? | yes | An array of possible schemes of lenders available for a transaction. | + | limit | [LimitResponse](#LimitResponse)? | yes | Limit details of available and possible lenders for a transaction. | + +--- + + + + + #### [CreateTransactionSuccess](#CreateTransactionSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String? | yes | A unique token for completing the transaction. Charge token is received only if a valid user session is passed in request and auto capture is false. ASP merchants do not receive charge token. | + | redirectUrl | String? | yes | URL to which the user should be redirected to complete the transaction. | + | message | String | no | A message or information related to the transaction. | + | transactionId | String? | yes | A unique identifier for the transaction. This is received only if session is passed and auto capture is true in request. ASP merchants do not receive transaction ID in this response. | + | status | String? | yes | Indicates transaction status in case of auto disbursal. | + | userStatus | String? | yes | Represents the status of the user for transaction eligibility | + +--- + + + + + #### [SupportDocuments](#SupportDocuments) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fileName | String? | yes | | + | fileUrl | String? | yes | | + +--- + + + + + #### [CreateTicketResponse](#CreateTicketResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | serviceRequestId | String? | yes | | + | message | String? | yes | | + +--- + + + + + #### [CreateTicket](#CreateTicket) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | transactionId | String? | yes | | + | description | String | no | | + | documents | ArrayList<[SupportDocuments](#SupportDocuments)>? | yes | | + +--- + + + + + #### [InitiateTransactions](#InitiateTransactions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [GetMobileFromToken](#GetMobileFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [GetDataFromToken](#GetDataFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [MerchantDetails](#MerchantDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | website | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [InitiateTransactionsSuccess](#InitiateTransactionsSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | chargeToken | String | no | | + | session | String? | yes | | + | expiry | String? | yes | | + | hash | String? | yes | | + | order | [Order](#Order)? | yes | | + | isAsp | Boolean? | yes | | + | merchant | [MerchantDetails](#MerchantDetails)? | yes | | + | redirectUrl | String? | yes | | + +--- + + + + + #### [RetrieveMobileFromToken](#RetrieveMobileFromToken) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + +--- + + + + + #### [CreateDashboardTemplateRequest](#CreateDashboardTemplateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | version | String | no | | + | isDefault | Boolean? | yes | | + | sections | ArrayList<[TemplateSections](#TemplateSections)> | no | | + +--- + + + + + #### [TemplateSections](#TemplateSections) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sequence | Integer | no | | + | isAvailableInMobile | Boolean | no | | + | isAvailableInDesktop | Boolean | no | | + | component | [TemplateComponent](#TemplateComponent) | no | | + +--- + + + + + #### [TemplateComponent](#TemplateComponent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String | no | | + | isAvailableInDesktop | Boolean? | yes | | + | partnerApplications | ArrayList<[PartnerApplications](#PartnerApplications)>? | yes | | + | banners | ArrayList<[Banners](#Banners)>? | yes | | + | tips | ArrayList<[Tips](#Tips)>? | yes | | + +--- + + + + + #### [PartnerApplications](#PartnerApplications) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String | no | | + | sequence | Integer? | yes | | + +--- + + + + + #### [Offerings](#Offerings) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String | no | | + | sequence | Integer? | yes | | + | gradient | ArrayList | no | | + +--- + + + + + #### [Banners](#Banners) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | imageUrl | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + +--- + + + + + #### [Tips](#Tips) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | description | String? | yes | | + | urlPath | String | no | | + | urlTarget | String? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + +--- + + + + + #### [DashboardTemplateResponse](#DashboardTemplateResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String? | yes | | + | version | String? | yes | | + | active | Boolean? | yes | | + | sections | ArrayList<[SectionSchema](#SectionSchema)> | no | | + +--- + + + + + #### [SectionSchema](#SectionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | partners | ArrayList<[PartnerApplicationsResponse](#PartnerApplicationsResponse)>? | yes | | + | banners | ArrayList<[BannersResponse](#BannersResponse)>? | yes | | + | tips | ArrayList<[TipsResponse](#TipsResponse)>? | yes | | + +--- + + + + + #### [PartnerApplicationsResponse](#PartnerApplicationsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String | no | | + +--- + + + + + #### [OfferingsResponse](#OfferingsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String | no | | + | gradient | ArrayList | no | | + +--- + + + + + #### [BannersResponse](#BannersResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | action | [ActionSchema](#ActionSchema)? | yes | | + | imageUrl | String | no | | + +--- + + + + + #### [TipsSection](#TipsSection) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | tips | ArrayList<[TipsResponse](#TipsResponse)>? | yes | | + | categories | ArrayList<[TipsCategories](#TipsCategories)>? | yes | | + | action | [ActionSchema](#ActionSchema)? | yes | | + | headers | HashMap? | yes | | + +--- + + + + + #### [TipsResponse](#TipsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | category | String? | yes | | + | description | String? | yes | | + | action | [ActionSchema](#ActionSchema) | no | | + | imageUrl | String? | yes | | + +--- + + + + + #### [TipsCategories](#TipsCategories) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | title | String | no | | + +--- + + + + + #### [ActionSchema](#ActionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | | + | page | [PageSchema](#PageSchema)? | yes | | + | popup | [PageSchema](#PageSchema)? | yes | | + +--- + + + + + #### [UpdateDashboardTemplateRequest](#UpdateDashboardTemplateRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | version | String? | yes | | + | isDefault | Boolean? | yes | | + | active | Boolean? | yes | | + | sections | ArrayList<[UpdateTemplateSections](#UpdateTemplateSections)>? | yes | | + +--- + + + + + #### [UpdateTemplateSections](#UpdateTemplateSections) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | sequence | Integer? | yes | | + | isAvailableInMobile | Boolean? | yes | | + | isAvailableInDesktop | Boolean? | yes | | + | active | Boolean? | yes | | + | component | [UpdateTemplateComponent](#UpdateTemplateComponent)? | yes | | + +--- + + + + + #### [UpdateTemplateComponent](#UpdateTemplateComponent) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | isAvailableInDesktop | Boolean? | yes | | + | active | Boolean? | yes | | + | partners | ArrayList<[UpdatePartnerApplications](#UpdatePartnerApplications)>? | yes | | + | banners | ArrayList<[UpdateBanners](#UpdateBanners)>? | yes | | + | tips | ArrayList<[UpdateTips](#UpdateTips)>? | yes | | + +--- + + + + + #### [UpdatePartnerApplications](#UpdatePartnerApplications) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | action | HashMap? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [UpdateOfferings](#UpdateOfferings) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | urlPath | String? | yes | | + | urlTarget | String? | yes | | + | imageUrl | String? | yes | | + | sequence | Integer? | yes | | + | gradient | ArrayList? | yes | | + +--- + + + + + #### [UpdateBanners](#UpdateBanners) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | imageUrl | String? | yes | | + | action | HashMap? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [UpdateTips](#UpdateTips) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + | name | String? | yes | | + | description | String? | yes | | + | imageUrl | String? | yes | | + | action | HashMap? | yes | | + | sequence | Integer? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [NavigationsMobileResponse](#NavigationsMobileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | tabs | ArrayList<[TabsSchema](#TabsSchema)> | no | | + | profileSections | ArrayList<[ProfileSectionSchema](#ProfileSectionSchema)> | no | | + +--- + + + + + #### [TabsSchema](#TabsSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + | page | [PageSchema](#PageSchema) | no | | + | icon | String | no | | + | activeIcon | String | no | | + | active | Boolean | no | | + +--- + + + + + #### [PageSchema](#PageSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | link | String? | yes | | + | type | [PageType](#PageType)? | yes | | + | params | HashMap>? | yes | | + | query | HashMap? | yes | | + +--- + + + + + #### [ProfileSectionSchema](#ProfileSectionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | navigations | ArrayList<[ProfileNavigationSchema](#ProfileNavigationSchema)> | no | | + | active | Boolean | no | | + +--- + + + + + #### [ProfileNavigationSchema](#ProfileNavigationSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | title | String | no | | + | description | String? | yes | | + | icon | String | no | | + | type | String | no | | + | action | [ActionSchema](#ActionSchema)? | yes | | + | active | Boolean? | yes | | + +--- + + + + + #### [SendPNSRegisterRequest](#SendPNSRegisterRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | deviceId | String | no | | + | deviceType | String | no | | + | token | String | no | | + +--- + + + + + #### [PNSRegisterResponse](#PNSRegisterResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | Boolean? | yes | | + | message | String? | yes | | + +--- + + + + + #### [FaqResponse](#FaqResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | categories | ArrayList<[CategorySchema](#CategorySchema)>? | yes | | + +--- + + + + + #### [CategorySchema](#CategorySchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | uid | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | logo | String? | yes | | + | questions | ArrayList<[QuestionSchema](#QuestionSchema)>? | yes | | + +--- + + + + + #### [QuestionSchema](#QuestionSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | uid | String | no | | + | title | String? | yes | | + | description | String? | yes | | + | displayOrder | Integer? | yes | | + | canRaiseRequest | Boolean? | yes | | + +--- + + + + + #### [SupportCategories](#SupportCategories) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kind | String? | yes | | + | display | String? | yes | | + +--- + + + + + #### [SupportCategoriesResponse](#SupportCategoriesResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | categories | ArrayList<[SupportCategories](#SupportCategories)>? | yes | | + +--- + + + + + #### [SanctionLetterResponse](#SanctionLetterResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sanctionedLetterFileUrl | String | no | | + +--- + + + + + #### [KfsDocumentResponse](#KfsDocumentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | kfsFileUrl | String | no | | + +--- + + + + + #### [UserWhiteListedResponse](#UserWhiteListedResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + +--- + + + + + #### [UserConsentRequest](#UserConsentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | consents | ArrayList? | yes | | + +--- + + + + + #### [Consents](#Consents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String? | yes | | + | text | String? | yes | | + | purpose | String? | yes | If consent type is AUTO_DISBURSAL, purpose will be uid of order. | + +--- + + + + + #### [UserConsentRequestV2](#UserConsentRequestV2) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | consents | ArrayList<[Consents](#Consents)>? | yes | | + +--- + + + + + #### [UserConsentResponse](#UserConsentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + +--- + + + + + #### [UserKycSteps](#UserKycSteps) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | index | String? | yes | | + | name | String? | yes | | + | rules | HashMap? | yes | | + | active | Boolean? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [CreateKycStepRequest](#CreateKycStepRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String | no | | + | index | String | no | | + | active | Boolean | no | | + | rules | HashMap? | yes | | + +--- + + + + + #### [RemoveKycStepRequest](#RemoveKycStepRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | String? | yes | | + | index | String | no | | + | active | Boolean? | yes | | + | rules | HashMap? | yes | | + +--- + + + + + #### [KycUpdateMessage](#KycUpdateMessage) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String? | yes | | + +--- + + + + + #### [MobileFromLinkingRequest](#MobileFromLinkingRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [MobileFromLinkingResponse](#MobileFromLinkingResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | String | no | | + | mobile | String | no | | + +--- + + + + + #### [SessionFromLinkingRequest](#SessionFromLinkingRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [SessionFromLinkingResponse](#SessionFromLinkingResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | session | String | no | | + | expiry | Integer | no | | + +--- + + + + + #### [LinkAccount](#LinkAccount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | redirectUrl | String | no | | + | device | [Device](#Device) | no | | + +--- + + + + + #### [LinkAccountSuccess](#LinkAccountSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | redirectUrl | String? | yes | | + | statusCode | Double? | yes | | + | status | String? | yes | | + | message | String? | yes | | + | errorCode | String? | yes | | + +--- + + + + + #### [UnlinkAccount](#UnlinkAccount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | device | [Device](#Device) | no | | + +--- + + + + + #### [UnlinkAccountSuccess](#UnlinkAccountSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String | no | | + | message | String | no | | + | statusCode | Double | no | | + | userStatus | String? | yes | | + | errorCode | String? | yes | | + +--- + + + + + #### [Refund](#Refund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | fingerprint | String? | yes | | + | customer | [CustomerObject](#CustomerObject)? | yes | | + | refundItems | ArrayList<[Items](#Items)>? | yes | | + | orderId | String | no | | + | refundId | String | no | | + | refundAmount | Double | no | | + | redirectionUrl | String? | yes | | + +--- + + + + + #### [Translation](#Translation) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | content | Object? | yes | | + +--- + + + + + #### [FilterKeys](#FilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | name | String? | yes | | + | kind | String? | yes | | + +--- + + + + + #### [FilterValues](#FilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | String? | yes | | + | isSelected | Boolean? | yes | | + | value | String? | yes | | + +--- + + + + + #### [Filters](#Filters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [FilterKeys](#FilterKeys)? | yes | | + | values | ArrayList<[FilterValues](#FilterValues)>? | yes | | + +--- + + + + + #### [PageResponse](#PageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | current | Integer | no | | + | hasPrevious | Boolean | no | | + | hasNext | Boolean | no | | + | size | Integer | no | | + | itemTotal | Integer | no | | + +--- + + + + + #### [UserResponse](#UserResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[Filters](#Filters)> | no | | + | page | [PageResponse](#PageResponse) | no | | + | listOfUsers | ArrayList<[UserSchema](#UserSchema)> | no | | + | headers | HashMap? | yes | | + +--- + + + + + #### [UserDetailRequest](#UserDetailRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | | + +--- + + + + + #### [UserConsents](#UserConsents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | ipAddress | String? | yes | | + | text | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [CreditScoreSchema](#CreditScoreSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | cibil | Double? | yes | | + | finbox | String? | yes | | + | systemAwarded | String? | yes | | + | isActive | Boolean? | yes | | + | deletedAt | String? | yes | | + | updatedAt | String? | yes | | + | createdAt | String? | yes | | + +--- + + + + + #### [CreditLimitSchema](#CreditLimitSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | userId | String? | yes | | + | creditLimit | String? | yes | | + | createdAt | String? | yes | | + | updatedAt | String? | yes | | + | deletedAt | String? | yes | | + +--- + + + + + #### [Screen](#Screen) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | screenType | String? | yes | | + | name | String? | yes | | + | link | String? | yes | | + +--- + + + + + #### [UserStateSchema](#UserStateSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | screen | [Screen](#Screen)? | yes | | + +--- + + + + + #### [GetAccessTokenResponse](#GetAccessTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | refreshToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + | refreshTokenExpiryAt | String? | yes | | + | refreshTokenExpiryIn | String? | yes | | + | scope | ArrayList? | yes | | + +--- + + + + + #### [RefreshTokenResponse](#RefreshTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | Boolean? | yes | | + | accessToken | String? | yes | | + | tokenExpireAt | String? | yes | | + | tokenExpiryIn | String? | yes | | + +--- + + + + + #### [RefreshTokenRequest](#RefreshTokenRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [Items](#Items) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String? | yes | | + | sku | String? | yes | | + | rate | Double? | yes | | + | quantity | Double? | yes | | + +--- + + + + + #### [RefundStatusList](#RefundStatusList) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | orderItems | ArrayList<[Items](#Items)>? | yes | | + | amount | Double? | yes | | + | status | String? | yes | | + | createdAt | String? | yes | | + | processedDate | String? | yes | | + +--- + + + + + #### [RefundStatus](#RefundStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | orderId | String? | yes | | + | userId | String? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | loanAccountNumber | String? | yes | | + | refund | ArrayList<[RefundStatusList](#RefundStatusList)>? | yes | | + +--- + + + + + #### [GetSchemesSuccess](#GetSchemesSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String? | yes | | + | lenders | ArrayList<[SchemeResponse](#SchemeResponse)> | no | | + +--- + + + + + #### [CustomerMetricsPivots](#CustomerMetricsPivots) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | date | String? | yes | | + | sum | Double? | yes | | + +--- + + + + + #### [CustomerMetricsSubResponse](#CustomerMetricsSubResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | total | String? | yes | | + | pivots | ArrayList<[CustomerMetricsPivots](#CustomerMetricsPivots)>? | yes | | + | title | String? | yes | | + | description | String? | yes | | + | valueFormat | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [CustomerMetricsAnalytics](#CustomerMetricsAnalytics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | totalCustomers | [CustomerMetricsSubResponse](#CustomerMetricsSubResponse)? | yes | | + | source | [CustomerMetricsSubResponse](#CustomerMetricsSubResponse)? | yes | | + +--- + + + + + #### [CustomerMetricsFilters](#CustomerMetricsFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | String | no | | + | display | String | no | | + | value | ArrayList | no | | + | isSelected | Boolean? | yes | | + | isActive | Boolean | no | | + +--- + + + + + #### [CustomerMetrics](#CustomerMetrics) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | metrics | [CustomerMetricsAnalytics](#CustomerMetricsAnalytics)? | yes | | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | sort | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + +--- + + + + + #### [SchemeResponse](#SchemeResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String | no | A slug identifier for the lender. | + | isDefault | Boolean | no | Indicates if this is the default lender | + | logoUrl | String | no | URL to the logo of the lender | + | name | String | no | Name of the lender | + | title | String | no | Title of the lender | + | subtitle | String | no | Subtitle or additional information about the lender | + | amount | Double? | yes | Transaction amount | + | paymentOptions | [SchemePaymentOptionsResponse](#SchemePaymentOptionsResponse) | no | | + +--- + + + + + #### [SchemePaymentOptionsResponse](#SchemePaymentOptionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | emis | ArrayList<[SchemeEmiPaymentOptionResponse](#SchemeEmiPaymentOptionResponse)>? | yes | | + | payLater | [SchemePayLaterPaymentOptionResponse](#SchemePayLaterPaymentOptionResponse)? | yes | | + +--- + + + + + #### [SchemeEmiPaymentOptionResponse](#SchemeEmiPaymentOptionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier for the payment option. | + | isDefault | Boolean | no | Indicates if this is the default payment option. | + | description | String | no | Description of the payment option. | + | title | String | no | Title of the payment option. | + | subtitle | String | no | Subtitle or additional information about the payment option. | + | amount | Double | no | Total amount for this EMI. | + | interest | Double? | yes | Interest rate applicable to the EMIn. | + | processingFee | Double | no | Processing fee associated with the EMI. | + | tenure | Double | no | Tenure of the EMI in months. | + | emiSchedule | ArrayList<[SchemeEmiScheduleResponse](#SchemeEmiScheduleResponse)> | no | Schedule of EMIs. | + +--- + + + + + #### [SchemeEmiScheduleResponse](#SchemeEmiScheduleResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentNo | Integer | no | The installment number. | + | installmentAmount | Double | no | The total amount due for this installment. | + | dueDate | String | no | The date by which the installment is due, in ISO 8601 format. | + +--- + + + + + #### [SchemePayLaterPaymentOptionResponse](#SchemePayLaterPaymentOptionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String | no | Unique identifier for the PayLater option | + | title | String | no | Title of the PayLater option | + | subtitle | String | no | Subtitle or additional descriptor for the PayLater option | + | description | String | no | Detailed description of the PayLater option | + | tenure | Integer | no | The tenure of the PayLater option, in months | + | interest | Integer | no | Interest amount for the PayLater option | + | processingFee | Integer | no | Processing fee for the PayLater option | + | amount | Integer | no | The amount to be paid in Rupees | + | isDefault | Boolean | no | Indicates if this is the default payment option | + +--- + + + + + #### [LimitResponse](#LimitResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | available | ArrayList<[AvailableOrPossibleLender](#AvailableOrPossibleLender)>? | yes | | + | possible | ArrayList<[AvailableOrPossibleLender](#AvailableOrPossibleLender)>? | yes | | + +--- + + + + + #### [AvailableOrPossibleLender](#AvailableOrPossibleLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | Double | no | The available credit limit from the lender. | + | lenderName | String | no | The name of the lender. | + | slug | String | no | A slug identifier for the lender. | + | isDefault | Boolean | no | Indicates if this is the default lender option. | + | logo | String | no | URL to the lender's logo. | + +--- + + + + + #### [GetSchemesRequest](#GetSchemesRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order) | no | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + +--- + + + + + #### [CustomerMetricsResponse](#CustomerMetricsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | data | [CustomerMetrics](#CustomerMetrics)? | yes | | + +--- + + + + + #### [CustomerMetricsRequest](#CustomerMetricsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | sort | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | merchantId | String? | yes | | + | lenderId | String? | yes | | + | pivotPoints | Double? | yes | | + +--- + + + + + #### [SourceAnalyticsRequest](#SourceAnalyticsRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | filters | ArrayList<[CustomerMetricsFilters](#CustomerMetricsFilters)>? | yes | | + | merchantId | String? | yes | | + +--- + + + + + #### [LenderResponse](#LenderResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | name | String? | yes | | + | logo | String? | yes | | + +--- + + + + + #### [CreditLimitObject](#CreditLimitObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | availableLimit | Double? | yes | | + | possibleLimit | Double? | yes | | + | lender | [LenderResponse](#LenderResponse)? | yes | | + +--- + + + + + #### [BusinessDetails](#BusinessDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | String | no | | + | shopName | String? | yes | | + | legalName | String | no | | + | address | String? | yes | | + | type | String? | yes | | + | pincode | String? | yes | | + +--- + + + + + #### [DocumentItems](#DocumentItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | String | no | | + | category | String? | yes | | + | type | String | no | | + | name | String? | yes | | + | issuedOn | String? | yes | | + | issuedAt | String? | yes | | + | issuedBy | String? | yes | | + | expiryOn | String? | yes | | + +--- + + + + + #### [VintageItems](#VintageItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | Integer | no | | + | year | Integer | no | | + | totalTransactions | Integer | no | | + | totalTransactionAmount | Double | no | | + | totalCancellations | Integer? | yes | | + | totalCancellationAmount | Double? | yes | | + +--- + + + + + #### [EligibilitySuccess](#EligibilitySuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | String? | yes | | + | message | String? | yes | | + | redirectUrl | String? | yes | | + | creditLimits | ArrayList<[CreditLimitObject](#CreditLimitObject)>? | yes | | + +--- + + + + + #### [CheckEligibilityRequest](#CheckEligibilityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | no | | + | order | [Order](#Order)? | yes | | + | device | [Device](#Device) | no | | + | meta | HashMap? | yes | | + | fetchLimitOptions | Boolean? | yes | | + +--- + + + + + #### [EmiSchedule](#EmiSchedule) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentNo | Integer? | yes | | + | installmentAmount | Integer? | yes | | + | dueDate | String? | yes | | + +--- + + + + + #### [PaymentOption](#PaymentOption) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | title | String? | yes | | + | subtitle | String? | yes | | + | description | String? | yes | | + | tenure | Integer? | yes | | + | processingFee | Integer? | yes | | + | amount | Integer? | yes | | + | isDefault | Boolean? | yes | | + | emiSchedule | ArrayList<[EmiSchedule](#EmiSchedule)>? | yes | | + +--- + + + + + #### [PaymentOptions](#PaymentOptions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | payLater | [PaymentOption](#PaymentOption)? | yes | | + | emis | ArrayList<[PaymentOption](#PaymentOption)>? | yes | | + +--- + + + + + #### [LenderAndPaymentOption](#LenderAndPaymentOption) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | String? | yes | | + | name | String | no | | + | title | String? | yes | | + | subtitle | String? | yes | | + | isDefault | Boolean? | yes | | + | logoUrl | String | no | | + | amount | Integer? | yes | | + | paymentOptions | [PaymentOptions](#PaymentOptions)? | yes | | + +--- + + + + + #### [GetSchemesSuccessOld](#GetSchemesSuccessOld) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | String | no | | + | lenders | ArrayList<[LenderAndPaymentOption](#LenderAndPaymentOption)>? | yes | | + +--- + + + + + #### [PageSchemaResponse](#PageSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | String? | yes | | + | description | String? | yes | | + | sections | HashMap? | yes | | + | settings | HashMap? | yes | | + +--- + + + + + #### [userCountRequest](#userCountRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | String? | yes | | + | startDate | String? | yes | | + | endDate | String? | yes | | + +--- + + + + + #### [RepaymentRequest](#RepaymentRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | String | no | | + | countryCode | String? | yes | | + | target | String? | yes | | + | callbackUrl | String | no | | + | lenderSlug | String? | yes | | + +--- + + + + + #### [RepaymentResponse](#RepaymentResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | String | no | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | no | | + | data | [RepaymentResponseData](#RepaymentResponseData) | no | | + +--- + + + + + #### [RepaymentResponseData](#RepaymentResponseData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | repaymentUrl | String? | yes | | + +--- + + + + + #### [VerifyMagicLinkResponse](#VerifyMagicLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + | scope | ArrayList? | yes | | + | redirectPath | String | no | | + | callbackUrl | String? | yes | | + | meta | HashMap? | yes | | + +--- + + + + + #### [VerifyMagicLinkRequest](#VerifyMagicLinkRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | String | no | | + +--- + + + + + #### [VintageData](#VintageData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject)? | yes | | + | businessDetails | [BusinessDetails](#BusinessDetails) | no | | + | documents | ArrayList<[DocumentItems](#DocumentItems)>? | yes | | + | device | [Device](#Device)? | yes | | + | vintage | ArrayList<[VintageItems](#VintageItems)> | no | | + | meta | HashMap? | yes | | + +--- + + + + + #### [AddVintageResponse](#AddVintageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mesasge | String? | yes | | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta)? | yes | | + | data | HashMap? | yes | | + +--- + + + + +### Enums + + + + + + #### [PageType](#PageType) + Type : string + + | Name | Value | Description | + | ---- | ----- | ----------- | + | external | external | Symbolic link for External Link: /external/:url | + | login | login | Symbolic link for Login: /login | + | home | home | Symbolic link for Home: / | + | transactions | transactions | Symbolic link for Transactions: /transactions | + | transactionDetails | transactionDetails | Symbolic link for Transaction Details: /transactions/:id | + | rewards | rewards | Symbolic link for Rewards: /rewards | + | referAndEarn | referAndEarn | Symbolic link for Refer: /refer | + | profile | profile | Symbolic link for Profile: /profile | + | setupAutopay | setupAutopay | Symbolic link for AutoPay: /autopay | + | updateEmail | updateEmail | Symbolic link for Update Email: /profile/email | + | reportIssue | reportIssue | Symbolic link for Report Issue: /profile/report | + | creditScore | creditScore | Symbolic link for Credit Score: /credit-score | + | autoPay | autoPay | Symbolic link for Setup Autopay: /autopay | + | helpCenter | helpCenter | Symbolic link for Help Center: /profile/help-center | + | kycInit | kycInit | Symbolic link for Start KYC: /kyc | + | accessDigilocker | accessDigilocker | Symbolic link for Access Digilocker: /kyc/:lender/access-digilocker | + | liveliness | liveliness | Symbolic link for Liveliness: /kyc/:lender/selfie | + | lenderOnboard | lenderOnboard | Symbolic link for Lender Onboard: /kyc/:lender/lender-onboard | + | lender | lender | Symbolic link for Lender: /lender/:lenderName | + | kycDocs | kycDocs | Symbolic link for Verify KYC Documents: /kyc/documents | + | kycSelfie | kycSelfie | Symbolic link for Verify KYC Selfie: /kyc/selfie | + | kycStatus | kycStatus | Symbolic link for KYC Status: /kyc/status | + | kycError | kycError | Symbolic link for KYC Error: /kyc/error | + | kycDigilockerResponse | kycDigilockerResponse | Symbolic link for KYC Digilocker Response: /kyc/digilocker-response | + | kycInitResponse | kycInitResponse | Symbolic link for KYC Init Response: /kyc/init-response | + | repayment | repayment | Symbolic link for Repayment: /repayment | + | netBankingRepayment | netBankingRepayment | Symbolic link for Net Banking Repayment: /repayment/netbanking | + | upiRepayment | upiRepayment | Symbolic link for UPI Repayment: /repayment/upi | + | sanctionLetter | sanctionLetter | Symbolic link for Sanction Letter: /sanction/:userId | + | kfs | kfs | Symbolic link for KFS: /kfs/:userId | + | dynamicPage | dynamicPage | Symbolic link for Dynamic Page: /page/:slug | + +--- + + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..cfd6238 --- /dev/null +++ b/pom.xml @@ -0,0 +1,99 @@ + + + 4.0.0 + + com.github.gofynd + fynd-client-java + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 3.2.3 + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 21 + 21 + + + + + + + + com.squareup.retrofit2 + retrofit + 2.3.0 + + + + com.squareup.retrofit2 + converter-jackson + 2.3.0 + + + + com.squareup.okhttp3 + logging-interceptor + 3.9.0 + + + + com.squareup.okhttp3 + okhttp-urlconnection + 3.0.0-RC1 + + + + org.projectlombok + lombok + 1.18.30 + + + + + commons-codec + commons-codec + 1.9 + + + + + org.apache.commons + commons-lang3 + 3.11 + + + + + javax.annotation + javax.annotation-api + 1.3.2 + + + + org.springframework.boot + spring-boot-starter-web + + + + com.github.mrmike + ok2curl + 0.7.0 + + + + com.fasterxml.jackson.core + jackson-databind + + + + + \ No newline at end of file diff --git a/src/main/java/com/sdk/common/AccessResponse.java b/src/main/java/com/sdk/common/AccessResponse.java new file mode 100644 index 0000000..04ae166 --- /dev/null +++ b/src/main/java/com/sdk/common/AccessResponse.java @@ -0,0 +1,35 @@ +package com.sdk.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; +import java.util.Map; + +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +public class AccessResponse { + @JsonProperty("accessToken") + String accessToken; + + @JsonProperty("token_type") + String tokenType; + + @JsonProperty("tokenExpiryIn") + Long expiresIn; + + @JsonProperty("scope") + List scope; + + @JsonProperty("current_user") + Map currentUser; + + @JsonProperty("refreshToken") + String refreshToken; + +} + + \ No newline at end of file diff --git a/src/main/java/com/sdk/common/AccessTokenDto.java b/src/main/java/com/sdk/common/AccessTokenDto.java new file mode 100644 index 0000000..942cb9d --- /dev/null +++ b/src/main/java/com/sdk/common/AccessTokenDto.java @@ -0,0 +1,54 @@ +package com.sdk.common; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.Map; +import java.util.Date; +import java.util.List; + +@Getter +@Setter +public class AccessTokenDto { + + @JsonProperty("accessToken") + String accessToken; + + @JsonProperty("access_mode") + String accessMode; + + @JsonProperty("current_user") + Map currentUser; + + @JsonProperty("expires") + String expires; + + @JsonProperty("refreshToken") + String refreshToken; + + @JsonProperty("access_token_validity") + Long accessTokenValidity; + + @JsonProperty("tokenExpiryIn") + Long expiresIn; + + @JsonProperty("id") + String id; + + @JsonProperty("expire") + Date expire; + + @JsonProperty("extension_Id") + String extensionId; + + @JsonProperty("state") + String state; + + private List scope; + + @JsonProperty("tokenExpireAt") + Long expiresAt; + + +} \ No newline at end of file diff --git a/src/main/java/com/sdk/common/AccessTokenInterceptor.java b/src/main/java/com/sdk/common/AccessTokenInterceptor.java new file mode 100644 index 0000000..1ae4805 --- /dev/null +++ b/src/main/java/com/sdk/common/AccessTokenInterceptor.java @@ -0,0 +1,35 @@ +package com.sdk.common; + +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.Response; + +import com.sdk.platform.*; + +import java.io.IOException; +import java.util.Base64; + +public class AccessTokenInterceptor implements Interceptor { + + private PlatformConfig platformConfig; + + public AccessTokenInterceptor(PlatformConfig platformConfig) { + this.platformConfig = platformConfig; + } + + @Override + public Response intercept(Chain chain) throws IOException { + AccessTokenDto token = platformConfig.getPlatformOauthClient().getAccessTokenObj("authorization_code"); + platformConfig.getPlatformOauthClient().setToken(token); + okhttp3.Request original = chain.request(); + okhttp3.Request.Builder builder = original.newBuilder() + .addHeader("Authorization", "Bearer "+ platformConfig.getPlatformOauthClient().getToken()) + .addHeader("Content-Type", "application/json") + .addHeader("x-merchant-secret", platformConfig.getTopSecret()); + okhttp3.Request request = builder.build(); + return chain.proceed(request); + } + + + +} \ No newline at end of file diff --git a/src/main/java/com/sdk/common/FDKError.java b/src/main/java/com/sdk/common/FDKError.java new file mode 100644 index 0000000..d0f5cb3 --- /dev/null +++ b/src/main/java/com/sdk/common/FDKError.java @@ -0,0 +1,9 @@ +package com.sdk.common; + +public class FDKError extends RuntimeException { + + public FDKError(String message) { + super(message); + } + +} diff --git a/src/main/java/com/sdk/common/FDKLogger.java b/src/main/java/com/sdk/common/FDKLogger.java new file mode 100644 index 0000000..937e10a --- /dev/null +++ b/src/main/java/com/sdk/common/FDKLogger.java @@ -0,0 +1,13 @@ +package com.sdk.common; + +import lombok.extern.slf4j.Slf4j; +import okhttp3.logging.HttpLoggingInterceptor.Logger; + +@Slf4j +public class FDKLogger implements Logger { + + @Override + public void log(String s) { + log.debug(s); + } +} diff --git a/src/main/java/com/sdk/common/FDKTokenIssueError.java b/src/main/java/com/sdk/common/FDKTokenIssueError.java new file mode 100644 index 0000000..cd54d68 --- /dev/null +++ b/src/main/java/com/sdk/common/FDKTokenIssueError.java @@ -0,0 +1,9 @@ +package com.sdk.common; + +public class FDKTokenIssueError extends RuntimeException { + + public FDKTokenIssueError(String message) { + super(message); + } + +} diff --git a/src/main/java/com/sdk/common/Paginator.java b/src/main/java/com/sdk/common/Paginator.java new file mode 100644 index 0000000..8f60675 --- /dev/null +++ b/src/main/java/com/sdk/common/Paginator.java @@ -0,0 +1,53 @@ +package com.sdk.common; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class Paginator { + + private PaginatorCallback actionCallBack; + private boolean hasNext = true; + private String nextId ="*"; + private int pageNo=0; + private String pageType; + private int pageSize; + + + public Paginator(int pageSize, String pageType) { + this.pageSize = pageSize; + this.pageType = pageType; + if(pageType.equalsIgnoreCase("cursor")) { + this.nextId = "*"; + } else { + this.pageNo = 0; + } + } + + public boolean hasNext(){ + return hasNext; + } + + public void setPaginator(boolean hasNext , String nextId, int pageNo) { + this.hasNext = hasNext; + this.nextId = nextId; + this.pageNo = pageNo; + } + + public T next() { + return actionCallBack.onNext(); + } + + public void reset() { + this.hasNext = true; + this.nextId = "*"; + this.pageNo = 0; + } + + public void setCallback(PaginatorCallback callback) { + this.actionCallBack = callback; + } +} diff --git a/src/main/java/com/sdk/common/PaginatorCallback.java b/src/main/java/com/sdk/common/PaginatorCallback.java new file mode 100644 index 0000000..204e78e --- /dev/null +++ b/src/main/java/com/sdk/common/PaginatorCallback.java @@ -0,0 +1,5 @@ +package com.sdk.common; + +public interface PaginatorCallback { + T onNext(); +} diff --git a/src/main/java/com/sdk/common/PlatformHeaderInterceptor.java b/src/main/java/com/sdk/common/PlatformHeaderInterceptor.java new file mode 100644 index 0000000..7df4dc8 --- /dev/null +++ b/src/main/java/com/sdk/common/PlatformHeaderInterceptor.java @@ -0,0 +1,32 @@ +package com.sdk.common; + +import com.sdk.platform.PlatformConfig; +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.Response; + +import java.io.IOException; +import java.util.Base64; + +public class PlatformHeaderInterceptor implements Interceptor { + + private PlatformConfig platformConfig; + + public PlatformHeaderInterceptor(PlatformConfig platformConfig) { + this.platformConfig = platformConfig; + } + + @Override + public Response intercept(Chain chain) throws IOException { + String bearerToken = Base64.getEncoder().encodeToString((platformConfig.getApiKey()+":"+ platformConfig.getApiSecret()).getBytes()); + Request request = chain.request() + .newBuilder() + .addHeader("Accept-Language", "en-IN") + .addHeader("Authorization", "Basic "+ bearerToken) + .addHeader("Content-Type","application/x-www-form-urlencoded") + .addHeader("x-merchant-secret", platformConfig.getTopSecret()) + .addHeader("x-ptl-sdk-version", "v1.0") + .build(); + return chain.proceed(request); + } +} diff --git a/src/main/java/com/sdk/common/RequestSigner.java b/src/main/java/com/sdk/common/RequestSigner.java new file mode 100644 index 0000000..caf4de9 --- /dev/null +++ b/src/main/java/com/sdk/common/RequestSigner.java @@ -0,0 +1,238 @@ +package com.sdk.common; + +import okhttp3.HttpUrl; +import okhttp3.Request; +import okhttp3.Request.Builder; +import okio.Buffer; +import org.apache.commons.codec.binary.Hex; +import org.springframework.http.HttpStatus; +import org.springframework.util.ObjectUtils; +import org.springframework.web.client.HttpClientErrorException; +import org.springframework.web.client.HttpServerErrorException; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.IOException; +import java.math.BigInteger; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.atomic.AtomicReference; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class RequestSigner { + + private Request request; + private Request updatedReq; + private String nowDateTime; + private boolean signQuery; + + static final List HEADERS_TO_IGNORE = List.of("authorization", "connection", "x-amzn-trace-id", + "user-agent", "expect", "presigned-expires", "range"); + + static final List HEADERS_TO_INCLUDE = List.of("x-ptl-.*", "host"); + + public RequestSigner(Request request) { + this.request = request; + } + + public Request sign(boolean signQuery) { + this.signQuery = signQuery; + updatedReq = prepareRequest(); + String topSecret = request.header("x-merchant-secret"); + System.out.println("Signing request:" + topSecret); + String sign = signature(topSecret); + try { + if (this.signQuery) { + HttpUrl httpUrl = updatedReq.url().newBuilder().addQueryParameter("x-ptl-signature", sign) + .build(); + updatedReq = updatedReq.newBuilder().url(httpUrl).build(); + } else { + updatedReq = updatedReq.newBuilder().header("x-ptl-signature", sign).build(); + } + // Remove the "x-merchant-secret" header + this.updatedReq = this.updatedReq.newBuilder().removeHeader("x-merchant-secret").build(); + + } catch (Exception e) { + e.getStackTrace(); + } + return updatedReq; + } + + private Request prepareRequest() { + Builder newReqBuilder = request.newBuilder(); + if (signQuery) { + HttpUrl httpUrl = + request.url().newBuilder().addQueryParameter("x-ptl-date", getDateTime()).build(); + newReqBuilder.url(httpUrl); + }else { + newReqBuilder.header("x-ptl-date", getDateTime()); + } + newReqBuilder.header("host", request.url().host()); + return newReqBuilder.build(); + } + + private String getDateTime() { + if (nowDateTime == null) { + TimeZone tz = TimeZone.getTimeZone("UTC"); + // Quoted "Z" to indicate UTC, no timezone offset + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + df.setTimeZone(tz); + String nowAsISO = df.format(new Date()); + nowDateTime = nowAsISO.replace("-", Fields.EMPTY_STRING).replace(Fields.COLON, Fields.EMPTY_STRING) + .replace("'", Fields.EMPTY_STRING); + } + return nowDateTime; + } + + private String signature(String topSecret) { + String kCredentials = topSecret; + String strToSign = stringToSign(); + return "v1:" + hMac(kCredentials, strToSign); + } + + private String stringToSign() { + return getDateTime() + "\n" + hash(canonicalString()); + } + + private String hMac(String key, String strToSign) { + try { + Mac sha256Hmac = Mac.getInstance("HmacSHA256"); + sha256Hmac.init(new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "HmacSHA256")); + return Hex.encodeHexString(sha256Hmac.doFinal(strToSign.getBytes(StandardCharsets.UTF_8))); + } catch (Exception e) { + e.getStackTrace(); + throw new HttpServerErrorException(HttpStatus.EXPECTATION_FAILED, "Could not using Hmac SHA to convert"); + } + } + + private String hash(String stringToDigest) { + try { + MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); + messageDigest.update(stringToDigest.getBytes(StandardCharsets.UTF_8)); + byte[] digest = messageDigest.digest(); + return String.format("%064x", new BigInteger(1, digest)); + } catch (Exception e) { + e.printStackTrace(); + throw new HttpServerErrorException(HttpStatus.EXPECTATION_FAILED, "Could not using SHA to convert"); + } + } + + private String canonicalString() { + StringBuilder canonicalRequest = new StringBuilder(); + String canonicalQueryString = canonicalQueryString(); + canonicalRequest.append(updatedReq.method()).append("\n"); + canonicalRequest.append(canonicalPath()).append("\n"); + if (!ObjectUtils.isEmpty(canonicalQueryString)) { + canonicalRequest.append(canonicalQueryString); + } + canonicalRequest.append("\n"); + canonicalRequest.append(canonicalHeaders()).append("\n").append("\n"); + canonicalRequest.append(signedHeaders()).append("\n"); + + try (Buffer bodyBuffer = new Buffer()) { + if (Objects.nonNull(updatedReq.body())) { + updatedReq.body().writeTo(bodyBuffer); + String body = bodyBuffer.readUtf8(); + canonicalRequest.append(hash(body)); + } else { + canonicalRequest.append(hash(Fields.EMPTY_STRING)); + } + } catch (IOException e) { + throw new HttpClientErrorException(HttpStatus.INTERNAL_SERVER_ERROR, "Could not append BODY"); + } + return canonicalRequest.toString(); + } + + // Logic to create Query String + private String canonicalQueryString() { + String canonicalQueryString = Fields.EMPTY_STRING; + if (updatedReq.url().querySize() > 0) { + StringBuilder encodedQueryPieces = new StringBuilder(Fields.EMPTY_STRING); + updatedReq.url().queryParameterNames().stream().filter(Objects::nonNull) + // .map(this::encode) + .sorted().forEach(params -> addQueryParam(params, encodedQueryPieces)); + return encodedQueryPieces.toString(); + } + return canonicalQueryString; + } + + // Logic to create Path String + private String canonicalPath() { + StringBuilder encodedPathPieces = new StringBuilder(); + updatedReq.url().encodedPathSegments().stream().map(this::encode) + .forEach(path -> encodedPathPieces.append("/").append(path)); + return encodedPathPieces.toString(); + } + + private void addQueryParam(String encodedQueryName, StringBuilder encodedQueryPieces) { + updatedReq.url().queryParameterValues(URLDecoder.decode(encodedQueryName, StandardCharsets.UTF_8)).stream() + .sorted().forEach(queryValue -> includeQueryValue(queryValue, encodedQueryName, encodedQueryPieces)); + } + + private void includeQueryValue(String queryValue, String encodedQueryName, StringBuilder encodedQueryPieces) { + String query = encodedQueryName + "=" + queryValue; + if (ObjectUtils.isEmpty(encodedQueryPieces)) { + encodedQueryPieces.append(query); + } else { + encodedQueryPieces.append("&").append(query); + } + } + + private String encode(String parameter) { + return URLEncoder.encode(parameter, StandardCharsets.UTF_8); + } + + private void addHeaderValues(String headerName, StringBuilder canonicalHeader) { + updatedReq.headers().values(headerName).forEach(headerValue -> { + if (!ObjectUtils.isEmpty(canonicalHeader)) { + canonicalHeader.append("\n"); + } + canonicalHeader.append(headerName).append(Fields.COLON).append(headerValue.trim()); + }); + } + + private boolean filterHeaders(String headerName) { + boolean notInIgnoreHeader = !HEADERS_TO_IGNORE.contains(headerName.toLowerCase()); + if (notInIgnoreHeader) { + AtomicReference foundMatch = new AtomicReference<>(false); + HEADERS_TO_INCLUDE.forEach(regExp -> { + Pattern pattern = Pattern.compile(regExp, Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(headerName); + boolean result = (foundMatch.get() || matcher.matches()); + foundMatch.set(result); + }); + return foundMatch.get(); + } else { + return false; + } + } + + private String canonicalHeaders() { + StringBuilder canonicalHeader = new StringBuilder(); + updatedReq.headers().names().stream().filter(this::filterHeaders) + .forEach(header -> addHeaderValues(header, canonicalHeader)); + return canonicalHeader.toString(); + } + + private String signedHeaders() { + StringBuilder headerNames = new StringBuilder(); + updatedReq.headers().names().stream().filter(this::filterHeaders).sorted().forEach(headerName -> { + if (!ObjectUtils.isEmpty(headerNames)) { + headerNames.append(Fields.SEMI_COLON); + } + headerNames.append(headerName.trim()); + }); + return headerNames.toString(); + } + + private interface Fields { + String SEMI_COLON = ";"; + String COLON = ":"; + String EMPTY_STRING = ""; + } +} diff --git a/src/main/java/com/sdk/common/RequestSignerInterceptor.java b/src/main/java/com/sdk/common/RequestSignerInterceptor.java new file mode 100644 index 0000000..9175234 --- /dev/null +++ b/src/main/java/com/sdk/common/RequestSignerInterceptor.java @@ -0,0 +1,24 @@ +package com.sdk.common; + +import java.io.IOException; + +import lombok.NoArgsConstructor; +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.Response; + +@NoArgsConstructor +public class RequestSignerInterceptor implements Interceptor { + + boolean signQuery; + + public RequestSignerInterceptor(boolean signQuery) { + this.signQuery = signQuery; + } + + @Override + public Response intercept(Chain chain) throws IOException { + Request request = new RequestSigner(chain.request()).sign(signQuery); + return chain.proceed(request); + } +} \ No newline at end of file diff --git a/src/main/java/com/sdk/common/RetrofitServiceFactory.java b/src/main/java/com/sdk/common/RetrofitServiceFactory.java new file mode 100644 index 0000000..cd52253 --- /dev/null +++ b/src/main/java/com/sdk/common/RetrofitServiceFactory.java @@ -0,0 +1,179 @@ +package com.sdk.common; + +import okhttp3.*; +import okhttp3.internal.JavaNetCookieJar; +import okhttp3.logging.HttpLoggingInterceptor; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import java.net.CookieManager; +import java.net.CookiePolicy; +import java.net.CookieStore; +import java.security.cert.CertificateException; +import java.time.Duration; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.TimeUnit; +import com.moczul.ok2curl.CurlInterceptor; + + +/** Service Generator class for Retrofit communication Depends on baseUrl property */ +public class RetrofitServiceFactory { + + private String baseURL; + + private Retrofit.Builder builder; + + private Retrofit retrofit; + + private OkHttpClient.Builder httpClient; + + private FDKLogger fdkLogger; + + private HttpLoggingInterceptor logging; + + private CurlInterceptor ok2CurlInterceptor; + + public RetrofitServiceFactory() { + baseURL = "http://localhost:8080"; + builder = + new Retrofit.Builder() + .baseUrl(baseURL) + .addConverterFactory(JacksonConverterFactory.create()); + retrofit = builder.build(); + fdkLogger = new FDKLogger(); + httpClient = new OkHttpClient.Builder(); + logging = new HttpLoggingInterceptor(fdkLogger).setLevel(HttpLoggingInterceptor.Level.BODY); + ok2CurlInterceptor = new CurlInterceptor(s ->System.out.println(s)); + } + + public S createService(String baseUrl, Class serviceClass, List interceptorList) { + return createService(baseUrl, serviceClass, interceptorList, null); + } + + /** + * This method generates retrofit Service call object + * + * @param baseUrl the base url for retrofit + * @param serviceClass the class call object which needs to be returned + * @return the service class call object + */ + public S createService(String baseUrl, Class serviceClass, List interceptorList, CookieStore cookieStore) { + setApiBaseUrl(baseUrl); + if (!httpClient.interceptors().contains(logging)) { + httpClient.addInterceptor(logging); + } + if(!interceptorList.contains(ok2CurlInterceptor)){ + interceptorList.add(ok2CurlInterceptor); + } + builder.client(getUnsafeOkHttpClient(interceptorList, cookieStore)); + retrofit = builder.build(); + return retrofit.create(serviceClass); + } + + private static OkHttpClient getUnsafeOkHttpClient(List interceptorList, CookieStore cookieStore) { + try { + // Create a trust manager that does not validate certificate chains + final TrustManager[] trustAllCerts = + new TrustManager[] { + new X509TrustManager() { + @Override + public void checkClientTrusted( + java.security.cert.X509Certificate[] chain, String authType) + throws CertificateException {} + + @Override + public void checkServerTrusted( + java.security.cert.X509Certificate[] chain, String authType) + throws CertificateException {} + + @Override + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return new java.security.cert.X509Certificate[] {}; + } + } + }; + + // Install the all-trusting trust manager + final SSLContext sslContext = SSLContext.getInstance("TLSv1.2"); + sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); + // Create an ssl socket factory with our all-trusting manager + final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory(); + + OkHttpClient.Builder builder = new OkHttpClient.Builder(); + builder.sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0]); + builder.hostnameVerifier((hostname, session) -> true); + if(!interceptorList.isEmpty()) { + interceptorList.forEach(builder::addInterceptor); + } + CookieJar cookieJar = addCookie(cookieStore); + if(Objects.nonNull(cookieJar)) { + builder.cookieJar(cookieJar); + } + builder.readTimeout(Duration.ofMinutes(Constants.READ_TIMEOUT).toMinutes(), TimeUnit.MINUTES); + builder.connectTimeout(Duration.ofSeconds(Constants.CONNECT_TIMEOUT).getSeconds(), TimeUnit.MINUTES); + builder.writeTimeout(Duration.ofSeconds(Constants.WRITE_TIMEOUT).getSeconds(), TimeUnit.MINUTES); + builder.connectionPool( + new ConnectionPool(Constants.IDLE_CONNECTION, Constants.KEEP_ALIVE, TimeUnit.MINUTES)); + return builder.build(); + } catch (Exception e) { + throw new FDKError(e.getMessage()); + } + } + + private static CookieJar addCookie(CookieStore cookieStore) { + if(Objects.nonNull(cookieStore)) { + CookieManager cookieManager = new CookieManager(cookieStore, CookiePolicy.ACCEPT_ALL); + return new JavaNetCookieJar(cookieManager); + } + return null; + } + + public S getInstance(String baseUrl, Class serviceClass) { + return getInstance(baseUrl, serviceClass, null); + } + + /** + * This method generates retrofit Service call object + * + * @param baseUrl the base url for retrofit + * @param serviceClass the class call object which needs to be returned + * @return the service class call object + */ + public S getInstance(String baseUrl, Class serviceClass, CookieStore cookieStore) { + setApiBaseUrl(baseUrl); + List interceptorList = new ArrayList<>(); + interceptorList.add(new RequestSignerInterceptor()); + if (!interceptorList.contains(logging)) { + interceptorList.add(logging); + } + if(!interceptorList.contains(ok2CurlInterceptor)){ + interceptorList.add(ok2CurlInterceptor); + } + builder.client(getUnsafeOkHttpClient(interceptorList, cookieStore)); + retrofit = builder.build(); + return retrofit.create(serviceClass); + } + + private void setApiBaseUrl(String baseUrl) { + baseURL = baseUrl; + builder = + new Retrofit.Builder() + .addConverterFactory(JacksonConverterFactory.create()) + .baseUrl(baseURL); + } + + interface Constants { + int READ_TIMEOUT = 15; + int CONNECT_TIMEOUT = 15; + int WRITE_TIMEOUT = 15; + int KEEP_ALIVE = 10; + int IDLE_CONNECTION = 0; + } +} diff --git a/src/main/java/com/sdk/platform/PlatformApiList.java b/src/main/java/com/sdk/platform/PlatformApiList.java new file mode 100644 index 0000000..06ab56d --- /dev/null +++ b/src/main/java/com/sdk/platform/PlatformApiList.java @@ -0,0 +1,260 @@ +package com.sdk.platform; + +import retrofit2.http.*; +import retrofit2.Call; +import java.util.*; + + +interface CustomerApiList { + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/validate-customer") + Call validate(@Path("organizationId") String organizationId ,@Body PlatformModels.ValidateCustomer payload); + + + + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/transaction") + Call createTransaction(@Path("organizationId") String organizationId ,@Body PlatformModels.CreateTransaction payload); + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/account/link") + Call link(@Path("organizationId") String organizationId ,@Body PlatformModels.LinkAccount payload); + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/account/unlink") + Call unlink(@Path("organizationId") String organizationId ,@Body PlatformModels.UnlinkAccount payload); + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/refund") + Call refund(@Path("organizationId") String organizationId ,@Body PlatformModels.Refund payload); + + + + + + + + + + + + + + @GET ("/service/integration/user/authentication/{organizationId}/refund/status") + Call refundStatus(@Path("organizationId") String organizationId , @Query("refundId") String refundId , @Query("orderId") String orderId ); + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/schemes") + Call getSchemes(@Path("organizationId") String organizationId ,@Body PlatformModels.GetSchemesRequest payload); + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/eligibility") + Call checkEligibility(@Path("organizationId") String organizationId ,@Body PlatformModels.CheckEligibilityRequest payload); + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/repayment-link") + Call getRepaymentLink(@Path("organizationId") String organizationId ,@Body PlatformModels.RepaymentRequest payload); + + + + + + + + + + + + + + + + + + + + @GET ("/service/integration/user/authentication/{organizationId}/users") + Call getAllCustomers(@Path("organizationId") String organizationId , @Query("page") Integer page , @Query("limit") Integer limit , @Query("name") String name , @Query("mobile") String mobile ); + + + + + + + + @POST ("/service/integration/user/authentication/{organizationId}/vintage") + Call addVintageData(@Path("organizationId") String organizationId ,@Body PlatformModels.VintageData payload); + +} + +interface CreditApiList { + + + + + + + + + + + @GET ("/service/integration/credit/credit/{organizationId}/orders/{orderId}/status") + Call getOrderStatus(@Path("organizationId") String organizationId , @Path("orderId") String orderId ); + + + + + + + + + + + @POST ("/service/integration/credit/credit/{organizationId}/{lenderSlug}/plans") + Call getEligiblePlans(@Path("organizationId") String organizationId , @Path("lenderSlug") String lenderSlug ,@Body PlatformModels.EligiblePlansRequest payload); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @GET ("/service/integration/credit/summary/organization/{organizationId}/transactions") + Call getTransactions(@Path("organizationId") String organizationId , @Query("mobile") String mobile , @Query("countryCode") String countryCode , @Query("page") Integer page , @Query("limit") Integer limit , @Query("orderId") String orderId , @Query("transactionId") String transactionId , @Query("type") Object type , @Query("status") Object status , @Query("onlySelf") Boolean onlySelf , @Query("granularity") String granularity ); + +} + +interface MultiKycApiList { + + + + + + + + @GET ("/service/integration/kyc-onboarding/bre/{organizationId}/approved-lenders") + Call approvedLenders(@Path("organizationId") Object organizationId ); + +} + +interface MerchantApiList { + + + + + + + + @POST ("/service/integration/staff/authentication/oauth/{organizationId}/authorize") + Call getAccessToken(@Path("organizationId") String organizationId ); + + + + + + + + @POST ("/service/integration/staff/authentication/oauth/{organizationId}/token") + Call renewAccessToken(@Path("organizationId") String organizationId ,@Body PlatformModels.RefreshTokenRequest payload); + + + + + + + + @POST ("/service/integration/staff/authentication/oauth/{organizationId}/validate-credentials") + Call validateCredentials(@Path("organizationId") String organizationId ); + +} + +interface PaymentsApiList { + + + + + + + + + + + + + + @GET ("/service/integration/payments/repayment/{mobile}/{organizationId}/outstanding") + Call getUserCreditSummary(@Path("mobile") String mobile , @Path("organizationId") String organizationId , @Query("lenderSlugs") List lenderSlugs ); + +} diff --git a/src/main/java/com/sdk/platform/PlatformClient.java b/src/main/java/com/sdk/platform/PlatformClient.java new file mode 100644 index 0000000..9d52d47 --- /dev/null +++ b/src/main/java/com/sdk/platform/PlatformClient.java @@ -0,0 +1,40 @@ +package com.sdk.platform; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class PlatformClient { + + private PlatformConfig config; + + + public PlatformService.CustomerService customer; + + public PlatformService.CreditService credit; + + public PlatformService.MultiKycService multiKyc; + + public PlatformService.MerchantService merchant; + + public PlatformService.PaymentsService payments; + + + public PlatformClient(PlatformConfig config) + { + this.config = config; + + this.customer = new PlatformService.CustomerService(config); + + this.credit = new PlatformService.CreditService(config); + + this.multiKyc = new PlatformService.MultiKycService(config); + + this.merchant = new PlatformService.MerchantService(config); + + this.payments = new PlatformService.PaymentsService(config); + + } + +} \ No newline at end of file diff --git a/src/main/java/com/sdk/platform/PlatformConfig.java b/src/main/java/com/sdk/platform/PlatformConfig.java new file mode 100644 index 0000000..9acbd8e --- /dev/null +++ b/src/main/java/com/sdk/platform/PlatformConfig.java @@ -0,0 +1,41 @@ +package com.sdk.platform; + +import com.sdk.common.AccessTokenDto; +import lombok.Getter; +import lombok.Setter; + +import java.net.CookieManager; +import java.net.CookieStore; +import java.util.Objects; + +@Getter +@Setter +public final class PlatformConfig { + private String organizationId; + private String domain = "https://api.potleex0.de"; + private String apiKey; + private String apiSecret; + private String token; + private String topSecret; + private Boolean useAutoRenewTimer; + private CookieStore persistentCookieStore; + private PlatformOauthClient platformOauthClient; + + public PlatformConfig(String companyId, String apiKey, String apiSecret, String apiToken, String domain, boolean useAutoRenewTimer) { + if (Objects.isNull(companyId)) { + throw new IllegalArgumentException("Please enter Valid Company ID"); + } + this.organizationId = companyId; + this.apiKey = apiKey; + this.apiSecret = apiToken; + this.token = apiToken; + this.domain = domain; + this.topSecret = apiSecret; + this.useAutoRenewTimer = useAutoRenewTimer; + this.platformOauthClient = new PlatformOauthClient(this); + } + + public AccessTokenDto getAccessToken() { + return this.platformOauthClient.getRawToken(); + } +} \ No newline at end of file diff --git a/src/main/java/com/sdk/platform/PlatformModels.java b/src/main/java/com/sdk/platform/PlatformModels.java new file mode 100644 index 0000000..085e918 --- /dev/null +++ b/src/main/java/com/sdk/platform/PlatformModels.java @@ -0,0 +1,21123 @@ + + +package com.sdk.platform; + +import com.fasterxml.jackson.annotation.*; +import lombok.*; + +import java.util.*; + +public class PlatformModels { + + +/* + Model: IntegrationResponseMeta +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class IntegrationResponseMeta { + + + + + @JsonProperty("timestamp") + private String timestamp; + + + + + @JsonProperty("version") + private String version; + + + + + @JsonProperty("product") + private String product; + + + + + @JsonProperty("requestId") + private String requestId; + + + + +} + +/* + Model: IntegrationResponseError +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class IntegrationResponseError { + + + + + @JsonProperty("code") + private String code; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("exception") + private String exception; + + + + + @JsonProperty("field") + private String field; + + + + + @JsonProperty("location") + private String location; + + + + +} + +/* + Model: IntegrationSuccessResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class IntegrationSuccessResponse { + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("meta") + private IntegrationResponseMeta meta; + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: IntegrationErrorResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class IntegrationErrorResponse { + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("meta") + private IntegrationResponseMeta meta; + + + + + @JsonProperty("errors") + private List errors; + + + + +} + +/* + Model: RefundResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RefundResponse { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("refundId") + private String refundId; + + + + +} + +/* + Model: UserSource +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserSource { + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("sourceId") + private String sourceId; + + + + + @JsonProperty("meta") + private Object meta; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("app") + private String app; + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("userMerchants") + private List userMerchants; + + + + +} + +/* + Model: UserSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserSchema { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("firstName") + private String firstName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("gender") + private String gender; + + + + + @JsonProperty("dob") + private String dob; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("profilePicUrl") + private String profilePicUrl; + + + + + @JsonProperty("isEmailVerified") + private Boolean isEmailVerified; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: count +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class count { + + + + + @JsonProperty("totalUsers") + private String totalUsers; + + + + +} + +/* + Model: FilterByDate +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class FilterByDate { + + + + + @JsonProperty("startDate") + private String startDate; + + + + + @JsonProperty("endDate") + private String endDate; + + + + +} + +/* + Model: LenderCount +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderCount { + + + + + @JsonProperty("totalLenders") + private String totalLenders; + + + + +} + +/* + Model: LenderSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderSchema { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: TotalUsersPerLender +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TotalUsersPerLender { + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("page") + private PageResponse page; + + + + + @JsonProperty("lenderList") + private List lenderList; + + + + +} + +/* + Model: TotalUsersPerLenderData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TotalUsersPerLenderData { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("totalUsers") + private String totalUsers; + + + + +} + +/* + Model: TotalUserByLender +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TotalUserByLender { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("count") + private String count; + + + + +} + +/* + Model: UsersByLender +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UsersByLender { + + + + + @JsonProperty("firstName") + private String firstName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("name") + private String name; + + + + +} + +/* + Model: ErrorResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ErrorResponse { + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("info") + private String info; + + + + + @JsonProperty("code") + private String code; + + + + + @JsonProperty("requestId") + private String requestId; + + + + + @JsonProperty("meta") + private Object meta; + + + + +} + +/* + Model: EditProfileRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EditProfileRequest { + + + + + @JsonProperty("firstName") + private String firstName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("gender") + private String gender; + + + + + @JsonProperty("dob") + private String dob; + + + + + @JsonProperty("registrationToken") + private String registrationToken; + + + + +} + +/* + Model: VerifyOtpRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyOtpRequest { + + + + + @JsonProperty("requestId") + private String requestId; + + + + + @JsonProperty("otp") + private String otp; + + + + + @JsonProperty("captchaCode") + private String captchaCode; + + + + + @JsonProperty("androidHash") + private String androidHash; + + + + + @JsonProperty("referralCode") + private String referralCode; + + + + + @JsonProperty("onboardingToken") + private String onboardingToken; + + + + +} + +/* + Model: SendMobileOtpRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SendMobileOtpRequest { + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("captchaCode") + private String captchaCode; + + + + + @JsonProperty("androidHash") + private String androidHash; + + + + + @JsonProperty("force") + private String force; + + + + +} + +/* + Model: ReSendMobileOtpRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ReSendMobileOtpRequest { + + + + + @JsonProperty("captchaCode") + private String captchaCode; + + + + + @JsonProperty("token") + private String token; + + + + + @JsonProperty("androidHash") + private String androidHash; + + + + +} + +/* + Model: SendOtpRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SendOtpRequest { + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("captchaCode") + private String captchaCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + +} + +/* + Model: ApplicationUser +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ApplicationUser { + + + + + @JsonProperty("user") + private UserSchema user; + + + + +} + +/* + Model: SendOtpResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SendOtpResponse { + + + + + @JsonProperty("resendTimer") + private Integer resendTimer; + + + + + @JsonProperty("resendToken") + private String resendToken; + + + + + @JsonProperty("success") + private Boolean success; + + + + + @JsonProperty("requestId") + private String requestId; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("resendEmailToken") + private String resendEmailToken; + + + + + @JsonProperty("registerToken") + private String registerToken; + + + + + @JsonProperty("verifyEmailOtp") + private Boolean verifyEmailOtp; + + + + + @JsonProperty("verifyMobileOtp") + private Boolean verifyMobileOtp; + + + + + @JsonProperty("userExists") + private Boolean userExists; + + + + +} + +/* + Model: EmailUpdate +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EmailUpdate { + + + + + @JsonProperty("email") + private String email; + + + + +} + +/* + Model: UserUpdateRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserUpdateRequest { + + + + + @JsonProperty("firstName") + private Object firstName; + + + + + @JsonProperty("lastName") + private Object lastName; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("email") + private Object email; + + + + + @JsonProperty("gender") + private Object gender; + + + + + @JsonProperty("dob") + private Object dob; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("profilePictureUrl") + private Object profilePictureUrl; + + + + + @JsonProperty("isEmailVerified") + private Boolean isEmailVerified; + + + + +} + +/* + Model: LenderUpdateRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderUpdateRequest { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: ProfileEditSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ProfileEditSuccess { + + + + + @JsonProperty("user") + private UserSchema user; + + + + + @JsonProperty("registerToken") + private String registerToken; + + + + + @JsonProperty("resendEmailToken") + private String resendEmailToken; + + + + + @JsonProperty("userExists") + private Boolean userExists; + + + + + @JsonProperty("verifyEmailLink") + private Boolean verifyEmailLink; + + + + + @JsonProperty("verifyEmailOtp") + private Boolean verifyEmailOtp; + + + + + @JsonProperty("verifyMobileOtp") + private Boolean verifyMobileOtp; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("requestId") + private String requestId; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("success") + private Boolean success; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("resendTimer") + private Integer resendTimer; + + + + + @JsonProperty("resendToken") + private String resendToken; + + + + +} + +/* + Model: LoginSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LoginSuccess { + + + + + @JsonProperty("user") + private UserSchema user; + + + + + @JsonProperty("requestId") + private String requestId; + + + + + @JsonProperty("registerToken") + private String registerToken; + + + + +} + +/* + Model: VerifyOtpSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyOtpSuccess { + + + + + @JsonProperty("user") + private UserSchema user; + + + + + @JsonProperty("userExists") + private Boolean userExists; + + + + + @JsonProperty("isNew") + private Boolean isNew; + + + + +} + +/* + Model: LogoutSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LogoutSuccess { + + + + + @JsonProperty("logout") + private Boolean logout; + + + + +} + +/* + Model: OtpSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OtpSuccess { + + + + + @JsonProperty("resendTimer") + private Integer resendTimer; + + + + + @JsonProperty("resendToken") + private String resendToken; + + + + + @JsonProperty("registerToken") + private String registerToken; + + + + + @JsonProperty("success") + private Boolean success; + + + + + @JsonProperty("requestId") + private String requestId; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("isNew") + private Boolean isNew; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("otpLength") + private Double otpLength; + + + + +} + +/* + Model: SessionListSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SessionListSuccess { + + + + + @JsonProperty("sessions") + private List sessions; + + + + +} + +/* + Model: VerifyMobileOTPSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyMobileOTPSuccess { + + + + + @JsonProperty("user") + private UserSchema user; + + + + +} + +/* + Model: Location +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Location { + + + + + @JsonProperty("latitude") + private Double latitude; + + + + + @JsonProperty("longitude") + private Double longitude; + + + + +} + +/* + Model: OrderAddress +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrderAddress { + + + + + @JsonProperty("line1") + private String line1; + + + + + @JsonProperty("line2") + private String line2; + + + + + @JsonProperty("city") + private String city; + + + + + @JsonProperty("state") + private String state; + + + + + @JsonProperty("country") + private String country; + + + + + @JsonProperty("pincode") + private String pincode; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("geoLocation") + private Location geoLocation; + + + + +} + +/* + Model: CustomerObject +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerObject { + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("uid") + private String uid; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("firstname") + private String firstname; + + + + + @JsonProperty("middleName") + private String middleName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + +} + +/* + Model: Order +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Order { + + + + + @JsonProperty("valueInPaise") + private Integer valueInPaise; + + + + + @JsonProperty("uid") + private String uid; + + + + + @JsonProperty("items") + private List items; + + + + + @JsonProperty("shippingAddress") + private OrderAddress shippingAddress; + + + + + @JsonProperty("billingAddress") + private OrderAddress billingAddress; + + + + +} + +/* + Model: VerifyOrder +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyOrder { + + + + + @JsonProperty("valueInPaise") + private Integer valueInPaise; + + + + + @JsonProperty("uid") + private String uid; + + + + + @JsonProperty("items") + private List items; + + + + + @JsonProperty("shippingAddress") + private OrderAddress shippingAddress; + + + + + @JsonProperty("billingAddress") + private OrderAddress billingAddress; + + + + +} + +/* + Model: OrderUid +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrderUid { + + + + + @JsonProperty("valueInPaise") + private Integer valueInPaise; + + + + + @JsonProperty("uid") + private String uid; + + + + + @JsonProperty("items") + private List items; + + + + + @JsonProperty("shippingAddress") + private OrderAddress shippingAddress; + + + + + @JsonProperty("billingAddress") + private OrderAddress billingAddress; + + + + +} + +/* + Model: CustomerMeta +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerMeta { + + + + + @JsonProperty("ip") + private String ip; + + + + + @JsonProperty("appVersion") + private String appVersion; + + + + + @JsonProperty("appIdentifier") + private String appIdentifier; + + + + + @JsonProperty("customerUserAgent") + private String customerUserAgent; + + + + + @JsonProperty("deviceId") + private String deviceId; + + + + +} + +/* + Model: Device +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Device { + + + + + @JsonProperty("ipAddress") + private String ipAddress; + + + + + @JsonProperty("userAgent") + private String userAgent; + + + + + @JsonProperty("latitude") + private Double latitude; + + + + + @JsonProperty("longitude") + private Double longitude; + + + + +} + +/* + Model: ValidateCustomer +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ValidateCustomer { + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("order") + private VerifyOrder order; + + + + + @JsonProperty("device") + private Device device; + + + + + @JsonProperty("meta") + private Object meta; + + + + + @JsonProperty("fetchLimitOptions") + private Boolean fetchLimitOptions; + + + + + @JsonProperty("fetchPlans") + private Boolean fetchPlans; + + + + +} + +/* + Model: CreateTransaction +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateTransaction { + + + + + @JsonProperty("redirectUrl") + private String redirectUrl; + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("order") + private Order order; + + + + + @JsonProperty("device") + private Device device; + + + + + @JsonProperty("meta") + private Object meta; + + + + + @JsonProperty("emiTenure") + private Integer emiTenure; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("consents") + private List consents; + + + + +} + +/* + Model: ResendPaymentRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ResendPaymentRequest { + + + + + @JsonProperty("redirectUrl") + private String redirectUrl; + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("order") + private OrderUid order; + + + + +} + +/* + Model: ValidateCustomerSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ValidateCustomerSuccess { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("userStatus") + private String userStatus; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("schemes") + private List schemes; + + + + + @JsonProperty("limit") + private LimitResponse limit; + + + + +} + +/* + Model: CreateTransactionSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateTransactionSuccess { + + + + + @JsonProperty("chargeToken") + private String chargeToken; + + + + + @JsonProperty("redirectUrl") + private String redirectUrl; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("userStatus") + private String userStatus; + + + + +} + +/* + Model: SupportDocuments +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SupportDocuments { + + + + + @JsonProperty("fileName") + private String fileName; + + + + + @JsonProperty("fileUrl") + private String fileUrl; + + + + +} + +/* + Model: CreateTicketResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateTicketResponse { + + + + + @JsonProperty("serviceRequestId") + private String serviceRequestId; + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: CreateTicket +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateTicket { + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("documents") + private List documents; + + + + +} + +/* + Model: InitiateTransactions +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class InitiateTransactions { + + + + + @JsonProperty("token") + private String token; + + + + +} + +/* + Model: GetMobileFromToken +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetMobileFromToken { + + + + + @JsonProperty("token") + private String token; + + + + +} + +/* + Model: GetDataFromToken +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetDataFromToken { + + + + + @JsonProperty("token") + private String token; + + + + +} + +/* + Model: MerchantDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MerchantDetails { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("website") + private String website; + + + + + @JsonProperty("logo") + private String logo; + + + + +} + +/* + Model: InitiateTransactionsSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class InitiateTransactionsSuccess { + + + + + @JsonProperty("chargeToken") + private String chargeToken; + + + + + @JsonProperty("session") + private String session; + + + + + @JsonProperty("expiry") + private String expiry; + + + + + @JsonProperty("hash") + private String hash; + + + + + @JsonProperty("order") + private Order order; + + + + + @JsonProperty("isAsp") + private Boolean isAsp; + + + + + @JsonProperty("merchant") + private MerchantDetails merchant; + + + + + @JsonProperty("redirectUrl") + private String redirectUrl; + + + + +} + +/* + Model: RetrieveMobileFromToken +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RetrieveMobileFromToken { + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + +} + +/* + Model: CreateDashboardTemplateRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateDashboardTemplateRequest { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("version") + private String version; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("sections") + private List sections; + + + + +} + +/* + Model: TemplateSections +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TemplateSections { + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + + @JsonProperty("isAvailableInMobile") + private Boolean isAvailableInMobile; + + + + + @JsonProperty("isAvailableInDesktop") + private Boolean isAvailableInDesktop; + + + + + @JsonProperty("component") + private TemplateComponent component; + + + + +} + +/* + Model: TemplateComponent +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TemplateComponent { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("isAvailableInDesktop") + private Boolean isAvailableInDesktop; + + + + + @JsonProperty("partnerApplications") + private List partnerApplications; + + + + + @JsonProperty("banners") + private List banners; + + + + + @JsonProperty("tips") + private List tips; + + + + +} + +/* + Model: PartnerApplications +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PartnerApplications { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("urlPath") + private String urlPath; + + + + + @JsonProperty("urlTarget") + private String urlTarget; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + +} + +/* + Model: Offerings +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Offerings { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("urlPath") + private String urlPath; + + + + + @JsonProperty("urlTarget") + private String urlTarget; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + + @JsonProperty("gradient") + private List gradient; + + + + +} + +/* + Model: Banners +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Banners { + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("action") + private ActionSchema action; + + + + +} + +/* + Model: Tips +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Tips { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("urlPath") + private String urlPath; + + + + + @JsonProperty("urlTarget") + private String urlTarget; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + +} + +/* + Model: DashboardTemplateResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DashboardTemplateResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("version") + private String version; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("sections") + private List sections; + + + + +} + +/* + Model: SectionSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SectionSchema { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("partners") + private List partners; + + + + + @JsonProperty("banners") + private List banners; + + + + + @JsonProperty("tips") + private List tips; + + + + +} + +/* + Model: PartnerApplicationsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PartnerApplicationsResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("action") + private ActionSchema action; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + +} + +/* + Model: OfferingsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OfferingsResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("action") + private ActionSchema action; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("gradient") + private List gradient; + + + + +} + +/* + Model: BannersResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BannersResponse { + + + + + @JsonProperty("action") + private ActionSchema action; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + +} + +/* + Model: TipsSection +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TipsSection { + + + + + @JsonProperty("tips") + private List tips; + + + + + @JsonProperty("categories") + private List categories; + + + + + @JsonProperty("action") + private ActionSchema action; + + + + +} + +/* + Model: TipsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TipsResponse { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("action") + private ActionSchema action; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + +} + +/* + Model: TipsCategories +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TipsCategories { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("title") + private String title; + + + + +} + +/* + Model: ActionSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ActionSchema { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("page") + private PageSchema page; + + + + + @JsonProperty("popup") + private PageSchema popup; + + + + +} + +/* + Model: UpdateDashboardTemplateRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateDashboardTemplateRequest { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("version") + private String version; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("sections") + private List sections; + + + + +} + +/* + Model: UpdateTemplateSections +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateTemplateSections { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + + @JsonProperty("isAvailableInMobile") + private Boolean isAvailableInMobile; + + + + + @JsonProperty("isAvailableInDesktop") + private Boolean isAvailableInDesktop; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("component") + private UpdateTemplateComponent component; + + + + +} + +/* + Model: UpdateTemplateComponent +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateTemplateComponent { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("isAvailableInDesktop") + private Boolean isAvailableInDesktop; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("partners") + private List partners; + + + + + @JsonProperty("banners") + private List banners; + + + + + @JsonProperty("tips") + private List tips; + + + + +} + +/* + Model: UpdatePartnerApplications +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdatePartnerApplications { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("action") + private Object action; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: UpdateOfferings +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateOfferings { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("urlPath") + private String urlPath; + + + + + @JsonProperty("urlTarget") + private String urlTarget; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + + @JsonProperty("gradient") + private List gradient; + + + + +} + +/* + Model: UpdateBanners +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateBanners { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("action") + private Object action; + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: UpdateTips +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateTips { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("action") + private Object action; + + + + + @JsonProperty("sequence") + private Integer sequence; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: NavigationsMobileResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class NavigationsMobileResponse { + + + + + @JsonProperty("tabs") + private List tabs; + + + + + @JsonProperty("profileSections") + private List profileSections; + + + + +} + +/* + Model: TabsSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TabsSchema { + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("action") + private ActionSchema action; + + + + + @JsonProperty("page") + private PageSchema page; + + + + + @JsonProperty("icon") + private String icon; + + + + + @JsonProperty("activeIcon") + private String activeIcon; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: PageSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PageSchema { + + + + + @JsonProperty("link") + private String link; + + + + + @JsonProperty("type") + private PageType type; + + + + + @JsonProperty("params") + private HashMap> params; + + + + + @JsonProperty("query") + private HashMap query; + + + + +} + +/* + Model: ProfileSectionSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ProfileSectionSchema { + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("navigations") + private List navigations; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: ProfileNavigationSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ProfileNavigationSchema { + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("icon") + private String icon; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("action") + private ActionSchema action; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: SendPNSRegisterRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SendPNSRegisterRequest { + + + + + @JsonProperty("deviceId") + private String deviceId; + + + + + @JsonProperty("deviceType") + private String deviceType; + + + + + @JsonProperty("token") + private String token; + + + + +} + +/* + Model: PNSRegisterResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PNSRegisterResponse { + + + + + @JsonProperty("status") + private Boolean status; + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: FaqResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class FaqResponse { + + + + + @JsonProperty("categories") + private List categories; + + + + +} + +/* + Model: CategorySchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CategorySchema { + + + + + @JsonProperty("uid") + private String uid; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("logo") + private String logo; + + + + + @JsonProperty("questions") + private List questions; + + + + +} + +/* + Model: QuestionSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class QuestionSchema { + + + + + @JsonProperty("uid") + private String uid; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("displayOrder") + private Integer displayOrder; + + + + + @JsonProperty("canRaiseRequest") + private Boolean canRaiseRequest; + + + + +} + +/* + Model: SupportCategories +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SupportCategories { + + + + + @JsonProperty("kind") + private String kind; + + + + + @JsonProperty("display") + private String display; + + + + +} + +/* + Model: SupportCategoriesResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SupportCategoriesResponse { + + + + + @JsonProperty("categories") + private List categories; + + + + +} + +/* + Model: SanctionLetterResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SanctionLetterResponse { + + + + + @JsonProperty("sanctionedLetterFileUrl") + private String sanctionedLetterFileUrl; + + + + +} + +/* + Model: KfsDocumentResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class KfsDocumentResponse { + + + + + @JsonProperty("kfsFileUrl") + private String kfsFileUrl; + + + + +} + +/* + Model: UserWhiteListedResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserWhiteListedResponse { + + + + + @JsonProperty("status") + private String status; + + + + +} + +/* + Model: UserConsentRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserConsentRequest { + + + + + @JsonProperty("consents") + private List consents; + + + + +} + +/* + Model: Consents +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Consents { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("text") + private String text; + + + + + @JsonProperty("purpose") + private String purpose; + + + + +} + +/* + Model: UserConsentRequestV2 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserConsentRequestV2 { + + + + + @JsonProperty("consents") + private List consents; + + + + +} + +/* + Model: UserConsentResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserConsentResponse { + + + + + @JsonProperty("success") + private Boolean success; + + + + +} + +/* + Model: UserKycSteps +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserKycSteps { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("index") + private String index; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("rules") + private Object rules; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: CreateKycStepRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateKycStepRequest { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("index") + private String index; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("rules") + private Object rules; + + + + +} + +/* + Model: RemoveKycStepRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RemoveKycStepRequest { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("index") + private String index; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("rules") + private Object rules; + + + + +} + +/* + Model: KycUpdateMessage +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class KycUpdateMessage { + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: MobileFromLinkingRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MobileFromLinkingRequest { + + + + + @JsonProperty("token") + private String token; + + + + +} + +/* + Model: MobileFromLinkingResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MobileFromLinkingResponse { + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + +} + +/* + Model: SessionFromLinkingRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SessionFromLinkingRequest { + + + + + @JsonProperty("token") + private String token; + + + + +} + +/* + Model: SessionFromLinkingResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SessionFromLinkingResponse { + + + + + @JsonProperty("session") + private String session; + + + + + @JsonProperty("expiry") + private Integer expiry; + + + + +} + +/* + Model: LinkAccount +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LinkAccount { + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("redirectUrl") + private String redirectUrl; + + + + + @JsonProperty("device") + private Device device; + + + + +} + +/* + Model: LinkAccountSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LinkAccountSuccess { + + + + + @JsonProperty("redirectUrl") + private String redirectUrl; + + + + + @JsonProperty("statusCode") + private Double statusCode; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("errorCode") + private String errorCode; + + + + +} + +/* + Model: UnlinkAccount +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UnlinkAccount { + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("device") + private Device device; + + + + +} + +/* + Model: UnlinkAccountSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UnlinkAccountSuccess { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("statusCode") + private Double statusCode; + + + + + @JsonProperty("userStatus") + private String userStatus; + + + + + @JsonProperty("errorCode") + private String errorCode; + + + + +} + +/* + Model: Refund +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Refund { + + + + + @JsonProperty("fingerprint") + private String fingerprint; + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("refundItems") + private List refundItems; + + + + + @JsonProperty("orderId") + private String orderId; + + + + + @JsonProperty("refundId") + private String refundId; + + + + + @JsonProperty("refundAmount") + private Double refundAmount; + + + + + @JsonProperty("redirectionUrl") + private String redirectionUrl; + + + + +} + +/* + Model: Translation +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Translation { + + + + + @JsonProperty("content") + private Object content; + + + + +} + +/* + Model: FilterKeys +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class FilterKeys { + + + + + @JsonProperty("display") + private String display; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("kind") + private String kind; + + + + +} + +/* + Model: FilterValues +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class FilterValues { + + + + + @JsonProperty("display") + private String display; + + + + + @JsonProperty("isSelected") + private Boolean isSelected; + + + + + @JsonProperty("value") + private String value; + + + + +} + +/* + Model: Filters +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Filters { + + + + + @JsonProperty("key") + private FilterKeys key; + + + + + @JsonProperty("values") + private List values; + + + + +} + +/* + Model: PageResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PageResponse { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("current") + private Integer current; + + + + + @JsonProperty("hasPrevious") + private Boolean hasPrevious; + + + + + @JsonProperty("hasNext") + private Boolean hasNext; + + + + + @JsonProperty("size") + private Integer size; + + + + + @JsonProperty("itemTotal") + private Integer itemTotal; + + + + +} + +/* + Model: UserResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserResponse { + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("page") + private PageResponse page; + + + + + @JsonProperty("listOfUsers") + private List listOfUsers; + + + + +} + +/* + Model: UserDetailRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserDetailRequest { + + + + + @JsonProperty("id") + private String id; + + + + +} + +/* + Model: UserConsents +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserConsents { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("ipAddress") + private String ipAddress; + + + + + @JsonProperty("text") + private String text; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: CreditScoreSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreditScoreSchema { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("cibil") + private Double cibil; + + + + + @JsonProperty("finbox") + private String finbox; + + + + + @JsonProperty("systemAwarded") + private String systemAwarded; + + + + + @JsonProperty("isActive") + private Boolean isActive; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + +} + +/* + Model: CreditLimitSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreditLimitSchema { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("creditLimit") + private String creditLimit; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: Screen +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Screen { + + + + + @JsonProperty("screenType") + private String screenType; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("link") + private String link; + + + + +} + +/* + Model: UserStateSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserStateSchema { + + + + + @JsonProperty("screen") + private Screen screen; + + + + +} + +/* + Model: GetAccessTokenResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetAccessTokenResponse { + + + + + @JsonProperty("success") + private Boolean success; + + + + + @JsonProperty("accessToken") + private String accessToken; + + + + + @JsonProperty("refreshToken") + private String refreshToken; + + + + + @JsonProperty("tokenExpireAt") + private String tokenExpireAt; + + + + + @JsonProperty("tokenExpiryIn") + private String tokenExpiryIn; + + + + + @JsonProperty("refreshTokenExpiryAt") + private String refreshTokenExpiryAt; + + + + + @JsonProperty("refreshTokenExpiryIn") + private String refreshTokenExpiryIn; + + + + + @JsonProperty("scope") + private List scope; + + + + +} + +/* + Model: RefreshTokenResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RefreshTokenResponse { + + + + + @JsonProperty("success") + private Boolean success; + + + + + @JsonProperty("accessToken") + private String accessToken; + + + + + @JsonProperty("tokenExpireAt") + private String tokenExpireAt; + + + + + @JsonProperty("tokenExpiryIn") + private String tokenExpiryIn; + + + + +} + +/* + Model: RefreshTokenRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RefreshTokenRequest { + + + + + @JsonProperty("token") + private String token; + + + + +} + +/* + Model: Items +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Items { + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("sku") + private String sku; + + + + + @JsonProperty("rate") + private Double rate; + + + + + @JsonProperty("quantity") + private Double quantity; + + + + +} + +/* + Model: RefundStatusList +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RefundStatusList { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("orderItems") + private List orderItems; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("processedDate") + private String processedDate; + + + + +} + +/* + Model: RefundStatus +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RefundStatus { + + + + + @JsonProperty("orderId") + private String orderId; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("loanAccountNumber") + private String loanAccountNumber; + + + + + @JsonProperty("refund") + private List refund; + + + + +} + +/* + Model: GetSchemesSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetSchemesSuccess { + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("lenders") + private List lenders; + + + + +} + +/* + Model: CustomerMetricsPivots +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerMetricsPivots { + + + + + @JsonProperty("date") + private String date; + + + + + @JsonProperty("sum") + private Double sum; + + + + +} + +/* + Model: CustomerMetricsSubResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerMetricsSubResponse { + + + + + @JsonProperty("total") + private String total; + + + + + @JsonProperty("pivots") + private List pivots; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("valueFormat") + private String valueFormat; + + + + + @JsonProperty("logo") + private String logo; + + + + +} + +/* + Model: CustomerMetricsAnalytics +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerMetricsAnalytics { + + + + + @JsonProperty("totalCustomers") + private CustomerMetricsSubResponse totalCustomers; + + + + + @JsonProperty("source") + private CustomerMetricsSubResponse source; + + + + +} + +/* + Model: CustomerMetricsFilters +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerMetricsFilters { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("display") + private String display; + + + + + @JsonProperty("value") + private List value; + + + + + @JsonProperty("isSelected") + private Boolean isSelected; + + + + + @JsonProperty("isActive") + private Boolean isActive; + + + + +} + +/* + Model: CustomerMetrics +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerMetrics { + + + + + @JsonProperty("metrics") + private CustomerMetricsAnalytics metrics; + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("sort") + private List sort; + + + + +} + +/* + Model: SchemeResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SchemeResponse { + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("logoUrl") + private String logoUrl; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("subtitle") + private String subtitle; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("paymentOptions") + private SchemePaymentOptionsResponse paymentOptions; + + + + +} + +/* + Model: SchemePaymentOptionsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SchemePaymentOptionsResponse { + + + + + @JsonProperty("emis") + private List emis; + + + + + @JsonProperty("payLater") + private SchemePayLaterPaymentOptionResponse payLater; + + + + +} + +/* + Model: SchemeEmiPaymentOptionResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SchemeEmiPaymentOptionResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("subtitle") + private String subtitle; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("interest") + private Double interest; + + + + + @JsonProperty("processingFee") + private Double processingFee; + + + + + @JsonProperty("tenure") + private Double tenure; + + + + + @JsonProperty("emiSchedule") + private List emiSchedule; + + + + +} + +/* + Model: SchemeEmiScheduleResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SchemeEmiScheduleResponse { + + + + + @JsonProperty("installmentNo") + private Integer installmentNo; + + + + + @JsonProperty("installmentAmount") + private Double installmentAmount; + + + + + @JsonProperty("dueDate") + private String dueDate; + + + + +} + +/* + Model: SchemePayLaterPaymentOptionResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SchemePayLaterPaymentOptionResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("subtitle") + private String subtitle; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("tenure") + private Integer tenure; + + + + + @JsonProperty("interest") + private Integer interest; + + + + + @JsonProperty("processingFee") + private Integer processingFee; + + + + + @JsonProperty("amount") + private Integer amount; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + +} + +/* + Model: LimitResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LimitResponse { + + + + + @JsonProperty("available") + private List available; + + + + + @JsonProperty("possible") + private List possible; + + + + +} + +/* + Model: AvailableOrPossibleLender +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AvailableOrPossibleLender { + + + + + @JsonProperty("limit") + private Double limit; + + + + + @JsonProperty("lenderName") + private String lenderName; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("logo") + private String logo; + + + + +} + +/* + Model: GetSchemesRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetSchemesRequest { + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("order") + private Order order; + + + + + @JsonProperty("device") + private Device device; + + + + + @JsonProperty("meta") + private Object meta; + + + + +} + +/* + Model: CustomerMetricsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerMetricsResponse { + + + + + @JsonProperty("data") + private CustomerMetrics data; + + + + +} + +/* + Model: CustomerMetricsRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerMetricsRequest { + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("sort") + private List sort; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("pivotPoints") + private Double pivotPoints; + + + + +} + +/* + Model: SourceAnalyticsRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SourceAnalyticsRequest { + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + +} + +/* + Model: LenderResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderResponse { + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("logo") + private String logo; + + + + +} + +/* + Model: CreditLimitObject +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreditLimitObject { + + + + + @JsonProperty("availableLimit") + private Double availableLimit; + + + + + @JsonProperty("possibleLimit") + private Double possibleLimit; + + + + + @JsonProperty("lender") + private LenderResponse lender; + + + + +} + +/* + Model: BusinessDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BusinessDetails { + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("shopName") + private String shopName; + + + + + @JsonProperty("legalName") + private String legalName; + + + + + @JsonProperty("address") + private String address; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("pincode") + private String pincode; + + + + +} + +/* + Model: DocumentItems +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DocumentItems { + + + + + @JsonProperty("number") + private String number; + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("issuedOn") + private String issuedOn; + + + + + @JsonProperty("issuedAt") + private String issuedAt; + + + + + @JsonProperty("issuedBy") + private String issuedBy; + + + + + @JsonProperty("expiryOn") + private String expiryOn; + + + + +} + +/* + Model: VintageItems +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VintageItems { + + + + + @JsonProperty("month") + private Integer month; + + + + + @JsonProperty("year") + private Integer year; + + + + + @JsonProperty("totalTransactions") + private Integer totalTransactions; + + + + + @JsonProperty("totalTransactionAmount") + private Double totalTransactionAmount; + + + + + @JsonProperty("totalCancellations") + private Integer totalCancellations; + + + + + @JsonProperty("totalCancellationAmount") + private Double totalCancellationAmount; + + + + +} + +/* + Model: EligibilitySuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EligibilitySuccess { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("redirectUrl") + private String redirectUrl; + + + + + @JsonProperty("creditLimits") + private List creditLimits; + + + + +} + +/* + Model: CheckEligibilityRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CheckEligibilityRequest { + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("order") + private Order order; + + + + + @JsonProperty("device") + private Device device; + + + + + @JsonProperty("meta") + private HashMap meta; + + + + + @JsonProperty("fetchLimitOptions") + private Boolean fetchLimitOptions; + + + + +} + +/* + Model: EmiSchedule +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EmiSchedule { + + + + + @JsonProperty("installmentNo") + private Integer installmentNo; + + + + + @JsonProperty("installmentAmount") + private Integer installmentAmount; + + + + + @JsonProperty("dueDate") + private String dueDate; + + + + +} + +/* + Model: PaymentOption +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PaymentOption { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("subtitle") + private String subtitle; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("tenure") + private Integer tenure; + + + + + @JsonProperty("processingFee") + private Integer processingFee; + + + + + @JsonProperty("amount") + private Integer amount; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("emiSchedule") + private List emiSchedule; + + + + +} + +/* + Model: PaymentOptions +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PaymentOptions { + + + + + @JsonProperty("payLater") + private PaymentOption payLater; + + + + + @JsonProperty("emis") + private List emis; + + + + +} + +/* + Model: LenderAndPaymentOption +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderAndPaymentOption { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("subtitle") + private String subtitle; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("logoUrl") + private String logoUrl; + + + + + @JsonProperty("amount") + private Integer amount; + + + + + @JsonProperty("paymentOptions") + private PaymentOptions paymentOptions; + + + + +} + +/* + Model: GetSchemesSuccessOld +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetSchemesSuccessOld { + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("lenders") + private List lenders; + + + + +} + +/* + Model: PageSchemaResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PageSchemaResponse { + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("sections") + private Object sections; + + + + + @JsonProperty("settings") + private Object settings; + + + + +} + +/* + Model: userCountRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class userCountRequest { + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("startDate") + private String startDate; + + + + + @JsonProperty("endDate") + private String endDate; + + + + +} + +/* + Model: RepaymentRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RepaymentRequest { + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("target") + private String target; + + + + + @JsonProperty("callbackUrl") + private String callbackUrl; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + +} + +/* + Model: RepaymentResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RepaymentResponse { + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("meta") + private IntegrationResponseMeta meta; + + + + + @JsonProperty("data") + private RepaymentResponseData data; + + + + +} + +/* + Model: RepaymentResponseData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RepaymentResponseData { + + + + + @JsonProperty("repaymentUrl") + private String repaymentUrl; + + + + +} + +/* + Model: VerifyMagicLinkResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyMagicLinkResponse { + + + + + @JsonProperty("user") + private UserSchema user; + + + + + @JsonProperty("scope") + private List scope; + + + + + @JsonProperty("redirectPath") + private String redirectPath; + + + + + @JsonProperty("callbackUrl") + private String callbackUrl; + + + + + @JsonProperty("meta") + private HashMap meta; + + + + +} + +/* + Model: VerifyMagicLinkRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyMagicLinkRequest { + + + + + @JsonProperty("token") + private String token; + + + + +} + +/* + Model: VintageData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VintageData { + + + + + @JsonProperty("customer") + private CustomerObject customer; + + + + + @JsonProperty("businessDetails") + private BusinessDetails businessDetails; + + + + + @JsonProperty("documents") + private List documents; + + + + + @JsonProperty("device") + private Device device; + + + + + @JsonProperty("vintage") + private List vintage; + + + + + @JsonProperty("meta") + private HashMap meta; + + + + +} + +/* + Model: AddVintageResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddVintageResponse { + + + + + @JsonProperty("mesasge") + private String mesasge; + + + + + @JsonProperty("meta") + private IntegrationResponseMeta meta; + + + + + @JsonProperty("data") + private Object data; + + + + +} + + + + /* + Enum: PageType + Used By: Customer + */ + @Getter + public enum PageType { + + + externalLink("external"), + + login("login"), + + home("home"), + + transactions("transactions"), + + transactionDetails("transactionDetails"), + + rewards("rewards"), + + referAndEarn("referAndEarn"), + + profile("profile"), + + setupAutopay("setupAutopay"), + + updateEmail("updateEmail"), + + reportIssue("reportIssue"), + + creditScore("creditScore"), + + autoPay("autoPay"), + + helpCenter("helpCenter"), + + kycInit("kycInit"), + + accessDigilocker("accessDigilocker"), + + liveliness("liveliness"), + + lenderOnboard("lenderOnboard"), + + lender("lender"), + + kycDocs("kycDocs"), + + kycSelfie("kycSelfie"), + + kycStatus("kycStatus"), + + kycError("kycError"), + + kycDigilockerResponse("kycDigilockerResponse"), + + kycInitResponse("kycInitResponse"), + + repayment("repayment"), + + netBankingRepayment("netBankingRepayment"), + + upiRepayment("upiRepayment"), + + sanctionLetter("sanctionLetter"), + + kfs("kfs"), + + dynamicPage("dynamicPage"); + + + private String priority; + PageType(String priority) { + this.priority = priority; + } + } + + + + +/* + Model: DisbursalRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DisbursalRequest { + + + + + @JsonProperty("fingerprint") + private String fingerprint; + + + + + @JsonProperty("chargeToken") + private String chargeToken; + + + + + @JsonProperty("loanTypeId") + private Double loanTypeId; + + + + + @JsonProperty("emiTenure") + private Double emiTenure; + + + + + @JsonProperty("isDownpaymentRequired") + private Boolean isDownpaymentRequired; + + + + + @JsonProperty("downpaymentAmount") + private Double downpaymentAmount; + + + + + @JsonProperty("loanAmount") + private Double loanAmount; + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("intent") + private String intent; + + + + +} + +/* + Model: WorkflowUser +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class WorkflowUser { + + + + + @JsonProperty("mobile") + private String mobile; + + + + +} + +/* + Model: EligiblePlansRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EligiblePlansRequest { + + + + + @JsonProperty("chargeToken") + private String chargeToken; + + + + +} + +/* + Model: EligiblePlans +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EligiblePlans { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("displayName") + private String displayName; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("brokenInterest") + private Double brokenInterest; + + + + + @JsonProperty("noOfEmi") + private Double noOfEmi; + + + + + @JsonProperty("emiAmount") + private Double emiAmount; + + + + + @JsonProperty("processingFee") + private Double processingFee; + + + + + @JsonProperty("installmentInterestRate") + private Double installmentInterestRate; + + + + +} + +/* + Model: EligiblePlansResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EligiblePlansResponse { + + + + + @JsonProperty("eligiblePlans") + private List eligiblePlans; + + + + +} + +/* + Model: DisbursalResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DisbursalResponse { + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: OrderStatus +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrderStatus { + + + + + @JsonProperty("orderId") + private String orderId; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: DisbursalStatusRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DisbursalStatusRequest { + + + + + @JsonProperty("fingerprint") + private String fingerprint; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + +} + +/* + Model: Transactions +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Transactions { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("partnerId") + private String partnerId; + + + + + @JsonProperty("partner") + private String partner; + + + + + @JsonProperty("partnerLogo") + private String partnerLogo; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("remark") + private String remark; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("loanAccountNumber") + private String loanAccountNumber; + + + + + @JsonProperty("kfs") + private String kfs; + + + + + @JsonProperty("utr") + private String utr; + + + + + @JsonProperty("sanctionLetter") + private String sanctionLetter; + + + + + @JsonProperty("orderId") + private String orderId; + + + + + @JsonProperty("refundId") + private String refundId; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("lenderName") + private String lenderName; + + + + + @JsonProperty("lenderLogo") + private String lenderLogo; + + + + + @JsonProperty("loanType") + private String loanType; + + + + + @JsonProperty("nextDueDate") + private String nextDueDate; + + + + + @JsonProperty("paidPercent") + private Double paidPercent; + + + + + @JsonProperty("lenderDetail") + private LenderDetail lenderDetail; + + + + + @JsonProperty("emis") + private List emis; + + + + +} + +/* + Model: LenderDetail +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderDetail { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("b2b") + private Boolean b2B; + + + + + @JsonProperty("b2c") + private Boolean b2C; + + + + + @JsonProperty("theme") + private Theme theme; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: TransactionResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionResponse { + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("page") + private PageResponse page; + + + + + @JsonProperty("transactions") + private List transactions; + + + + +} + +/* + Model: GetReconciliationFileResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetReconciliationFileResponse { + + + + + @JsonProperty("files") + private List files; + + + + +} + +/* + Model: ReconFile +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ReconFile { + + + + + @JsonProperty("base64") + private String base64; + + + + + @JsonProperty("name") + private String name; + + + + +} + +/* + Model: UploadReconciliationFileRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadReconciliationFileRequest { + + + + + @JsonProperty("base64File") + private String base64File; + + + + + @JsonProperty("format") + private String format; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + +} + +/* + Model: UploadReconciliationFileResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadReconciliationFileResponse { + + + + + @JsonProperty("success") + private Boolean success; + + + + +} + +/* + Model: TransactionCount +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionCount { + + + + + @JsonProperty("totalTransactions") + private String totalTransactions; + + + + +} + +/* + Model: RefundCount +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RefundCount { + + + + + @JsonProperty("refundTransactions") + private String refundTransactions; + + + + +} + +/* + Model: OrganizationTransactionsCount +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationTransactionsCount { + + + + + @JsonProperty("count") + private Double count; + + + + +} + +/* + Model: OrganizationTransactionsSum +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationTransactionsSum { + + + + + @JsonProperty("sum") + private Double sum; + + + + +} + +/* + Model: UniqueCustomersInOrg +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UniqueCustomersInOrg { + + + + + @JsonProperty("count") + private Double count; + + + + +} + +/* + Model: TransactionAmount +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionAmount { + + + + + @JsonProperty("totalTransactionAmount") + private String totalTransactionAmount; + + + + +} + +/* + Model: SchemaForOneDayTotal +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SchemaForOneDayTotal { + + + + + @JsonProperty("orgId") + private String orgId; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("count") + private Double count; + + + + + @JsonProperty("sum") + private String sum; + + + + + @JsonProperty("refund") + private String refund; + + + + + @JsonProperty("difference") + private String difference; + + + + +} + +/* + Model: SumofOneDayTransactions +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SumofOneDayTransactions { + + + + + @JsonProperty("dayTotal") + private List dayTotal; + + + + +} + +/* + Model: AverageTransaction +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AverageTransaction { + + + + + @JsonProperty("average") + private Double average; + + + + +} + +/* + Model: AllTransactionsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AllTransactionsResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("partnerId") + private String partnerId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("remark") + private String remark; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("loanAccountNumber") + private String loanAccountNumber; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + +} + +/* + Model: TotalRefund +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TotalRefund { + + + + + @JsonProperty("totalRefund") + private String totalRefund; + + + + +} + +/* + Model: TotalRepayment +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TotalRepayment { + + + + + @JsonProperty("totalRepayment") + private String totalRepayment; + + + + +} + +/* + Model: TotalOverDue +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TotalOverDue { + + + + + @JsonProperty("totalDue") + private String totalDue; + + + + +} + +/* + Model: TotalLoansDisbursed +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TotalLoansDisbursed { + + + + + @JsonProperty("totalLoansDisbursed") + private String totalLoansDisbursed; + + + + +} + +/* + Model: OrganizationTransactionResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationTransactionResponse { + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("page") + private TrPageResponse page; + + + + + @JsonProperty("transactions") + private List transactions; + + + + +} + +/* + Model: TrFilters +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TrFilters { + + + + + @JsonProperty("key") + private TrFilterKeys key; + + + + + @JsonProperty("values") + private List values; + + + + +} + +/* + Model: TrPageResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TrPageResponse { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("current") + private Double current; + + + + + @JsonProperty("hasPrevious") + private Boolean hasPrevious; + + + + + @JsonProperty("hasNext") + private Boolean hasNext; + + + + + @JsonProperty("size") + private Double size; + + + + + @JsonProperty("itemTotal") + private Double itemTotal; + + + + +} + +/* + Model: OrgTransactions +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrgTransactions { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("userName") + private String userName; + + + + + @JsonProperty("partnerId") + private String partnerId; + + + + + @JsonProperty("partner") + private String partner; + + + + + @JsonProperty("partnerLogo") + private String partnerLogo; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("remark") + private String remark; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("orderId") + private String orderId; + + + + + @JsonProperty("loanAccountNumber") + private String loanAccountNumber; + + + + + @JsonProperty("kfs") + private String kfs; + + + + + @JsonProperty("sanctionLetter") + private String sanctionLetter; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + +} + +/* + Model: TrFilterKeys +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TrFilterKeys { + + + + + @JsonProperty("display") + private String display; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("kind") + private String kind; + + + + +} + +/* + Model: TrFilterValues +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TrFilterValues { + + + + + @JsonProperty("display") + private String display; + + + + + @JsonProperty("isSelected") + private Boolean isSelected; + + + + + @JsonProperty("value") + private String value; + + + + +} + +/* + Model: KfsRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class KfsRequest { + + + + + @JsonProperty("loanTypeId") + private Double loanTypeId; + + + + + @JsonProperty("chargeToken") + private String chargeToken; + + + + +} + +/* + Model: KfsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class KfsResponse { + + + + + @JsonProperty("kfsTable") + private String kfsTable; + + + + +} + +/* + Model: LenderTransactionState +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderTransactionState { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("stepIndex") + private Double stepIndex; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("workflowId") + private String workflowId; + + + + + @JsonProperty("workflowName") + private String workflowName; + + + + + @JsonProperty("parentStateId") + private String parentStateId; + + + + + @JsonProperty("workflowUrl") + private String workflowUrl; + + + + + @JsonProperty("isInternal") + private Boolean isInternal; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("ttl") + private Double ttl; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("inputData") + private Object inputData; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: TransactionStateResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionStateResponse { + + + + + @JsonProperty("transactionState") + private List transactionState; + + + + +} + +/* + Model: Theme +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Theme { + + + + + @JsonProperty("logoUrl") + private String logoUrl; + + + + + @JsonProperty("iconUrl") + private String iconUrl; + + + + + @JsonProperty("landscapeBgUrl") + private String landscapeBgUrl; + + + + + @JsonProperty("portraitBgUrl") + private String portraitBgUrl; + + + + + @JsonProperty("shortName") + private String shortName; + + + + +} + +/* + Model: Emi +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Emi { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("installmentno") + private Double installmentno; + + + + + @JsonProperty("loanAccountNumber") + private String loanAccountNumber; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("dueDate") + private String dueDate; + + + + + @JsonProperty("referenceTransactionId") + private String referenceTransactionId; + + + + + @JsonProperty("remark") + private String remark; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("paid") + private Boolean paid; + + + + + @JsonProperty("overdue") + private Boolean overdue; + + + + + @JsonProperty("repaymentDate") + private String repaymentDate; + + + + +} + +/* + Model: MetricPivots +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MetricPivots { + + + + + @JsonProperty("date") + private String date; + + + + + @JsonProperty("sum") + private Double sum; + + + + +} + +/* + Model: TransactionMetricSubResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionMetricSubResponse { + + + + + @JsonProperty("total") + private String total; + + + + + @JsonProperty("pivots") + private List pivots; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("valueFormat") + private String valueFormat; + + + + + @JsonProperty("logo") + private String logo; + + + + +} + +/* + Model: TransactionMetrics +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionMetrics { + + + + + @JsonProperty("totalDisbursement") + private TransactionMetricSubResponse totalDisbursement; + + + + + @JsonProperty("totalOverdue") + private TransactionMetricSubResponse totalOverdue; + + + + + @JsonProperty("totalRepayment") + private TransactionMetricSubResponse totalRepayment; + + + + +} + +/* + Model: LenderCustomerTransactionMetricsFilters +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderCustomerTransactionMetricsFilters { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("display") + private String display; + + + + + @JsonProperty("value") + private List value; + + + + + @JsonProperty("isSelected") + private Boolean isSelected; + + + + + @JsonProperty("isActive") + private Boolean isActive; + + + + +} + +/* + Model: LenderCustomerTransactionMetrics +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderCustomerTransactionMetrics { + + + + + @JsonProperty("metrics") + private TransactionMetrics metrics; + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("sort") + private List sort; + + + + +} + +/* + Model: LenderCustomerTransactionMetricsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderCustomerTransactionMetricsResponse { + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: LenderCustomerTransactionMetricsRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderCustomerTransactionMetricsRequest { + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("sort") + private List sort; + + + + + @JsonProperty("startDate") + private String startDate; + + + + + @JsonProperty("endDate") + private String endDate; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("pivotPoints") + private Double pivotPoints; + + + + +} + +/* + Model: TransactionOrder +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionOrder { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("amount") + private Double amount; + + + + +} + +/* + Model: TransactionMerchant +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionMerchant { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("logo") + private String logo; + + + + +} + +/* + Model: TransactionLoan +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionLoan { + + + + + @JsonProperty("number") + private String number; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("dueDate") + private String dueDate; + + + + + @JsonProperty("repaidAmount") + private Double repaidAmount; + + + + + @JsonProperty("isSettled") + private Boolean isSettled; + + + + + @JsonProperty("emis") + private List emis; + + + + +} + +/* + Model: TransactionLoanEmi +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionLoanEmi { + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("dueDate") + private String dueDate; + + + + + @JsonProperty("installmentNo") + private Integer installmentNo; + + + + + @JsonProperty("repaidAmount") + private Double repaidAmount; + + + + + @JsonProperty("isSettled") + private Boolean isSettled; + + + + +} + +/* + Model: TransactionLender +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionLender { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("logo") + private String logo; + + + + + @JsonProperty("shortName") + private String shortName; + + + + +} + +/* + Model: UserTransaction +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserTransaction { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("settlementUtr") + private String settlementUtr; + + + + + @JsonProperty("refundId") + private String refundId; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("isMasked") + private Boolean isMasked; + + + + + @JsonProperty("order") + private TransactionOrder order; + + + + + @JsonProperty("merchant") + private TransactionMerchant merchant; + + + + + @JsonProperty("loans") + private List loans; + + + + + @JsonProperty("lender") + private TransactionLender lender; + + + + +} + +/* + Model: Pagination +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Pagination { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("current") + private Integer current; + + + + + @JsonProperty("hasPrevious") + private Boolean hasPrevious; + + + + + @JsonProperty("hasNext") + private Boolean hasNext; + + + + + @JsonProperty("size") + private Integer size; + + + + + @JsonProperty("itemTotal") + private Integer itemTotal; + + + + +} + +/* + Model: GetTransactionsData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetTransactionsData { + + + + + @JsonProperty("transactions") + private List transactions; + + + + + @JsonProperty("page") + private Pagination page; + + + + +} + +/* + Model: GetTransactionsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetTransactionsResponse { + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("meta") + private IntegrationResponseMeta meta; + + + + + @JsonProperty("data") + private GetTransactionsData data; + + + + +} + +/* + Model: SummaryRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SummaryRequest { + + + + + @JsonProperty("startDate") + private String startDate; + + + + + @JsonProperty("endDate") + private String endDate; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("type") + private String type; + + + + +} + + + + +/* + Model: Lender +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Lender { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("theme") + private Object theme; + + + + + @JsonProperty("b2b") + private Boolean b2B; + + + + + @JsonProperty("b2c") + private Boolean b2C; + + + + + @JsonProperty("merchantConfigSchema") + private String merchantConfigSchema; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("meta") + private Object meta; + + + + + @JsonProperty("metaSchema") + private Object metaSchema; + + + + +} + +/* + Model: UserLender +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserLender { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("approvedLimit") + private Double approvedLimit; + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: SourceCreditReport +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SourceCreditReport { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("pan") + private String pan; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("bureau") + private String bureau; + + + + + @JsonProperty("score") + private String score; + + + + + @JsonProperty("report") + private String report; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + +} + +/* + Model: Document +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Document { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("number") + private String number; + + + + + @JsonProperty("detail") + private Object detail; + + + + + @JsonProperty("valid") + private Boolean valid; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("entityId") + private String entityId; + + + + +} + +/* + Model: UserKycDetail +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserKycDetail { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("remark") + private String remark; + + + + + @JsonProperty("profileType") + private String profileType; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("expiryDate") + private String expiryDate; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("lender") + private Lender lender; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("entityId") + private String entityId; + + + + +} + +/* + Model: Form +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Form { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("subtitle") + private String subtitle; + + + + + @JsonProperty("action") + private String action; + + + + + @JsonProperty("form") + private Object form; + + + + + @JsonProperty("uiSchema") + private Object uiSchema; + + + + + @JsonProperty("workflowId") + private String workflowId; + + + + +} + +/* + Model: LenderKycStepMap +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderKycStepMap { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("step") + private String step; + + + + + @JsonProperty("stepIndex") + private Double stepIndex; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("rules") + private Object rules; + + + + + @JsonProperty("profileType") + private String profileType; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("iconUrl") + private String iconUrl; + + + + + @JsonProperty("isInteractive") + private Boolean isInteractive; + + + + + @JsonProperty("formId") + private String formId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("form") + private Form form; + + + + + @JsonProperty("docSchema") + private Object docSchema; + + + + +} + +/* + Model: UserKycLenderStepMap +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserKycLenderStepMap { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("lenderKycStepMapId") + private String lenderKycStepMapId; + + + + + @JsonProperty("userKycDetailId") + private String userKycDetailId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("ruleState") + private Object ruleState; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("documentId") + private String documentId; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("lenderKycStepMap") + private LenderKycStepMap lenderKycStepMap; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("updatedBy") + private String updatedBy; + + + + +} + +/* + Model: ProofOfIdentity +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ProofOfIdentity { + + + + + @JsonProperty("dob") + private String dob; + + + + + @JsonProperty("hashedEmail") + private String hashedEmail; + + + + + @JsonProperty("gender") + private String gender; + + + + + @JsonProperty("hashedMobileNumber") + private String hashedMobileNumber; + + + + + @JsonProperty("name") + private String name; + + + + +} + +/* + Model: ProofOfAddress +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ProofOfAddress { + + + + + @JsonProperty("careOf") + private String careOf; + + + + + @JsonProperty("country") + private String country; + + + + + @JsonProperty("district") + private String district; + + + + + @JsonProperty("house") + private String house; + + + + + @JsonProperty("landmark") + private String landmark; + + + + + @JsonProperty("locality") + private String locality; + + + + + @JsonProperty("pincode") + private String pincode; + + + + + @JsonProperty("postOffice") + private String postOffice; + + + + + @JsonProperty("state") + private String state; + + + + + @JsonProperty("street") + private String street; + + + + + @JsonProperty("subDistrict") + private String subDistrict; + + + + + @JsonProperty("vtc") + private String vtc; + + + + +} + +/* + Model: EAadhaarData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EAadhaarData { + + + + + @JsonProperty("aadhaarReferenceNumber") + private String aadhaarReferenceNumber; + + + + + @JsonProperty("aadhaarUid") + private String aadhaarUid; + + + + + @JsonProperty("image") + private String image; + + + + + @JsonProperty("proofOfIdentity") + private ProofOfIdentity proofOfIdentity; + + + + + @JsonProperty("proofOfAddress") + private ProofOfAddress proofOfAddress; + + + + + @JsonProperty("xml") + private String xml; + + + + + @JsonProperty("pdf") + private String pdf; + + + + + @JsonProperty("address") + private String address; + + + + +} + +/* + Model: EntityMapDto +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EntityMapDto { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("limit") + private Double limit; + + + + + @JsonProperty("creditType") + private String creditType; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("entityId") + private String entityId; + + + + +} + +/* + Model: EntityDto +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EntityDto { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("address") + private String address; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("gender") + private String gender; + + + + + @JsonProperty("dob") + private String dob; + + + + + @JsonProperty("userId") + private String userId; + + + + +} + +/* + Model: MerchantSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MerchantSchema { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("logo") + private String logo; + + + + + @JsonProperty("website") + private String website; + + + + + @JsonProperty("apiHook") + private String apiHook; + + + + + @JsonProperty("epikId") + private String epikId; + + + + + @JsonProperty("disbursementAccountHolderName") + private String disbursementAccountHolderName; + + + + + @JsonProperty("disbursementAccountNumber") + private String disbursementAccountNumber; + + + + + @JsonProperty("disbursementIfsc") + private String disbursementIfsc; + + + + + @JsonProperty("createdBy") + private String createdBy; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("businessName") + private String businessName; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("businessAddress") + private String businessAddress; + + + + + @JsonProperty("pincode") + private String pincode; + + + + + @JsonProperty("b2b") + private Boolean b2B; + + + + + @JsonProperty("b2c") + private Boolean b2C; + + + + +} + +/* + Model: Consent +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Consent { + + + + + @JsonProperty("text") + private String text; + + + + + @JsonProperty("type") + private String type; + + + + +} + +/* + Model: ValidatePanRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ValidatePanRequest { + + + + + @JsonProperty("pan") + private String pan; + + + + + @JsonProperty("consents") + private List consents; + + + + +} + +/* + Model: BankDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BankDetails { + + + + + @JsonProperty("accountType") + private String accountType; + + + + + @JsonProperty("bankName") + private String bankName; + + + + + @JsonProperty("ifsc") + private String ifsc; + + + + + @JsonProperty("accountNumber") + private String accountNumber; + + + + + @JsonProperty("accountHolderName") + private String accountHolderName; + + + + +} + +/* + Model: DocumentData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DocumentData { + + + + + @JsonProperty("selfie") + private String selfie; + + + + + @JsonProperty("video") + private String video; + + + + + @JsonProperty("digilockerCode") + private String digilockerCode; + + + + + @JsonProperty("bankDetails") + private BankDetails bankDetails; + + + + +} + +/* + Model: ConfirmPanRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ConfirmPanRequest { + + + + + @JsonProperty("pan") + private String pan; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("entity") + private String entity; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("onboardingToken") + private String onboardingToken; + + + + +} + +/* + Model: LivelinessDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LivelinessDetails { + + + + + @JsonProperty("selfie") + private String selfie; + + + + + @JsonProperty("video") + private String video; + + + + +} + +/* + Model: UploadDocumentRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadDocumentRequest { + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("documentData") + private Object documentData; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadDocumentRequestV1 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadDocumentRequestV1 { + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("documentData") + private Object documentData; + + + + +} + +/* + Model: UploadDocumentRequestV3 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadDocumentRequestV3 { + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("documentData") + private Object documentData; + + + + +} + +/* + Model: AadhaarRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AadhaarRequest { + + + + + @JsonProperty("digilockerCode") + private String digilockerCode; + + + + +} + +/* + Model: UploadAadhaarRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadAadhaarRequest { + + + + + @JsonProperty("documentData") + private AadhaarRequest documentData; + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadLivelinessRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadLivelinessRequest { + + + + + @JsonProperty("documentData") + private LivelinessDetails documentData; + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadAadhaarRequestV1 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadAadhaarRequestV1 { + + + + + @JsonProperty("documentData") + private AadhaarRequest documentData; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadLivelinessRequestV1 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadLivelinessRequestV1 { + + + + + @JsonProperty("documentData") + private LivelinessDetails documentData; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadAadhaarRequestV2 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadAadhaarRequestV2 { + + + + + @JsonProperty("documentData") + private AadhaarRequest documentData; + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadLivelinessRequestV2 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadLivelinessRequestV2 { + + + + + @JsonProperty("documentData") + private LivelinessDetails documentData; + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadAadhaarRequestV3 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadAadhaarRequestV3 { + + + + + @JsonProperty("documentData") + private AadhaarRequest documentData; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadLivelinessRequestV3 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadLivelinessRequestV3 { + + + + + @JsonProperty("documentData") + private LivelinessDetails documentData; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: UploadBankDetailsRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadBankDetailsRequest { + + + + + @JsonProperty("documentData") + private BankDetails documentData; + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("kycStep") + private String kycStep; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: InitiateKycRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class InitiateKycRequest { + + + + + @JsonProperty("kycType") + private String kycType; + + + + + @JsonProperty("kycId") + private String kycId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + +} + +/* + Model: InitiateKycRequestV1 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class InitiateKycRequestV1 { + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("kycType") + private String kycType; + + + + + @JsonProperty("kycId") + private String kycId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + +} + +/* + Model: LenderOnboardRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderOnboardRequest { + + + + + @JsonProperty("ack") + private String ack; + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + +} + +/* + Model: LenderOnboardRequestV1 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderOnboardRequestV1 { + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("ack") + private String ack; + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + +} + +/* + Model: UpdateLenderStatusRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateLenderStatusRequest { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("payload") + private Object payload; + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("action") + private Boolean action; + + + + +} + +/* + Model: UpdateProfileRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateProfileRequest { + + + + + @JsonProperty("firstName") + private String firstName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + + @JsonProperty("gender") + private String gender; + + + + + @JsonProperty("dob") + private String dob; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("isOnboarded") + private Boolean isOnboarded; + + + + + @JsonProperty("address") + private String address; + + + + +} + +/* + Model: UpdateEntityRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateEntityRequest { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("gender") + private String gender; + + + + + @JsonProperty("dob") + private String dob; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("address") + private ProofOfAddress address; + + + + +} + +/* + Model: CreateKycStepsRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateKycStepsRequest { + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: CreateLenderPgConfigRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateLenderPgConfigRequest { + + + + + @JsonProperty("mid") + private String mid; + + + + + @JsonProperty("clientId") + private String clientId; + + + + + @JsonProperty("secret") + private String secret; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("pgId") + private String pgId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + +} + +/* + Model: CreateLenderStateRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateLenderStateRequest { + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: UpdateLenderRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateLenderRequest { + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + +} + +/* + Model: OtherPolicyFilters +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OtherPolicyFilters { + + + + + @JsonProperty("orderBy") + private List orderBy; + + + + +} + +/* + Model: GetPolicyFilters +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetPolicyFilters { + + + + + @JsonProperty("policyType") + private String policyType; + + + + + @JsonProperty("lenderIds") + private List lenderIds; + + + + + @JsonProperty("merchantIds") + private List merchantIds; + + + + + @JsonProperty("orderBy") + private List orderBy; + + + + +} + +/* + Model: GetPolicyFilters2 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetPolicyFilters2 { + + + + + @JsonProperty("breType") + private String breType; + + + + + @JsonProperty("lenderId") + private List lenderId; + + + + + @JsonProperty("merchantId") + private List merchantId; + + + + + @JsonProperty("loanType") + private String loanType; + + + + + @JsonProperty("journeyType") + private String journeyType; + + + + + @JsonProperty("subType") + private String subType; + + + + +} + +/* + Model: MerchantConfigRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MerchantConfigRequest { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("merchantConfigSchema") + private Object merchantConfigSchema; + + + + +} + +/* + Model: PanDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PanDetails { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("idNumber") + private String idNumber; + + + + +} + +/* + Model: AvailableLendersRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AvailableLendersRequest { + + + + + @JsonProperty("chargeToken") + private String chargeToken; + + + + +} + +/* + Model: InitialData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class InitialData { + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("entityId") + private String entityId; + + + + +} + +/* + Model: ExecutePolicyRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ExecutePolicyRequest { + + + + + @JsonProperty("policyFilters") + private GetPolicyFilters policyFilters; + + + + + @JsonProperty("initialData") + private InitialData initialData; + + + + +} + +/* + Model: ExecutePolicyRequest2 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ExecutePolicyRequest2 { + + + + + @JsonProperty("policyFilters") + private GetPolicyFilters2 policyFilters; + + + + + @JsonProperty("initialData") + private InitialData initialData; + + + + +} + +/* + Model: RegisterGstRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RegisterGstRequest { + + + + + @JsonProperty("gstin") + private String gstin; + + + + + @JsonProperty("skipGst") + private Boolean skipGst; + + + + + @JsonProperty("onboardingToken") + private String onboardingToken; + + + + +} + +/* + Model: PopulateFormRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PopulateFormRequest { + + + + + @JsonProperty("form") + private Object form; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + +} + +/* + Model: ValidateFormFieldRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ValidateFormFieldRequest { + + + + + @JsonProperty("workflowName") + private String workflowName; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("fields") + private Object fields; + + + + +} + +/* + Model: MerchantMetricFilter +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MerchantMetricFilter { + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("display") + private String display; + + + + + @JsonProperty("value") + private List value; + + + + + @JsonProperty("isSelected") + private Boolean isSelected; + + + + + @JsonProperty("isActive") + private Boolean isActive; + + + + +} + +/* + Model: LenderCustomerMetricsRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderCustomerMetricsRequest { + + + + + @JsonProperty("sort") + private List sort; + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("pivotPoints") + private Double pivotPoints; + + + + +} + +/* + Model: StonewallCustomer +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class StonewallCustomer { + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("uid") + private String uid; + + + + +} + +/* + Model: GetLimitRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetLimitRequest { + + + + + @JsonProperty("lenderSlugs") + private List lenderSlugs; + + + + + @JsonProperty("onlyDefaultLender") + private Boolean onlyDefaultLender; + + + + + @JsonProperty("customer") + private StonewallCustomer customer; + + + + +} + +/* + Model: DocumentObject +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DocumentObject { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("number") + private String number; + + + + + @JsonProperty("detail") + private Object detail; + + + + + @JsonProperty("valid") + private Boolean valid; + + + + + @JsonProperty("entityId") + private String entityId; + + + + +} + +/* + Model: ManualKycRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ManualKycRequest { + + + + + @JsonProperty("remark") + private Object remark; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("stepId") + private String stepId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("documentData") + private DocumentObject documentData; + + + + +} + +/* + Model: RetriggerLenderOnboardRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RetriggerLenderOnboardRequest { + + + + + @JsonProperty("stepId") + private String stepId; + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: BusinessDetail +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BusinessDetail { + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("shopName") + private String shopName; + + + + + @JsonProperty("legalName") + private String legalName; + + + + + @JsonProperty("address") + private String address; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("pincode") + private String pincode; + + + + +} + +/* + Model: DocumentObjects +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DocumentObjects { + + + + + @JsonProperty("number") + private String number; + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("issuedOn") + private String issuedOn; + + + + + @JsonProperty("issuedAt") + private String issuedAt; + + + + + @JsonProperty("issuedBy") + private String issuedBy; + + + + + @JsonProperty("expiryOn") + private String expiryOn; + + + + +} + +/* + Model: AddVintageRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddVintageRequest { + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("businessDetails") + private BusinessDetail businessDetails; + + + + + @JsonProperty("vintageData") + private VintageData vintageData; + + + + + @JsonProperty("documents") + private DocumentObjects documents; + + + + + @JsonProperty("merchant") + private MerchantSchema merchant; + + + + +} + +/* + Model: KycCountByStatus +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class KycCountByStatus { + + + + + @JsonProperty("startDate") + private String startDate; + + + + + @JsonProperty("endDate") + private String endDate; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + +} + +/* + Model: FindDocResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class FindDocResponse { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("info") + private String info; + + + + + @JsonProperty("details") + private Object details; + + + + + @JsonProperty("name") + private String name; + + + + +} + +/* + Model: LenderKycStatus +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderKycStatus { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("lenderName") + private String lenderName; + + + + + @JsonProperty("kycType") + private String kycType; + + + + +} + +/* + Model: StateResponeDto +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class StateResponeDto { + + + + + @JsonProperty("step") + private UserKycLenderStepMap step; + + + + + @JsonProperty("isStepCompleted") + private Boolean isStepCompleted; + + + + +} + +/* + Model: KycStateMachineDto +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class KycStateMachineDto { + + + + + @JsonProperty("kycResult") + private UserKycDetail kycResult; + + + + + @JsonProperty("action") + private UserKycLenderStepMap action; + + + + +} + +/* + Model: InitiateKycDto +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class InitiateKycDto { + + + + + @JsonProperty("kycType") + private String kycType; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("kycId") + private String kycId; + + + + + @JsonProperty("entityRelation") + private EntityMapDto entityRelation; + + + + +} + +/* + Model: LenderOnboardDto +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderOnboardDto { + + + + + @JsonProperty("lender") + private Lender lender; + + + + + @JsonProperty("user") + private Object user; + + + + + @JsonProperty("userLenderDetail") + private UserLender userLenderDetail; + + + + + @JsonProperty("payload") + private LenderOnboardRequest payload; + + + + + @JsonProperty("entityRelation") + private EntityMapDto entityRelation; + + + + + @JsonProperty("ipAddress") + private String ipAddress; + + + + + @JsonProperty("overrideTtl") + private Boolean overrideTtl; + + + + +} + +/* + Model: StepDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class StepDetails { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("iconUrl") + private String iconUrl; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("step") + private String step; + + + + + @JsonProperty("order") + private Double order; + + + + +} + +/* + Model: OnboardStatusDto +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OnboardStatusDto { + + + + + @JsonProperty("onboardStep") + private String onboardStep; + + + + + @JsonProperty("onboardingId") + private String onboardingId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("action") + private String action; + + + + + @JsonProperty("actionStatus") + private String actionStatus; + + + + + @JsonProperty("lender") + private Lender lender; + + + + + @JsonProperty("navigation") + private String navigation; + + + + + @JsonProperty("approvedLimit") + private Double approvedLimit; + + + + + @JsonProperty("proposedLimit") + private Double proposedLimit; + + + + + @JsonProperty("actionData") + private Object actionData; + + + + + @JsonProperty("steps") + private List steps; + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("actionIsForm") + private Boolean actionIsForm; + + + + + @JsonProperty("actionForm") + private Form actionForm; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("actionName") + private String actionName; + + + + + @JsonProperty("actionDescription") + private String actionDescription; + + + + +} + +/* + Model: LenderFilters +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderFilters { + + + + + @JsonProperty("includeStatus") + private List includeStatus; + + + + + @JsonProperty("excludeStatus") + private List excludeStatus; + + + + + @JsonProperty("allowDisabledLender") + private Object allowDisabledLender; + + + + +} + +/* + Model: Policy +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Policy { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("url") + private String url; + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("version") + private String version; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("type") + private Object type; + + + + + @JsonProperty("index") + private Integer index; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("workflowId") + private String workflowId; + + + + + @JsonProperty("schemaRef") + private List schemaRef; + + + + + @JsonProperty("masterVariableRef") + private List masterVariableRef; + + + + + @JsonProperty("customVariable") + private Object customVariable; + + + + + @JsonProperty("subType") + private String subType; + + + + + @JsonProperty("createdAt") + private Object createdAt; + + + + + @JsonProperty("updatedAt") + private Object updatedAt; + + + + + @JsonProperty("deletedAt") + private Object deletedAt; + + + + +} + +/* + Model: OrganizationLogosObject +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationLogosObject { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("logo") + private String logo; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: MetricSubTypes +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MetricSubTypes { + + + + + @JsonProperty("date") + private String date; + + + + + @JsonProperty("count") + private String count; + + + + + @JsonProperty("sum") + private String sum; + + + + +} + +/* + Model: MetricTypes +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MetricTypes { + + + + + @JsonProperty("pivots") + private List pivots; + + + + + @JsonProperty("total") + private String total; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("valueFormat") + private String valueFormat; + + + + + @JsonProperty("logo") + private String logo; + + + + +} + +/* + Model: BreApprovedUsersResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BreApprovedUsersResponse { + + + + + @JsonProperty("data") + private MetricTypes data; + + + + +} + +/* + Model: Metrics +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Metrics { + + + + + @JsonProperty("lenderApprovedUsers") + private MetricTypes lenderApprovedUsers; + + + + + @JsonProperty("breApprovedUsers") + private MetricTypes breApprovedUsers; + + + + + @JsonProperty("totalCreditLine") + private MetricTypes totalCreditLine; + + + + +} + +/* + Model: MetricData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MetricData { + + + + + @JsonProperty("metrics") + private Metrics metrics; + + + + + @JsonProperty("filters") + private List filters; + + + + + @JsonProperty("sort") + private List sort; + + + + +} + +/* + Model: GetAllUserLendersByEnityId +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetAllUserLendersByEnityId { + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("lender") + private Lender lender; + + + + + @JsonProperty("partnerId") + private String partnerId; + + + + + @JsonProperty("approvedLimit") + private Double approvedLimit; + + + + +} + +/* + Model: ApprovedLenders +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ApprovedLenders { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("lenders") + private List lenders; + + + + +} + +/* + Model: BreResultStatus +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BreResultStatus { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("approvedLenders") + private List approvedLenders; + + + + +} + +/* + Model: LenderState +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderState { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("index") + private Integer index; + + + + + @JsonProperty("workflowName") + private String workflowName; + + + + + @JsonProperty("workflowUrl") + private String workflowUrl; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("lender") + private Lender lender; + + + + + @JsonProperty("parentStateId") + private String parentStateId; + + + + + @JsonProperty("ttl") + private Double ttl; + + + + + @JsonProperty("displayName") + private String displayName; + + + + + @JsonProperty("description") + private String description; + + + + + @JsonProperty("iconUrl") + private String iconUrl; + + + + + @JsonProperty("isInteractive") + private Boolean isInteractive; + + + + + @JsonProperty("schema") + private Object schema; + + + + +} + +/* + Model: UserLenderState +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserLenderState { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("lenderStateId") + private String lenderStateId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("userLenderId") + private String userLenderId; + + + + + @JsonProperty("remark") + private String remark; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("lenderState") + private LenderState lenderState; + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + + @JsonProperty("updatedBy") + private String updatedBy; + + + + +} + +/* + Model: LenderConfig +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderConfig { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("baseUrl") + private String baseUrl; + + + + + @JsonProperty("accessToken") + private String accessToken; + + + + + @JsonProperty("secret") + private String secret; + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: Pg +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Pg { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: LenderPgConfig +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderPgConfig { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("mid") + private String mid; + + + + + @JsonProperty("clientId") + private String clientId; + + + + + @JsonProperty("secret") + private String secret; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("pgId") + private String pgId; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: FileUploadResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class FileUploadResponse { + + + + + @JsonProperty("fileId") + private String fileId; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("path") + private String path; + + + + + @JsonProperty("format") + private String format; + + + + + @JsonProperty("size") + private Double size; + + + + + @JsonProperty("access") + private String access; + + + + + @JsonProperty("tags") + private String tags; + + + + + @JsonProperty("metadata") + private String metadata; + + + + + @JsonProperty("url") + private String url; + + + + + @JsonProperty("thumbnail") + private String thumbnail; + + + + +} + +/* + Model: PresignedUrl +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PresignedUrl { + + + + + @JsonProperty("url") + private String url; + + + + + @JsonProperty("fields") + private Object fields; + + + + +} + +/* + Model: PresignedUrlV2 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PresignedUrlV2 { + + + + + @JsonProperty("url") + private String url; + + + + + @JsonProperty("fields") + private Object fields; + + + + +} + +/* + Model: LenderDocument +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderDocument { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("document") + private Object document; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: Commercial +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Commercial { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("commercial") + private Object commercial; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + +} + +/* + Model: KycStatusResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class KycStatusResponse { + + + + + @JsonProperty("isKycInitiated") + private Boolean isKycInitiated; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("kycStatuses") + private List kycStatuses; + + + + +} + +/* + Model: WorkflowResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class WorkflowResponse { + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: Action +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Action { + + + + + @JsonProperty("step") + private String step; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("index") + private Double index; + + + + + @JsonProperty("isForm") + private Boolean isForm; + + + + + @JsonProperty("form") + private Form form; + + + + +} + +/* + Model: InitiateKycResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class InitiateKycResponse { + + + + + @JsonProperty("kycResult") + private UserKycDetail kycResult; + + + + + @JsonProperty("action") + private Action action; + + + + +} + +/* + Model: UploadDocResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UploadDocResponse { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("data") + private Object data; + + + + + @JsonProperty("remark") + private String remark; + + + + + @JsonProperty("reasons") + private String reasons; + + + + + @JsonProperty("kycResult") + private UserKycDetail kycResult; + + + + + @JsonProperty("action") + private Action action; + + + + +} + +/* + Model: LenderOnboardResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderOnboardResponse { + + + + + @JsonProperty("result") + private UserLender result; + + + + + @JsonProperty("action") + private UserLenderState action; + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: OnboardingStatusResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OnboardingStatusResponse { + + + + + @JsonProperty("onboardStatuses") + private List onboardStatuses; + + + + +} + +/* + Model: SignedUrlResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SignedUrlResponse { + + + + + @JsonProperty("signedUrl") + private PresignedUrl signedUrl; + + + + + @JsonProperty("fileUrl") + private String fileUrl; + + + + +} + +/* + Model: SignedUrlV2Response +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SignedUrlV2Response { + + + + + @JsonProperty("signedUrl") + private PresignedUrlV2 signedUrl; + + + + + @JsonProperty("fileUrl") + private String fileUrl; + + + + +} + +/* + Model: PresignedUrlV3 +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PresignedUrlV3 { + + + + + @JsonProperty("signedUrl") + private String signedUrl; + + + + + @JsonProperty("provider") + private Object provider; + + + + +} + +/* + Model: SignedUrlV3Response +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SignedUrlV3Response { + + + + + @JsonProperty("signedDetails") + private PresignedUrlV3 signedDetails; + + + + + @JsonProperty("fileUrl") + private String fileUrl; + + + + +} + +/* + Model: DigilockerLinkResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DigilockerLinkResponse { + + + + + @JsonProperty("authorizationUrl") + private String authorizationUrl; + + + + +} + +/* + Model: GetDocumentsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetDocumentsResponse { + + + + + @JsonProperty("documents") + private List documents; + + + + +} + +/* + Model: ApprovedLendersTransaction +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ApprovedLendersTransaction { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("proposedLimit") + private Double proposedLimit; + + + + + @JsonProperty("createdAt") + private Object createdAt; + + + + + @JsonProperty("updatedAt") + private Object updatedAt; + + + + + @JsonProperty("deletedAt") + private Object deletedAt; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + +} + +/* + Model: ApprovedPossibleLenders +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ApprovedPossibleLenders { + + + + + @JsonProperty("limit") + private Double limit; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("theme") + private Object theme; + + + + +} + +/* + Model: AvailableLenders +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AvailableLenders { + + + + + @JsonProperty("approvedLenders") + private List approvedLenders; + + + + + @JsonProperty("possibleLenders") + private List possibleLenders; + + + + +} + +/* + Model: CreditLimit +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreditLimit { + + + + + @JsonProperty("availableLimit") + private Double availableLimit; + + + + + @JsonProperty("approvedLimit") + private Double approvedLimit; + + + + +} + +/* + Model: CreditLimitResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreditLimitResponse { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("action") + private Boolean action; + + + + + @JsonProperty("credit") + private CreditLimit credit; + + + + +} + +/* + Model: LenderPgConfigResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderPgConfigResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("mid") + private String mid; + + + + + @JsonProperty("clientId") + private String clientId; + + + + + @JsonProperty("secret") + private String secret; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("pgId") + private String pgId; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("pgName") + private String pgName; + + + + + @JsonProperty("pgActive") + private Boolean pgActive; + + + + +} + +/* + Model: GetLendersResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetLendersResponse { + + + + + @JsonProperty("data") + private List data; + + + + +} + +/* + Model: LenderConfigurationResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderConfigurationResponse { + + + + + @JsonProperty("lender") + private Lender lender; + + + + + @JsonProperty("lenderPgConfig") + private LenderPgConfig lenderPgConfig; + + + + + @JsonProperty("lenderConfig") + private LenderConfig lenderConfig; + + + + + @JsonProperty("lenderState") + private List lenderState; + + + + + @JsonProperty("lenderKycStepMap") + private List lenderKycStepMap; + + + + +} + +/* + Model: UpsertLenderResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpsertLenderResponse { + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: UpsertLenderConfigResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpsertLenderConfigResponse { + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: CreateKycStepsSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateKycStepsSchema { + + + + + @JsonProperty("data") + private List data; + + + + +} + +/* + Model: CreatePaymentGatewaySchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreatePaymentGatewaySchema { + + + + + @JsonProperty("data") + private List data; + + + + +} + +/* + Model: CreateLenderStateSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateLenderStateSchema { + + + + + @JsonProperty("data") + private List data; + + + + +} + +/* + Model: GetAllPaymentGatewaysSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetAllPaymentGatewaysSchema { + + + + + @JsonProperty("data") + private List data; + + + + +} + +/* + Model: PolicyResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PolicyResponse { + + + + + @JsonProperty("policies") + private List policies; + + + + +} + +/* + Model: CreditCheckBreResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreditCheckBreResponse { + + + + + @JsonProperty("newLenderAssigned") + private Boolean newLenderAssigned; + + + + + @JsonProperty("breStatus") + private String breStatus; + + + + +} + +/* + Model: MerchantConfigResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MerchantConfigResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("merhantConfigSchema") + private String merhantConfigSchema; + + + + +} + +/* + Model: UserLenderByIdAndStatusResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserLenderByIdAndStatusResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("approvedLimit") + private Double approvedLimit; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("theme") + private Object theme; + + + + + @JsonProperty("name") + private Object name; + + + + +} + +/* + Model: IntgrAvailableCreditLimit +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class IntgrAvailableCreditLimit { + + + + + @JsonProperty("limit") + private Double limit; + + + + + @JsonProperty("lenderName") + private String lenderName; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("logoUrl") + private String logoUrl; + + + + +} + +/* + Model: IngtrAvailableLimit +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class IngtrAvailableLimit { + + + + + @JsonProperty("available") + private List available; + + + + + @JsonProperty("possible") + private List possible; + + + + +} + +/* + Model: IntgrCreditLimit +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class IntgrCreditLimit { + + + + + @JsonProperty("limit") + private IngtrAvailableLimit limit; + + + + +} + +/* + Model: PossibleLendersInternal +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PossibleLendersInternal { + + + + + @JsonProperty("limit") + private Boolean limit; + + + + + @JsonProperty("lenderName") + private String lenderName; + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("isDefault") + private Boolean isDefault; + + + + + @JsonProperty("logo") + private String logo; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + +} + +/* + Model: PossibleLendersInternalResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PossibleLendersInternalResponse { + + + + + @JsonProperty("lenders") + private List lenders; + + + + +} + +/* + Model: GetTotalKycResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetTotalKycResponse { + + + + + @JsonProperty("totalKyc") + private String totalKyc; + + + + +} + +/* + Model: GetTotalKycCompletedUsersResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetTotalKycCompletedUsersResponse { + + + + + @JsonProperty("totalKycCompletedUsers") + private String totalKycCompletedUsers; + + + + +} + +/* + Model: GetTotalPendingUsersResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetTotalPendingUsersResponse { + + + + + @JsonProperty("totalPendingKyc") + private String totalPendingKyc; + + + + +} + +/* + Model: GetTotalCreditProvidedResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetTotalCreditProvidedResponse { + + + + + @JsonProperty("totalCreditLimit") + private String totalCreditLimit; + + + + +} + +/* + Model: MetaSchemaResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MetaSchemaResponse { + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("required") + private List required; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("properties") + private Object properties; + + + + +} + +/* + Model: MetaSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class MetaSchema { + + + + + @JsonProperty("metaSchema") + private MetaSchemaResponse metaSchema; + + + + +} + +/* + Model: AddMetaSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddMetaSchema { + + + + + @JsonProperty("lenderSlug") + private String lenderSlug; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("schema") + private Object schema; + + + + +} + +/* + Model: AddMetaSchemaRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddMetaSchemaRequest { + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("schema") + private Object schema; + + + + +} + +/* + Model: ValidatePanResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ValidatePanResponse { + + + + + @JsonProperty("panName") + private String panName; + + + + + @JsonProperty("isPanValid") + private String isPanValid; + + + + + @JsonProperty("pan") + private String pan; + + + + + @JsonProperty("isProprietor") + private Boolean isProprietor; + + + + + @JsonProperty("panType") + private String panType; + + + + + @JsonProperty("errorCode") + private String errorCode; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("errorMessage") + private String errorMessage; + + + + +} + +/* + Model: ConfirmPanResonse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ConfirmPanResonse { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("statusCode") + private String statusCode; + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: LenderCountResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderCountResponse { + + + + + @JsonProperty("active") + private Double active; + + + + + @JsonProperty("inActive") + private Double inActive; + + + + +} + +/* + Model: OnboardStepsDto +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OnboardStepsDto { + + + + + @JsonProperty("steps") + private List steps; + + + + + @JsonProperty("lender") + private Lender lender; + + + + +} + +/* + Model: OnboardStepsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OnboardStepsResponse { + + + + + @JsonProperty("stepDetails") + private List stepDetails; + + + + +} + +/* + Model: LenderDocumentResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderDocumentResponse { + + + + + @JsonProperty("data") + private LenderDocument data; + + + + +} + +/* + Model: GetUserLendersResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetUserLendersResponse { + + + + + @JsonProperty("data") + private List data; + + + + +} + +/* + Model: CreditReportResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreditReportResponse { + + + + + @JsonProperty("data") + private SourceCreditReport data; + + + + +} + +/* + Model: KycDetailsReponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class KycDetailsReponse { + + + + + @JsonProperty("data") + private UserKycLenderStepMap data; + + + + +} + +/* + Model: GetDocumentByIdResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetDocumentByIdResponse { + + + + + @JsonProperty("data") + private Document data; + + + + +} + +/* + Model: GetAllFormsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetAllFormsResponse { + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: UpsertFormResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpsertFormResponse { + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: GstDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GstDetails { + + + + + @JsonProperty("gstin") + private String gstin; + + + + + @JsonProperty("businessName") + private String businessName; + + + + +} + +/* + Model: GstDetailsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GstDetailsResponse { + + + + + @JsonProperty("gstDetails") + private List gstDetails; + + + + +} + +/* + Model: RegisterGstResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RegisterGstResponse { + + + + + @JsonProperty("gstDocDetails") + private Document gstDocDetails; + + + + + @JsonProperty("status") + private String status; + + + + +} + +/* + Model: PopulateFormResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PopulateFormResponse { + + + + + @JsonProperty("form") + private Object form; + + + + +} + +/* + Model: ValidateFormFieldResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ValidateFormFieldResponse { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: LenderCustomerMetricsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderCustomerMetricsResponse { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("data") + private MetricData data; + + + + +} + +/* + Model: BreOutput +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BreOutput { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("entityId") + private String entityId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("policyName") + private String policyName; + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("output") + private Object output; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: ManualKycResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ManualKycResponse { + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("step") + private UserKycLenderStepMap step; + + + + +} + +/* + Model: CustomerKycDetailsReponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerKycDetailsReponse { + + + + + @JsonProperty("data") + private UserKycLenderStepMap data; + + + + +} + +/* + Model: PlatformFees +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PlatformFees { + + + + + @JsonProperty("customerAcquisitionFee") + private Double customerAcquisitionFee; + + + + + @JsonProperty("transactionFee") + private Double transactionFee; + + + + +} + +/* + Model: CommercialResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CommercialResponse { + + + + + @JsonProperty("data") + private Commercial data; + + + + +} + + + + +/* + Model: BlockUserRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BlockUserRequestSchema { + + + + + @JsonProperty("status") + private Boolean status; + + + + + @JsonProperty("userid") + private List userid; + + + + + @JsonProperty("reason") + private String reason; + + + + +} + +/* + Model: EditEmailRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EditEmailRequestSchema { + + + + + @JsonProperty("email") + private String email; + + + + +} + +/* + Model: SendVerificationLinkMobileRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SendVerificationLinkMobileRequestSchema { + + + + + @JsonProperty("verified") + private Boolean verified; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("phone") + private String phone; + + + + + @JsonProperty("primary") + private Boolean primary; + + + + +} + +/* + Model: EditMobileRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EditMobileRequestSchema { + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("phone") + private String phone; + + + + +} + +/* + Model: UpdateEmail +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateEmail { + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("additionalProperties") + private Object additionalProperties; + + + + +} + +/* + Model: EditProfileRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EditProfileRequestSchema { + + + + + @JsonProperty("firstName") + private String firstName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("gender") + private String gender; + + + + + @JsonProperty("registrationToken") + private String registrationToken; + + + + +} + +/* + Model: EditProfileMobileSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EditProfileMobileSchema { + + + + + @JsonProperty("phone") + private String phone; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + +} + +/* + Model: SendEmailOtpRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SendEmailOtpRequestSchema { + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("action") + private String action; + + + + + @JsonProperty("token") + private String token; + + + + + @JsonProperty("registerToken") + private String registerToken; + + + + +} + +/* + Model: VerifyEmailOtpRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyEmailOtpRequestSchema { + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("action") + private String action; + + + + + @JsonProperty("registerToken") + private String registerToken; + + + + + @JsonProperty("otp") + private String otp; + + + + +} + +/* + Model: ReSendMobileOtpRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ReSendMobileOtpRequestSchema { + + + + + @JsonProperty("captchaCode") + private String captchaCode; + + + + + @JsonProperty("token") + private String token; + + + + + @JsonProperty("androidHash") + private String androidHash; + + + + +} + +/* + Model: ResetPasswordSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ResetPasswordSuccess { + + + + + @JsonProperty("status") + private String status; + + + + +} + +/* + Model: RegisterFormSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RegisterFormSuccess { + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("resendTimer") + private Integer resendTimer; + + + + + @JsonProperty("resendToken") + private String resendToken; + + + + + @JsonProperty("resendEmailToken") + private String resendEmailToken; + + + + + @JsonProperty("registerToken") + private String registerToken; + + + + + @JsonProperty("success") + private Boolean success; + + + + + @JsonProperty("requestId") + private String requestId; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("verifyEmailOtp") + private Boolean verifyEmailOtp; + + + + + @JsonProperty("verifyMobileOtp") + private Boolean verifyMobileOtp; + + + + + @JsonProperty("userExists") + private Boolean userExists; + + + + +} + +/* + Model: VerifyEmailSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyEmailSuccess { + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: BlockUserSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BlockUserSuccess { + + + + + @JsonProperty("success") + private Boolean success; + + + + +} + +/* + Model: EmailOtpSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class EmailOtpSuccess { + + + + + @JsonProperty("success") + private Boolean success; + + + + +} + +/* + Model: VerifyEmailOTPSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VerifyEmailOTPSuccess { + + + + + @JsonProperty("user") + private UserSchema user; + + + + + @JsonProperty("verifyEmailLink") + private Boolean verifyEmailLink; + + + + +} + +/* + Model: SendMobileVerifyLinkSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SendMobileVerifyLinkSuccess { + + + + + @JsonProperty("verifyMobileLink") + private Boolean verifyMobileLink; + + + + +} + +/* + Model: SendEmailVerifyLinkSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class SendEmailVerifyLinkSuccess { + + + + + @JsonProperty("verifyEmailLink") + private Boolean verifyEmailLink; + + + + +} + +/* + Model: UserSearchResponseSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserSearchResponseSchema { + + + + + @JsonProperty("users") + private List users; + + + + +} + +/* + Model: CustomerListResponseSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CustomerListResponseSchema { + + + + + @JsonProperty("items") + private List items; + + + + + @JsonProperty("page") + private PaginationSchema page; + + + + +} + +/* + Model: PaginationSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PaginationSchema { + + + + + @JsonProperty("size") + private Integer size; + + + + + @JsonProperty("itemTotal") + private Integer itemTotal; + + + + + @JsonProperty("hasNext") + private Boolean hasNext; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("current") + private Integer current; + + + + +} + +/* + Model: UserObjectSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserObjectSchema { + + + + + @JsonProperty("user") + private UserSchema user; + + + + +} + +/* + Model: CreateOrganization +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateOrganization { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("logo") + private String logo; + + + + + @JsonProperty("website") + private String website; + + + + + @JsonProperty("disbursementAccountHolderName") + private String disbursementAccountHolderName; + + + + + @JsonProperty("disbursementAccountNumber") + private String disbursementAccountNumber; + + + + + @JsonProperty("disbursementIfsc") + private String disbursementIfsc; + + + + + @JsonProperty("businessName") + private String businessName; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("businessAddress") + private String businessAddress; + + + + + @JsonProperty("pincode") + private String pincode; + + + + + @JsonProperty("b2b") + private Boolean b2B; + + + + + @JsonProperty("b2c") + private Boolean b2C; + + + + + @JsonProperty("docType") + private String docType; + + + + + @JsonProperty("docNumber") + private String docNumber; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + +} + +/* + Model: UpdateLogo +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateLogo { + + + + + @JsonProperty("logo") + private String logo; + + + + +} + +/* + Model: AddMetaSchemaResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddMetaSchemaResponse { + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("mid") + private String mid; + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: UpdateOrganization +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateOrganization { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private Object name; + + + + + @JsonProperty("logo") + private Object logo; + + + + + @JsonProperty("website") + private Object website; + + + + + @JsonProperty("disbursementAccountHolderName") + private Object disbursementAccountHolderName; + + + + + @JsonProperty("disbursementAccountNumber") + private Object disbursementAccountNumber; + + + + + @JsonProperty("disbursementIfsc") + private Object disbursementIfsc; + + + + + @JsonProperty("active") + private Boolean active; + + + + +} + +/* + Model: UpdateFinancials +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateFinancials { + + + + + @JsonProperty("disbursementAccountHolderName") + private String disbursementAccountHolderName; + + + + + @JsonProperty("disbursementAccountNumber") + private String disbursementAccountNumber; + + + + + @JsonProperty("disbursementIfsc") + private String disbursementIfsc; + + + + +} + +/* + Model: Documents +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Documents { + + + + + @JsonProperty("docType") + private String docType; + + + + + @JsonProperty("docNumber") + private String docNumber; + + + + +} + +/* + Model: FinancialDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class FinancialDetails { + + + + + @JsonProperty("disbursementAccountHolderName") + private String disbursementAccountHolderName; + + + + + @JsonProperty("disbursementAccountNumber") + private String disbursementAccountNumber; + + + + + @JsonProperty("disbursementIfsc") + private String disbursementIfsc; + + + + + @JsonProperty("b2b") + private Boolean b2B; + + + + + @JsonProperty("b2c") + private Boolean b2C; + + + + + @JsonProperty("businessName") + private String businessName; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("businessAddress") + private String businessAddress; + + + + + @JsonProperty("pincode") + private String pincode; + + + + + @JsonProperty("documents") + private List documents; + + + + +} + +/* + Model: GetOrganization +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GetOrganization { + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("isAdmin") + private Boolean isAdmin; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("isActive") + private Boolean isActive; + + + + +} + +/* + Model: OrganizationDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationDetails { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + + @JsonProperty("isAdmin") + private Boolean isAdmin; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("isActive") + private Boolean isActive; + + + + + @JsonProperty("logo") + private String logo; + + + + + @JsonProperty("website") + private String website; + + + + + @JsonProperty("disbursementAccountHolderName") + private String disbursementAccountHolderName; + + + + + @JsonProperty("disbursementAccountNumber") + private String disbursementAccountNumber; + + + + + @JsonProperty("disbursementIfsc") + private String disbursementIfsc; + + + + +} + +/* + Model: Organization +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Organization { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("active") + private Boolean active; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: OrganizationList +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationList { + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("logo") + private String logo; + + + + + @JsonProperty("id") + private Boolean id; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("isActive") + private Boolean isActive; + + + + + @JsonProperty("epikId") + private String epikId; + + + + + @JsonProperty("website") + private String website; + + + + + @JsonProperty("disbursementAccountHolderName") + private String disbursementAccountHolderName; + + + + + @JsonProperty("disbursementAccountNumber") + private String disbursementAccountNumber; + + + + + @JsonProperty("disbursementIfsc") + private String disbursementIfsc; + + + + +} + +/* + Model: OrganizationCount +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationCount { + + + + + @JsonProperty("count") + private String count; + + + + +} + +/* + Model: TeamMembers +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TeamMembers { + + + + + @JsonProperty("members") + private List members; + + + + +} + +/* + Model: Member +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Member { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + + @JsonProperty("isAdmin") + private Boolean isAdmin; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + + @JsonProperty("profile") + private Profile profile; + + + + +} + +/* + Model: Profile +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Profile { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + + @JsonProperty("isAdmin") + private Boolean isAdmin; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: AddTeamMember +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddTeamMember { + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("userIsAdmin") + private Boolean userIsAdmin; + + + + +} + +/* + Model: UpdateTeamMemberRole +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateTeamMemberRole { + + + + + @JsonProperty("userIsAdmin") + private Boolean userIsAdmin; + + + + + @JsonProperty("userId") + private String userId; + + + + +} + +/* + Model: RemoveTeamMemberResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RemoveTeamMemberResponse { + + + + + @JsonProperty("success") + private Boolean success; + + + + +} + +/* + Model: AddTeamMemberResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddTeamMemberResponse { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("userId") + private String userId; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + + @JsonProperty("isAdmin") + private Boolean isAdmin; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("deletedAt") + private String deletedAt; + + + + +} + +/* + Model: ApiKey +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ApiKey { + + + + + @JsonProperty("key") + private String key; + + + + + @JsonProperty("secret") + private String secret; + + + + +} + +/* + Model: UpdateApiHook +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateApiHook { + + + + + @JsonProperty("apiKey") + private String apiKey; + + + + + @JsonProperty("url") + private String url; + + + + + @JsonProperty("customHeaders") + private Object customHeaders; + + + + +} + +/* + Model: ApiHookDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ApiHookDetails { + + + + + @JsonProperty("apiKey") + private String apiKey; + + + + + @JsonProperty("url") + private String url; + + + + + @JsonProperty("customHeaders") + private Object customHeaders; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + +} + +/* + Model: UpdateApiHookResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateApiHookResponse { + + + + + @JsonProperty("success") + private Boolean success; + + + + +} + +/* + Model: OrganizationIp +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationIp { + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("ip") + private String ip; + + + + +} + +/* + Model: AddOrganizationIpDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddOrganizationIpDetails { + + + + + @JsonProperty("organizationIps") + private List organizationIps; + + + + + @JsonProperty("delete") + private String delete; + + + + +} + +/* + Model: AddUpdateCsvFileResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddUpdateCsvFileResponse { + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: AddUpdateCsvFileRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddUpdateCsvFileRequest { + + + + + @JsonProperty("csv") + private String csv; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + +} + +/* + Model: CsvFile +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CsvFile { + + + + + @JsonProperty("csv") + private String csv; + + + + +} + +/* + Model: AddReportCsvFileResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddReportCsvFileResponse { + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: AddReportCsvFileRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddReportCsvFileRequest { + + + + + @JsonProperty("csv") + private String csv; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("type") + private String type; + + + + +} + +/* + Model: ReportCsvFileResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ReportCsvFileResponse { + + + + + @JsonProperty("csv") + private String csv; + + + + +} + +/* + Model: AddReportRequestArray +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddReportRequestArray { + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("shopName") + private String shopName; + + + + + @JsonProperty("legalName") + private String legalName; + + + + + @JsonProperty("firstName") + private String firstName; + + + + + @JsonProperty("middleName") + private String middleName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + + @JsonProperty("aadhaar") + private String aadhaar; + + + + + @JsonProperty("nameOnPan") + private String nameOnPan; + + + + + @JsonProperty("gstNumber") + private String gstNumber; + + + + + @JsonProperty("gstBusinessName") + private String gstBusinessName; + + + + + @JsonProperty("panNumber") + private String panNumber; + + + + + @JsonProperty("udyam") + private String udyam; + + + + + @JsonProperty("ownershipType") + private String ownershipType; + + + + + @JsonProperty("address") + private String address; + + + + + @JsonProperty("pincode") + private String pincode; + + + + + @JsonProperty("license1Type") + private String license1Type; + + + + + @JsonProperty("license1") + private String license1; + + + + + @JsonProperty("license2Type") + private String license2Type; + + + + + @JsonProperty("license2") + private String license2; + + + + +} + +/* + Model: AddReportRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddReportRequest { + + + + + @JsonProperty("businessDetails") + private List businessDetails; + + + + +} + +/* + Model: AddReportResponseArray +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddReportResponseArray { + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("anchorId") + private String anchorId; + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("shopName") + private String shopName; + + + + + @JsonProperty("legalName") + private String legalName; + + + + + @JsonProperty("firstName") + private String firstName; + + + + + @JsonProperty("middleName") + private String middleName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + + @JsonProperty("aadhaar") + private String aadhaar; + + + + + @JsonProperty("nameOnPan") + private String nameOnPan; + + + + + @JsonProperty("gstNumber") + private String gstNumber; + + + + + @JsonProperty("gstBusinessName") + private String gstBusinessName; + + + + + @JsonProperty("panNumber") + private String panNumber; + + + + + @JsonProperty("udyam") + private String udyam; + + + + + @JsonProperty("ownershipType") + private String ownershipType; + + + + + @JsonProperty("address") + private String address; + + + + + @JsonProperty("pincode") + private String pincode; + + + + + @JsonProperty("license1Type") + private String license1Type; + + + + + @JsonProperty("license1") + private String license1; + + + + + @JsonProperty("license2Type") + private String license2Type; + + + + + @JsonProperty("license2") + private String license2; + + + + +} + +/* + Model: AddReportResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddReportResponse { + + + + + @JsonProperty("businessDetails") + private List businessDetails; + + + + +} + +/* + Model: VintageDataResponseObject +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VintageDataResponseObject { + + + + + @JsonProperty("month") + private String month; + + + + + @JsonProperty("year") + private Integer year; + + + + + @JsonProperty("revenue") + private String revenue; + + + + + @JsonProperty("businessId") + private String businessId; + + + + + @JsonProperty("createdBy") + private String createdBy; + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedBy") + private String updatedBy; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + +} + +/* + Model: VintageDataResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class VintageDataResponse { + + + + + @JsonProperty("vintageData") + private List vintageData; + + + + +} + +/* + Model: AddSkuRequestArray +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddSkuRequestArray { + + + + + @JsonProperty("sku") + private String sku; + + + + + @JsonProperty("productName") + private String productName; + + + + + @JsonProperty("creditPurchaseOptionFlag") + private String creditPurchaseOptionFlag; + + + + + @JsonProperty("effectiveDates") + private String effectiveDates; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + +} + +/* + Model: AddSkuRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddSkuRequest { + + + + + @JsonProperty("skuDetails") + private List skuDetails; + + + + +} + +/* + Model: AddSkuResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AddSkuResponse { + + + + + @JsonProperty("message") + private String message; + + + + +} + +/* + Model: RestrictedSkuSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RestrictedSkuSchema { + + + + + @JsonProperty("skuDetails") + private List skuDetails; + + + + +} + +/* + Model: OrganizationIpResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationIpResponse { + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + + @JsonProperty("ip") + private String ip; + + + + + @JsonProperty("createdAt") + private String createdAt; + + + + + @JsonProperty("updatedAt") + private String updatedAt; + + + + + @JsonProperty("id") + private String id; + + + + +} + +/* + Model: OrganizationIpDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrganizationIpDetails { + + + + + @JsonProperty("organizationIps") + private List organizationIps; + + + + +} + +/* + Model: RefundSuccess +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RefundSuccess { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private Double message; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("refundId") + private String refundId; + + + + +} + +/* + Model: RefundItem +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RefundItem { + + + + + @JsonProperty("items") + private List items; + + + + +} + +/* + Model: ValidateCredentialsData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ValidateCredentialsData { + + + + + @JsonProperty("success") + private Boolean success; + + + + + @JsonProperty("organizationId") + private String organizationId; + + + + + @JsonProperty("organizationName") + private String organizationName; + + + + +} + +/* + Model: ValidateCredentialsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ValidateCredentialsResponse { + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("meta") + private IntegrationResponseMeta meta; + + + + + @JsonProperty("data") + private ValidateCredentialsData data; + + + + +} + +/* + Model: PaymentLinkResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PaymentLinkResponse { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("message") + private String message; + + + + + @JsonProperty("paymentLink") + private String paymentLink; + + + + +} + +/* + Model: ApplicationCutomer +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class ApplicationCutomer { + + + + + @JsonProperty("countryCode") + private String countryCode; + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("uid") + private String uid; + + + + + @JsonProperty("email") + private String email; + + + + +} + +/* + Model: GeoLocation +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class GeoLocation { + + + + + @JsonProperty("latitude") + private Double latitude; + + + + + @JsonProperty("longitude") + private Double longitude; + + + + +} + +/* + Model: Address +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class Address { + + + + + @JsonProperty("line1") + private String line1; + + + + + @JsonProperty("line2") + private String line2; + + + + + @JsonProperty("city") + private String city; + + + + + @JsonProperty("state") + private String state; + + + + + @JsonProperty("country") + private String country; + + + + + @JsonProperty("pincode") + private String pincode; + + + + + @JsonProperty("type") + private String type; + + + + + @JsonProperty("geoLocation") + private GeoLocation geoLocation; + + + + +} + +/* + Model: OrderItems +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OrderItems { + + + + + @JsonProperty("category") + private String category; + + + + + @JsonProperty("sku") + private String sku; + + + + + @JsonProperty("rate") + private Double rate; + + + + + @JsonProperty("quantity") + private Double quantity; + + + + +} + +/* + Model: PaymentLinkRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PaymentLinkRequest { + + + + + @JsonProperty("autoCapture") + private Boolean autoCapture; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("emiTenure") + private Double emiTenure; + + + + + @JsonProperty("customer") + private ApplicationCutomer customer; + + + + + @JsonProperty("order") + private Order order; + + + + + @JsonProperty("device") + private Device device; + + + + + @JsonProperty("meta") + private HashMap meta; + + + + +} + +/* + Model: UpdateLenderStatusSchemaRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateLenderStatusSchemaRequest { + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("enable") + private Boolean enable; + + + + +} + +/* + Model: UpdateLenderStatusSchemaResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UpdateLenderStatusSchemaResponse { + + + + + @JsonProperty("merchantId") + private String merchantId; + + + + + @JsonProperty("lenderId") + private String lenderId; + + + + + @JsonProperty("mid") + private String mid; + + + + + @JsonProperty("enable") + private Boolean enable; + + + + + @JsonProperty("data") + private Object data; + + + + +} + +/* + Model: LenderTheme +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderTheme { + + + + + @JsonProperty("iconUrl") + private String iconUrl; + + + + + @JsonProperty("logoUrl") + private String logoUrl; + + + + +} + +/* + Model: LenderDetails +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class LenderDetails { + + + + + @JsonProperty("slug") + private String slug; + + + + + @JsonProperty("name") + private String name; + + + + + @JsonProperty("id") + private String id; + + + + + @JsonProperty("theme") + private LenderTheme theme; + + + + +} + +/* + Model: OutstandingData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OutstandingData { + + + + + @JsonProperty("lenderDetails") + private LenderDetails lenderDetails; + + + + + @JsonProperty("availableLimit") + private Double availableLimit; + + + + + @JsonProperty("creditLimit") + private Double creditLimit; + + + + + @JsonProperty("dueAmount") + private Double dueAmount; + + + + + @JsonProperty("outstandingAmount") + private Double outstandingAmount; + + + + + @JsonProperty("dueDate") + private String dueDate; + + + + +} + +/* + Model: OutstandingDetailsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OutstandingDetailsResponse { + + + + + @JsonProperty("outstandingDetails") + private List outstandingDetails; + + + + +} + +/* + Model: CreateUserRequestSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateUserRequestSchema { + + + + + @JsonProperty("mobile") + private String mobile; + + + + + @JsonProperty("email") + private String email; + + + + + @JsonProperty("firstName") + private String firstName; + + + + + @JsonProperty("lastName") + private String lastName; + + + + + @JsonProperty("gender") + private String gender; + + + + +} + +/* + Model: CreateUserResponseSchema +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class CreateUserResponseSchema { + + + + + @JsonProperty("user") + private UserSchema user; + + + + +} + + + + +/* + Model: RepaymentUsingNetbanking +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RepaymentUsingNetbanking { + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("bankId") + private String bankId; + + + + + @JsonProperty("bankName") + private String bankName; + + + + + @JsonProperty("chargeToken") + private String chargeToken; + + + + +} + +/* + Model: RepaymentUsingNetbankingResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RepaymentUsingNetbankingResponse { + + + + + @JsonProperty("form") + private String form; + + + + + @JsonProperty("isDifferent") + private Boolean isDifferent; + + + + + @JsonProperty("outstanding") + private String outstanding; + + + + +} + +/* + Model: RepaymentUsingUPI +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RepaymentUsingUPI { + + + + + @JsonProperty("amount") + private Double amount; + + + + + @JsonProperty("vpa") + private String vpa; + + + + + @JsonProperty("chargeToken") + private String chargeToken; + + + + +} + +/* + Model: RepaymentUsingUPIResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RepaymentUsingUPIResponse { + + + + + @JsonProperty("isDifferent") + private Boolean isDifferent; + + + + + @JsonProperty("outstanding") + private String outstanding; + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("intentId") + private String intentId; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("expiry") + private Double expiry; + + + + + @JsonProperty("interval") + private Double interval; + + + + +} + +/* + Model: RegisterUPIMandateRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RegisterUPIMandateRequest { + + + + + @JsonProperty("vpa") + private String vpa; + + + + +} + +/* + Model: RegisterUPIMandateResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RegisterUPIMandateResponse { + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + + @JsonProperty("expiry") + private Double expiry; + + + + + @JsonProperty("interval") + private Double interval; + + + + +} + +/* + Model: RegisterUPIMandateStatusCheckRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RegisterUPIMandateStatusCheckRequest { + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + +} + +/* + Model: RegisterMandateStatusCheckResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RegisterMandateStatusCheckResponse { + + + + + @JsonProperty("status") + private String status; + + + + +} + +/* + Model: TransactionStatusRequest +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionStatusRequest { + + + + + @JsonProperty("intentId") + private String intentId; + + + + + @JsonProperty("transactionId") + private String transactionId; + + + + +} + +/* + Model: TransactionStatusResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class TransactionStatusResponse { + + + + + @JsonProperty("success") + private Boolean success; + + + + + @JsonProperty("methodType") + private String methodType; + + + + + @JsonProperty("methodSubType") + private String methodSubType; + + + + + @JsonProperty("status") + private String status; + + + + +} + +/* + Model: BankList +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class BankList { + + + + + @JsonProperty("bankId") + private String bankId; + + + + + @JsonProperty("bankName") + private String bankName; + + + + + @JsonProperty("rank") + private Double rank; + + + + + @JsonProperty("popular") + private Boolean popular; + + + + + @JsonProperty("imageUrl") + private String imageUrl; + + + + +} + +/* + Model: PaymentsObject +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PaymentsObject { + + + + + @JsonProperty("title") + private String title; + + + + + @JsonProperty("kind") + private String kind; + + + + + @JsonProperty("options") + private List options; + + + + +} + +/* + Model: OutstandingDetail +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OutstandingDetail { + + + + + @JsonProperty("status") + private String status; + + + + + @JsonProperty("action") + private Boolean action; + + + + + @JsonProperty("message") + private OutstandingMessage message; + + + + + @JsonProperty("credit") + private UserCredit credit; + + + + + @JsonProperty("dueSummary") + private DueSummaryOutstanding dueSummary; + + + + + @JsonProperty("outstandingSummary") + private OutstandingSummary outstandingSummary; + + + + + @JsonProperty("entityMapId") + private String entityMapId; + + + + +} + +/* + Model: OutstandingSummary +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OutstandingSummary { + + + + + @JsonProperty("totalOutstanding") + private Double totalOutstanding; + + + + + @JsonProperty("totalOutstandingWithInterest") + private Double totalOutstandingWithInterest; + + + + + @JsonProperty("totalOutstandingPenalty") + private Double totalOutstandingPenalty; + + + + + @JsonProperty("availableLimit") + private Double availableLimit; + + + + + @JsonProperty("isOverdue") + private Boolean isOverdue; + + + + + @JsonProperty("dueFromDate") + private String dueFromDate; + + + + + @JsonProperty("repaymentSummary") + private List repaymentSummary; + + + + +} + +/* + Model: DueSummaryOutstanding +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DueSummaryOutstanding { + + + + + @JsonProperty("dueDate") + private String dueDate; + + + + + @JsonProperty("totalDue") + private Double totalDue; + + + + + @JsonProperty("totalDueWithInterest") + private Double totalDueWithInterest; + + + + + @JsonProperty("totalDuePenalty") + private Double totalDuePenalty; + + + + + @JsonProperty("dueTransactions") + private List dueTransactions; + + + + + @JsonProperty("minAmntDue") + private Double minAmntDue; + + + + +} + +/* + Model: OutstandingMessage +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OutstandingMessage { + + + + + @JsonProperty("dueMessage") + private String dueMessage; + + + + + @JsonProperty("backgroundColor") + private String backgroundColor; + + + + + @JsonProperty("textColor") + private String textColor; + + + + + @JsonProperty("isFlexiRepayEnabled") + private Boolean isFlexiRepayEnabled; + + + + +} + +/* + Model: UserCredit +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class UserCredit { + + + + + @JsonProperty("availableLimit") + private Double availableLimit; + + + + + @JsonProperty("approvedLimit") + private Double approvedLimit; + + + + + @JsonProperty("isEligibleToDrawdown") + private Boolean isEligibleToDrawdown; + + + + +} + +/* + Model: DueTransactionsOutstanding +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class DueTransactionsOutstanding { + + + + + @JsonProperty("loanRequestNo") + private String loanRequestNo; + + + + + @JsonProperty("merchantCategory") + private String merchantCategory; + + + + + @JsonProperty("installmentAmountWithInterest") + private Double installmentAmountWithInterest; + + + + + @JsonProperty("installmentAmount") + private Double installmentAmount; + + + + + @JsonProperty("dueAmount") + private Double dueAmount; + + + + + @JsonProperty("loanType") + private String loanType; + + + + + @JsonProperty("installmentNo") + private String installmentNo; + + + + + @JsonProperty("installmentDueDate") + private String installmentDueDate; + + + + + @JsonProperty("isPastDue") + private Boolean isPastDue; + + + + + @JsonProperty("isPenaltyCharged") + private Boolean isPenaltyCharged; + + + + + @JsonProperty("penaltyAmount") + private Double penaltyAmount; + + + + + @JsonProperty("noOfDaysPenaltyCharged") + private Integer noOfDaysPenaltyCharged; + + + + + @JsonProperty("daysDifference") + private Integer daysDifference; + + + + + @JsonProperty("lenderTransactionId") + private String lenderTransactionId; + + + + +} + +/* + Model: RepaymentSummaryOutstanding +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class RepaymentSummaryOutstanding { + + + + + @JsonProperty("loanRequestNo") + private String loanRequestNo; + + + + + @JsonProperty("loanType") + private String loanType; + + + + + @JsonProperty("merchantCategory") + private String merchantCategory; + + + + + @JsonProperty("isBbillingTransaction") + private Boolean isBbillingTransaction; + + + + + @JsonProperty("totalInstallmentAmount") + private Integer totalInstallmentAmount; + + + + + @JsonProperty("totalInstallmentAmountWithInterest") + private Integer totalInstallmentAmountWithInterest; + + + + + @JsonProperty("outstandingDetails") + private List outstandingDetails; + + + + +} + +/* + Model: OutstandingDetailsRepayment +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OutstandingDetailsRepayment { + + + + + @JsonProperty("installmentAmountWithInterest") + private Double installmentAmountWithInterest; + + + + + @JsonProperty("installmentAmount") + private Double installmentAmount; + + + + + @JsonProperty("dueAmount") + private Double dueAmount; + + + + + @JsonProperty("installmentNo") + private String installmentNo; + + + + + @JsonProperty("installmentDueDate") + private String installmentDueDate; + + + + + @JsonProperty("isPastDue") + private Boolean isPastDue; + + + + + @JsonProperty("loanType") + private String loanType; + + + + + @JsonProperty("isPenaltyCharged") + private Boolean isPenaltyCharged; + + + + + @JsonProperty("penaltyAmount") + private Integer penaltyAmount; + + + + + @JsonProperty("noOfDaysPenaltyCharged") + private Integer noOfDaysPenaltyCharged; + + + + + @JsonProperty("lenderTransactionId") + private String lenderTransactionId; + + + + +} + +/* + Model: PaymentOptionsResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class PaymentOptionsResponse { + + + + + @JsonProperty("paymentOptions") + private List paymentOptions; + + + + +} + +/* + Model: AutoPayStatusResponse +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class AutoPayStatusResponse { + + + + + @JsonProperty("status") + private String status; + + + + +} + +/* + Model: OutstandingDetailsData +*/ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +public static class OutstandingDetailsData { + + + + + @JsonProperty("outstandingDetails") + private List outstandingDetails; + + + + +} + + + +} \ No newline at end of file diff --git a/src/main/java/com/sdk/platform/PlatformOauthClient.java b/src/main/java/com/sdk/platform/PlatformOauthClient.java new file mode 100644 index 0000000..6bc0d0b --- /dev/null +++ b/src/main/java/com/sdk/platform/PlatformOauthClient.java @@ -0,0 +1,308 @@ +package com.sdk.platform; + +import com.sdk.common.*; +import com.sdk.common.AccessResponse; +import com.sdk.common.AccessTokenDto; +import com.sdk.common.FDKError; +import com.sdk.common.FDKTokenIssueError; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import okhttp3.Interceptor; +import okhttp3.Request; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.util.ObjectUtils; +import retrofit2.Call; +import retrofit2.Response; +import retrofit2.http.FieldMap; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; +import retrofit2.http.Url; + +import java.io.IOException; +import java.util.*; +import java.util.concurrent.TimeUnit; + +interface TokenApiList { + @FormUrlEncoded + @POST + Call getAccessToken(@Url String slug, @FieldMap HashMap map); +} + +@Getter +@Setter +@Slf4j +public class PlatformOauthClient { + + private static final String URI = "/service/integration/staff/authentication/oauth/"; + + PlatformConfig config; + + RetrofitServiceFactory retrofitServiceFactory; + + String token; + + String refreshToken; + + AccessTokenDto rawToken; + + long tokenExpiresIn; + + long tokenExpiresAt; + + Boolean useAutoRenewTimer; + + PlatformOauthClient(PlatformConfig config) { + this.config = config; + this.refreshToken = ""; + this.retrofitServiceFactory = new RetrofitServiceFactory(); + this.tokenExpiresAt = 0; + this.useAutoRenewTimer = Objects.nonNull( + config.getUseAutoRenewTimer()) ? config.getUseAutoRenewTimer() : Boolean.TRUE; + } + + private void getAccessToken() { + if (this.useAutoRenewTimer.equals(Boolean.FALSE) && StringUtils.isNotEmpty(this.refreshToken) + && isTokenExpired(120)) { + try { + // Check if token is about to expire in less than 2 mins. + // Renew if to be expired and auto renew timer is not enabled. + renewAccesstoken(); + } catch (Exception e) { + log.error("Exception in renewing Access Token", e); + } + } + } + + // default TTL checked 0 seconds + public boolean isTokenExpired(int ttl) { + long currentTimestamp = (new Date()).getTime(); + // Check if token is about to expire in less than 2 mins + return ((tokenExpiresAt - currentTimestamp) / 1000) < ttl; + } + + public void setToken(AccessTokenDto accessTokenDto) { + this.rawToken = accessTokenDto; + this.tokenExpiresIn = accessTokenDto.getExpiresIn(); + this.token = accessTokenDto.getAccessToken(); + this.refreshToken = ObjectUtils.isEmpty( + accessTokenDto.getRefreshToken()) ? "" : accessTokenDto.getRefreshToken(); + if (!ObjectUtils.isEmpty(this.refreshToken) && this.useAutoRenewTimer.equals(Boolean.TRUE)) { + this.retryOAuthTokenTimer(accessTokenDto.getExpiresIn()); + } + } + + private void retryOAuthTokenTimer(long expiresIn) { + try { + if (expiresIn > 60) { + this.renewAccesstoken(); + } + } catch (Exception e) { + throw new FDKError(e.getMessage()); + } + } + + public String getAuthorizationURL(List scope, String redirectUri, String state, boolean isOnline) { + String apiKey = config.getApiKey(); + if (ObjectUtils.isEmpty(apiKey)) { + throw new FDKError("API Key missing in config"); + } + state = StringUtils.isNotEmpty(state) ? state : getRandomState(); + String accessMode = isOnline ? "online" : "offline"; + String query = "client_id=" + apiKey + "&scope=" + String.join(",", scope) + + "&redirect_uri=" + redirectUri + "&state=" + state + "&access_mode=" + accessMode + + "&response_type=code"; + + var queryString = config.getDomain() + URI + config.getApiKey() + "/authorize?" + query; + Request request = new Request.Builder().url(queryString) + .get() + .build(); + request = new RequestSigner(request).sign(true); + return request.url() + .toString(); + } + + private String getRandomState() { + return RandomStringUtils.randomAlphanumeric(15) + .toUpperCase(); + } + + public AccessTokenDto renewAccesstoken() throws IOException { + + HashMap body = new HashMap<>(); + body.put(Fields.GRANT_TYPE, GrantType.REFRESH_TOKEN.toString() + .toLowerCase()); + body.put(Fields.REFRESH_CODE, this.refreshToken); + + String url = config.getDomain() + URI + config.getApiKey() + "/token"; + AccessTokenDto newToken = getToken(body, url); + setToken(newToken); + if (Objects.nonNull(newToken.getExpiresAt())) { + Long tokenExpires = newToken.getExpiresAt(); + newToken.setExpiresAt(tokenExpires); + this.tokenExpiresAt = tokenExpires; + } else { + newToken.setExpiresAt((new Date()).getTime() + (this.tokenExpiresIn * 1000L)); + this.tokenExpiresAt = (new Date()).getTime() + (this.tokenExpiresIn * 1000L); + } + + return newToken; + } + + public void verifyCallback(String authorizationCode) throws IOException { + HashMap body = new HashMap<>(); + body.put(Fields.GRANT_TYPE, GrantType.AUTHORIZATION_CODE.toString() + .toLowerCase()); + body.put(Fields.CODE, authorizationCode); + String url = config.getDomain() + URI + config.getApiKey() + "/token"; + AccessTokenDto newToken = getToken(body, url); + setToken(newToken); + if (Objects.nonNull(newToken.getExpiresAt())) { + Long tokenExpires = newToken.getExpiresAt(); + newToken.setExpiresAt(tokenExpires); + this.tokenExpiresAt = tokenExpires; + } else { + newToken.setExpiresAt((new Date()).getTime() + (this.tokenExpiresIn * 1000L)); + this.tokenExpiresAt = (new Date()).getTime() + (this.tokenExpiresIn * 1000L); + } + + } + + public boolean isAccessTokenValid() { + return !ObjectUtils.isEmpty(this.token) && this.rawToken.getExpiresIn() > 0; + } + + public AccessTokenDto getOfflineAccessToken(String scopes, String code) { + try { + HashMap body = new HashMap<>(); + body.put(Fields.GRANT_TYPE, GrantType.AUTHORIZATION_CODE.toString() + .toLowerCase()); + body.put(Fields.CODE, code); + body.put(Fields.CLIENT_ID, config.getApiKey()); + body.put(Fields.CLIENT_SECRET, config.getApiSecret()); + body.put(Fields.SCOPE, scopes); + String url = config.getDomain() + URI + config.getApiKey() + "/offline-token"; + AccessTokenDto offlineToken = getOfflineToken(body, url); + setToken(offlineToken); + if (Objects.nonNull(offlineToken.getExpiresAt())) { + Long tokenExpires = offlineToken.getExpiresAt(); + offlineToken.setExpiresAt(tokenExpires); + this.tokenExpiresAt = tokenExpires; + } else { + offlineToken.setExpiresAt((new Date()).getTime() + (this.tokenExpiresIn * 1000L)); + this.tokenExpiresAt = (new Date()).getTime() + (this.tokenExpiresIn * 1000L); + } + + return offlineToken; + } catch (Exception e) { + log.error("Exception in getting Offline Token", e); + throw new FDKTokenIssueError(e.getMessage()); + } + } + + private AccessTokenDto getOfflineToken(HashMap body, String url) throws IOException { + TokenApiList tokenApiList = generateOfflineTokenApiList(); + Response response = tokenApiList.getAccessToken(url, body) + .execute(); + if (response.isSuccessful() && !ObjectUtils.isEmpty(response.body())) { + return convertToDto(response.body()); + } + return new AccessTokenDto(); + } + + private AccessTokenDto convertToDto(AccessResponse accessResponse) { + AccessTokenDto accessTokenDto = new AccessTokenDto(); + accessTokenDto.setAccessToken(accessResponse.getAccessToken()); + accessTokenDto.setExpiresIn(accessResponse.getExpiresIn()); + accessTokenDto.setCurrentUser(accessResponse.getCurrentUser()); + accessTokenDto.setRefreshToken(accessResponse.getRefreshToken()); + return accessTokenDto; + } + + private AccessTokenDto getToken(HashMap body, String url) throws IOException { + TokenApiList tokenApiList = generateTokenApiList(); + Response response = tokenApiList.getAccessToken(url, body) + .execute(); + if (response.isSuccessful() && !ObjectUtils.isEmpty(response.body())) { + return convertToDto(response.body()); + } + return new AccessTokenDto(); + } + + private TokenApiList generateOfflineTokenApiList() { + List interceptorList = new ArrayList<>(); + interceptorList.add(new PlatformHeaderInterceptor(config)); + interceptorList.add(new RequestSignerInterceptor()); + // interceptorList.add(new ExtensionLibInterceptor(config)); + return retrofitServiceFactory.createService(config.getDomain(), TokenApiList.class, interceptorList); + } + + private TokenApiList generateTokenApiList() { + List interceptorList = new ArrayList<>(); + interceptorList.add(new PlatformHeaderInterceptor(config)); + interceptorList.add(new RequestSignerInterceptor()); + + return retrofitServiceFactory.createService(config.getDomain(), TokenApiList.class, interceptorList); + } + + public AccessTokenDto getAccessTokenObj(String grant_type, String refresh_token, String code) throws IOException{ + HashMap body = new HashMap<>(); + body.put(Fields.GRANT_TYPE, grant_type); + if (grant_type.equalsIgnoreCase(GrantType.REFRESH_TOKEN.getMessage())) { + body.put(Fields.REFRESH_CODE, refresh_token); + } else if (grant_type.equalsIgnoreCase(GrantType.AUTHORIZATION_CODE.getMessage())) { + // body.put(Fields.CODE, code); + } + return getAccessTokenDto(body); + } + + public AccessTokenDto getAccessTokenObj(String grant_type) throws IOException{ + return getAccessTokenObj(grant_type, null,null); + } + + public void setTokenNew(AccessTokenDto accessTokenDto) { + this.rawToken = accessTokenDto; + this.tokenExpiresIn = accessTokenDto.getExpiresIn(); + this.token = accessTokenDto.getAccessToken(); + this.refreshToken = ObjectUtils.isEmpty( + accessTokenDto.getRefreshToken()) ? "" : accessTokenDto.getRefreshToken(); + } + + private AccessTokenDto getAccessTokenDto(HashMap body) throws IOException { + String url = config.getDomain() + URI + config.getApiKey() + "/authorize"; + AccessTokenDto newToken = getToken(body, url); + if (Objects.nonNull(newToken.getExpiresAt())) { + Long tokenExpires = newToken.getExpiresAt(); + newToken.setExpiresAt(tokenExpires); + this.tokenExpiresAt = tokenExpires; + } else { + newToken.setExpiresAt((new Date()).getTime() + (this.tokenExpiresIn * 1000L)); + this.tokenExpiresAt = (new Date()).getTime() + (this.tokenExpiresIn * 1000L); + } + setTokenNew(newToken); + return newToken; + } + + @Getter + enum GrantType { + AUTHORIZATION_CODE("authorization_code"), + REFRESH_TOKEN("refresh_token"); + + private String message; + + GrantType(String message) { + this.message = message; + } + + } + + interface Fields { + String GRANT_TYPE = "grant_type"; + String CODE = "code"; + String REFRESH_CODE = "refresh_token"; + String CLIENT_ID = "client_id"; + String CLIENT_SECRET = "client_secret"; + String SCOPE = "scope"; + } +} \ No newline at end of file diff --git a/src/main/java/com/sdk/platform/PlatformService.java b/src/main/java/com/sdk/platform/PlatformService.java new file mode 100644 index 0000000..7347de8 --- /dev/null +++ b/src/main/java/com/sdk/platform/PlatformService.java @@ -0,0 +1,765 @@ +package com.sdk.platform; + +import com.sdk.common.*; +import okhttp3.Interceptor; +import retrofit2.Response; + +import java.io.IOException; +import java.net.CookieStore; +import java.util.*; + +public class PlatformService { + + + + +public static class CustomerService { + private PlatformConfig platformConfig; + + private RetrofitServiceFactory retrofitServiceFactory; + + private String organizationId; + + private CustomerApiList customerApiList; + + public CustomerService(PlatformConfig platformConfig) { + this.platformConfig = platformConfig; + this.retrofitServiceFactory = new RetrofitServiceFactory(); + this.organizationId = this.platformConfig.getOrganizationId(); + this.customerApiList = generateCustomerApiList(this.platformConfig.getPersistentCookieStore()); + } + + private CustomerApiList generateCustomerApiList(CookieStore cookieStore) { + List interceptorList = new ArrayList<>(); + interceptorList.add(new AccessTokenInterceptor(platformConfig)); + interceptorList.add(new RequestSignerInterceptor()); + return retrofitServiceFactory.createService(platformConfig.getDomain(),CustomerApiList.class, interceptorList, cookieStore); + } + + + + + + + + + + + + + public PlatformModels.ValidateCustomerSuccess validate(String organizationId ,PlatformModels.ValidateCustomer body) throws IOException { + Response response = customerApiList.validate(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + + + + + public PlatformModels.CreateTransactionSuccess createTransaction(String session , String organizationId ,PlatformModels.CreateTransaction body) throws IOException { + Response response = customerApiList.createTransaction(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.LinkAccountSuccess link(String organizationId ,PlatformModels.LinkAccount body) throws IOException { + Response response = customerApiList.link(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.UnlinkAccountSuccess unlink(String organizationId ,PlatformModels.UnlinkAccount body) throws IOException { + Response response = customerApiList.unlink(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.RefundResponse refund(String organizationId ,PlatformModels.Refund body) throws IOException { + Response response = customerApiList.refund(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + + + + + + + + + public PlatformModels.RefundStatus refundStatus(String organizationId , String refundId , String orderId ) throws IOException { + Response response = customerApiList.refundStatus(organizationId ,refundId , orderId ).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.GetSchemesSuccess getSchemes(String organizationId ,PlatformModels.GetSchemesRequest body) throws IOException { + Response response = customerApiList.getSchemes(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.EligibilitySuccess checkEligibility(String organizationId ,PlatformModels.CheckEligibilityRequest body) throws IOException { + Response response = customerApiList.checkEligibility(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.RepaymentResponse getRepaymentLink(String organizationId ,PlatformModels.RepaymentRequest body) throws IOException { + Response response = customerApiList.getRepaymentLink(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + public PlatformModels.UserResponse getAllCustomers(String organizationId , Integer page , Integer limit , String name , String mobile ) throws IOException { + Response response = customerApiList.getAllCustomers(organizationId ,page , limit , name , mobile ).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.AddVintageResponse addVintageData(String organizationId ,PlatformModels.VintageData body) throws IOException { + Response response = customerApiList.addVintageData(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + +public class ApplicationClient { + private PlatformConfig platformConfig; + + private String applicationId; + + private String organizationId; + + ApplicationClient(PlatformConfig platformConfig, String applicationId) { + this.platformConfig = platformConfig; + this.applicationId = applicationId; + this.organizationId = this.platformConfig.getOrganizationId(); + } + + + + + + + + + + + + + + + + + + + + + + + + + +} + +} + +public static class CreditService { + private PlatformConfig platformConfig; + + private RetrofitServiceFactory retrofitServiceFactory; + + private String organizationId; + + private CreditApiList creditApiList; + + public CreditService(PlatformConfig platformConfig) { + this.platformConfig = platformConfig; + this.retrofitServiceFactory = new RetrofitServiceFactory(); + this.organizationId = this.platformConfig.getOrganizationId(); + this.creditApiList = generateCreditApiList(this.platformConfig.getPersistentCookieStore()); + } + + private CreditApiList generateCreditApiList(CookieStore cookieStore) { + List interceptorList = new ArrayList<>(); + interceptorList.add(new AccessTokenInterceptor(platformConfig)); + interceptorList.add(new RequestSignerInterceptor()); + return retrofitServiceFactory.createService(platformConfig.getDomain(),CreditApiList.class, interceptorList, cookieStore); + } + + + + + + + + + + + + + + + + + public PlatformModels.OrderStatus getOrderStatus(String organizationId , String orderId ) throws IOException { + Response response = creditApiList.getOrderStatus(organizationId , orderId ).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + + + + + public PlatformModels.EligiblePlansResponse getEligiblePlans(String organizationId , String lenderSlug ,PlatformModels.EligiblePlansRequest body) throws IOException { + Response response = creditApiList.getEligiblePlans(organizationId , lenderSlug , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + public PlatformModels.GetTransactionsResponse getTransactions(String organizationId , String mobile , String countryCode , Integer page , Integer limit , String orderId , String transactionId , Object type , Object status , Boolean onlySelf , String granularity ) throws IOException { + Response response = creditApiList.getTransactions(organizationId ,mobile , countryCode , page , limit , orderId , transactionId , type , status , onlySelf , granularity ).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + +public class ApplicationClient { + private PlatformConfig platformConfig; + + private String applicationId; + + private String organizationId; + + ApplicationClient(PlatformConfig platformConfig, String applicationId) { + this.platformConfig = platformConfig; + this.applicationId = applicationId; + this.organizationId = this.platformConfig.getOrganizationId(); + } + + + + + + + + + +} + +} + +public static class MultiKycService { + private PlatformConfig platformConfig; + + private RetrofitServiceFactory retrofitServiceFactory; + + private String organizationId; + + private MultiKycApiList multikycApiList; + + public MultiKycService(PlatformConfig platformConfig) { + this.platformConfig = platformConfig; + this.retrofitServiceFactory = new RetrofitServiceFactory(); + this.organizationId = this.platformConfig.getOrganizationId(); + this.multikycApiList = generateMultikycApiList(this.platformConfig.getPersistentCookieStore()); + } + + private MultiKycApiList generateMultikycApiList(CookieStore cookieStore) { + List interceptorList = new ArrayList<>(); + interceptorList.add(new AccessTokenInterceptor(platformConfig)); + interceptorList.add(new RequestSignerInterceptor()); + return retrofitServiceFactory.createService(platformConfig.getDomain(),MultiKycApiList.class, interceptorList, cookieStore); + } + + + + + + + + + + + + + public PlatformModels.ApprovedLendersTransaction approvedLenders(Object organizationId ) throws IOException { + Response response = multikycApiList.approvedLenders(organizationId ).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + +public class ApplicationClient { + private PlatformConfig platformConfig; + + private String applicationId; + + private String organizationId; + + ApplicationClient(PlatformConfig platformConfig, String applicationId) { + this.platformConfig = platformConfig; + this.applicationId = applicationId; + this.organizationId = this.platformConfig.getOrganizationId(); + } + + + + + +} + +} + +public static class MerchantService { + private PlatformConfig platformConfig; + + private RetrofitServiceFactory retrofitServiceFactory; + + private String organizationId; + + private MerchantApiList merchantApiList; + + public MerchantService(PlatformConfig platformConfig) { + this.platformConfig = platformConfig; + this.retrofitServiceFactory = new RetrofitServiceFactory(); + this.organizationId = this.platformConfig.getOrganizationId(); + this.merchantApiList = generateMerchantApiList(this.platformConfig.getPersistentCookieStore()); + } + + private MerchantApiList generateMerchantApiList(CookieStore cookieStore) { + List interceptorList = new ArrayList<>(); + interceptorList.add(new AccessTokenInterceptor(platformConfig)); + interceptorList.add(new RequestSignerInterceptor()); + return retrofitServiceFactory.createService(platformConfig.getDomain(),MerchantApiList.class, interceptorList, cookieStore); + } + + + + + + + + + + + + + public PlatformModels.GetAccessTokenResponse getAccessToken(String organizationId ) throws IOException { + Response response = merchantApiList.getAccessToken(organizationId ).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.RefreshTokenResponse renewAccessToken(String organizationId ,PlatformModels.RefreshTokenRequest body) throws IOException { + Response response = merchantApiList.renewAccessToken(organizationId , body).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + + + + + + + + + + public PlatformModels.ValidateCredentialsResponse validateCredentials(String organizationId ) throws IOException { + Response response = merchantApiList.validateCredentials(organizationId ).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + +public class ApplicationClient { + private PlatformConfig platformConfig; + + private String applicationId; + + private String organizationId; + + ApplicationClient(PlatformConfig platformConfig, String applicationId) { + this.platformConfig = platformConfig; + this.applicationId = applicationId; + this.organizationId = this.platformConfig.getOrganizationId(); + } + + + + + + + + + +} + +} + +public static class PaymentsService { + private PlatformConfig platformConfig; + + private RetrofitServiceFactory retrofitServiceFactory; + + private String organizationId; + + private PaymentsApiList paymentsApiList; + + public PaymentsService(PlatformConfig platformConfig) { + this.platformConfig = platformConfig; + this.retrofitServiceFactory = new RetrofitServiceFactory(); + this.organizationId = this.platformConfig.getOrganizationId(); + this.paymentsApiList = generatePaymentsApiList(this.platformConfig.getPersistentCookieStore()); + } + + private PaymentsApiList generatePaymentsApiList(CookieStore cookieStore) { + List interceptorList = new ArrayList<>(); + interceptorList.add(new AccessTokenInterceptor(platformConfig)); + interceptorList.add(new RequestSignerInterceptor()); + return retrofitServiceFactory.createService(platformConfig.getDomain(),PaymentsApiList.class, interceptorList, cookieStore); + } + + + + + + + + + + + + + + + + + + + + + public PlatformModels.OutstandingDetailsResponse getUserCreditSummary(String mobile , String organizationId , List lenderSlugs ) throws IOException { + Response response = paymentsApiList.getUserCreditSummary(mobile , organizationId ,lenderSlugs ).execute(); + if (!response.isSuccessful()) { + throw new IOException(response.errorBody() != null + ? response.errorBody().string() : Fields.UNKNOWN_ERROR); + } + return response.body(); + } + + + + + +public class ApplicationClient { + private PlatformConfig platformConfig; + + private String applicationId; + + private String organizationId; + + ApplicationClient(PlatformConfig platformConfig, String applicationId) { + this.platformConfig = platformConfig; + this.applicationId = applicationId; + this.organizationId = this.platformConfig.getOrganizationId(); + } + + + + + +} + +} + +private interface Fields { + String UNKNOWN_ERROR = "Unknown error"; +} +} \ No newline at end of file