From e7bd0c3cec8ef360309fcf0bd5c9ede8216a94f2 Mon Sep 17 00:00:00 2001 From: Jatin Agrawal Date: Wed, 17 Jul 2024 19:11:41 +0530 Subject: [PATCH] fix session variable undefined issue, change disbursalRequest to body --- README.md | 2 +- documentation/platform/CREDIT.md | 432 +- documentation/platform/CUSTOMER.md | 715 ++- documentation/platform/MERCHANT.md | 1659 ++++++ documentation/platform/MULTIKYC.md | 255 +- documentation/platform/README.md | 3 +- sdk/platform/PlatformAPIClient.d.ts | 4 +- sdk/platform/PlatformAPIClient.js | 6 +- sdk/platform/PlatformApplicationClient.d.ts | 876 ++- sdk/platform/PlatformApplicationClient.js | 1110 +++- sdk/platform/PlatformApplicationModels.js | 1690 +++++- sdk/platform/PlatformClient.d.ts | 5453 ++++++++++++------- sdk/platform/PlatformClient.js | 1520 +++++- sdk/platform/PlatformConfig.js | 2 +- sdk/platform/PlatformModels.d.ts | 9 +- sdk/platform/PlatformModels.js | 1801 +++++- 16 files changed, 12333 insertions(+), 3204 deletions(-) create mode 100644 documentation/platform/MERCHANT.md diff --git a/README.md b/README.md index bb83749..2f6b763 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ async function verifyCustomer() { // Call APIs using their correponding methods const result = await client.customer.verify({ organizationId: "COMPANY_ID", - disbursalRequest: { + body: { "customer": { "uid": "1", "countryCode": "91", diff --git a/documentation/platform/CREDIT.md b/documentation/platform/CREDIT.md index f90c510..d4f5669 100644 --- a/documentation/platform/CREDIT.md +++ b/documentation/platform/CREDIT.md @@ -6,35 +6,35 @@ ## Credit Methods Transaction Service -* [disburse](#disburse) * [getOrderStatus](#getorderstatus) * [getEligiblePlans](#geteligibleplans) +* [getTransactions](#gettransactions) ## Methods with example and description -### disburse -Disburse the credit +### getOrderStatus +check status of the order ```javascript // Promise const promise = - credit.disburse( + credit.getOrderStatus( { - disbursalRequest : value + orderId : value } ); // Async/Await const data = await - credit.disburse( + credit.getOrderStatus( { - disbursalRequest : value + orderId : value }); ``` @@ -44,20 +44,21 @@ const data = await | Argument | Type | Required | Description | -| --------- | ----- | -------- | ----------- | -| body | [DisbursalRequest](#DisbursalRequest) | yes | Request body | +| --------- | ----- | -------- | ----------- | +| orderId | string | yes | This is order ID | -Use this API to disburse the credit. + +Use this API to check status the order. *Returned Response:* -[DisbursalResponse](#DisbursalResponse) +[OrderStatus](#OrderStatus) -Success. Returns a JSON object as shown below. Refer `DisbursalResponse` for more details. +Success. Returns a JSON object as shown below. Refer `OrderStatus` for more details. @@ -67,10 +68,34 @@ Success. Returns a JSON object as shown below. Refer `DisbursalResponse` for mor
-  success +  orderId ```json -true +"FY12345" +``` +
+ +
+  transactionId + +```json +"TXN123567890" +``` +
+ +
+  status + +```json +"PAYMENT_CAPTURED" +``` +
+ +
+  message + +```json +"Payment Accepted" ```
@@ -87,26 +112,28 @@ true --- -### getOrderStatus -check status of the order +### getEligiblePlans +Get eligible plans ```javascript // Promise const promise = - credit.getOrderStatus( + credit.getEligiblePlans( { - orderId : value + lenderSlug : value, + body : value } ); // Async/Await const data = await - credit.getOrderStatus( + credit.getEligiblePlans( { - orderId : value + lenderSlug : value, + body : value }); ``` @@ -117,20 +144,20 @@ const data = await | Argument | Type | Required | Description | | --------- | ----- | -------- | ----------- | -| orderId | string | yes | This is order ID | - +| lenderSlug | string | yes | This is lender slug | +| body | [EligiblePlansRequest](#EligiblePlansRequest) | yes | Request body | -Use this API to check status the order. +Use this API to Get eligible plans. *Returned Response:* -[OrderStatus](#OrderStatus) +[EligiblePlansResponse](#EligiblePlansResponse) -Success. Returns a JSON object as shown below. Refer `OrderStatus` for more details. +Success. Returns a JSON object as shown below. Refer `EligiblePlansResponse` for more details. @@ -140,34 +167,10 @@ Success. Returns a JSON object as shown below. Refer `OrderStatus` for more deta
-  orderId - -```json -"FY12345" -``` -
- -
-  transactionId - -```json -"TXN123567890" -``` -
- -
-  status - -```json -"PAYMENT_CAPTURED" -``` -
- -
-  message +  success ```json -"Payment Accepted" +true ```
@@ -184,28 +187,42 @@ Success. Returns a JSON object as shown below. Refer `OrderStatus` for more deta --- -### getEligiblePlans -Get eligible plans +### getTransactions +Get list of user transactions ```javascript // Promise const promise = - credit.getEligiblePlans( + credit.getTransactions( { - lenderSlug : value, - disbursalRequest : value + mobile : value, + page : value, + type : value, + status : value, + limit : value, + countryCode : value, + orderId : value, + transactionId : value, + onlySelf : value } ); // Async/Await const data = await - credit.getEligiblePlans( + credit.getTransactions( { - lenderSlug : value, - disbursalRequest : value + mobile : value, + page : value, + type : value, + status : value, + limit : value, + countryCode : value, + orderId : value, + transactionId : value, + onlySelf : value }); ``` @@ -215,21 +232,29 @@ const data = await | Argument | Type | Required | Description | -| --------- | ----- | -------- | ----------- | -| lenderSlug | string | yes | This is lender slug | -| body | [EligiblePlansRequest](#EligiblePlansRequest) | yes | Request body | +| --------- | ----- | -------- | ----------- | +| page | number | no | The page number of the transaction list | +| type | Object | no | The transaction type | +| status | Object | no | The transaction status | +| limit | number | no | The number of transactions to fetch | +| countryCode | string | no | The country code of the user's mobile number. | +| mobile | string | yes | The mobile number of the user | +| orderId | string | no | The order ID | +| transactionId | string | no | The transaction ID | +| onlySelf | boolean | no | Set this flag to true to fetch transactions exclusively for your organization, excluding other organizations. | -Use this API to Get eligible plans. + +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:* -[EligiblePlansResponse](#EligiblePlansResponse) +[GetTransactionsResponse](#GetTransactionsResponse) -Success. Returns a JSON object as shown below. Refer `EligiblePlansResponse` for more details. +Success. The request has been processed successfully and the response contains the requested data. @@ -239,10 +264,72 @@ Success. Returns a JSON object as shown below. Refer `EligiblePlansResponse` for
-  success +  IntegrationGetTransactionsExample ```json -true +{ + "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 + }, + "loan": { + "number": "LN123456", + "amount": 5000, + "type": "EMI" + }, + "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" + } + } +} ```
@@ -279,6 +366,61 @@ true + #### [IntegrationResponseMeta](#IntegrationResponseMeta) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | timestamp | string | yes | The timestamp when the response was generated. | + | version | string | yes | The version of the API. | + | product | string | yes | The name of the product or service. | + | requestId | string | no | An optional request identifier. | + +--- + + + + + #### [IntegrationResponseError](#IntegrationResponseError) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | code | string | yes | Error code representing the type of error. | + | message | string | yes | A human-readable message providing more details about the error. | + | exception | string | yes | The exception name or type. | + | field | string | no | The field associated with the error, if applicable. | + | in | string | no | The location of the field, such as 'query', 'param' or 'body'. | + +--- + + + + + #### [IntegrationSuccessResponse](#IntegrationSuccessResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | string | yes | A message indicating the success of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | yes | | + | data | string | yes | 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 | yes | A message indicating the failure of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | yes | | + | errors | [[IntegrationResponseError](#IntegrationResponseError)] | no | | + +--- + + + + #### [DisbursalRequest](#DisbursalRequest) | Properties | Type | Nullable | Description | @@ -290,6 +432,9 @@ true | isDownpaymentRequired | boolean | no | | | downpaymentAmount | number | no | | | loanAmount | number | no | | + | data | string | no | | + | transactionId | string | no | | + | lenderSlug | string | no | | --- @@ -355,7 +500,6 @@ true | transactionId | string | no | | | status | string | no | | | message | string | no | | - | __headers | string | no | | --- @@ -413,7 +557,6 @@ true | lenderName | string | no | | | lenderLogo | string | no | | | loanType | string | no | | - | repaymentTransactionId | string | no | | | nextDueDate | string | no | | | paidPercent | number | no | | | lenderDetail | [LenderDetail](#LenderDetail) | no | | @@ -524,28 +667,6 @@ true - #### [MerchantTransactions](#MerchantTransactions) - - | Properties | Type | Nullable | Description | - | ---------- | ---- | -------- | ----------- | - | outstandingAmount | string | no | | - ---- - - - - - #### [MerchantTransactionSummary](#MerchantTransactionSummary) - - | Properties | Type | Nullable | Description | - | ---------- | ---- | -------- | ----------- | - | merchantOutstandingSummary | [MerchantTransactions](#MerchantTransactions) | no | | - ---- - - - - #### [GetReconciliationFileResponse](#GetReconciliationFileResponse) | Properties | Type | Nullable | Description | @@ -1046,5 +1167,134 @@ true --- + + + #### [TransactionOrder](#TransactionOrder) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | yes | Unique identifier of the order. | + | amount | number | yes | Total amount of the order. | + +--- + + + + + #### [TransactionMerchant](#TransactionMerchant) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | string | yes | Name of the merchant. | + | logo | string | yes | URL to the merchant's logo. | + +--- + + + + + #### [TransactionLoan](#TransactionLoan) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | string | yes | Loan account number. | + | amount | number | yes | Loan amount. | + | type | string | yes | Type of loan. | + +--- + + + + + #### [TransactionLender](#TransactionLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | string | yes | Name of the lender. | + | slug | string | yes | A slug representing the lender. | + | logo | string | yes | URL to the lender's logo. | + | shortName | string | yes | Short name of the lender. | + +--- + + + + + #### [UserTransaction](#UserTransaction) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | yes | Unique identifier of the transaction. | + | amount | number | yes | Amount of the transaction. | + | type | string | yes | Type of the transaction. | + | status | string | yes | Status of the transaction. | + | settlementUtr | string | no | Settlement UTR for the transaction. | + | refundId | string | no | Refund ID if the transaction is a refund. | + | createdAt | string | yes | Timestamp when the transaction was created. | + | isMasked | boolean | yes | Indicates if the transaction details are masked. This field is true of the transaction if done on some other merchant | + | order | [TransactionOrder](#TransactionOrder) | no | | + | merchant | [TransactionMerchant](#TransactionMerchant) | yes | | + | loan | [TransactionLoan](#TransactionLoan) | no | | + | lender | [TransactionLender](#TransactionLender) | no | | + +--- + + + + + #### [Pagination](#Pagination) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | string | no | The type of pagination. | + | current | number | yes | The current page number. | + | hasPrevious | boolean | yes | Indicates if there is a previous page. | + | hasNext | boolean | yes | Indicates if there is a next page. | + | size | number | yes | The number of items per page. | + | itemTotal | number | yes | The total number of items across all pages. | + +--- + + + + + #### [GetTransactionsData](#GetTransactionsData) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | transactions | [[UserTransaction](#UserTransaction)] | yes | | + | page | [Pagination](#Pagination) | yes | | + +--- + + + + + #### [GetTransactionsResponse](#GetTransactionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | string | yes | Response message indicating the result of the operation. | + | meta | [IntegrationResponseMeta](#IntegrationResponseMeta) | yes | | + | data | [GetTransactionsData](#GetTransactionsData) | yes | | + | __headers | string | no | | + +--- + + + + + #### [SummaryRequest](#SummaryRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | string | no | | + | endDate | string | no | | + | merchantId | string | no | | + | type | string | no | | + +--- + + diff --git a/documentation/platform/CUSTOMER.md b/documentation/platform/CUSTOMER.md index 43c2b4c..985f766 100644 --- a/documentation/platform/CUSTOMER.md +++ b/documentation/platform/CUSTOMER.md @@ -11,12 +11,9 @@ Authentication Service * [createOrder](#createorder) * [link](#link) * [unlink](#unlink) -* [getAccessToken](#getaccesstoken) -* [renewAccessToken](#renewaccesstoken) * [refund](#refund) * [refundStatus](#refundstatus) * [getSchemes](#getschemes) -* [checkEligibility](#checkeligibility) @@ -33,7 +30,7 @@ Verify Customer const promise = customer.verify( { - disbursalRequest : value + body : value } ); @@ -42,7 +39,7 @@ const promise = const data = await customer.verify( { - disbursalRequest : value + body : value }); ``` @@ -75,10 +72,30 @@ Success. Returns a JSON object as shown below. Refer `VerifyCustomerSuccess` for
-  status +  VerifyCustomerEnabledResponseExample ```json -"enabled" +{ + "value": { + "status": "ENABLED", + "userStatus": "USER_AUTHORISED", + "message": "Kindly proceed to complete your order" + } +} +``` +
+ +
+  VerifyCustomerDisabledResponseExample + +```json +{ + "value": { + "status": "DISABLED", + "userStatus": "CREDIT_EXAHUSTED", + "message": "Order value exceeds the available limit of ₹36,452" + } +} ```
@@ -105,7 +122,7 @@ Resend Payment Request const promise = customer.resendPaymentRequest( { - disbursalRequest : value + body : value } ); @@ -114,7 +131,7 @@ const promise = const data = await customer.resendPaymentRequest( { - disbursalRequest : value + body : value }); ``` @@ -193,7 +210,7 @@ Create Order const promise = customer.createOrder( { - disbursalRequest : value + body : value } ); @@ -202,7 +219,7 @@ const promise = const data = await customer.createOrder( { - disbursalRequest : value + body : value }); ``` @@ -235,18 +252,16 @@ Success. Returns a JSON object as shown below. Refer `CreateTransactionSuccess`
-  chargeToken - -```json -"19be735d-5a4a-4c44-8f2b-d640f7509c4d" -``` -
- -
-  transactionId +  CreateTransactionResponseExample ```json -"6b5e3348-23b0-43cb-af98-37d603385369" +{ + "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" + } +} ```
@@ -273,7 +288,7 @@ Link account const promise = customer.link( { - disbursalRequest : value + body : value } ); @@ -282,7 +297,7 @@ const promise = const data = await customer.link( { - disbursalRequest : value + body : value }); ``` @@ -345,7 +360,7 @@ Unlink account const promise = customer.unlink( { - disbursalRequest : value + body : value } ); @@ -354,7 +369,7 @@ const promise = const data = await customer.unlink( { - disbursalRequest : value + body : value }); ``` @@ -407,150 +422,26 @@ true --- -### getAccessToken -Get Access Token - - - -```javascript -// Promise -const promise = - customer.getAccessToken( - - - - ); - -// Async/Await -const data = await - customer.getAccessToken( - - - ); -``` - - - - - - -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 +### refund +Refund customer order amount ```javascript // Promise const promise = - customer.renewAccessToken( + customer.refund( { - disbursalRequest : value + body : value } ); // Async/Await const data = await - customer.renewAccessToken( + customer.refund( { - disbursalRequest : value + body : value }); ``` @@ -561,19 +452,19 @@ const data = await | Argument | Type | Required | Description | | --------- | ----- | -------- | ----------- | -| body | [RefreshTokenRequest](#RefreshTokenRequest) | yes | Request body | +| body | [Refund](#Refund) | yes | Request body | -Use this API to renew access token +Use this API to verify the refund customer order amount *Returned Response:* -[RefreshTokenResponse](#RefreshTokenResponse) +[RefundResponse](#RefundResponse) -Success. Returns a JSON object as shown below. Refer `RefreshTokenResponse` for more details. +Success. Returns a JSON object as shown below. Refer `RefundResponse` for more details. @@ -583,106 +474,34 @@ Success. Returns a JSON object as shown below. Refer `RefreshTokenResponse` for
-  success +  status ```json -true +"SUCCESS" ```
-  accessToken +  message ```json -"oa-de1496c16c91c45396ba87a888eed20fb223995d" +"Refund request has been successfully recorded." ```
-  tokenExpireAt +  refundId ```json -"2023-06-26T19:23:46.977Z" +"R123" ```
-  tokenExpiryIn - -```json -"600" -``` -
- - - - - - - - - - - ---- - - -### refund -Refund customer order amount - - - -```javascript -// Promise -const promise = - customer.refund( - { - disbursalRequest : value - - } - ); - -// Async/Await -const data = await - customer.refund( - { - disbursalRequest : value - - }); -``` - - - - - -| Argument | Type | Required | Description | -| --------- | ----- | -------- | ----------- | -| body | [Refund](#Refund) | yes | Request body | - - -Use this API to verify the refund customer order amount - -*Returned Response:* - - - - -[VerifyCustomerSuccess](#VerifyCustomerSuccess) - -Success. Returns a JSON object as shown below. Refer `RefundSuccess` for more details. - - - - -
-  Examples: - - -
-  status +  transactionId ```json -"enabled" +"TXN1234567dsfg" ```
@@ -731,7 +550,7 @@ const data = await | Argument | Type | Required | Description | | --------- | ----- | -------- | ----------- | -| refundId | string | no | This is the refundId | +| refundId | string | no | This is the refund ID | | orderId | string | no | This is the order ID | @@ -836,7 +655,7 @@ Fetch schemes const promise = customer.getSchemes( { - disbursalRequest : value + body : value } ); @@ -845,7 +664,7 @@ const promise = const data = await customer.getSchemes( { - disbursalRequest : value + body : value }); ``` @@ -856,7 +675,7 @@ const data = await | Argument | Type | Required | Description | | --------- | ----- | -------- | ----------- | -| body | [VerifyCustomer](#VerifyCustomer) | yes | Request body | +| body | [GetSchemesRequest](#GetSchemesRequest) | yes | Request body | Use this API to fetch available schemes for user order. @@ -891,7 +710,7 @@ Success. Returns a JSON object as shown below. Refer `GetSchemesSuccess` for mor ```json [ { - "id": "315f60f4-1238-462c-8108-cfff9fbc400f", + "slug": "cashe", "name": "CASHe", "title": "CASHe", "subtitle": "Bhanix Finance and Investment Limited", @@ -963,123 +782,43 @@ Success. Returns a JSON object as shown below. Refer `GetSchemesSuccess` for mor --- -### checkEligibility -Check Credit Eligibility - - - -```javascript -// Promise -const promise = - customer.checkEligibility( - { - disbursalRequest : value - - } - ); - -// Async/Await -const data = await - customer.checkEligibility( - { - disbursalRequest : value - - }); -``` - - - - - -| Argument | Type | Required | Description | -| --------- | ----- | -------- | ----------- | -| 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: - - -
-  status - -```json -"ENABLED" -``` -
- -
-  message - -```json -"User is eligible to transact" -``` -
- -
-  redirectUrl - -```json -"https://account.potlee.co.in" -``` -
- -
-  callbackUrl - -```json -"https://www.google.com" -``` -
- -
-  creditLimit - -```json -[ - { - "availableLimit": 300000, - "possibleLimit": 500000, - "lender": { - "slug": "ugro", - "name": "UGRO", - "logo": "https://cdn.pixelbin.io/v2/potlee/original/public/ugro/ugro_logo" - } - } -] -``` -
- -
- +### Schemas + + + #### [RefundResponse](#RefundResponse) + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | string | no | | + | message | string | no | | + | transactionId | string | no | | + | refundId | string | no | | + | __headers | string | no | | +--- + + + #### [UserSource](#UserSource) + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | string | no | | + | type | string | no | | + | sourceId | string | no | | + | meta | string | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | app | string | no | | + | entityId | string | no | | + | userMerchants | [any] | no | | --- - -### Schemas - #### [UserSchema](#UserSchema) @@ -1538,7 +1277,6 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | ---------- | ---- | -------- | ----------- | | valueInPaise | number | yes | | | uid | string | yes | | - | emiTenure | number | no | | | items | [[Items](#Items)] | no | | | shippingAddress | [OrderAddress](#OrderAddress) | no | | | billingAddress | [OrderAddress](#OrderAddress) | no | | @@ -1601,6 +1339,7 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | device | [Device](#Device) | yes | | | meta | string | no | | | fetchLimitOptions | boolean | no | | + | fetchPlans | boolean | no | | --- @@ -1611,12 +1350,14 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | autoCapture | boolean | no | | - | redirectUrl | string | yes | | + | redirectUrl | string | yes | User will be redirected back to this URL after a successful or a failed transaction. | | customer | [CustomerObject](#CustomerObject) | yes | | | order | [Order](#Order) | yes | | | device | [Device](#Device) | yes | | - | meta | string | no | | + | meta | string | no | Any additional details | + | emiTenure | number | no | EMI tenure selected by customer | + | lenderSlug | string | no | slug of lender selected by customer | + | consents | [[Consents](#Consents)] | no | Consent for AUTO_DISBURSAL is mandatory while calling createOrder API. | --- @@ -1627,7 +1368,6 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | autoCapture | boolean | no | | | redirectUrl | string | no | | | customer | [CustomerObject](#CustomerObject) | yes | | | order | [OrderUid](#OrderUid) | yes | | @@ -1641,9 +1381,11 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | status | string | no | | - | userStatus | string | no | | - | message | string | no | | + | status | string | yes | Indicates whether a user is allowed to perform the transaction or not | + | userStatus | string | yes | Represents the status of the user for transaction eligibility | + | message | string | yes | Message to be displayed to the user | + | schemes | [[SchemeResponse](#SchemeResponse)] | no | An array of possible schemes of lenders available for a transaction. | + | limit | [LimitResponse](#LimitResponse) | no | Limit details of available and possible lenders for a transaction. | | __headers | string | no | | --- @@ -1655,12 +1397,12 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | chargeToken | string | no | | - | redirectUrl | string | no | | - | message | string | yes | | - | transactionId | string | no | | - | status | string | no | | - | userStatus | string | no | | + | chargeToken | string | no | 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 | no | URL to which the user should be redirected to complete the transaction. | + | message | string | yes | A message or information related to the transaction. | + | transactionId | string | no | 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 | no | Indicates transaction status in case of auto disbursal. | + | userStatus | string | no | Represents the status of the user for transaction eligibility | | __headers | string | no | | --- @@ -2339,6 +2081,7 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | ---------- | ---- | -------- | ----------- | | type | string | no | | | text | string | no | | + | purpose | string | no | If consent type is AUTO_DISBURSAL, purpose will be uid of order. | --- @@ -2532,11 +2275,12 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | | fingerprint | string | no | | - | customer | [CustomerObject](#CustomerObject) | yes | | + | customer | [CustomerObject](#CustomerObject) | no | | | refundItems | [[Items](#Items)] | no | | | orderId | string | yes | | | refundId | string | yes | | | refundAmount | number | yes | | + | redirectionUrl | string | no | | --- @@ -2720,7 +2464,6 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | refreshTokenExpiryAt | string | no | | | refreshTokenExpiryIn | string | no | | | scope | [string] | no | | - | __headers | string | no | | --- @@ -2735,7 +2478,6 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | accessToken | string | no | | | tokenExpireAt | string | no | | | tokenExpiryIn | string | no | | - | __headers | string | no | | --- @@ -2800,6 +2542,19 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo + #### [GetSchemesSuccess](#GetSchemesSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | string | no | | + | lenders | [[SchemeResponse](#SchemeResponse)] | yes | | + | __headers | string | no | | + +--- + + + + #### [CustomerMetricsPivots](#CustomerMetricsPivots) | Properties | Type | Nullable | Description | @@ -2868,6 +2623,129 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo + #### [SchemeResponse](#SchemeResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | string | yes | A slug identifier for the lender. | + | isDefault | boolean | yes | Indicates if this is the default lender | + | logoUrl | string | yes | URL to the logo of the lender | + | name | string | yes | Name of the lender | + | title | string | yes | Title of the lender | + | subtitle | string | yes | Subtitle or additional information about the lender | + | amount | number | no | Transaction amount | + | paymentOptions | [SchemePaymentOptionsResponse](#SchemePaymentOptionsResponse) | yes | | + +--- + + + + + #### [SchemePaymentOptionsResponse](#SchemePaymentOptionsResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | emis | [[SchemeEmiPaymentOptionResponse](#SchemeEmiPaymentOptionResponse)] | no | | + | payLater | [SchemePayLaterPaymentOptionResponse](#SchemePayLaterPaymentOptionResponse) | no | | + +--- + + + + + #### [SchemeEmiPaymentOptionResponse](#SchemeEmiPaymentOptionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | yes | Unique identifier for the payment option. | + | isDefault | boolean | yes | Indicates if this is the default payment option. | + | description | string | yes | Description of the payment option. | + | title | string | yes | Title of the payment option. | + | subtitle | string | yes | Subtitle or additional information about the payment option. | + | amount | number | yes | Total amount for this EMI. | + | interest | number | no | Interest rate applicable to the EMIn. | + | processingFee | number | yes | Processing fee associated with the EMI. | + | tenure | number | yes | Tenure of the EMI in months. | + | emiSchedule | [[SchemeEmiScheduleResponse](#SchemeEmiScheduleResponse)] | yes | Schedule of EMIs. | + +--- + + + + + #### [SchemeEmiScheduleResponse](#SchemeEmiScheduleResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | installmentNo | number | yes | The installment number. | + | installmentAmount | number | yes | The total amount due for this installment. | + | dueDate | string | yes | The date by which the installment is due, in ISO 8601 format. | + +--- + + + + + #### [SchemePayLaterPaymentOptionResponse](#SchemePayLaterPaymentOptionResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | yes | Unique identifier for the PayLater option | + | title | string | yes | Title of the PayLater option | + | subtitle | string | yes | Subtitle or additional descriptor for the PayLater option | + | description | string | yes | Detailed description of the PayLater option | + | tenure | number | yes | The tenure of the PayLater option, in months | + | interest | number | yes | Interest amount for the PayLater option | + | processingFee | number | yes | Processing fee for the PayLater option | + | amount | number | yes | The amount to be paid in Rupees | + | isDefault | boolean | yes | Indicates if this is the default payment option | + +--- + + + + + #### [LimitResponse](#LimitResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | available | [[AvailableOrPossibleLender](#AvailableOrPossibleLender)] | no | | + | possible | [[AvailableOrPossibleLender](#AvailableOrPossibleLender)] | no | | + +--- + + + + + #### [AvailableOrPossibleLender](#AvailableOrPossibleLender) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | limit | number | yes | The available credit limit from the lender. | + | lenderName | string | yes | The name of the lender. | + | slug | string | yes | A slug identifier for the lender. | + | isDefault | boolean | yes | Indicates if this is the default lender option. | + | logo | string | yes | URL to the lender's logo. | + +--- + + + + + #### [GetSchemesRequest](#GetSchemesRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | customer | [CustomerObject](#CustomerObject) | yes | | + | order | [Order](#Order) | yes | | + | device | [Device](#Device) | yes | | + | meta | string | no | | + +--- + + + + #### [CustomerMetricsResponse](#CustomerMetricsResponse) | Properties | Type | Nullable | Description | @@ -2899,6 +2777,7 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | | filters | [[CustomerMetricsFilters](#CustomerMetricsFilters)] | no | | + | merchantId | string | no | | --- @@ -2951,9 +2830,9 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | number | string | no | | + | number | string | yes | | | category | string | no | | - | type | string | no | | + | type | string | yes | | | name | string | no | | | issuedOn | string | no | | | issuedAt | string | no | | @@ -2988,9 +2867,7 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo | status | string | no | | | message | string | no | | | redirectUrl | string | no | | - | callbackUrl | string | no | | | creditLimits | [[CreditLimitObject](#CreditLimitObject)] | no | | - | __headers | string | no | | --- @@ -3015,13 +2892,101 @@ Success. Returns a JSON object as shown below. Refer `EligibilitySuccess` for mo - #### [GetSchemesSuccess](#GetSchemesSuccess) + #### [EmiSchedule](#EmiSchedule) | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | userId | string | no | | - | lenders | [undefined] | yes | | - | __headers | string | no | | + | installmentNo | number | no | | + | installmentAmount | number | no | | + | dueDate | string | no | | + +--- + + + + + #### [PaymentOption](#PaymentOption) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | no | | + | title | string | no | | + | subtitle | string | no | | + | description | string | no | | + | tenure | number | no | | + | processingFee | number | no | | + | amount | number | no | | + | isDefault | boolean | no | | + | emiSchedule | [[EmiSchedule](#EmiSchedule)] | no | | + +--- + + + + + #### [PaymentOptions](#PaymentOptions) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | payLater | [PaymentOption](#PaymentOption) | no | | + | emis | [[PaymentOption](#PaymentOption)] | no | | + +--- + + + + + #### [LenderAndPaymentOption](#LenderAndPaymentOption) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | no | | + | name | string | yes | | + | title | string | no | | + | subtitle | string | no | | + | isDefault | boolean | no | | + | logoUrl | string | yes | | + | amount | number | no | | + | paymentOptions | [PaymentOptions](#PaymentOptions) | no | | + +--- + + + + + #### [GetSchemesSuccessOld](#GetSchemesSuccessOld) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userId | string | yes | | + | lenders | [[LenderAndPaymentOption](#LenderAndPaymentOption)] | no | | + +--- + + + + + #### [PageSchemaResponse](#PageSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | slug | string | no | | + | description | string | no | | + | sections | string | no | | + | settings | string | no | | + +--- + + + + + #### [userCountRequest](#userCountRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | string | no | | + | startDate | string | no | | + | endDate | string | no | | --- diff --git a/documentation/platform/MERCHANT.md b/documentation/platform/MERCHANT.md new file mode 100644 index 0000000..273460d --- /dev/null +++ b/documentation/platform/MERCHANT.md @@ -0,0 +1,1659 @@ + + + + +##### [Back to Platform docs](./README.md) + +## Merchant Methods +Authentication Service +* [getAccessToken](#getaccesstoken) +* [renewAccessToken](#renewaccesstoken) + + + +## Methods with example and description + + +### getAccessToken +Get Access Token + + + +```javascript +// Promise +const promise = + merchant.getAccessToken( + + + + ); + +// Async/Await +const data = await + merchant.getAccessToken( + + + ); +``` + + + + + + +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 + + + +```javascript +// Promise +const promise = + merchant.renewAccessToken( + { + body : value + + } + ); + +// Async/Await +const data = await + merchant.renewAccessToken( + { + body : value + + }); +``` + + + + + +| Argument | Type | Required | Description | +| --------- | ----- | -------- | ----------- | +| 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" +``` +
+ +
+ + + + + + + + + +--- + + + +### Schemas + + + + #### [ErrorResponse](#ErrorResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | string | no | | + | info | string | no | | + | code | string | no | | + | requestId | string | no | | + | meta | string | no | | + +--- + + + + + #### [BlockUserRequestSchema](#BlockUserRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | boolean | no | | + | userid | [string] | no | | + | reason | string | no | | + +--- + + + + + #### [EditEmailRequestSchema](#EditEmailRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | string | no | | + +--- + + + + + #### [SendVerificationLinkMobileRequestSchema](#SendVerificationLinkMobileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verified | boolean | no | | + | active | boolean | no | | + | countryCode | string | no | | + | phone | string | no | | + | primary | boolean | no | | + +--- + + + + + #### [EditMobileRequestSchema](#EditMobileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | string | no | | + | phone | string | no | | + +--- + + + + + #### [UpdateEmail](#UpdateEmail) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | string | yes | | + | additionalProperties | any | no | | + +--- + + + + + #### [EditProfileRequestSchema](#EditProfileRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | firstName | string | yes | | + | lastName | string | yes | | + | countryCode | string | no | | + | mobile | string | no | | + | email | string | no | | + | gender | string | no | | + | registrationToken | string | no | | + +--- + + + + + #### [EditProfileMobileSchema](#EditProfileMobileSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | phone | string | no | | + | countryCode | string | no | | + +--- + + + + + #### [SendEmailOtpRequestSchema](#SendEmailOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | string | no | | + | action | string | no | | + | token | string | no | | + | registerToken | string | no | | + +--- + + + + + #### [VerifyEmailOtpRequestSchema](#VerifyEmailOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | string | no | | + | action | string | no | | + | registerToken | string | no | | + | otp | string | no | | + +--- + + + + + #### [VerifyOtpRequest](#VerifyOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | requestId | string | yes | | + | otp | string | yes | | + | captchaCode | string | no | | + | androidHash | string | no | | + +--- + + + + + #### [SendMobileOtpRequest](#SendMobileOtpRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | string | yes | | + | mobile | string | yes | | + | captchaCode | string | no | | + | androidHash | string | no | | + | force | string | no | | + +--- + + + + + #### [ReSendMobileOtpRequestSchema](#ReSendMobileOtpRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | captchaCode | string | no | | + | token | string | yes | | + | androidHash | string | no | | + +--- + + + + + #### [LoginSuccess](#LoginSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + | requestId | string | no | | + | registerToken | string | no | | + +--- + + + + + #### [VerifyOtpSuccess](#VerifyOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + | userExists | boolean | no | | + | registerToken | string | no | | + +--- + + + + + #### [ResetPasswordSuccess](#ResetPasswordSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | string | no | | + +--- + + + + + #### [RegisterFormSuccess](#RegisterFormSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | email | string | no | | + | resendTimer | number | no | | + | resendToken | string | no | | + | resendEmailToken | string | no | | + | registerToken | string | no | | + | success | boolean | no | | + | requestId | string | no | | + | message | string | no | | + | mobile | string | no | | + | countryCode | string | no | | + | verifyEmailOtp | boolean | no | | + | verifyMobileOtp | boolean | no | | + | userExists | boolean | no | | + +--- + + + + + #### [VerifyEmailSuccess](#VerifyEmailSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | string | no | | + +--- + + + + + #### [LogoutSuccess](#LogoutSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logout | boolean | no | | + +--- + + + + + #### [BlockUserSuccess](#BlockUserSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | boolean | no | | + +--- + + + + + #### [ProfileEditSuccess](#ProfileEditSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + | registerToken | string | no | | + | resendEmailToken | string | no | | + | userExists | boolean | no | | + | verifyEmailLink | boolean | no | | + | verifyEmailOtp | boolean | no | | + | verifyMobileOtp | boolean | no | | + | email | string | no | | + | requestId | string | no | | + | countryCode | string | no | | + | mobile | string | no | | + | success | boolean | no | | + | message | string | no | | + | resendTimer | number | no | | + | resendToken | string | no | | + +--- + + + + + #### [OtpSuccess](#OtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | resendTimer | number | no | | + | resendToken | string | no | | + | registerToken | string | no | | + | success | boolean | no | | + | requestId | string | no | | + | message | string | no | | + | mobile | string | no | | + | countryCode | string | no | | + +--- + + + + + #### [EmailOtpSuccess](#EmailOtpSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | boolean | no | | + +--- + + + + + #### [SessionListSuccess](#SessionListSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sessions | [string] | no | | + +--- + + + + + #### [VerifyMobileOTPSuccess](#VerifyMobileOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + | verifyMobileLink | boolean | no | | + +--- + + + + + #### [VerifyEmailOTPSuccess](#VerifyEmailOTPSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + | verifyEmailLink | boolean | no | | + +--- + + + + + #### [SendMobileVerifyLinkSuccess](#SendMobileVerifyLinkSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verifyMobileLink | boolean | no | | + +--- + + + + + #### [SendEmailVerifyLinkSuccess](#SendEmailVerifyLinkSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | verifyEmailLink | boolean | no | | + +--- + + + + + #### [UserSearchResponseSchema](#UserSearchResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | users | [[UserSchema](#UserSchema)] | no | | + +--- + + + + + #### [CustomerListResponseSchema](#CustomerListResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | items | [[UserSchema](#UserSchema)] | no | | + | page | [PaginationSchema](#PaginationSchema) | no | | + +--- + + + + + #### [PaginationSchema](#PaginationSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | size | number | no | | + | itemTotal | number | no | | + | hasNext | boolean | no | | + | type | string | no | | + | current | number | no | | + +--- + + + + + #### [UserObjectSchema](#UserObjectSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + +--- + + + + + #### [CreateOrganization](#CreateOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | string | no | | + | logo | string | no | | + | website | string | no | | + | disbursementAccountHolderName | string | no | | + | disbursementAccountNumber | string | no | | + | disbursementIfsc | string | no | | + | businessName | string | no | | + | email | string | no | | + | businessAddress | string | no | | + | pincode | string | no | | + | b2b | boolean | no | | + | b2c | boolean | no | | + | docType | string | no | | + | docNumber | string | no | | + | organizationId | string | no | | + +--- + + + + + #### [UpdateLogo](#UpdateLogo) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | logo | string | no | | + +--- + + + + + #### [AddMetaSchemaRequest](#AddMetaSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | string | no | | + | schema | string | no | | + +--- + + + + + #### [AddMetaSchemaResponse](#AddMetaSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | string | no | | + | lenderId | string | no | | + | mid | string | no | | + | data | string | no | | + +--- + + + + + #### [UpdateOrganization](#UpdateOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | yes | | + | name | any | no | | + | logo | any | no | | + | website | any | no | | + | disbursementAccountHolderName | any | no | | + | disbursementAccountNumber | any | no | | + | disbursementIfsc | any | no | | + | active | boolean | no | | + +--- + + + + + #### [UpdateFinancials](#UpdateFinancials) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | disbursementAccountHolderName | string | yes | | + | disbursementAccountNumber | string | yes | | + | disbursementIfsc | string | yes | | + +--- + + + + + #### [Documents](#Documents) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | docType | string | yes | | + | docNumber | string | yes | | + +--- + + + + + #### [FinancialDetails](#FinancialDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | disbursementAccountHolderName | string | no | | + | disbursementAccountNumber | string | no | | + | disbursementIfsc | string | no | | + | b2b | boolean | no | | + | b2c | boolean | no | | + | businessName | string | no | | + | email | string | no | | + | businessAddress | string | no | | + | pincode | string | no | | + | documents | [[Documents](#Documents)] | no | | + +--- + + + + + #### [GetOrganization](#GetOrganization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationId | string | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | isAdmin | boolean | no | | + | name | string | no | | + | isActive | boolean | no | | + +--- + + + + + #### [OrganizationDetails](#OrganizationDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | string | no | | + | organizationId | string | no | | + | isAdmin | boolean | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | deletedAt | string | no | | + | isActive | boolean | no | | + | logo | string | no | | + | website | string | no | | + | disbursementAccountHolderName | string | no | | + | disbursementAccountNumber | string | no | | + | disbursementIfsc | string | no | | + +--- + + + + + #### [Organization](#Organization) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | no | | + | name | string | no | | + | active | boolean | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | deletedAt | string | no | | + +--- + + + + + #### [OrganizationList](#OrganizationList) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | name | string | no | | + | logo | string | no | | + | id | boolean | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | deletedAt | string | no | | + | isActive | boolean | no | | + | epikId | string | no | | + | website | string | no | | + | disbursementAccountHolderName | string | no | | + | disbursementAccountNumber | string | no | | + | disbursementIfsc | string | no | | + +--- + + + + + #### [OrganizationCount](#OrganizationCount) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | count | string | no | | + +--- + + + + + #### [TeamMembers](#TeamMembers) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | members | [[Member](#Member)] | no | | + +--- + + + + + #### [Member](#Member) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | no | | + | userId | string | no | | + | organizationId | string | no | | + | isAdmin | boolean | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | deletedAt | string | no | | + | profile | [Profile](#Profile) | no | | + +--- + + + + + #### [Profile](#Profile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | no | | + | userId | string | no | | + | organizationId | string | no | | + | isAdmin | boolean | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | deletedAt | string | no | | + +--- + + + + + #### [AddTeamMember](#AddTeamMember) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | string | no | | + | mobile | string | no | | + | email | string | no | | + | userIsAdmin | boolean | no | | + +--- + + + + + #### [UpdateTeamMemberRole](#UpdateTeamMemberRole) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | userIsAdmin | boolean | no | | + | userId | string | no | | + +--- + + + + + #### [RemoveTeamMemberResponse](#RemoveTeamMemberResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | boolean | no | | + +--- + + + + + #### [AddTeamMemberResponse](#AddTeamMemberResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | no | | + | userId | string | no | | + | organizationId | string | no | | + | isAdmin | boolean | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | deletedAt | string | no | | + +--- + + + + + #### [ApiKey](#ApiKey) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | string | no | | + | secret | string | no | | + +--- + + + + + #### [UpdateApiHook](#UpdateApiHook) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | apiKey | string | yes | | + | url | string | yes | | + | customHeaders | string | no | | + +--- + + + + + #### [ApiHookDetails](#ApiHookDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | apiKey | string | yes | | + | url | string | yes | | + | customHeaders | string | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + +--- + + + + + #### [UpdateApiHookResponse](#UpdateApiHookResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | boolean | no | | + +--- + + + + + #### [OrganizationIp](#OrganizationIp) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | no | | + | ip | string | yes | | + +--- + + + + + #### [AddOrganizationIpDetails](#AddOrganizationIpDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationIps | [[OrganizationIp](#OrganizationIp)] | no | | + | delete | string | no | | + +--- + + + + + #### [AddUpdateCsvFileResponse](#AddUpdateCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | string | no | | + +--- + + + + + #### [AddUpdateCsvFileRequest](#AddUpdateCsvFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | string | no | | + | organizationId | string | no | | + +--- + + + + + #### [CsvFile](#CsvFile) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | string | no | | + +--- + + + + + #### [AddReportCsvFileResponse](#AddReportCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | string | no | | + +--- + + + + + #### [AddReportCsvFileRequest](#AddReportCsvFileRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | string | no | | + | organizationId | string | no | | + | name | string | no | | + | type | string | no | | + +--- + + + + + #### [ReportCsvFileResponse](#ReportCsvFileResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | csv | string | no | | + +--- + + + + + #### [AddReportRequestArray](#AddReportRequestArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | string | no | | + | merchantId | string | no | | + | category | string | no | | + | shopName | string | no | | + | legalName | string | no | | + | firstName | string | no | | + | middleName | string | no | | + | lastName | string | no | | + | aadhaar | string | no | | + | nameOnPan | string | no | | + | gstNumber | string | no | | + | gstBusinessName | string | no | | + | panNumber | string | no | | + | udyam | string | no | | + | ownershipType | string | no | | + | address | string | no | | + | pincode | string | no | | + | license1Type | string | no | | + | license1 | string | no | | + | license2Type | string | no | | + | license2 | string | no | | + +--- + + + + + #### [AddReportRequest](#AddReportRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | businessDetails | [any] | no | | + +--- + + + + + #### [AddReportResponseArray](#AddReportResponseArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | string | no | | + | merchantId | string | no | | + | anchorId | string | no | | + | category | string | no | | + | shopName | string | no | | + | legalName | string | no | | + | firstName | string | no | | + | middleName | string | no | | + | lastName | string | no | | + | aadhaar | string | no | | + | nameOnPan | string | no | | + | gstNumber | string | no | | + | gstBusinessName | string | no | | + | panNumber | string | no | | + | udyam | string | no | | + | ownershipType | string | no | | + | address | string | no | | + | pincode | string | no | | + | license1Type | string | no | | + | license1 | string | no | | + | license2Type | string | no | | + | license2 | string | no | | + +--- + + + + + #### [AddReportResponse](#AddReportResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | businessDetails | [[AddReportResponseArray](#AddReportResponseArray)] | no | | + +--- + + + + + #### [VintageDataResponseObject](#VintageDataResponseObject) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | month | string | no | | + | year | number | no | | + | revenue | string | no | | + | businessId | string | no | | + | createdBy | string | no | | + | id | string | no | | + | createdAt | string | no | | + | updatedBy | string | no | | + | updatedAt | string | no | | + +--- + + + + + #### [VintageDataResponse](#VintageDataResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | vintageData | [[VintageDataResponseObject](#VintageDataResponseObject)] | no | | + +--- + + + + + #### [AddSkuRequestArray](#AddSkuRequestArray) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | sku | string | yes | | + | productName | string | yes | | + | creditPurchaseOptionFlag | string | yes | | + | effectiveDates | string | yes | | + | organizationId | string | yes | | + +--- + + + + + #### [AddSkuRequest](#AddSkuRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | skuDetails | [[AddSkuRequestArray](#AddSkuRequestArray)] | no | | + +--- + + + + + #### [AddSkuResponse](#AddSkuResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | string | no | | + +--- + + + + + #### [RestrictedSkuSchema](#RestrictedSkuSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | skuDetails | [any] | no | | + +--- + + + + + #### [OrganizationIpResponse](#OrganizationIpResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationId | string | yes | | + | ip | string | yes | | + | createdAt | string | no | | + | updatedAt | string | no | | + | id | string | yes | | + +--- + + + + + #### [OrganizationIpDetails](#OrganizationIpDetails) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | organizationIps | [[OrganizationIpResponse](#OrganizationIpResponse)] | no | | + +--- + + + + + #### [TrFilterKeys](#TrFilterKeys) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | string | no | | + | name | string | no | | + | kind | string | no | | + +--- + + + + + #### [TrFilterValues](#TrFilterValues) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | display | string | no | | + | isSelected | boolean | no | | + | value | string | no | | + +--- + + + + + #### [TrFilters](#TrFilters) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | key | [TrFilterKeys](#TrFilterKeys) | no | | + | values | [[TrFilterValues](#TrFilterValues)] | no | | + +--- + + + + + #### [TrPageResponse](#TrPageResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | type | string | yes | | + | current | number | yes | | + | hasPrevious | boolean | yes | | + | hasNext | boolean | yes | | + | size | number | yes | | + | itemTotal | number | yes | | + +--- + + + + + #### [RefundSuccess](#RefundSuccess) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | string | yes | | + | message | number | yes | | + | transactionId | string | yes | | + | refundId | string | yes | | + +--- + + + + + #### [RefundItem](#RefundItem) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | items | [any] | yes | | + +--- + + + + + #### [FilterByDate](#FilterByDate) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | string | no | | + | endDate | string | no | | + +--- + + + + + #### [Refund](#Refund) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | refundItems | [RefundItem](#RefundItem) | no | | + | refundId | string | yes | | + | refundAmount | number | yes | | + +--- + + + + + #### [GetAccessTokenResponse](#GetAccessTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | boolean | no | | + | accessToken | string | no | | + | refreshToken | string | no | | + | tokenExpireAt | string | no | | + | tokenExpiryIn | string | no | | + | refreshTokenExpiryAt | string | no | | + | refreshTokenExpiryIn | string | no | | + | scope | [string] | no | | + | __headers | string | no | | + +--- + + + + + #### [RefreshTokenResponse](#RefreshTokenResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | success | boolean | no | | + | accessToken | string | no | | + | tokenExpireAt | string | no | | + | tokenExpiryIn | string | no | | + | __headers | string | no | | + +--- + + + + + #### [RefreshTokenRequest](#RefreshTokenRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | token | string | yes | | + +--- + + + + + #### [PaymentLinkResponse](#PaymentLinkResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | status | string | no | | + | message | string | no | | + | paymentLink | string | no | | + +--- + + + + + #### [ApplicationCutomer](#ApplicationCutomer) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | countryCode | string | no | | + | mobile | string | yes | | + | uid | string | no | | + | email | string | no | | + +--- + + + + + #### [GeoLocation](#GeoLocation) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | latitude | number | yes | | + | longitude | number | yes | | + +--- + + + + + #### [Address](#Address) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | line1 | string | no | | + | line2 | string | no | | + | city | string | no | | + | state | string | no | | + | country | string | no | | + | pincode | string | no | | + | type | string | no | | + | geoLocation | [GeoLocation](#GeoLocation) | no | | + +--- + + + + + #### [OrderItems](#OrderItems) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | category | string | no | | + | sku | string | no | | + | rate | number | no | | + | quantity | number | no | | + +--- + + + + + #### [Order](#Order) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | valueInPaise | number | yes | | + | uid | string | yes | | + | items | [[OrderItems](#OrderItems)] | no | | + | shippingAddress | [Address](#Address) | no | | + | billingAddress | [Address](#Address) | no | | + +--- + + + + + #### [Device](#Device) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | ipAddress | string | yes | | + | userAgent | string | yes | | + | latitude | number | no | | + | longitude | number | no | | + +--- + + + + + #### [PaymentLinkRequest](#PaymentLinkRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | autoCapture | boolean | no | | + | lenderId | string | no | | + | emiTenure | number | no | | + | customer | [ApplicationCutomer](#ApplicationCutomer) | yes | | + | order | [Order](#Order) | yes | | + | device | [Device](#Device) | no | | + | meta | string | no | | + +--- + + + + + #### [UpdateLenderStatusSchemaRequest](#UpdateLenderStatusSchemaRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | string | no | | + | enable | boolean | no | | + +--- + + + + + #### [UpdateLenderStatusSchemaResponse](#UpdateLenderStatusSchemaResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | merchantId | string | no | | + | lenderId | string | no | | + | mid | string | no | | + | enable | boolean | no | | + | data | string | no | | + +--- + + + + + #### [CreateUserRequestSchema](#CreateUserRequestSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | mobile | string | yes | | + | email | string | no | | + | firstName | string | no | | + | lastName | string | no | | + | gender | string | no | | + +--- + + + + + #### [CreateUserResponseSchema](#CreateUserResponseSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | [UserSchema](#UserSchema) | no | | + +--- + + + + + #### [UserSchema](#UserSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | no | | + | firstName | string | no | | + | lastName | string | no | | + | mobile | string | no | | + | email | string | no | | + | gender | string | no | | + | dob | string | no | | + | active | boolean | no | | + | profilePicUrl | string | no | | + | isEmailVerified | boolean | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | deletedAt | string | no | | + +--- + + + + diff --git a/documentation/platform/MULTIKYC.md b/documentation/platform/MULTIKYC.md index 7bc458a..a7e8f1d 100644 --- a/documentation/platform/MULTIKYC.md +++ b/documentation/platform/MULTIKYC.md @@ -84,7 +84,7 @@ Get limit const promise = multiKyc.getLimit( { - disbursalRequest : value + body : value } ); @@ -93,7 +93,7 @@ const promise = const data = await multiKyc.getLimit( { - disbursalRequest : value + body : value }); ``` @@ -145,21 +145,6 @@ const data = await - #### [LenderTheme](#LenderTheme) - - | Properties | Type | Nullable | Description | - | ---------- | ---- | -------- | ----------- | - | logoUrl | string | yes | | - | iconUrl | string | yes | | - | landscapeBgUrl | string | yes | | - | portraitBgUrl | string | yes | | - | shortName | string | yes | | - ---- - - - - #### [Lender](#Lender) | Properties | Type | Nullable | Description | @@ -169,13 +154,12 @@ const data = await | active | boolean | no | | | imageUrl | string | no | | | slug | string | no | | - | theme | [LenderTheme](#LenderTheme) | no | | + | theme | any | no | | | b2b | boolean | no | | | b2c | boolean | no | | | merchantConfigSchema | string | no | | | createdAt | string | no | | | updatedAt | string | no | | - | approvedLimit | number | no | | | deletedAt | string | no | | | meta | any | no | | | metaSchema | any | no | | @@ -397,6 +381,72 @@ const data = await + #### [EntityMapDto](#EntityMapDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | yes | | + | merchantId | string | no | | + | status | string | no | | + | lenderId | string | yes | | + | limit | number | no | | + | creditType | string | no | | + | userId | string | yes | | + | entityId | string | yes | | + +--- + + + + + #### [EntityDto](#EntityDto) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | yes | | + | type | string | no | | + | address | string | no | | + | name | string | no | | + | gender | string | no | | + | dob | string | no | | + | userId | string | yes | | + +--- + + + + + #### [MerchantSchema](#MerchantSchema) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | id | string | yes | | + | name | string | no | | + | logo | string | no | | + | website | string | no | | + | apiHook | string | no | | + | epikId | string | no | | + | disbursementAccountHolderName | string | no | | + | disbursementAccountNumber | string | no | | + | disbursementIfsc | string | no | | + | createdBy | string | no | | + | active | boolean | no | | + | category | string | no | | + | createdAt | string | no | | + | updatedAt | string | no | | + | deletedAt | string | no | | + | businessName | string | no | | + | email | string | no | | + | businessAddress | string | no | | + | pincode | string | no | | + | b2b | boolean | no | | + | b2c | boolean | no | | + +--- + + + + #### [Consent](#Consent) | Properties | Type | Nullable | Description | @@ -458,6 +508,7 @@ const data = await | name | string | yes | | | entity | string | no | | | merchantId | string | no | | + | onboardingToken | string | no | | --- @@ -694,7 +745,20 @@ const data = await | ---------- | ---- | -------- | ----------- | | ack | string | no | | | data | any | yes | | - | entityMapId | string | no | | + | merchantId | string | no | | + +--- + + + + + #### [LenderOnboardRequestV1](#LenderOnboardRequestV1) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | entityMapId | string | yes | | + | ack | string | no | | + | data | any | yes | | | merchantId | string | no | | --- @@ -926,7 +990,9 @@ const data = await | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | gstTin | string | yes | | + | gstin | string | yes | | + | skipGst | boolean | no | | + | onboardingToken | string | no | | --- @@ -1063,35 +1129,82 @@ const data = await - #### [EntityMapDto](#EntityMapDto) + #### [BusinessDetail](#BusinessDetail) | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | id | string | yes | | - | merchantId | string | no | | - | status | string | no | | - | lenderId | string | yes | | - | limit | number | no | | - | creditType | string | no | | - | userId | string | yes | | - | entityId | string | yes | | + | category | string | yes | | + | shopName | string | no | | + | legalName | string | yes | | + | address | string | no | | + | type | string | no | | + | pincode | string | no | | --- - #### [EntityDto](#EntityDto) + #### [VintageData](#VintageData) | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | id | string | yes | | - | type | string | no | | - | address | string | no | | + | month | number | yes | | + | year | number | yes | | + | totalTransactions | number | yes | | + | totalTransactionAmount | number | yes | | + | totalCancellations | number | no | | + | totalCancellationAmount | number | no | | + +--- + + + + + #### [DocumentObjects](#DocumentObjects) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | number | string | yes | | + | category | string | yes | | + | type | string | yes | | | name | string | no | | - | gender | string | no | | - | dob | string | no | | - | userId | string | yes | | + | issuedOn | string | no | | + | issuedAt | string | no | | + | issuedBy | string | no | | + | expiryOn | string | no | | + +--- + + + + + #### [CheckEligibilityRequest](#CheckEligibilityRequest) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | user | any | yes | | + | entity | [EntityDto](#EntityDto) | no | | + | businessDetails | [BusinessDetail](#BusinessDetail) | yes | | + | vintageData | [VintageData](#VintageData) | yes | | + | documents | [DocumentObjects](#DocumentObjects) | yes | | + | isPreApproved | boolean | yes | | + | merchant | [MerchantSchema](#MerchantSchema) | yes | | + | fetchLimit | boolean | no | | + +--- + + + + + #### [KycCountByStatus](#KycCountByStatus) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | startDate | string | no | | + | endDate | string | no | | + | merchantId | string | no | | + | lenderId | string | no | | --- @@ -1104,7 +1217,6 @@ const data = await | ---------- | ---- | -------- | ----------- | | status | string | yes | | | info | string | yes | | - | number | string | yes | | | details | any | no | | | name | string | no | | @@ -1218,6 +1330,9 @@ const data = await | entityMapId | string | yes | | | actionIsForm | boolean | yes | | | actionForm | [Form](#Form) | no | | + | merchantId | string | no | | + | actionName | string | no | | + | actionDescription | string | no | | --- @@ -1265,17 +1380,6 @@ const data = await - #### [GetKycDocsResponse](#GetKycDocsResponse) - - | Properties | Type | Nullable | Description | - | ---------- | ---- | -------- | ----------- | - | documents | [[FindDocResponse](#FindDocResponse)] | yes | | - ---- - - - - #### [OrganizationLogosObject](#OrganizationLogosObject) | Properties | Type | Nullable | Description | @@ -1356,40 +1460,41 @@ const data = await - #### [ApprovedLenders](#ApprovedLenders) + #### [GetAllUserLendersByEnityId](#GetAllUserLendersByEnityId) | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | + | entityId | string | yes | | + | entityMapId | string | yes | | + | userId | string | yes | | | status | string | yes | | - | lenders | [[BreOutput](#BreOutput)] | yes | | + | lender | [Lender](#Lender) | no | | + | partnerId | string | no | | + | approvedLimit | number | no | | --- - #### [BreResultStatus](#BreResultStatus) + #### [ApprovedLenders](#ApprovedLenders) | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | | status | string | yes | | - | approvedLenders | [[BreOutput](#BreOutput)] | no | | + | lenders | [[BreOutput](#BreOutput)] | yes | | --- - #### [GetAllUserLendersByEnityId](#GetAllUserLendersByEnityId) + #### [BreResultStatus](#BreResultStatus) | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | entityId | string | yes | | - | entityMapId | string | yes | | - | userId | string | yes | | | status | string | yes | | - | lender | [Lender](#Lender) | yes | | - | partnerId | string | no | | + | approvedLenders | [[BreOutput](#BreOutput)] | no | | --- @@ -1620,6 +1725,7 @@ const data = await | status | string | yes | | | data | any | no | | | remark | string | no | | + | reasons | string | yes | | | kycResult | [UserKycDetail](#UserKycDetail) | yes | | | action | [Action](#Action) | yes | | @@ -1752,7 +1858,7 @@ const data = await | slug | string | yes | | | active | boolean | yes | | | id | string | yes | | - | theme | [LenderTheme](#LenderTheme) | no | | + | theme | any | no | | --- @@ -1957,7 +2063,7 @@ const data = await | deletedAt | string | no | | | approvedLimit | number | yes | | | slug | string | no | | - | theme | [LenderTheme](#LenderTheme) | no | | + | theme | any | no | | | name | any | no | | --- @@ -1985,6 +2091,7 @@ const data = await | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | | available | [[IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit)] | yes | | + | possible | [[IntgrAvailableCreditLimit](#IntgrAvailableCreditLimit)] | no | | --- @@ -2272,7 +2379,7 @@ const data = await | Properties | Type | Nullable | Description | | ---------- | ---- | -------- | ----------- | - | gstTin | string | yes | | + | gstin | string | yes | | | businessName | string | yes | | --- @@ -2340,18 +2447,6 @@ const data = await - #### [ManualKycResponse](#ManualKycResponse) - - | Properties | Type | Nullable | Description | - | ---------- | ---- | -------- | ----------- | - | message | string | yes | | - | step | [UserKycLenderStepMap](#UserKycLenderStepMap) | yes | | - ---- - - - - #### [BreOutput](#BreOutput) | Properties | Type | Nullable | Description | @@ -2375,6 +2470,18 @@ const data = await + #### [ManualKycResponse](#ManualKycResponse) + + | Properties | Type | Nullable | Description | + | ---------- | ---- | -------- | ----------- | + | message | string | yes | | + | step | [UserKycLenderStepMap](#UserKycLenderStepMap) | yes | | + +--- + + + + #### [CustomerKycDetailsReponse](#CustomerKycDetailsReponse) | Properties | Type | Nullable | Description | diff --git a/documentation/platform/README.md b/documentation/platform/README.md index f80480c..53833c8 100644 --- a/documentation/platform/README.md +++ b/documentation/platform/README.md @@ -5,4 +5,5 @@ * [Customer](CUSTOMER.md) - Authentication Service * [Credit](CREDIT.md) - Transaction Service -* [MultiKyc](MULTIKYC.md) - Will deprecate Hawkeye \ No newline at end of file +* [MultiKyc](MULTIKYC.md) - Will deprecate Hawkeye +* [Merchant](MERCHANT.md) - Authentication Service \ No newline at end of file diff --git a/sdk/platform/PlatformAPIClient.d.ts b/sdk/platform/PlatformAPIClient.d.ts index f3d8201..57fb213 100644 --- a/sdk/platform/PlatformAPIClient.d.ts +++ b/sdk/platform/PlatformAPIClient.d.ts @@ -6,8 +6,8 @@ declare class APIClient { * @param {string} url * @param {object} query * @param {string} session - * @param {object} disbursalRequest + * @param {object} body */ - static execute(conf: object, method: string, url: string, query: object, disbursalRequest: object, session: string): Promise; + static execute(conf: object, method: string, url: string, query: object, body: object, session: string): Promise; get(url: any, config: any): Promise; } diff --git a/sdk/platform/PlatformAPIClient.js b/sdk/platform/PlatformAPIClient.js index ef97ab2..875ec4a 100644 --- a/sdk/platform/PlatformAPIClient.js +++ b/sdk/platform/PlatformAPIClient.js @@ -7,9 +7,9 @@ class APIClient { * @param {string} url * @param {object} query * @param {string} session - * @param {object} disbursalRequest + * @param {object} body */ - static async execute(conf, method, url, query, disbursalRequest, session) { + static async execute(conf, method, url, query, body, session) { const token = await conf.oauthClient.getAccessToken(); let extraHeaders = conf.extraHeaders.reduce((acc, curr) => { @@ -27,7 +27,7 @@ class APIClient { method: method, url: url, params: query, - data: disbursalRequest, + data: body, headers: { Authorization: "Bearer " + token, ...extraHeaders, diff --git a/sdk/platform/PlatformApplicationClient.d.ts b/sdk/platform/PlatformApplicationClient.d.ts index 76c8da1..8eeeb3f 100644 --- a/sdk/platform/PlatformApplicationClient.d.ts +++ b/sdk/platform/PlatformApplicationClient.d.ts @@ -7,8 +7,26 @@ declare class PlatformApplicationClient { setExtraHeaders(header: any): void; } declare namespace PlatformApplicationClient { - export { UserSchema, count, FilterByDate, LenderCount, LenderSchema, TotalUsersPerLender, TotalUsersPerLenderData, TotalUserByLender, UsersByLender, ErrorResponse, EditProfileRequest, VerifyOtpRequest, SendMobileOtpRequest, ReSendMobileOtpRequest, SendOtpRequest, ApplicationUser, SendOtpResponse, EmailUpdate, UserUpdateRequest, LenderUpdateRequest, ProfileEditSuccess, LoginSuccess, VerifyOtpSuccess, LogoutSuccess, OtpSuccess, SessionListSuccess, VerifyMobileOTPSuccess, Location, OrderAddress, CustomerObject, Order, OrderUid, CustomerMeta, Device, VerifyCustomer, CreateTransaction, ResendPaymentRequest, VerifyCustomerSuccess, CreateTransactionSuccess, SupportDocuments, CreateTicketResponse, CreateTicket, InitiateTransactions, GetMobileFromToken, GetDataFromToken, MerchantDetails, InitiateTransactionsSuccess, RetrieveMobileFromToken, CreateDashboardTemplateRequest, TemplateSections, TemplateComponent, PartnerApplications, Offerings, Banners, Tips, DashboardTemplateResponse, SectionSchema, PartnerApplicationsResponse, OfferingsResponse, BannersResponse, TipsSection, TipsResponse, TipsCategories, ActionSchema, UpdateDashboardTemplateRequest, UpdateTemplateSections, UpdateTemplateComponent, UpdatePartnerApplications, UpdateOfferings, UpdateBanners, UpdateTips, NavigationsMobileResponse, TabsSchema, PageSchema, ProfileSectionSchema, ProfileNavigationSchema, SendPNSRegisterRequest, PNSRegisterResponse, FaqResponse, CategorySchema, QuestionSchema, SupportCategories, SupportCategoriesResponse, SanctionLetterResponse, KfsDocumentResponse, UserWhiteListedResponse, UserConsentRequest, Consents, UserConsentRequestV2, UserConsentResponse, UserKycSteps, CreateKycStepRequest, RemoveKycStepRequest, KycUpdateMessage, MobileFromLinkingRequest, MobileFromLinkingResponse, SessionFromLinkingRequest, SessionFromLinkingResponse, LinkAccount, LinkAccountSuccess, UnlinkAccount, UnlinkAccountSuccess, Refund, Translation, FilterKeys, FilterValues, Filters, PageResponse, UserResponse, UserDetailRequest, UserConsents, CreditScoreSchema, CreditLimitSchema, Screen, UserStateSchema, GetAccessTokenResponse, RefreshTokenResponse, RefreshTokenRequest, Items, RefundStatusList, RefundStatus, CustomerMetricsPivots, CustomerMetricsSubResponse, CustomerMetricsAnalytics, CustomerMetricsFilters, CustomerMetrics, CustomerMetricsResponse, CustomerMetricsRequest, SourceAnalyticsRequest, LenderResponse, CreditLimitObject, BusinessDetails, DocumentItems, VintageItems, EligibilitySuccess, CheckEligibilityRequest, GetSchemesSuccess, DisbursalRequest, WorkflowUser, EligiblePlansRequest, EligiblePlans, EligiblePlansResponse, DisbursalResponse, OrderStatus, DisbursalStatusRequest, Transactions, LenderDetail, TransactionResponse, MerchantTransactions, MerchantTransactionSummary, GetReconciliationFileResponse, ReconFile, UploadReconciliationFileRequest, UploadReconciliationFileResponse, TransactionCount, RefundCount, OrganizationTransactionsCount, OrganizationTransactionsSum, UniqueCustomersInOrg, TransactionAmount, SchemaForOneDayTotal, SumofOneDayTransactions, AverageTransaction, AllTransactionsResponse, TotalRefund, TotalRepayment, TotalOverDue, TotalLoansDisbursed, OrganizationTransactionResponse, TrFilters, TrPageResponse, OrgTransactions, TrFilterKeys, TrFilterValues, KfsRequest, KfsResponse, LenderTransactionState, TransactionStateResponse, Theme, Emi, MetricPivots, TransactionMetricSubResponse, TransactionMetrics, LenderCustomerTransactionMetricsFilters, LenderCustomerTransactionMetrics, LenderCustomerTransactionMetricsResponse, LenderCustomerTransactionMetricsRequest, LenderTheme, Lender, UserLender, SourceCreditReport, Document, UserKycDetail, Form, LenderKycStepMap, UserKycLenderStepMap, ProofOfIdentity, ProofOfAddress, EAadhaarData, Consent, ValidatePanRequest, BankDetails, DocumentData, ConfirmPanRequest, LivelinessDetails, UploadDocumentRequest, UploadDocumentRequestV1, UploadDocumentRequestV3, AadhaarRequest, UploadAadhaarRequest, UploadLivelinessRequest, UploadAadhaarRequestV1, UploadLivelinessRequestV1, UploadAadhaarRequestV2, UploadLivelinessRequestV2, UploadAadhaarRequestV3, UploadLivelinessRequestV3, UploadBankDetailsRequest, InitiateKycRequest, InitiateKycRequestV1, LenderOnboardRequest, UpdateLenderStatusRequest, UpdateProfileRequest, UpdateEntityRequest, CreateKycStepsRequest, CreateLenderPgConfigRequest, CreateLenderStateRequest, UpdateLenderRequest, OtherPolicyFilters, GetPolicyFilters, GetPolicyFilters2, MerchantConfigRequest, PanDetails, AvailableLendersRequest, InitialData, ExecutePolicyRequest, ExecutePolicyRequest2, RegisterGstRequest, PopulateFormRequest, ValidateFormFieldRequest, MerchantMetricFilter, LenderCustomerMetricsRequest, StonewallCustomer, GetLimitRequest, DocumentObject, ManualKycRequest, RetriggerLenderOnboardRequest, EntityMapDto, EntityDto, FindDocResponse, LenderKycStatus, StateResponeDto, KycStateMachineDto, InitiateKycDto, LenderOnboardDto, StepDetails, OnboardStatusDto, LenderFilters, Policy, GetKycDocsResponse, OrganizationLogosObject, MetricSubTypes, MetricTypes, BreApprovedUsersResponse, Metrics, MetricData, ApprovedLenders, BreResultStatus, GetAllUserLendersByEnityId, LenderState, UserLenderState, LenderConfig, Pg, LenderPgConfig, FileUploadResponse, PresignedUrl, PresignedUrlV2, LenderDocument, KycStatusResponse, WorkflowResponse, InitiateKycResponse, UploadDocResponse, LenderOnboardResponse, OnboardingStatusResponse, SignedUrlResponse, SignedUrlV2Response, PresignedUrlV3, SignedUrlV3Response, DigilockerLinkResponse, GetDocumentsResponse, ApprovedLendersTransaction, ApprovedPossibleLenders, AvailableLenders, CreditLimit, CreditLimitResponse, LenderPgConfigResponse, GetLendersResponse, LenderConfigurationResponse, UpsertLenderResponse, UpsertLenderConfigResponse, CreateKycStepsSchema, CreatePaymentGatewaySchema, CreateLenderStateSchema, GetAllPaymentGatewaysSchema, PolicyResponse, CreditCheckBreResponse, MerchantConfigResponse, UserLenderByIdAndStatusResponse, IntgrAvailableCreditLimit, IngtrAvailableLimit, IntgrCreditLimit, PossibleLendersInternal, PossibleLendersInternalResponse, GetTotalKycResponse, GetTotalKycCompletedUsersResponse, GetTotalPendingUsersResponse, GetTotalCreditProvidedResponse, MetaSchemaResponse, MetaSchema, AddMetaSchema, AddMetaSchemaRequest, ValidatePanResponse, ConfirmPanResonse, LenderCountResponse, OnboardStepsDto, OnboardStepsResponse, LenderDocumentResponse, GetUserLendersResponse, CreditReportResponse, KycDetailsReponse, GetDocumentByIdResponse, GetAllFormsResponse, UpsertFormResponse, GstDetails, GstDetailsResponse, RegisterGstResponse, PopulateFormResponse, ValidateFormFieldResponse, LenderCustomerMetricsResponse, ManualKycResponse, BreOutput, CustomerKycDetailsReponse }; + export { RefundResponse, UserSource, UserSchema, count, FilterByDate, LenderCount, LenderSchema, TotalUsersPerLender, TotalUsersPerLenderData, TotalUserByLender, UsersByLender, ErrorResponse, EditProfileRequest, VerifyOtpRequest, SendMobileOtpRequest, ReSendMobileOtpRequest, SendOtpRequest, ApplicationUser, SendOtpResponse, EmailUpdate, UserUpdateRequest, LenderUpdateRequest, ProfileEditSuccess, LoginSuccess, VerifyOtpSuccess, LogoutSuccess, OtpSuccess, SessionListSuccess, VerifyMobileOTPSuccess, Location, OrderAddress, CustomerObject, Order, OrderUid, CustomerMeta, Device, VerifyCustomer, CreateTransaction, ResendPaymentRequest, VerifyCustomerSuccess, CreateTransactionSuccess, SupportDocuments, CreateTicketResponse, CreateTicket, InitiateTransactions, GetMobileFromToken, GetDataFromToken, MerchantDetails, InitiateTransactionsSuccess, RetrieveMobileFromToken, CreateDashboardTemplateRequest, TemplateSections, TemplateComponent, PartnerApplications, Offerings, Banners, Tips, DashboardTemplateResponse, SectionSchema, PartnerApplicationsResponse, OfferingsResponse, BannersResponse, TipsSection, TipsResponse, TipsCategories, ActionSchema, UpdateDashboardTemplateRequest, UpdateTemplateSections, UpdateTemplateComponent, UpdatePartnerApplications, UpdateOfferings, UpdateBanners, UpdateTips, NavigationsMobileResponse, TabsSchema, PageSchema, ProfileSectionSchema, ProfileNavigationSchema, SendPNSRegisterRequest, PNSRegisterResponse, FaqResponse, CategorySchema, QuestionSchema, SupportCategories, SupportCategoriesResponse, SanctionLetterResponse, KfsDocumentResponse, UserWhiteListedResponse, UserConsentRequest, Consents, UserConsentRequestV2, UserConsentResponse, UserKycSteps, CreateKycStepRequest, RemoveKycStepRequest, KycUpdateMessage, MobileFromLinkingRequest, MobileFromLinkingResponse, SessionFromLinkingRequest, SessionFromLinkingResponse, LinkAccount, LinkAccountSuccess, UnlinkAccount, UnlinkAccountSuccess, Refund, Translation, FilterKeys, FilterValues, Filters, PageResponse, UserResponse, UserDetailRequest, UserConsents, CreditScoreSchema, CreditLimitSchema, Screen, UserStateSchema, GetAccessTokenResponse, RefreshTokenResponse, RefreshTokenRequest, Items, RefundStatusList, RefundStatus, GetSchemesSuccess, CustomerMetricsPivots, CustomerMetricsSubResponse, CustomerMetricsAnalytics, CustomerMetricsFilters, CustomerMetrics, SchemeResponse, SchemePaymentOptionsResponse, SchemeEmiPaymentOptionResponse, SchemeEmiScheduleResponse, SchemePayLaterPaymentOptionResponse, LimitResponse, AvailableOrPossibleLender, GetSchemesRequest, CustomerMetricsResponse, CustomerMetricsRequest, SourceAnalyticsRequest, LenderResponse, CreditLimitObject, BusinessDetails, DocumentItems, VintageItems, EligibilitySuccess, CheckEligibilityRequest, EmiSchedule, PaymentOption, PaymentOptions, LenderAndPaymentOption, GetSchemesSuccessOld, PageSchemaResponse, userCountRequest, IntegrationResponseMeta, IntegrationResponseError, IntegrationSuccessResponse, IntegrationErrorResponse, DisbursalRequest, WorkflowUser, EligiblePlansRequest, EligiblePlans, EligiblePlansResponse, DisbursalResponse, OrderStatus, DisbursalStatusRequest, Transactions, LenderDetail, TransactionResponse, GetReconciliationFileResponse, ReconFile, UploadReconciliationFileRequest, UploadReconciliationFileResponse, TransactionCount, RefundCount, OrganizationTransactionsCount, OrganizationTransactionsSum, UniqueCustomersInOrg, TransactionAmount, SchemaForOneDayTotal, SumofOneDayTransactions, AverageTransaction, AllTransactionsResponse, TotalRefund, TotalRepayment, TotalOverDue, TotalLoansDisbursed, OrganizationTransactionResponse, TrFilters, TrPageResponse, OrgTransactions, TrFilterKeys, TrFilterValues, KfsRequest, KfsResponse, LenderTransactionState, TransactionStateResponse, Theme, Emi, MetricPivots, TransactionMetricSubResponse, TransactionMetrics, LenderCustomerTransactionMetricsFilters, LenderCustomerTransactionMetrics, LenderCustomerTransactionMetricsResponse, LenderCustomerTransactionMetricsRequest, TransactionOrder, TransactionMerchant, TransactionLoan, TransactionLender, UserTransaction, Pagination, GetTransactionsData, GetTransactionsResponse, SummaryRequest, Lender, UserLender, SourceCreditReport, Document, UserKycDetail, Form, LenderKycStepMap, UserKycLenderStepMap, ProofOfIdentity, ProofOfAddress, EAadhaarData, EntityMapDto, EntityDto, MerchantSchema, Consent, ValidatePanRequest, BankDetails, DocumentData, ConfirmPanRequest, LivelinessDetails, UploadDocumentRequest, UploadDocumentRequestV1, UploadDocumentRequestV3, AadhaarRequest, UploadAadhaarRequest, UploadLivelinessRequest, UploadAadhaarRequestV1, UploadLivelinessRequestV1, UploadAadhaarRequestV2, UploadLivelinessRequestV2, UploadAadhaarRequestV3, UploadLivelinessRequestV3, UploadBankDetailsRequest, InitiateKycRequest, InitiateKycRequestV1, LenderOnboardRequest, LenderOnboardRequestV1, UpdateLenderStatusRequest, UpdateProfileRequest, UpdateEntityRequest, CreateKycStepsRequest, CreateLenderPgConfigRequest, CreateLenderStateRequest, UpdateLenderRequest, OtherPolicyFilters, GetPolicyFilters, GetPolicyFilters2, MerchantConfigRequest, PanDetails, AvailableLendersRequest, InitialData, ExecutePolicyRequest, ExecutePolicyRequest2, RegisterGstRequest, PopulateFormRequest, ValidateFormFieldRequest, MerchantMetricFilter, LenderCustomerMetricsRequest, StonewallCustomer, GetLimitRequest, DocumentObject, ManualKycRequest, RetriggerLenderOnboardRequest, BusinessDetail, VintageData, DocumentObjects, KycCountByStatus, FindDocResponse, LenderKycStatus, StateResponeDto, KycStateMachineDto, InitiateKycDto, LenderOnboardDto, StepDetails, OnboardStatusDto, LenderFilters, Policy, OrganizationLogosObject, MetricSubTypes, MetricTypes, BreApprovedUsersResponse, Metrics, MetricData, GetAllUserLendersByEnityId, ApprovedLenders, BreResultStatus, LenderState, UserLenderState, LenderConfig, Pg, LenderPgConfig, FileUploadResponse, PresignedUrl, PresignedUrlV2, LenderDocument, KycStatusResponse, WorkflowResponse, Action, InitiateKycResponse, UploadDocResponse, LenderOnboardResponse, OnboardingStatusResponse, SignedUrlResponse, SignedUrlV2Response, PresignedUrlV3, SignedUrlV3Response, DigilockerLinkResponse, GetDocumentsResponse, ApprovedLendersTransaction, ApprovedPossibleLenders, AvailableLenders, CreditLimit, CreditLimitResponse, LenderPgConfigResponse, GetLendersResponse, LenderConfigurationResponse, UpsertLenderResponse, UpsertLenderConfigResponse, CreateKycStepsSchema, CreatePaymentGatewaySchema, CreateLenderStateSchema, GetAllPaymentGatewaysSchema, PolicyResponse, CreditCheckBreResponse, MerchantConfigResponse, UserLenderByIdAndStatusResponse, IntgrAvailableCreditLimit, IngtrAvailableLimit, IntgrCreditLimit, PossibleLendersInternal, PossibleLendersInternalResponse, GetTotalKycResponse, GetTotalKycCompletedUsersResponse, GetTotalPendingUsersResponse, GetTotalCreditProvidedResponse, MetaSchemaResponse, MetaSchema, AddMetaSchema, AddMetaSchemaRequest, ValidatePanResponse, ConfirmPanResonse, LenderCountResponse, OnboardStepsDto, OnboardStepsResponse, LenderDocumentResponse, GetUserLendersResponse, CreditReportResponse, KycDetailsReponse, GetDocumentByIdResponse, GetAllFormsResponse, UpsertFormResponse, GstDetails, GstDetailsResponse, RegisterGstResponse, PopulateFormResponse, ValidateFormFieldResponse, LenderCustomerMetricsResponse, BreOutput, ManualKycResponse, CustomerKycDetailsReponse, BlockUserRequestSchema, EditEmailRequestSchema, SendVerificationLinkMobileRequestSchema, EditMobileRequestSchema, UpdateEmail, EditProfileRequestSchema, EditProfileMobileSchema, SendEmailOtpRequestSchema, VerifyEmailOtpRequestSchema, ReSendMobileOtpRequestSchema, ResetPasswordSuccess, RegisterFormSuccess, VerifyEmailSuccess, BlockUserSuccess, EmailOtpSuccess, VerifyEmailOTPSuccess, SendMobileVerifyLinkSuccess, SendEmailVerifyLinkSuccess, UserSearchResponseSchema, CustomerListResponseSchema, PaginationSchema, UserObjectSchema, CreateOrganization, UpdateLogo, AddMetaSchemaResponse, UpdateOrganization, UpdateFinancials, Documents, FinancialDetails, GetOrganization, OrganizationDetails, Organization, OrganizationList, OrganizationCount, TeamMembers, Member, Profile, AddTeamMember, UpdateTeamMemberRole, RemoveTeamMemberResponse, AddTeamMemberResponse, ApiKey, UpdateApiHook, ApiHookDetails, UpdateApiHookResponse, OrganizationIp, AddOrganizationIpDetails, AddUpdateCsvFileResponse, AddUpdateCsvFileRequest, CsvFile, AddReportCsvFileResponse, AddReportCsvFileRequest, ReportCsvFileResponse, AddReportRequestArray, AddReportRequest, AddReportResponseArray, AddReportResponse, VintageDataResponseObject, VintageDataResponse, AddSkuRequestArray, AddSkuRequest, AddSkuResponse, RestrictedSkuSchema, OrganizationIpResponse, OrganizationIpDetails, RefundSuccess, RefundItem, PaymentLinkResponse, ApplicationCutomer, GeoLocation, Address, OrderItems, PaymentLinkRequest, UpdateLenderStatusSchemaRequest, UpdateLenderStatusSchemaResponse, CreateUserRequestSchema, CreateUserResponseSchema }; } +type RefundResponse = { + status?: string; + message?: string; + transactionId?: string; + refundId?: string; + __headers?: any; +}; +type UserSource = { + userId?: string; + type?: string; + sourceId?: string; + meta?: any; + createdAt?: string; + updatedAt?: string; + app?: string; + entityId?: string; + userMerchants?: any[]; +}; type UserSchema = { id?: string; firstName?: string; @@ -222,7 +240,6 @@ type CustomerObject = { type Order = { valueInPaise: number; uid: string; - emiTenure?: number; items?: Items[]; shippingAddress?: OrderAddress; billingAddress?: OrderAddress; @@ -253,25 +270,29 @@ type VerifyCustomer = { device: Device; meta?: any; fetchLimitOptions?: boolean; + fetchPlans?: boolean; }; type CreateTransaction = { - autoCapture?: boolean; redirectUrl: string; customer: CustomerObject; order: Order; device: Device; meta?: any; + emiTenure?: number; + lenderSlug?: string; + consents?: Consents[]; }; type ResendPaymentRequest = { - autoCapture?: boolean; redirectUrl?: string; customer: CustomerObject; order: OrderUid; }; type VerifyCustomerSuccess = { - status?: string; - userStatus?: string; - message?: string; + status: string; + userStatus: string; + message: string; + schemes?: SchemeResponse[]; + limit?: LimitResponse; __headers?: any; }; type CreateTransactionSuccess = { @@ -567,6 +588,7 @@ type UserConsentRequest = { type Consents = { type?: string; text?: string; + purpose?: string; }; type UserConsentRequestV2 = { consents?: Consents[]; @@ -640,11 +662,12 @@ type UnlinkAccountSuccess = { }; type Refund = { fingerprint?: string; - customer: CustomerObject; + customer?: CustomerObject; refundItems?: Items[]; orderId: string; refundId: string; refundAmount: number; + redirectionUrl?: string; }; type Translation = { content?: any; @@ -724,14 +747,12 @@ type GetAccessTokenResponse = { refreshTokenExpiryAt?: string; refreshTokenExpiryIn?: string; scope?: string[]; - __headers?: any; }; type RefreshTokenResponse = { success?: boolean; accessToken?: string; tokenExpireAt?: string; tokenExpiryIn?: string; - __headers?: any; }; type RefreshTokenRequest = { token: string; @@ -759,6 +780,11 @@ type RefundStatus = { refund?: RefundStatusList[]; __headers?: any; }; +type GetSchemesSuccess = { + userId?: string; + lenders: SchemeResponse[]; + __headers?: any; +}; type CustomerMetricsPivots = { date?: string; sum?: number; @@ -787,6 +813,65 @@ type CustomerMetrics = { filters?: CustomerMetricsFilters[]; sort?: CustomerMetricsFilters[]; }; +type SchemeResponse = { + slug: string; + isDefault: boolean; + logoUrl: string; + name: string; + title: string; + subtitle: string; + amount?: number; + paymentOptions: SchemePaymentOptionsResponse; +}; +type SchemePaymentOptionsResponse = { + emis?: SchemeEmiPaymentOptionResponse[]; + payLater?: SchemePayLaterPaymentOptionResponse; +}; +type SchemeEmiPaymentOptionResponse = { + id: string; + isDefault: boolean; + description: string; + title: string; + subtitle: string; + amount: number; + interest?: number; + processingFee: number; + tenure: number; + emiSchedule: SchemeEmiScheduleResponse[]; +}; +type SchemeEmiScheduleResponse = { + installmentNo: number; + installmentAmount: number; + dueDate: string; +}; +type SchemePayLaterPaymentOptionResponse = { + id: string; + title: string; + subtitle: string; + description: string; + tenure: number; + interest: number; + processingFee: number; + amount: number; + isDefault: boolean; +}; +type LimitResponse = { + available?: AvailableOrPossibleLender[]; + possible?: AvailableOrPossibleLender[]; +}; +type AvailableOrPossibleLender = { + limit: number; + lenderName: string; + slug: string; + isDefault: boolean; + logo: string; +}; +type GetSchemesRequest = { + customer: CustomerObject; + order: Order; + device: Device; + meta?: any; +}; type CustomerMetricsResponse = { data?: CustomerMetrics; }; @@ -799,6 +884,7 @@ type CustomerMetricsRequest = { }; type SourceAnalyticsRequest = { filters?: CustomerMetricsFilters[]; + merchantId?: string; }; type LenderResponse = { slug?: string; @@ -819,9 +905,9 @@ type BusinessDetails = { pincode?: string; }; type DocumentItems = { - number?: string; + number: string; category?: string; - type?: string; + type: string; name?: string; issuedOn?: string; issuedAt?: string; @@ -840,9 +926,7 @@ type EligibilitySuccess = { status?: string; message?: string; redirectUrl?: string; - callbackUrl?: string; creditLimits?: CreditLimitObject[]; - __headers?: any; }; type CheckEligibilityRequest = { customer: CustomerObject; @@ -854,10 +938,73 @@ type CheckEligibilityRequest = { meta?: any; fetchLimitOptions?: boolean; }; -type GetSchemesSuccess = { - userId?: string; - lenders: undefined[]; - __headers?: any; +type EmiSchedule = { + installmentNo?: number; + installmentAmount?: number; + dueDate?: string; +}; +type PaymentOption = { + id?: string; + title?: string; + subtitle?: string; + description?: string; + tenure?: number; + processingFee?: number; + amount?: number; + isDefault?: boolean; + emiSchedule?: EmiSchedule[]; +}; +type PaymentOptions = { + payLater?: PaymentOption; + emis?: PaymentOption[]; +}; +type LenderAndPaymentOption = { + id?: string; + name: string; + title?: string; + subtitle?: string; + isDefault?: boolean; + logoUrl: string; + amount?: number; + paymentOptions?: PaymentOptions; +}; +type GetSchemesSuccessOld = { + userId: string; + lenders?: LenderAndPaymentOption[]; +}; +type PageSchemaResponse = { + slug?: string; + description?: string; + sections?: any; + settings?: any; +}; +type userCountRequest = { + merchantId?: string; + startDate?: string; + endDate?: string; +}; +type IntegrationResponseMeta = { + timestamp: string; + version: string; + product: string; + requestId?: string; +}; +type IntegrationResponseError = { + code: string; + message: string; + exception: string; + field?: string; + in?: string; +}; +type IntegrationSuccessResponse = { + message: string; + meta: IntegrationResponseMeta; + data: any; +}; +type IntegrationErrorResponse = { + message: string; + meta: IntegrationResponseMeta; + errors?: IntegrationResponseError[]; }; type DisbursalRequest = { fingerprint?: string; @@ -867,6 +1014,9 @@ type DisbursalRequest = { isDownpaymentRequired?: boolean; downpaymentAmount?: number; loanAmount?: number; + data?: any; + transactionId?: string; + lenderSlug?: string; }; type WorkflowUser = { mobile?: string; @@ -892,7 +1042,6 @@ type DisbursalResponse = { transactionId?: string; status?: string; message?: string; - __headers?: any; }; type OrderStatus = { orderId: string; @@ -926,7 +1075,6 @@ type Transactions = { lenderName?: string; lenderLogo?: string; loanType?: string; - repaymentTransactionId?: string; nextDueDate?: string; paidPercent?: number; lenderDetail?: LenderDetail; @@ -950,12 +1098,6 @@ type TransactionResponse = { page: PageResponse; transactions: Transactions[]; }; -type MerchantTransactions = { - outstandingAmount?: string; -}; -type MerchantTransactionSummary = { - merchantOutstandingSummary?: MerchantTransactions; -}; type GetReconciliationFileResponse = { files: ReconFile[]; }; @@ -1162,26 +1304,75 @@ type LenderCustomerTransactionMetricsRequest = { lenderId?: string; pivotPoints?: number; }; -type LenderTheme = { - logoUrl: string; - iconUrl: string; - landscapeBgUrl: string; - portraitBgUrl: string; +type TransactionOrder = { + id: string; + amount: number; +}; +type TransactionMerchant = { + name: string; + logo: string; +}; +type TransactionLoan = { + number: string; + amount: number; + type: string; +}; +type TransactionLender = { + name: string; + slug: string; + logo: string; shortName: string; }; +type UserTransaction = { + id: string; + amount: number; + type: string; + status: string; + settlementUtr?: string; + refundId?: string; + createdAt: string; + isMasked: boolean; + order?: TransactionOrder; + merchant: TransactionMerchant; + loan?: TransactionLoan; + lender?: TransactionLender; +}; +type Pagination = { + type?: string; + current: number; + hasPrevious: boolean; + hasNext: boolean; + size: number; + itemTotal: number; +}; +type GetTransactionsData = { + transactions: UserTransaction[]; + page: Pagination; +}; +type GetTransactionsResponse = { + message: string; + meta: IntegrationResponseMeta; + data: GetTransactionsData; + __headers?: any; +}; +type SummaryRequest = { + startDate?: string; + endDate?: string; + merchantId?: string; + type?: string; +}; type Lender = { id?: string; name?: string; active?: boolean; imageUrl?: string; slug?: string; - theme?: LenderTheme; + theme?: any; b2b?: boolean; b2c?: boolean; merchantConfigSchema?: string; createdAt?: string; updatedAt?: string; - approvedLimit?: number; deletedAt?: string; meta?: any; metaSchema?: any; @@ -1318,6 +1509,48 @@ type EAadhaarData = { pdf?: string; address?: string; }; +type EntityMapDto = { + id: string; + merchantId?: string; + status?: string; + lenderId: string; + limit?: number; + creditType?: string; + userId: string; + entityId: string; +}; +type EntityDto = { + id: string; + type?: string; + address?: string; + name?: string; + gender?: string; + dob?: string; + userId: string; +}; +type MerchantSchema = { + id: string; + name?: string; + logo?: string; + website?: string; + apiHook?: string; + epikId?: string; + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; + createdBy?: string; + active?: boolean; + category?: string; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + businessName?: string; + email?: string; + businessAddress?: string; + pincode?: string; + b2b?: boolean; + b2c?: boolean; +}; type Consent = { text: string; type: string; @@ -1344,6 +1577,7 @@ type ConfirmPanRequest = { name: string; entity?: string; merchantId?: string; + onboardingToken?: string; }; type LivelinessDetails = { selfie: string; @@ -1444,7 +1678,12 @@ type InitiateKycRequestV1 = { type LenderOnboardRequest = { ack?: string; data: any; - entityMapId?: string; + merchantId?: string; +}; +type LenderOnboardRequestV1 = { + entityMapId: string; + ack?: string; + data: any; merchantId?: string; }; type UpdateLenderStatusRequest = { @@ -1528,7 +1767,9 @@ type ExecutePolicyRequest2 = { initialData: InitialData; }; type RegisterGstRequest = { - gstTin: string; + gstin: string; + skipGst?: boolean; + onboardingToken?: string; }; type PopulateFormRequest = { form: any; @@ -1588,29 +1829,41 @@ type RetriggerLenderOnboardRequest = { stepId: string; data: any; }; -type EntityMapDto = { - id: string; - merchantId?: string; - status?: string; - lenderId: string; - limit?: number; - creditType?: string; - userId: string; - entityId: string; -}; -type EntityDto = { - id: string; - type?: string; +type BusinessDetail = { + category: string; + shopName?: string; + legalName: string; address?: string; + type?: string; + pincode?: string; +}; +type VintageData = { + month: number; + year: number; + totalTransactions: number; + totalTransactionAmount: number; + totalCancellations?: number; + totalCancellationAmount?: number; +}; +type DocumentObjects = { + number: string; + category: string; + type: string; name?: string; - gender?: string; - dob?: string; - userId: string; + issuedOn?: string; + issuedAt?: string; + issuedBy?: string; + expiryOn?: string; +}; +type KycCountByStatus = { + startDate?: string; + endDate?: string; + merchantId?: string; + lenderId?: string; }; type FindDocResponse = { status: string; info: string; - number: string; details?: any; name?: string; }; @@ -1668,6 +1921,9 @@ type OnboardStatusDto = { entityMapId: string; actionIsForm: boolean; actionForm?: Form; + merchantId?: string; + actionName?: string; + actionDescription?: string; }; type LenderFilters = { includeStatus?: any[]; @@ -1694,9 +1950,6 @@ type Policy = { updatedAt?: any; deletedAt?: any; }; -type GetKycDocsResponse = { - documents: FindDocResponse[]; -}; type OrganizationLogosObject = { id: string; name: string; @@ -1729,6 +1982,15 @@ type MetricData = { filters: MerchantMetricFilter[]; sort: MerchantMetricFilter[]; }; +type GetAllUserLendersByEnityId = { + entityId: string; + entityMapId: string; + userId: string; + status: string; + lender?: Lender; + partnerId?: string; + approvedLimit?: number; +}; type ApprovedLenders = { status: string; lenders: BreOutput[]; @@ -1737,14 +1999,6 @@ type BreResultStatus = { status: string; approvedLenders?: BreOutput[]; }; -type GetAllUserLendersByEnityId = { - entityId: string; - entityMapId: string; - userId: string; - status: string; - lender: Lender; - partnerId?: string; -}; type LenderState = { id?: string; name: string; @@ -1847,16 +2101,24 @@ type KycStatusResponse = { type WorkflowResponse = { data?: any; }; -type InitiateKycResponse = { +type Action = { + step: string; + status: string; + index: number; + isForm?: boolean; + form: Form; +}; +type InitiateKycResponse = { kycResult: UserKycDetail; - action: any; + action: Action; }; type UploadDocResponse = { status: string; data?: any; remark?: string; + reasons: string; kycResult: UserKycDetail; - action: any; + action: Action; }; type LenderOnboardResponse = { result: UserLender; @@ -1907,7 +2169,7 @@ type ApprovedPossibleLenders = { slug: string; active: boolean; id: string; - theme?: LenderTheme; + theme?: any; }; type AvailableLenders = { approvedLenders: ApprovedPossibleLenders[]; @@ -1984,7 +2246,7 @@ type UserLenderByIdAndStatusResponse = { deletedAt?: string; approvedLimit: number; slug?: string; - theme?: LenderTheme; + theme?: any; name?: any; }; type IntgrAvailableCreditLimit = { @@ -1996,6 +2258,7 @@ type IntgrAvailableCreditLimit = { }; type IngtrAvailableLimit = { available: IntgrAvailableCreditLimit[]; + possible?: IntgrAvailableCreditLimit[]; }; type IntgrCreditLimit = { limit: IngtrAvailableLimit; @@ -2091,7 +2354,7 @@ type UpsertFormResponse = { data: any; }; type GstDetails = { - gstTin: string; + gstin: string; businessName: string; }; type GstDetailsResponse = { @@ -2114,10 +2377,6 @@ type LenderCustomerMetricsResponse = { message: string; data: MetricData; }; -type ManualKycResponse = { - message: string; - step: UserKycLenderStepMap; -}; type BreOutput = { id: string; userId: string; @@ -2133,6 +2392,477 @@ type BreOutput = { updatedAt: string; deletedAt: string; }; +type ManualKycResponse = { + message: string; + step: UserKycLenderStepMap; +}; type CustomerKycDetailsReponse = { data: UserKycLenderStepMap; }; +type BlockUserRequestSchema = { + status?: boolean; + userid?: string[]; + reason?: string; +}; +type EditEmailRequestSchema = { + email?: string; +}; +type SendVerificationLinkMobileRequestSchema = { + verified?: boolean; + active?: boolean; + countryCode?: string; + phone?: string; + primary?: boolean; +}; +type EditMobileRequestSchema = { + countryCode?: string; + phone?: string; +}; +type UpdateEmail = { + email: string; + additionalProperties?: any; +}; +type EditProfileRequestSchema = { + firstName: string; + lastName: string; + countryCode?: string; + mobile?: string; + email?: string; + gender?: string; + registrationToken?: string; +}; +type EditProfileMobileSchema = { + phone?: string; + countryCode?: string; +}; +type SendEmailOtpRequestSchema = { + email?: string; + action?: string; + token?: string; + registerToken?: string; +}; +type VerifyEmailOtpRequestSchema = { + email?: string; + action?: string; + registerToken?: string; + otp?: string; +}; +type ReSendMobileOtpRequestSchema = { + captchaCode?: string; + token: string; + androidHash?: string; +}; +type ResetPasswordSuccess = { + status?: string; +}; +type RegisterFormSuccess = { + email?: string; + resendTimer?: number; + resendToken?: string; + resendEmailToken?: string; + registerToken?: string; + success?: boolean; + requestId?: string; + message?: string; + mobile?: string; + countryCode?: string; + verifyEmailOtp?: boolean; + verifyMobileOtp?: boolean; + userExists?: boolean; +}; +type VerifyEmailSuccess = { + message?: string; +}; +type BlockUserSuccess = { + success?: boolean; +}; +type EmailOtpSuccess = { + success?: boolean; +}; +type VerifyEmailOTPSuccess = { + user?: UserSchema; + verifyEmailLink?: boolean; +}; +type SendMobileVerifyLinkSuccess = { + verifyMobileLink?: boolean; +}; +type SendEmailVerifyLinkSuccess = { + verifyEmailLink?: boolean; +}; +type UserSearchResponseSchema = { + users?: UserSchema[]; +}; +type CustomerListResponseSchema = { + items?: UserSchema[]; + page?: PaginationSchema; +}; +type PaginationSchema = { + size?: number; + itemTotal?: number; + hasNext?: boolean; + type?: string; + current?: number; +}; +type UserObjectSchema = { + user?: UserSchema; +}; +type CreateOrganization = { + name?: string; + logo?: string; + website?: string; + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; + businessName?: string; + email?: string; + businessAddress?: string; + pincode?: string; + b2b?: boolean; + b2c?: boolean; + docType?: string; + docNumber?: string; + organizationId?: string; +}; +type UpdateLogo = { + logo?: string; +}; +type AddMetaSchemaResponse = { + merchantId?: string; + lenderId?: string; + mid?: string; + data?: any; +}; +type UpdateOrganization = { + id: string; + name?: any; + logo?: any; + website?: any; + disbursementAccountHolderName?: any; + disbursementAccountNumber?: any; + disbursementIfsc?: any; + active?: boolean; +}; +type UpdateFinancials = { + disbursementAccountHolderName: string; + disbursementAccountNumber: string; + disbursementIfsc: string; +}; +type Documents = { + docType: string; + docNumber: string; +}; +type FinancialDetails = { + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; + b2b?: boolean; + b2c?: boolean; + businessName?: string; + email?: string; + businessAddress?: string; + pincode?: string; + documents?: Documents[]; +}; +type GetOrganization = { + organizationId?: string; + createdAt?: string; + updatedAt?: string; + isAdmin?: boolean; + name?: string; + isActive?: boolean; +}; +type OrganizationDetails = { + name?: string; + organizationId?: string; + isAdmin?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + isActive?: boolean; + logo?: string; + website?: string; + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; +}; +type Organization = { + id?: string; + name?: string; + active?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; +}; +type OrganizationList = { + name?: string; + logo?: string; + id?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + isActive?: boolean; + epikId?: string; + website?: string; + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; +}; +type OrganizationCount = { + count?: string; +}; +type TeamMembers = { + members?: Member[]; +}; +type Member = { + id?: string; + userId?: string; + organizationId?: string; + isAdmin?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + profile?: Profile; +}; +type Profile = { + id?: string; + userId?: string; + organizationId?: string; + isAdmin?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; +}; +type AddTeamMember = { + countryCode?: string; + mobile?: string; + email?: string; + userIsAdmin?: boolean; +}; +type UpdateTeamMemberRole = { + userIsAdmin?: boolean; + userId?: string; +}; +type RemoveTeamMemberResponse = { + success?: boolean; +}; +type AddTeamMemberResponse = { + id?: string; + userId?: string; + organizationId?: string; + isAdmin?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; +}; +type ApiKey = { + key?: string; + secret?: string; +}; +type UpdateApiHook = { + apiKey: string; + url: string; + customHeaders?: any; +}; +type ApiHookDetails = { + apiKey: string; + url: string; + customHeaders?: any; + createdAt?: string; + updatedAt?: string; +}; +type UpdateApiHookResponse = { + success?: boolean; +}; +type OrganizationIp = { + id?: string; + ip: string; +}; +type AddOrganizationIpDetails = { + organizationIps?: OrganizationIp[]; + delete?: string; +}; +type AddUpdateCsvFileResponse = { + message?: string; +}; +type AddUpdateCsvFileRequest = { + csv?: string; + organizationId?: string; +}; +type CsvFile = { + csv?: string; +}; +type AddReportCsvFileResponse = { + message?: string; +}; +type AddReportCsvFileRequest = { + csv?: string; + organizationId?: string; + name?: string; + type?: string; +}; +type ReportCsvFileResponse = { + csv?: string; +}; +type AddReportRequestArray = { + mobile?: string; + merchantId?: string; + category?: string; + shopName?: string; + legalName?: string; + firstName?: string; + middleName?: string; + lastName?: string; + aadhaar?: string; + nameOnPan?: string; + gstNumber?: string; + gstBusinessName?: string; + panNumber?: string; + udyam?: string; + ownershipType?: string; + address?: string; + pincode?: string; + license1Type?: string; + license1?: string; + license2Type?: string; + license2?: string; +}; +type AddReportRequest = { + businessDetails?: any[]; +}; +type AddReportResponseArray = { + mobile?: string; + merchantId?: string; + anchorId?: string; + category?: string; + shopName?: string; + legalName?: string; + firstName?: string; + middleName?: string; + lastName?: string; + aadhaar?: string; + nameOnPan?: string; + gstNumber?: string; + gstBusinessName?: string; + panNumber?: string; + udyam?: string; + ownershipType?: string; + address?: string; + pincode?: string; + license1Type?: string; + license1?: string; + license2Type?: string; + license2?: string; +}; +type AddReportResponse = { + businessDetails?: AddReportResponseArray[]; +}; +type VintageDataResponseObject = { + month?: string; + year?: number; + revenue?: string; + businessId?: string; + createdBy?: string; + id?: string; + createdAt?: string; + updatedBy?: string; + updatedAt?: string; +}; +type VintageDataResponse = { + vintageData?: VintageDataResponseObject[]; +}; +type AddSkuRequestArray = { + sku: string; + productName: string; + creditPurchaseOptionFlag: string; + effectiveDates: string; + organizationId: string; +}; +type AddSkuRequest = { + skuDetails?: AddSkuRequestArray[]; +}; +type AddSkuResponse = { + message?: string; +}; +type RestrictedSkuSchema = { + skuDetails?: any[]; +}; +type OrganizationIpResponse = { + organizationId: string; + ip: string; + createdAt?: string; + updatedAt?: string; + id: string; +}; +type OrganizationIpDetails = { + organizationIps?: OrganizationIpResponse[]; +}; +type RefundSuccess = { + status: string; + message: number; + transactionId: string; + refundId: string; +}; +type RefundItem = { + items: any[]; +}; +type PaymentLinkResponse = { + status?: string; + message?: string; + paymentLink?: string; +}; +type ApplicationCutomer = { + countryCode?: string; + mobile: string; + uid?: string; + email?: string; +}; +type GeoLocation = { + latitude: number; + longitude: number; +}; +type Address = { + line1?: string; + line2?: string; + city?: string; + state?: string; + country?: string; + pincode?: string; + type?: string; + geoLocation?: GeoLocation; +}; +type OrderItems = { + category?: string; + sku?: string; + rate?: number; + quantity?: number; +}; +type PaymentLinkRequest = { + autoCapture?: boolean; + lenderId?: string; + emiTenure?: number; + customer: ApplicationCutomer; + order: Order; + device?: Device; + meta?: any; +}; +type UpdateLenderStatusSchemaRequest = { + merchantId?: string; + enable?: boolean; +}; +type UpdateLenderStatusSchemaResponse = { + merchantId?: string; + lenderId?: string; + mid?: string; + enable?: boolean; + data?: any; +}; +type CreateUserRequestSchema = { + mobile: string; + email?: string; + firstName?: string; + lastName?: string; + gender?: string; +}; +type CreateUserResponseSchema = { + user?: UserSchema; +}; diff --git a/sdk/platform/PlatformApplicationClient.js b/sdk/platform/PlatformApplicationClient.js index 08237f9..798bef3 100644 --- a/sdk/platform/PlatformApplicationClient.js +++ b/sdk/platform/PlatformApplicationClient.js @@ -19,6 +19,28 @@ class PlatformApplicationClient { } } +/** + * @typedef RefundResponse + * @property {string} [status] + * @property {string} [message] + * @property {string} [transactionId] + * @property {string} [refundId] + * @property {Object} [__headers] + */ + +/** + * @typedef UserSource + * @property {string} [userId] + * @property {string} [type] + * @property {string} [sourceId] + * @property {Object} [meta] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [app] + * @property {string} [entityId] + * @property {any[]} [userMerchants] + */ + /** * @typedef UserSchema * @property {string} [id] @@ -293,7 +315,6 @@ class PlatformApplicationClient { * @typedef Order * @property {number} valueInPaise * @property {string} uid - * @property {number} [emiTenure] * @property {Items[]} [items] * @property {OrderAddress} [shippingAddress] * @property {OrderAddress} [billingAddress] @@ -332,21 +353,23 @@ class PlatformApplicationClient { * @property {Device} device * @property {Object} [meta] * @property {boolean} [fetchLimitOptions] + * @property {boolean} [fetchPlans] */ /** * @typedef CreateTransaction - * @property {boolean} [autoCapture] * @property {string} redirectUrl * @property {CustomerObject} customer * @property {Order} order * @property {Device} device * @property {Object} [meta] + * @property {number} [emiTenure] + * @property {string} [lenderSlug] + * @property {Consents[]} [consents] */ /** * @typedef ResendPaymentRequest - * @property {boolean} [autoCapture] * @property {string} [redirectUrl] * @property {CustomerObject} customer * @property {OrderUid} order @@ -354,9 +377,11 @@ class PlatformApplicationClient { /** * @typedef VerifyCustomerSuccess - * @property {string} [status] - * @property {string} [userStatus] - * @property {string} [message] + * @property {string} status + * @property {string} userStatus + * @property {string} message + * @property {SchemeResponse[]} [schemes] + * @property {LimitResponse} [limit] * @property {Object} [__headers] */ @@ -752,6 +777,7 @@ class PlatformApplicationClient { * @typedef Consents * @property {string} [type] * @property {string} [text] + * @property {string} [purpose] */ /** @@ -855,11 +881,12 @@ class PlatformApplicationClient { /** * @typedef Refund * @property {string} [fingerprint] - * @property {CustomerObject} customer + * @property {CustomerObject} [customer] * @property {Items[]} [refundItems] * @property {string} orderId * @property {string} refundId * @property {number} refundAmount + * @property {string} [redirectionUrl] */ /** @@ -965,7 +992,6 @@ class PlatformApplicationClient { * @property {string} [refreshTokenExpiryAt] * @property {string} [refreshTokenExpiryIn] * @property {string[]} [scope] - * @property {Object} [__headers] */ /** @@ -974,7 +1000,6 @@ class PlatformApplicationClient { * @property {string} [accessToken] * @property {string} [tokenExpireAt] * @property {string} [tokenExpiryIn] - * @property {Object} [__headers] */ /** @@ -1011,6 +1036,13 @@ class PlatformApplicationClient { * @property {Object} [__headers] */ +/** + * @typedef GetSchemesSuccess + * @property {string} [userId] + * @property {SchemeResponse[]} lenders + * @property {Object} [__headers] + */ + /** * @typedef CustomerMetricsPivots * @property {string} [date] @@ -1049,6 +1081,81 @@ class PlatformApplicationClient { * @property {CustomerMetricsFilters[]} [sort] */ +/** + * @typedef SchemeResponse + * @property {string} slug + * @property {boolean} isDefault + * @property {string} logoUrl + * @property {string} name + * @property {string} title + * @property {string} subtitle + * @property {number} [amount] + * @property {SchemePaymentOptionsResponse} paymentOptions + */ + +/** + * @typedef SchemePaymentOptionsResponse + * @property {SchemeEmiPaymentOptionResponse[]} [emis] + * @property {SchemePayLaterPaymentOptionResponse} [payLater] + */ + +/** + * @typedef SchemeEmiPaymentOptionResponse + * @property {string} id + * @property {boolean} isDefault + * @property {string} description + * @property {string} title + * @property {string} subtitle + * @property {number} amount + * @property {number} [interest] + * @property {number} processingFee + * @property {number} tenure + * @property {SchemeEmiScheduleResponse[]} emiSchedule + */ + +/** + * @typedef SchemeEmiScheduleResponse + * @property {number} installmentNo + * @property {number} installmentAmount + * @property {string} dueDate + */ + +/** + * @typedef SchemePayLaterPaymentOptionResponse + * @property {string} id + * @property {string} title + * @property {string} subtitle + * @property {string} description + * @property {number} tenure + * @property {number} interest + * @property {number} processingFee + * @property {number} amount + * @property {boolean} isDefault + */ + +/** + * @typedef LimitResponse + * @property {AvailableOrPossibleLender[]} [available] + * @property {AvailableOrPossibleLender[]} [possible] + */ + +/** + * @typedef AvailableOrPossibleLender + * @property {number} limit + * @property {string} lenderName + * @property {string} slug + * @property {boolean} isDefault + * @property {string} logo + */ + +/** + * @typedef GetSchemesRequest + * @property {CustomerObject} customer + * @property {Order} order + * @property {Device} device + * @property {Object} [meta] + */ + /** * @typedef CustomerMetricsResponse * @property {CustomerMetrics} [data] @@ -1066,6 +1173,7 @@ class PlatformApplicationClient { /** * @typedef SourceAnalyticsRequest * @property {CustomerMetricsFilters[]} [filters] + * @property {string} [merchantId] */ /** @@ -1094,9 +1202,9 @@ class PlatformApplicationClient { /** * @typedef DocumentItems - * @property {string} [number] + * @property {string} number * @property {string} [category] - * @property {string} [type] + * @property {string} type * @property {string} [name] * @property {string} [issuedOn] * @property {string} [issuedAt] @@ -1119,9 +1227,7 @@ class PlatformApplicationClient { * @property {string} [status] * @property {string} [message] * @property {string} [redirectUrl] - * @property {string} [callbackUrl] * @property {CreditLimitObject[]} [creditLimits] - * @property {Object} [__headers] */ /** @@ -1137,10 +1243,93 @@ class PlatformApplicationClient { */ /** - * @typedef GetSchemesSuccess - * @property {string} [userId] - * @property {undefined[]} lenders - * @property {Object} [__headers] + * @typedef EmiSchedule + * @property {number} [installmentNo] + * @property {number} [installmentAmount] + * @property {string} [dueDate] + */ + +/** + * @typedef PaymentOption + * @property {string} [id] + * @property {string} [title] + * @property {string} [subtitle] + * @property {string} [description] + * @property {number} [tenure] + * @property {number} [processingFee] + * @property {number} [amount] + * @property {boolean} [isDefault] + * @property {EmiSchedule[]} [emiSchedule] + */ + +/** + * @typedef PaymentOptions + * @property {PaymentOption} [payLater] + * @property {PaymentOption[]} [emis] + */ + +/** + * @typedef LenderAndPaymentOption + * @property {string} [id] + * @property {string} name + * @property {string} [title] + * @property {string} [subtitle] + * @property {boolean} [isDefault] + * @property {string} logoUrl + * @property {number} [amount] + * @property {PaymentOptions} [paymentOptions] + */ + +/** + * @typedef GetSchemesSuccessOld + * @property {string} userId + * @property {LenderAndPaymentOption[]} [lenders] + */ + +/** + * @typedef PageSchemaResponse + * @property {string} [slug] + * @property {string} [description] + * @property {Object} [sections] + * @property {Object} [settings] + */ + +/** + * @typedef userCountRequest + * @property {string} [merchantId] + * @property {string} [startDate] + * @property {string} [endDate] + */ + +/** + * @typedef IntegrationResponseMeta + * @property {string} timestamp + * @property {string} version + * @property {string} product + * @property {string} [requestId] + */ + +/** + * @typedef IntegrationResponseError + * @property {string} code + * @property {string} message + * @property {string} exception + * @property {string} [field] + * @property {string} [in] + */ + +/** + * @typedef IntegrationSuccessResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {Object} data + */ + +/** + * @typedef IntegrationErrorResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {IntegrationResponseError[]} [errors] */ /** @@ -1152,6 +1341,9 @@ class PlatformApplicationClient { * @property {boolean} [isDownpaymentRequired] * @property {number} [downpaymentAmount] * @property {number} [loanAmount] + * @property {Object} [data] + * @property {string} [transactionId] + * @property {string} [lenderSlug] */ /** @@ -1187,7 +1379,6 @@ class PlatformApplicationClient { * @property {string} [transactionId] * @property {string} [status] * @property {string} [message] - * @property {Object} [__headers] */ /** @@ -1227,7 +1418,6 @@ class PlatformApplicationClient { * @property {string} [lenderName] * @property {string} [lenderLogo] * @property {string} [loanType] - * @property {string} [repaymentTransactionId] * @property {string} [nextDueDate] * @property {number} [paidPercent] * @property {LenderDetail} [lenderDetail] @@ -1256,16 +1446,6 @@ class PlatformApplicationClient { * @property {Transactions[]} transactions */ -/** - * @typedef MerchantTransactions - * @property {string} [outstandingAmount] - */ - -/** - * @typedef MerchantTransactionSummary - * @property {MerchantTransactions} [merchantOutstandingSummary] - */ - /** * @typedef GetReconciliationFileResponse * @property {ReconFile[]} files @@ -1547,14 +1727,80 @@ class PlatformApplicationClient { */ /** - * @typedef LenderTheme - * @property {string} logoUrl - * @property {string} iconUrl - * @property {string} landscapeBgUrl - * @property {string} portraitBgUrl + * @typedef TransactionOrder + * @property {string} id + * @property {number} amount + */ + +/** + * @typedef TransactionMerchant + * @property {string} name + * @property {string} logo + */ + +/** + * @typedef TransactionLoan + * @property {string} number + * @property {number} amount + * @property {string} type + */ + +/** + * @typedef TransactionLender + * @property {string} name + * @property {string} slug + * @property {string} logo * @property {string} shortName */ +/** + * @typedef UserTransaction + * @property {string} id + * @property {number} amount + * @property {string} type + * @property {string} status + * @property {string} [settlementUtr] + * @property {string} [refundId] + * @property {string} createdAt + * @property {boolean} isMasked + * @property {TransactionOrder} [order] + * @property {TransactionMerchant} merchant + * @property {TransactionLoan} [loan] + * @property {TransactionLender} [lender] + */ + +/** + * @typedef Pagination + * @property {string} [type] + * @property {number} current + * @property {boolean} hasPrevious + * @property {boolean} hasNext + * @property {number} size + * @property {number} itemTotal + */ + +/** + * @typedef GetTransactionsData + * @property {UserTransaction[]} transactions + * @property {Pagination} page + */ + +/** + * @typedef GetTransactionsResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {GetTransactionsData} data + * @property {Object} [__headers] + */ + +/** + * @typedef SummaryRequest + * @property {string} [startDate] + * @property {string} [endDate] + * @property {string} [merchantId] + * @property {string} [type] + */ + /** * @typedef Lender * @property {string} [id] @@ -1562,13 +1808,12 @@ class PlatformApplicationClient { * @property {boolean} [active] * @property {string} [imageUrl] * @property {string} [slug] - * @property {LenderTheme} [theme] + * @property {Object} [theme] * @property {boolean} [b2b] * @property {boolean} [b2c] * @property {string} [merchantConfigSchema] * @property {string} [createdAt] * @property {string} [updatedAt] - * @property {number} [approvedLimit] * @property {string} [deletedAt] * @property {Object} [meta] * @property {Object} [metaSchema] @@ -1726,6 +1971,54 @@ class PlatformApplicationClient { * @property {string} [address] */ +/** + * @typedef EntityMapDto + * @property {string} id + * @property {string} [merchantId] + * @property {string} [status] + * @property {string} lenderId + * @property {number} [limit] + * @property {string} [creditType] + * @property {string} userId + * @property {string} entityId + */ + +/** + * @typedef EntityDto + * @property {string} id + * @property {string} [type] + * @property {string} [address] + * @property {string} [name] + * @property {string} [gender] + * @property {string} [dob] + * @property {string} userId + */ + +/** + * @typedef MerchantSchema + * @property {string} id + * @property {string} [name] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [apiHook] + * @property {string} [epikId] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {string} [createdBy] + * @property {boolean} [active] + * @property {string} [category] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + */ + /** * @typedef Consent * @property {string} text @@ -1761,6 +2054,7 @@ class PlatformApplicationClient { * @property {string} name * @property {string} [entity] * @property {string} [merchantId] + * @property {string} [onboardingToken] */ /** @@ -1895,12 +2189,19 @@ class PlatformApplicationClient { * @typedef LenderOnboardRequest * @property {string} [ack] * @property {Object} data - * @property {string} [entityMapId] * @property {string} [merchantId] */ /** - * @typedef UpdateLenderStatusRequest + * @typedef LenderOnboardRequestV1 + * @property {string} entityMapId + * @property {string} [ack] + * @property {Object} data + * @property {string} [merchantId] + */ + +/** + * @typedef UpdateLenderStatusRequest * @property {string} status * @property {Object} payload * @property {Object} data @@ -2013,7 +2314,9 @@ class PlatformApplicationClient { /** * @typedef RegisterGstRequest - * @property {string} gstTin + * @property {string} gstin + * @property {boolean} [skipGst] + * @property {string} [onboardingToken] */ /** @@ -2093,33 +2396,49 @@ class PlatformApplicationClient { */ /** - * @typedef EntityMapDto - * @property {string} id - * @property {string} [merchantId] - * @property {string} [status] - * @property {string} lenderId - * @property {number} [limit] - * @property {string} [creditType] - * @property {string} userId - * @property {string} entityId + * @typedef BusinessDetail + * @property {string} category + * @property {string} [shopName] + * @property {string} legalName + * @property {string} [address] + * @property {string} [type] + * @property {string} [pincode] */ /** - * @typedef EntityDto - * @property {string} id - * @property {string} [type] - * @property {string} [address] + * @typedef VintageData + * @property {number} month + * @property {number} year + * @property {number} totalTransactions + * @property {number} totalTransactionAmount + * @property {number} [totalCancellations] + * @property {number} [totalCancellationAmount] + */ + +/** + * @typedef DocumentObjects + * @property {string} number + * @property {string} category + * @property {string} type * @property {string} [name] - * @property {string} [gender] - * @property {string} [dob] - * @property {string} userId + * @property {string} [issuedOn] + * @property {string} [issuedAt] + * @property {string} [issuedBy] + * @property {string} [expiryOn] + */ + +/** + * @typedef KycCountByStatus + * @property {string} [startDate] + * @property {string} [endDate] + * @property {string} [merchantId] + * @property {string} [lenderId] */ /** * @typedef FindDocResponse * @property {string} status * @property {string} info - * @property {string} number * @property {Object} [details] * @property {string} [name] */ @@ -2191,6 +2510,9 @@ class PlatformApplicationClient { * @property {string} entityMapId * @property {boolean} actionIsForm * @property {Form} [actionForm] + * @property {string} [merchantId] + * @property {string} [actionName] + * @property {string} [actionDescription] */ /** @@ -2222,11 +2544,6 @@ class PlatformApplicationClient { * @property {Object} [deletedAt] */ -/** - * @typedef GetKycDocsResponse - * @property {FindDocResponse[]} documents - */ - /** * @typedef OrganizationLogosObject * @property {string} id @@ -2272,25 +2589,26 @@ class PlatformApplicationClient { */ /** - * @typedef ApprovedLenders + * @typedef GetAllUserLendersByEnityId + * @property {string} entityId + * @property {string} entityMapId + * @property {string} userId * @property {string} status - * @property {BreOutput[]} lenders + * @property {Lender} [lender] + * @property {string} [partnerId] + * @property {number} [approvedLimit] */ /** - * @typedef BreResultStatus + * @typedef ApprovedLenders * @property {string} status - * @property {BreOutput[]} [approvedLenders] + * @property {BreOutput[]} lenders */ /** - * @typedef GetAllUserLendersByEnityId - * @property {string} entityId - * @property {string} entityMapId - * @property {string} userId + * @typedef BreResultStatus * @property {string} status - * @property {Lender} lender - * @property {string} [partnerId] + * @property {BreOutput[]} [approvedLenders] */ /** @@ -2417,6 +2735,15 @@ class PlatformApplicationClient { * @property {Object} [data] */ +/** + * @typedef Action + * @property {string} step + * @property {string} status + * @property {number} index + * @property {boolean} [isForm] + * @property {Form} form + */ + /** * @typedef InitiateKycResponse * @property {UserKycDetail} kycResult @@ -2428,6 +2755,7 @@ class PlatformApplicationClient { * @property {string} status * @property {Object} [data] * @property {string} [remark] + * @property {string} reasons * @property {UserKycDetail} kycResult * @property {Action} action */ @@ -2500,7 +2828,7 @@ class PlatformApplicationClient { * @property {string} slug * @property {boolean} active * @property {string} id - * @property {LenderTheme} [theme] + * @property {Object} [theme] */ /** @@ -2609,7 +2937,7 @@ class PlatformApplicationClient { * @property {string} [deletedAt] * @property {number} approvedLimit * @property {string} [slug] - * @property {LenderTheme} [theme] + * @property {Object} [theme] * @property {Object} [name] */ @@ -2625,6 +2953,7 @@ class PlatformApplicationClient { /** * @typedef IngtrAvailableLimit * @property {IntgrAvailableCreditLimit[]} available + * @property {IntgrAvailableCreditLimit[]} [possible] */ /** @@ -2768,7 +3097,7 @@ class PlatformApplicationClient { /** * @typedef GstDetails - * @property {string} gstTin + * @property {string} gstin * @property {string} businessName */ @@ -2802,12 +3131,6 @@ class PlatformApplicationClient { * @property {MetricData} data */ -/** - * @typedef ManualKycResponse - * @property {string} message - * @property {UserKycLenderStepMap} step - */ - /** * @typedef BreOutput * @property {string} id @@ -2825,9 +3148,636 @@ class PlatformApplicationClient { * @property {string} deletedAt */ +/** + * @typedef ManualKycResponse + * @property {string} message + * @property {UserKycLenderStepMap} step + */ + /** * @typedef CustomerKycDetailsReponse * @property {UserKycLenderStepMap} data */ +/** + * @typedef BlockUserRequestSchema + * @property {boolean} [status] + * @property {string[]} [userid] + * @property {string} [reason] + */ + +/** + * @typedef EditEmailRequestSchema + * @property {string} [email] + */ + +/** + * @typedef SendVerificationLinkMobileRequestSchema + * @property {boolean} [verified] + * @property {boolean} [active] + * @property {string} [countryCode] + * @property {string} [phone] + * @property {boolean} [primary] + */ + +/** + * @typedef EditMobileRequestSchema + * @property {string} [countryCode] + * @property {string} [phone] + */ + +/** + * @typedef UpdateEmail + * @property {string} email + * @property {any} [additionalProperties] + */ + +/** + * @typedef EditProfileRequestSchema + * @property {string} firstName + * @property {string} lastName + * @property {string} [countryCode] + * @property {string} [mobile] + * @property {string} [email] + * @property {string} [gender] + * @property {string} [registrationToken] + */ + +/** + * @typedef EditProfileMobileSchema + * @property {string} [phone] + * @property {string} [countryCode] + */ + +/** + * @typedef SendEmailOtpRequestSchema + * @property {string} [email] + * @property {string} [action] + * @property {string} [token] + * @property {string} [registerToken] + */ + +/** + * @typedef VerifyEmailOtpRequestSchema + * @property {string} [email] + * @property {string} [action] + * @property {string} [registerToken] + * @property {string} [otp] + */ + +/** + * @typedef ReSendMobileOtpRequestSchema + * @property {string} [captchaCode] + * @property {string} token + * @property {string} [androidHash] + */ + +/** + * @typedef ResetPasswordSuccess + * @property {string} [status] + */ + +/** + * @typedef RegisterFormSuccess + * @property {string} [email] + * @property {number} [resendTimer] + * @property {string} [resendToken] + * @property {string} [resendEmailToken] + * @property {string} [registerToken] + * @property {boolean} [success] + * @property {string} [requestId] + * @property {string} [message] + * @property {string} [mobile] + * @property {string} [countryCode] + * @property {boolean} [verifyEmailOtp] + * @property {boolean} [verifyMobileOtp] + * @property {boolean} [userExists] + */ + +/** + * @typedef VerifyEmailSuccess + * @property {string} [message] + */ + +/** + * @typedef BlockUserSuccess + * @property {boolean} [success] + */ + +/** + * @typedef EmailOtpSuccess + * @property {boolean} [success] + */ + +/** + * @typedef VerifyEmailOTPSuccess + * @property {UserSchema} [user] + * @property {boolean} [verifyEmailLink] + */ + +/** + * @typedef SendMobileVerifyLinkSuccess + * @property {boolean} [verifyMobileLink] + */ + +/** + * @typedef SendEmailVerifyLinkSuccess + * @property {boolean} [verifyEmailLink] + */ + +/** + * @typedef UserSearchResponseSchema + * @property {UserSchema[]} [users] + */ + +/** + * @typedef CustomerListResponseSchema + * @property {UserSchema[]} [items] + * @property {PaginationSchema} [page] + */ + +/** + * @typedef PaginationSchema + * @property {number} [size] + * @property {number} [itemTotal] + * @property {boolean} [hasNext] + * @property {string} [type] + * @property {number} [current] + */ + +/** + * @typedef UserObjectSchema + * @property {UserSchema} [user] + */ + +/** + * @typedef CreateOrganization + * @property {string} [name] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + * @property {string} [docType] + * @property {string} [docNumber] + * @property {string} [organizationId] + */ + +/** + * @typedef UpdateLogo + * @property {string} [logo] + */ + +/** + * @typedef AddMetaSchemaResponse + * @property {string} [merchantId] + * @property {string} [lenderId] + * @property {string} [mid] + * @property {Object} [data] + */ + +/** + * @typedef UpdateOrganization + * @property {string} id + * @property {Object} [name] + * @property {Object} [logo] + * @property {Object} [website] + * @property {Object} [disbursementAccountHolderName] + * @property {Object} [disbursementAccountNumber] + * @property {Object} [disbursementIfsc] + * @property {boolean} [active] + */ + +/** + * @typedef UpdateFinancials + * @property {string} disbursementAccountHolderName + * @property {string} disbursementAccountNumber + * @property {string} disbursementIfsc + */ + +/** + * @typedef Documents + * @property {string} docType + * @property {string} docNumber + */ + +/** + * @typedef FinancialDetails + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {Documents[]} [documents] + */ + +/** + * @typedef GetOrganization + * @property {string} [organizationId] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {boolean} [isAdmin] + * @property {string} [name] + * @property {boolean} [isActive] + */ + +/** + * @typedef OrganizationDetails + * @property {string} [name] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {boolean} [isActive] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + */ + +/** + * @typedef Organization + * @property {string} [id] + * @property {string} [name] + * @property {boolean} [active] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ + +/** + * @typedef OrganizationList + * @property {string} [name] + * @property {string} [logo] + * @property {boolean} [id] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {boolean} [isActive] + * @property {string} [epikId] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + */ + +/** + * @typedef OrganizationCount + * @property {string} [count] + */ + +/** + * @typedef TeamMembers + * @property {Member[]} [members] + */ + +/** + * @typedef Member + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {Profile} [profile] + */ + +/** + * @typedef Profile + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ + +/** + * @typedef AddTeamMember + * @property {string} [countryCode] + * @property {string} [mobile] + * @property {string} [email] + * @property {boolean} [userIsAdmin] + */ + +/** + * @typedef UpdateTeamMemberRole + * @property {boolean} [userIsAdmin] + * @property {string} [userId] + */ + +/** + * @typedef RemoveTeamMemberResponse + * @property {boolean} [success] + */ + +/** + * @typedef AddTeamMemberResponse + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ + +/** + * @typedef ApiKey + * @property {string} [key] + * @property {string} [secret] + */ + +/** + * @typedef UpdateApiHook + * @property {string} apiKey + * @property {string} url + * @property {Object} [customHeaders] + */ + +/** + * @typedef ApiHookDetails + * @property {string} apiKey + * @property {string} url + * @property {Object} [customHeaders] + * @property {string} [createdAt] + * @property {string} [updatedAt] + */ + +/** + * @typedef UpdateApiHookResponse + * @property {boolean} [success] + */ + +/** + * @typedef OrganizationIp + * @property {string} [id] + * @property {string} ip + */ + +/** + * @typedef AddOrganizationIpDetails + * @property {OrganizationIp[]} [organizationIps] + * @property {string} [delete] + */ + +/** + * @typedef AddUpdateCsvFileResponse + * @property {string} [message] + */ + +/** + * @typedef AddUpdateCsvFileRequest + * @property {string} [csv] + * @property {string} [organizationId] + */ + +/** + * @typedef CsvFile + * @property {string} [csv] + */ + +/** + * @typedef AddReportCsvFileResponse + * @property {string} [message] + */ + +/** + * @typedef AddReportCsvFileRequest + * @property {string} [csv] + * @property {string} [organizationId] + * @property {string} [name] + * @property {string} [type] + */ + +/** + * @typedef ReportCsvFileResponse + * @property {string} [csv] + */ + +/** + * @typedef AddReportRequestArray + * @property {string} [mobile] + * @property {string} [merchantId] + * @property {string} [category] + * @property {string} [shopName] + * @property {string} [legalName] + * @property {string} [firstName] + * @property {string} [middleName] + * @property {string} [lastName] + * @property {string} [aadhaar] + * @property {string} [nameOnPan] + * @property {string} [gstNumber] + * @property {string} [gstBusinessName] + * @property {string} [panNumber] + * @property {string} [udyam] + * @property {string} [ownershipType] + * @property {string} [address] + * @property {string} [pincode] + * @property {string} [license1Type] + * @property {string} [license1] + * @property {string} [license2Type] + * @property {string} [license2] + */ + +/** + * @typedef AddReportRequest + * @property {Object[]} [businessDetails] + */ + +/** + * @typedef AddReportResponseArray + * @property {string} [mobile] + * @property {string} [merchantId] + * @property {string} [anchorId] + * @property {string} [category] + * @property {string} [shopName] + * @property {string} [legalName] + * @property {string} [firstName] + * @property {string} [middleName] + * @property {string} [lastName] + * @property {string} [aadhaar] + * @property {string} [nameOnPan] + * @property {string} [gstNumber] + * @property {string} [gstBusinessName] + * @property {string} [panNumber] + * @property {string} [udyam] + * @property {string} [ownershipType] + * @property {string} [address] + * @property {string} [pincode] + * @property {string} [license1Type] + * @property {string} [license1] + * @property {string} [license2Type] + * @property {string} [license2] + */ + +/** + * @typedef AddReportResponse + * @property {AddReportResponseArray[]} [businessDetails] + */ + +/** + * @typedef VintageDataResponseObject + * @property {string} [month] + * @property {number} [year] + * @property {string} [revenue] + * @property {string} [businessId] + * @property {string} [createdBy] + * @property {string} [id] + * @property {string} [createdAt] + * @property {string} [updatedBy] + * @property {string} [updatedAt] + */ + +/** + * @typedef VintageDataResponse + * @property {VintageDataResponseObject[]} [vintageData] + */ + +/** + * @typedef AddSkuRequestArray + * @property {string} sku + * @property {string} productName + * @property {string} creditPurchaseOptionFlag + * @property {string} effectiveDates + * @property {string} organizationId + */ + +/** + * @typedef AddSkuRequest + * @property {AddSkuRequestArray[]} [skuDetails] + */ + +/** + * @typedef AddSkuResponse + * @property {string} [message] + */ + +/** + * @typedef RestrictedSkuSchema + * @property {Object[]} [skuDetails] + */ + +/** + * @typedef OrganizationIpResponse + * @property {string} organizationId + * @property {string} ip + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} id + */ + +/** + * @typedef OrganizationIpDetails + * @property {OrganizationIpResponse[]} [organizationIps] + */ + +/** + * @typedef RefundSuccess + * @property {string} status + * @property {number} message + * @property {string} transactionId + * @property {string} refundId + */ + +/** + * @typedef RefundItem + * @property {Object[]} items + */ + +/** + * @typedef PaymentLinkResponse + * @property {string} [status] + * @property {string} [message] + * @property {string} [paymentLink] + */ + +/** + * @typedef ApplicationCutomer + * @property {string} [countryCode] + * @property {string} mobile + * @property {string} [uid] + * @property {string} [email] + */ + +/** + * @typedef GeoLocation + * @property {number} latitude + * @property {number} longitude + */ + +/** + * @typedef Address + * @property {string} [line1] + * @property {string} [line2] + * @property {string} [city] + * @property {string} [state] + * @property {string} [country] + * @property {string} [pincode] + * @property {string} [type] + * @property {GeoLocation} [geoLocation] + */ + +/** + * @typedef OrderItems + * @property {string} [category] + * @property {string} [sku] + * @property {number} [rate] + * @property {number} [quantity] + */ + +/** + * @typedef PaymentLinkRequest + * @property {boolean} [autoCapture] + * @property {string} [lenderId] + * @property {number} [emiTenure] + * @property {ApplicationCutomer} customer + * @property {Order} order + * @property {Device} [device] + * @property {Object} [meta] + */ + +/** + * @typedef UpdateLenderStatusSchemaRequest + * @property {string} [merchantId] + * @property {boolean} [enable] + */ + +/** + * @typedef UpdateLenderStatusSchemaResponse + * @property {string} [merchantId] + * @property {string} [lenderId] + * @property {string} [mid] + * @property {boolean} [enable] + * @property {Object} [data] + */ + +/** + * @typedef CreateUserRequestSchema + * @property {string} mobile + * @property {string} [email] + * @property {string} [firstName] + * @property {string} [lastName] + * @property {string} [gender] + */ + +/** + * @typedef CreateUserResponseSchema + * @property {UserSchema} [user] + */ + module.exports = PlatformApplicationClient; diff --git a/sdk/platform/PlatformApplicationModels.js b/sdk/platform/PlatformApplicationModels.js index 86e3fde..ffefbd7 100644 --- a/sdk/platform/PlatformApplicationModels.js +++ b/sdk/platform/PlatformApplicationModels.js @@ -1,6 +1,42 @@ const Joi = require("joi"); class Validator { + static RefundResponse() { + return Joi.object({ + status: Joi.string().allow(""), + + message: Joi.string().allow(""), + + transactionId: Joi.string().allow(""), + + refundId: Joi.string().allow(""), + + __headers: Joi.any(), + }); + } + + static UserSource() { + return Joi.object({ + userId: Joi.string().allow(""), + + type: Joi.string().allow(""), + + sourceId: Joi.string().allow(""), + + meta: Joi.any(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + app: Joi.string().allow(""), + + entityId: Joi.string().allow(""), + + userMerchants: Joi.array().items(Joi.string().allow("")), + }); + } + static UserSchema() { return Joi.object({ id: Joi.string().allow(""), @@ -427,8 +463,6 @@ class Validator { uid: Joi.string().allow("").required(), - emiTenure: Joi.number(), - items: Joi.array().items(this.Items()), shippingAddress: this.OrderAddress(), @@ -488,13 +522,13 @@ class Validator { meta: Joi.any(), fetchLimitOptions: Joi.boolean(), + + fetchPlans: Joi.boolean(), }); } static CreateTransaction() { return Joi.object({ - autoCapture: Joi.boolean(), - redirectUrl: Joi.string().allow("").required(), customer: this.CustomerObject().required(), @@ -504,13 +538,17 @@ class Validator { device: this.Device().required(), meta: Joi.any(), + + emiTenure: Joi.number(), + + lenderSlug: Joi.string().allow(""), + + consents: Joi.array().items(this.Consents()), }); } static ResendPaymentRequest() { return Joi.object({ - autoCapture: Joi.boolean(), - redirectUrl: Joi.string().allow(""), customer: this.CustomerObject().required(), @@ -521,11 +559,15 @@ class Validator { static VerifyCustomerSuccess() { return Joi.object({ - status: Joi.string().allow(""), + status: Joi.string().allow("").required(), - userStatus: Joi.string().allow(""), + userStatus: Joi.string().allow("").required(), - message: Joi.string().allow(""), + message: Joi.string().allow("").required(), + + schemes: Joi.array().items(this.SchemeResponse()), + + limit: this.LimitResponse(), __headers: Joi.any(), }); @@ -1121,6 +1163,8 @@ class Validator { type: Joi.string().allow(""), text: Joi.string().allow(""), + + purpose: Joi.string().allow(""), }); } @@ -1268,7 +1312,7 @@ class Validator { return Joi.object({ fingerprint: Joi.string().allow(""), - customer: this.CustomerObject().required(), + customer: this.CustomerObject(), refundItems: Joi.array().items(this.Items()), @@ -1277,6 +1321,8 @@ class Validator { refundId: Joi.string().allow("").required(), refundAmount: Joi.number().required(), + + redirectionUrl: Joi.string().allow(""), }); } @@ -1435,8 +1481,6 @@ class Validator { refreshTokenExpiryIn: Joi.string().allow(""), scope: Joi.array().items(Joi.string().allow("")), - - __headers: Joi.any(), }); } @@ -1449,8 +1493,6 @@ class Validator { tokenExpireAt: Joi.string().allow(""), tokenExpiryIn: Joi.string().allow(""), - - __headers: Joi.any(), }); } @@ -1506,6 +1548,16 @@ class Validator { }); } + static GetSchemesSuccess() { + return Joi.object({ + userId: Joi.string().allow(""), + + lenders: Joi.array().items(this.SchemeResponse()).required(), + + __headers: Joi.any(), + }); + } + static CustomerMetricsPivots() { return Joi.object({ date: Joi.string().allow(""), @@ -1562,6 +1614,126 @@ class Validator { }); } + static SchemeResponse() { + return Joi.object({ + slug: Joi.string().allow("").required(), + + isDefault: Joi.boolean().required(), + + logoUrl: Joi.string().allow("").required(), + + name: Joi.string().allow("").required(), + + title: Joi.string().allow("").required(), + + subtitle: Joi.string().allow("").required(), + + amount: Joi.number(), + + paymentOptions: this.SchemePaymentOptionsResponse().required(), + }); + } + + static SchemePaymentOptionsResponse() { + return Joi.object({ + emis: Joi.array().items(this.SchemeEmiPaymentOptionResponse()), + + payLater: this.SchemePayLaterPaymentOptionResponse(), + }); + } + + static SchemeEmiPaymentOptionResponse() { + return Joi.object({ + id: Joi.string().allow("").required(), + + isDefault: Joi.boolean().required(), + + description: Joi.string().allow("").required(), + + title: Joi.string().allow("").required(), + + subtitle: Joi.string().allow("").required(), + + amount: Joi.number().required(), + + interest: Joi.number(), + + processingFee: Joi.number().required(), + + tenure: Joi.number().required(), + + emiSchedule: Joi.array() + .items(this.SchemeEmiScheduleResponse()) + .required(), + }); + } + + static SchemeEmiScheduleResponse() { + return Joi.object({ + installmentNo: Joi.number().required(), + + installmentAmount: Joi.number().required(), + + dueDate: Joi.string().allow("").required(), + }); + } + + static SchemePayLaterPaymentOptionResponse() { + return Joi.object({ + id: Joi.string().allow("").required(), + + title: Joi.string().allow("").required(), + + subtitle: Joi.string().allow("").required(), + + description: Joi.string().allow("").required(), + + tenure: Joi.number().required(), + + interest: Joi.number().required(), + + processingFee: Joi.number().required(), + + amount: Joi.number().required(), + + isDefault: Joi.boolean().required(), + }); + } + + static LimitResponse() { + return Joi.object({ + available: Joi.array().items(this.AvailableOrPossibleLender()), + + possible: Joi.array().items(this.AvailableOrPossibleLender()), + }); + } + + static AvailableOrPossibleLender() { + return Joi.object({ + limit: Joi.number().required(), + + lenderName: Joi.string().allow("").required(), + + slug: Joi.string().allow("").required(), + + isDefault: Joi.boolean().required(), + + logo: Joi.string().allow("").required(), + }); + } + + static GetSchemesRequest() { + return Joi.object({ + customer: this.CustomerObject().required(), + + order: this.Order().required(), + + device: this.Device().required(), + + meta: Joi.any(), + }); + } + static CustomerMetricsResponse() { return Joi.object({ data: this.CustomerMetrics(), @@ -1585,6 +1757,8 @@ class Validator { static SourceAnalyticsRequest() { return Joi.object({ filters: Joi.array().items(this.CustomerMetricsFilters()), + + merchantId: Joi.string().allow(""), }); } @@ -1626,11 +1800,11 @@ class Validator { static DocumentItems() { return Joi.object({ - number: Joi.string().allow(""), + number: Joi.string().allow("").required(), category: Joi.string().allow(""), - type: Joi.string().allow(""), + type: Joi.string().allow("").required(), name: Joi.string().allow(""), @@ -1668,11 +1842,7 @@ class Validator { redirectUrl: Joi.string().allow(""), - callbackUrl: Joi.string().allow(""), - creditLimits: Joi.array().items(this.CreditLimitObject()), - - __headers: Joi.any(), }); } @@ -1696,13 +1866,93 @@ class Validator { }); } - static GetSchemesSuccess() { + static EmiSchedule() { return Joi.object({ - userId: Joi.string().allow(""), + installmentNo: Joi.number(), - lenders: Joi.array().items(undefined).required(), + installmentAmount: Joi.number(), - __headers: Joi.any(), + dueDate: Joi.string().allow(""), + }); + } + + static PaymentOption() { + return Joi.object({ + id: Joi.string().allow(""), + + title: Joi.string().allow(""), + + subtitle: Joi.string().allow(""), + + description: Joi.string().allow(""), + + tenure: Joi.number(), + + processingFee: Joi.number(), + + amount: Joi.number(), + + isDefault: Joi.boolean(), + + emiSchedule: Joi.array().items(this.EmiSchedule()), + }); + } + + static PaymentOptions() { + return Joi.object({ + payLater: this.PaymentOption(), + + emis: Joi.array().items(this.PaymentOption()), + }); + } + + static LenderAndPaymentOption() { + return Joi.object({ + id: Joi.string().allow(""), + + name: Joi.string().allow("").required(), + + title: Joi.string().allow(""), + + subtitle: Joi.string().allow(""), + + isDefault: Joi.boolean(), + + logoUrl: Joi.string().allow("").required(), + + amount: Joi.number(), + + paymentOptions: this.PaymentOptions(), + }); + } + + static GetSchemesSuccessOld() { + return Joi.object({ + userId: Joi.string().allow("").required(), + + lenders: Joi.array().items(this.LenderAndPaymentOption()), + }); + } + + static PageSchemaResponse() { + return Joi.object({ + slug: Joi.string().allow(""), + + description: Joi.string().allow(""), + + sections: Joi.any(), + + settings: Joi.any(), + }); + } + + static userCountRequest() { + return Joi.object({ + merchantId: Joi.string().allow(""), + + startDate: Joi.string().allow(""), + + endDate: Joi.string().allow(""), }); } @@ -1774,27 +2024,79 @@ class Validator { ); } - static DisbursalRequest() { + static IntegrationResponseMeta() { return Joi.object({ - fingerprint: Joi.string().allow(""), - - chargeToken: Joi.string().allow("").required(), - - loanTypeId: Joi.number(), - - emiTenure: Joi.number(), + timestamp: Joi.string().allow("").required(), - isDownpaymentRequired: Joi.boolean(), + version: Joi.string().allow("").required(), - downpaymentAmount: Joi.number(), + product: Joi.string().allow("").required(), - loanAmount: Joi.number(), + requestId: Joi.string().allow("").allow(null), }); } - static WorkflowUser() { + static IntegrationResponseError() { return Joi.object({ - mobile: Joi.string().allow(""), + code: Joi.string().allow("").required(), + + message: Joi.string().allow("").required(), + + exception: Joi.string().allow("").required(), + + field: Joi.string().allow("").allow(null), + + in: Joi.string().allow("").allow(null), + }); + } + + static IntegrationSuccessResponse() { + return Joi.object({ + message: Joi.string().allow("").required(), + + meta: this.IntegrationResponseMeta().required(), + + data: Joi.any().required(), + }); + } + + static IntegrationErrorResponse() { + return Joi.object({ + message: Joi.string().allow("").required(), + + meta: this.IntegrationResponseMeta().required(), + + errors: Joi.array().items(this.IntegrationResponseError()), + }); + } + + static DisbursalRequest() { + return Joi.object({ + fingerprint: Joi.string().allow(""), + + chargeToken: Joi.string().allow("").required(), + + loanTypeId: Joi.number(), + + emiTenure: Joi.number(), + + isDownpaymentRequired: Joi.boolean(), + + downpaymentAmount: Joi.number(), + + loanAmount: Joi.number(), + + data: Joi.any(), + + transactionId: Joi.string().allow(""), + + lenderSlug: Joi.string().allow(""), + }); + } + + static WorkflowUser() { + return Joi.object({ + mobile: Joi.string().allow(""), }); } @@ -1839,8 +2141,6 @@ class Validator { status: Joi.string().allow(""), message: Joi.string().allow(""), - - __headers: Joi.any(), }); } @@ -1908,8 +2208,6 @@ class Validator { loanType: Joi.string().allow(""), - repaymentTransactionId: Joi.string().allow(""), - nextDueDate: Joi.string().allow(""), paidPercent: Joi.number(), @@ -1956,18 +2254,6 @@ class Validator { }); } - static MerchantTransactions() { - return Joi.object({ - outstandingAmount: Joi.string().allow(""), - }); - } - - static MerchantTransactionSummary() { - return Joi.object({ - merchantOutstandingSummary: this.MerchantTransactions(), - }); - } - static GetReconciliationFileResponse() { return Joi.object({ files: Joi.array().items(this.ReconFile()).required(), @@ -2384,20 +2670,120 @@ class Validator { }); } - static LenderTheme() { + static TransactionOrder() { return Joi.object({ - logoUrl: Joi.string().allow("").required(), + id: Joi.string().allow("").required(), - iconUrl: Joi.string().allow("").required(), + amount: Joi.number().required(), + }); + } + + static TransactionMerchant() { + return Joi.object({ + name: Joi.string().allow("").required(), - landscapeBgUrl: Joi.string().allow("").required(), + logo: Joi.string().allow("").required(), + }); + } + + static TransactionLoan() { + return Joi.object({ + number: Joi.string().allow("").required(), + + amount: Joi.number().required(), + + type: Joi.string().allow("").required(), + }); + } + + static TransactionLender() { + return Joi.object({ + name: Joi.string().allow("").required(), + + slug: Joi.string().allow("").required(), - portraitBgUrl: Joi.string().allow("").required(), + logo: Joi.string().allow("").required(), shortName: Joi.string().allow("").required(), }); } + static UserTransaction() { + return Joi.object({ + id: Joi.string().allow("").required(), + + amount: Joi.number().required(), + + type: Joi.string().allow("").required(), + + status: Joi.string().allow("").required(), + + settlementUtr: Joi.string().allow("").allow(null), + + refundId: Joi.string().allow("").allow(null), + + createdAt: Joi.string().allow("").required(), + + isMasked: Joi.boolean().required(), + + order: this.TransactionOrder(), + + merchant: this.TransactionMerchant().required(), + + loan: this.TransactionLoan(), + + lender: this.TransactionLender(), + }); + } + + static Pagination() { + return Joi.object({ + type: Joi.string().allow(""), + + current: Joi.number().required(), + + hasPrevious: Joi.boolean().required(), + + hasNext: Joi.boolean().required(), + + size: Joi.number().required(), + + itemTotal: Joi.number().required(), + }); + } + + static GetTransactionsData() { + return Joi.object({ + transactions: Joi.array().items(this.UserTransaction()).required(), + + page: this.Pagination().required(), + }); + } + + static GetTransactionsResponse() { + return Joi.object({ + message: Joi.string().allow("").required(), + + meta: this.IntegrationResponseMeta().required(), + + data: this.GetTransactionsData().required(), + + __headers: Joi.any(), + }); + } + + static SummaryRequest() { + return Joi.object({ + startDate: Joi.string().allow(""), + + endDate: Joi.string().allow(""), + + merchantId: Joi.string().allow(""), + + type: Joi.string().allow(""), + }); + } + static Lender() { return Joi.object({ id: Joi.string().allow(""), @@ -2410,7 +2796,7 @@ class Validator { slug: Joi.string().allow(""), - theme: this.LenderTheme(), + theme: Joi.any(), b2b: Joi.boolean(), @@ -2422,8 +2808,6 @@ class Validator { updatedAt: Joi.string().allow(""), - approvedLimit: Joi.number(), - deletedAt: Joi.string().allow(""), meta: Joi.any(), @@ -2696,6 +3080,90 @@ class Validator { }); } + static EntityMapDto() { + return Joi.object({ + id: Joi.string().allow("").required(), + + merchantId: Joi.string().allow(""), + + status: Joi.string().allow(""), + + lenderId: Joi.string().allow("").required(), + + limit: Joi.number(), + + creditType: Joi.string().allow(""), + + userId: Joi.string().allow("").required(), + + entityId: Joi.string().allow("").required(), + }); + } + + static EntityDto() { + return Joi.object({ + id: Joi.string().allow("").required(), + + type: Joi.string().allow(""), + + address: Joi.string().allow(""), + + name: Joi.string().allow(""), + + gender: Joi.string().allow(""), + + dob: Joi.string().allow(""), + + userId: Joi.string().allow("").required(), + }); + } + + static MerchantSchema() { + return Joi.object({ + id: Joi.string().allow("").required(), + + name: Joi.string().allow(""), + + logo: Joi.string().allow(""), + + website: Joi.string().allow(""), + + apiHook: Joi.string().allow(""), + + epikId: Joi.string().allow(""), + + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + + createdBy: Joi.string().allow(""), + + active: Joi.boolean(), + + category: Joi.string().allow(""), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + + businessName: Joi.string().allow(""), + + email: Joi.string().allow(""), + + businessAddress: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + b2b: Joi.boolean(), + + b2c: Joi.boolean(), + }); + } + static Consent() { return Joi.object({ text: Joi.string().allow("").required(), @@ -2747,6 +3215,8 @@ class Validator { entity: Joi.string().allow(""), merchantId: Joi.string().allow(""), + + onboardingToken: Joi.string().allow(""), }); } @@ -2948,7 +3418,17 @@ class Validator { data: Joi.any().required(), - entityMapId: Joi.string().allow(""), + merchantId: Joi.string().allow(""), + }); + } + + static LenderOnboardRequestV1() { + return Joi.object({ + entityMapId: Joi.string().allow("").required(), + + ack: Joi.string().allow(""), + + data: Joi.any().required(), merchantId: Joi.string().allow(""), }); @@ -3116,7 +3596,11 @@ class Validator { static RegisterGstRequest() { return Joi.object({ - gstTin: Joi.string().allow("").required(), + gstin: Joi.string().allow("").required(), + + skipGst: Joi.boolean(), + + onboardingToken: Joi.string().allow(""), }); } @@ -3236,41 +3720,67 @@ class Validator { }); } - static EntityMapDto() { + static BusinessDetail() { return Joi.object({ - id: Joi.string().allow("").required(), - - merchantId: Joi.string().allow(""), - - status: Joi.string().allow(""), + category: Joi.string().allow("").required(), - lenderId: Joi.string().allow("").required(), + shopName: Joi.string().allow(""), - limit: Joi.number(), + legalName: Joi.string().allow("").required(), - creditType: Joi.string().allow(""), + address: Joi.string().allow(""), - userId: Joi.string().allow("").required(), + type: Joi.string().allow(""), - entityId: Joi.string().allow("").required(), + pincode: Joi.string().allow(""), }); } - static EntityDto() { + static VintageData() { return Joi.object({ - id: Joi.string().allow("").required(), + month: Joi.number().required(), - type: Joi.string().allow(""), + year: Joi.number().required(), - address: Joi.string().allow(""), + totalTransactions: Joi.number().required(), + + totalTransactionAmount: Joi.number().required(), + + totalCancellations: Joi.number(), + + totalCancellationAmount: Joi.number(), + }); + } + + static DocumentObjects() { + return Joi.object({ + number: Joi.string().allow("").required(), + + category: Joi.string().allow("").required(), + + type: Joi.string().allow("").required(), name: Joi.string().allow(""), - gender: Joi.string().allow(""), + issuedOn: Joi.string().allow(""), - dob: Joi.string().allow(""), + issuedAt: Joi.string().allow(""), - userId: Joi.string().allow("").required(), + issuedBy: Joi.string().allow(""), + + expiryOn: Joi.string().allow(""), + }); + } + + static KycCountByStatus() { + return Joi.object({ + startDate: Joi.string().allow(""), + + endDate: Joi.string().allow(""), + + merchantId: Joi.string().allow(""), + + lenderId: Joi.string().allow(""), }); } @@ -3280,8 +3790,6 @@ class Validator { info: Joi.string().allow("").required(), - number: Joi.string().allow("").required(), - details: Joi.any(), name: Joi.string().allow(""), @@ -3395,6 +3903,12 @@ class Validator { actionIsForm: Joi.boolean().required(), actionForm: this.Form(), + + merchantId: Joi.string().allow(""), + + actionName: Joi.string().allow(""), + + actionDescription: Joi.string().allow(""), }); } @@ -3448,12 +3962,6 @@ class Validator { }); } - static GetKycDocsResponse() { - return Joi.object({ - documents: Joi.array().items(this.FindDocResponse()).required(), - }); - } - static OrganizationLogosObject() { return Joi.object({ id: Joi.string().allow("").required(), @@ -3518,35 +4026,37 @@ class Validator { }); } - static ApprovedLenders() { + static GetAllUserLendersByEnityId() { return Joi.object({ + entityId: Joi.string().allow("").required(), + + entityMapId: Joi.string().allow("").required(), + + userId: Joi.string().allow("").required(), + status: Joi.string().allow("").required(), - lenders: Joi.array().items(this.BreOutput()).required(), + lender: this.Lender(), + + partnerId: Joi.string().allow(""), + + approvedLimit: Joi.number(), }); } - static BreResultStatus() { + static ApprovedLenders() { return Joi.object({ status: Joi.string().allow("").required(), - approvedLenders: Joi.array().items(this.BreOutput()), + lenders: Joi.array().items(this.BreOutput()).required(), }); } - static GetAllUserLendersByEnityId() { + static BreResultStatus() { return Joi.object({ - entityId: Joi.string().allow("").required(), - - entityMapId: Joi.string().allow("").required(), - - userId: Joi.string().allow("").required(), - status: Joi.string().allow("").required(), - lender: this.Lender().required(), - - partnerId: Joi.string().allow(""), + approvedLenders: Joi.array().items(this.BreOutput()), }); } @@ -3754,6 +4264,20 @@ class Validator { }); } + static Action() { + return Joi.object({ + step: Joi.string().allow("").required(), + + status: Joi.string().allow("").required(), + + index: Joi.number().required(), + + isForm: Joi.boolean(), + + form: this.Form().required(), + }); + } + static InitiateKycResponse() { return Joi.object({ kycResult: this.UserKycDetail().required(), @@ -3770,6 +4294,8 @@ class Validator { remark: Joi.string().allow(""), + reasons: Joi.string().allow("").required(), + kycResult: this.UserKycDetail().required(), action: this.Action().required(), @@ -3874,7 +4400,7 @@ class Validator { id: Joi.string().allow("").required(), - theme: this.LenderTheme(), + theme: Joi.any(), }); } @@ -4032,7 +4558,7 @@ class Validator { slug: Joi.string().allow(""), - theme: this.LenderTheme(), + theme: Joi.any(), name: Joi.any(), }); @@ -4055,6 +4581,8 @@ class Validator { static IngtrAvailableLimit() { return Joi.object({ available: Joi.array().items(this.IntgrAvailableCreditLimit()).required(), + + possible: Joi.array().items(this.IntgrAvailableCreditLimit()), }); } @@ -4246,7 +4774,7 @@ class Validator { static GstDetails() { return Joi.object({ - gstTin: Joi.string().allow("").required(), + gstin: Joi.string().allow("").required(), businessName: Joi.string().allow("").required(), }); @@ -4292,14 +4820,6 @@ class Validator { }); } - static ManualKycResponse() { - return Joi.object({ - message: Joi.string().allow("").required(), - - step: this.UserKycLenderStepMap().required(), - }); - } - static BreOutput() { return Joi.object({ id: Joi.string().allow("").required(), @@ -4330,11 +4850,953 @@ class Validator { }); } + static ManualKycResponse() { + return Joi.object({ + message: Joi.string().allow("").required(), + + step: this.UserKycLenderStepMap().required(), + }); + } + static CustomerKycDetailsReponse() { return Joi.object({ data: this.UserKycLenderStepMap().required(), }); } + + static BlockUserRequestSchema() { + return Joi.object({ + status: Joi.boolean(), + + userid: Joi.array().items(Joi.string().allow("")), + + reason: Joi.string().allow(""), + }); + } + + static EditEmailRequestSchema() { + return Joi.object({ + email: Joi.string().allow(""), + }); + } + + static SendVerificationLinkMobileRequestSchema() { + return Joi.object({ + verified: Joi.boolean(), + + active: Joi.boolean(), + + countryCode: Joi.string().allow(""), + + phone: Joi.string().allow(""), + + primary: Joi.boolean(), + }); + } + + static EditMobileRequestSchema() { + return Joi.object({ + countryCode: Joi.string().allow(""), + + phone: Joi.string().allow(""), + }); + } + + static UpdateEmail() { + return Joi.object({ + email: Joi.string().allow("").required(), + + additionalProperties: Joi.string().allow(""), + }); + } + + static EditProfileRequestSchema() { + return Joi.object({ + firstName: Joi.string().allow("").required(), + + lastName: Joi.string().allow("").required(), + + countryCode: Joi.string().allow(""), + + mobile: Joi.string().allow(""), + + email: Joi.string().allow(""), + + gender: Joi.string().allow(""), + + registrationToken: Joi.string().allow(""), + }); + } + + static EditProfileMobileSchema() { + return Joi.object({ + phone: Joi.string().allow(""), + + countryCode: Joi.string().allow(""), + }); + } + + static SendEmailOtpRequestSchema() { + return Joi.object({ + email: Joi.string().allow(""), + + action: Joi.string().allow(""), + + token: Joi.string().allow(""), + + registerToken: Joi.string().allow(""), + }); + } + + static VerifyEmailOtpRequestSchema() { + return Joi.object({ + email: Joi.string().allow(""), + + action: Joi.string().allow(""), + + registerToken: Joi.string().allow(""), + + otp: Joi.string().allow(""), + }); + } + + static ReSendMobileOtpRequestSchema() { + return Joi.object({ + captchaCode: Joi.string().allow(""), + + token: Joi.string().allow("").required(), + + androidHash: Joi.string().allow(""), + }); + } + + static ResetPasswordSuccess() { + return Joi.object({ + status: Joi.string().allow(""), + }); + } + + static RegisterFormSuccess() { + return Joi.object({ + email: Joi.string().allow(""), + + resendTimer: Joi.number(), + + resendToken: Joi.string().allow(""), + + resendEmailToken: Joi.string().allow(""), + + registerToken: Joi.string().allow(""), + + success: Joi.boolean(), + + requestId: Joi.string().allow(""), + + message: Joi.string().allow(""), + + mobile: Joi.string().allow(""), + + countryCode: Joi.string().allow(""), + + verifyEmailOtp: Joi.boolean(), + + verifyMobileOtp: Joi.boolean(), + + userExists: Joi.boolean(), + }); + } + + static VerifyEmailSuccess() { + return Joi.object({ + message: Joi.string().allow(""), + }); + } + + static BlockUserSuccess() { + return Joi.object({ + success: Joi.boolean(), + }); + } + + static EmailOtpSuccess() { + return Joi.object({ + success: Joi.boolean(), + }); + } + + static VerifyEmailOTPSuccess() { + return Joi.object({ + user: this.UserSchema(), + + verifyEmailLink: Joi.boolean(), + }); + } + + static SendMobileVerifyLinkSuccess() { + return Joi.object({ + verifyMobileLink: Joi.boolean(), + }); + } + + static SendEmailVerifyLinkSuccess() { + return Joi.object({ + verifyEmailLink: Joi.boolean(), + }); + } + + static UserSearchResponseSchema() { + return Joi.object({ + users: Joi.array().items(this.UserSchema()), + }); + } + + static CustomerListResponseSchema() { + return Joi.object({ + items: Joi.array().items(this.UserSchema()), + + page: this.PaginationSchema(), + }); + } + + static PaginationSchema() { + return Joi.object({ + size: Joi.number(), + + itemTotal: Joi.number(), + + hasNext: Joi.boolean(), + + type: Joi.string().allow(""), + + current: Joi.number(), + }); + } + + static UserObjectSchema() { + return Joi.object({ + user: this.UserSchema(), + }); + } + + static CreateOrganization() { + return Joi.object({ + name: Joi.string().allow(""), + + logo: Joi.string().allow(""), + + website: Joi.string().allow(""), + + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + + businessName: Joi.string().allow(""), + + email: Joi.string().allow(""), + + businessAddress: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + b2b: Joi.boolean(), + + b2c: Joi.boolean(), + + docType: Joi.string().allow(""), + + docNumber: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + }); + } + + static UpdateLogo() { + return Joi.object({ + logo: Joi.string().allow(""), + }); + } + + static AddMetaSchemaResponse() { + return Joi.object({ + merchantId: Joi.string().allow(""), + + lenderId: Joi.string().allow(""), + + mid: Joi.string().allow(""), + + data: Joi.any(), + }); + } + + static UpdateOrganization() { + return Joi.object({ + id: Joi.string().allow("").required(), + + name: Joi.any(), + + logo: Joi.any(), + + website: Joi.any(), + + disbursementAccountHolderName: Joi.any(), + + disbursementAccountNumber: Joi.any(), + + disbursementIfsc: Joi.any(), + + active: Joi.boolean(), + }); + } + + static UpdateFinancials() { + return Joi.object({ + disbursementAccountHolderName: Joi.string().allow("").required(), + + disbursementAccountNumber: Joi.string().allow("").required(), + + disbursementIfsc: Joi.string().allow("").required(), + }); + } + + static Documents() { + return Joi.object({ + docType: Joi.string().allow("").required(), + + docNumber: Joi.string().allow("").required(), + }); + } + + static FinancialDetails() { + return Joi.object({ + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + + b2b: Joi.boolean(), + + b2c: Joi.boolean(), + + businessName: Joi.string().allow(""), + + email: Joi.string().allow(""), + + businessAddress: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + documents: Joi.array().items(this.Documents()), + }); + } + + static GetOrganization() { + return Joi.object({ + organizationId: Joi.string().allow(""), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + name: Joi.string().allow(""), + + isActive: Joi.boolean(), + }); + } + + static OrganizationDetails() { + return Joi.object({ + name: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + + isActive: Joi.boolean(), + + logo: Joi.string().allow(""), + + website: Joi.string().allow(""), + + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + }); + } + + static Organization() { + return Joi.object({ + id: Joi.string().allow(""), + + name: Joi.string().allow(""), + + active: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + }); + } + + static OrganizationList() { + return Joi.object({ + name: Joi.string().allow(""), + + logo: Joi.string().allow(""), + + id: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + + isActive: Joi.boolean(), + + epikId: Joi.string().allow(""), + + website: Joi.string().allow(""), + + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + }); + } + + static OrganizationCount() { + return Joi.object({ + count: Joi.string().allow(""), + }); + } + + static TeamMembers() { + return Joi.object({ + members: Joi.array().items(this.Member()), + }); + } + + static Member() { + return Joi.object({ + id: Joi.string().allow(""), + + userId: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + + profile: this.Profile(), + }); + } + + static Profile() { + return Joi.object({ + id: Joi.string().allow(""), + + userId: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + }); + } + + static AddTeamMember() { + return Joi.object({ + countryCode: Joi.string().allow(""), + + mobile: Joi.string().allow(""), + + email: Joi.string().allow(""), + + userIsAdmin: Joi.boolean(), + }); + } + + static UpdateTeamMemberRole() { + return Joi.object({ + userIsAdmin: Joi.boolean(), + + userId: Joi.string().allow(""), + }); + } + + static RemoveTeamMemberResponse() { + return Joi.object({ + success: Joi.boolean(), + }); + } + + static AddTeamMemberResponse() { + return Joi.object({ + id: Joi.string().allow(""), + + userId: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + }); + } + + static ApiKey() { + return Joi.object({ + key: Joi.string().allow(""), + + secret: Joi.string().allow(""), + }); + } + + static UpdateApiHook() { + return Joi.object({ + apiKey: Joi.string().allow("").required(), + + url: Joi.string().allow("").required(), + + customHeaders: Joi.any(), + }); + } + + static ApiHookDetails() { + return Joi.object({ + apiKey: Joi.string().allow("").required(), + + url: Joi.string().allow("").required(), + + customHeaders: Joi.any(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + }); + } + + static UpdateApiHookResponse() { + return Joi.object({ + success: Joi.boolean(), + }); + } + + static OrganizationIp() { + return Joi.object({ + id: Joi.string().allow(""), + + ip: Joi.string().allow("").required(), + }); + } + + static AddOrganizationIpDetails() { + return Joi.object({ + organizationIps: Joi.array().items(this.OrganizationIp()), + + delete: Joi.string().allow(""), + }); + } + + static AddUpdateCsvFileResponse() { + return Joi.object({ + message: Joi.string().allow(""), + }); + } + + static AddUpdateCsvFileRequest() { + return Joi.object({ + csv: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + }); + } + + static CsvFile() { + return Joi.object({ + csv: Joi.string().allow(""), + }); + } + + static AddReportCsvFileResponse() { + return Joi.object({ + message: Joi.string().allow(""), + }); + } + + static AddReportCsvFileRequest() { + return Joi.object({ + csv: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + name: Joi.string().allow(""), + + type: Joi.string().allow(""), + }); + } + + static ReportCsvFileResponse() { + return Joi.object({ + csv: Joi.string().allow(""), + }); + } + + static AddReportRequestArray() { + return Joi.object({ + mobile: Joi.string().allow(""), + + merchantId: Joi.string().allow(""), + + category: Joi.string().allow(""), + + shopName: Joi.string().allow(""), + + legalName: Joi.string().allow(""), + + firstName: Joi.string().allow(""), + + middleName: Joi.string().allow(""), + + lastName: Joi.string().allow(""), + + aadhaar: Joi.string().allow(""), + + nameOnPan: Joi.string().allow(""), + + gstNumber: Joi.string().allow(""), + + gstBusinessName: Joi.string().allow(""), + + panNumber: Joi.string().allow(""), + + udyam: Joi.string().allow(""), + + ownershipType: Joi.string().allow(""), + + address: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + license1Type: Joi.string().allow(""), + + license1: Joi.string().allow(""), + + license2Type: Joi.string().allow(""), + + license2: Joi.string().allow(""), + }); + } + + static AddReportRequest() { + return Joi.object({ + businessDetails: Joi.array().items(Joi.any()), + }); + } + + static AddReportResponseArray() { + return Joi.object({ + mobile: Joi.string().allow(""), + + merchantId: Joi.string().allow(""), + + anchorId: Joi.string().allow(""), + + category: Joi.string().allow(""), + + shopName: Joi.string().allow(""), + + legalName: Joi.string().allow(""), + + firstName: Joi.string().allow(""), + + middleName: Joi.string().allow(""), + + lastName: Joi.string().allow(""), + + aadhaar: Joi.string().allow(""), + + nameOnPan: Joi.string().allow(""), + + gstNumber: Joi.string().allow(""), + + gstBusinessName: Joi.string().allow(""), + + panNumber: Joi.string().allow(""), + + udyam: Joi.string().allow(""), + + ownershipType: Joi.string().allow(""), + + address: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + license1Type: Joi.string().allow(""), + + license1: Joi.string().allow(""), + + license2Type: Joi.string().allow(""), + + license2: Joi.string().allow(""), + }); + } + + static AddReportResponse() { + return Joi.object({ + businessDetails: Joi.array().items(this.AddReportResponseArray()), + }); + } + + static VintageDataResponseObject() { + return Joi.object({ + month: Joi.string().allow(""), + + year: Joi.number(), + + revenue: Joi.string().allow(""), + + businessId: Joi.string().allow(""), + + createdBy: Joi.string().allow(""), + + id: Joi.string().allow(""), + + createdAt: Joi.string().allow(""), + + updatedBy: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + }); + } + + static VintageDataResponse() { + return Joi.object({ + vintageData: Joi.array().items(this.VintageDataResponseObject()), + }); + } + + static AddSkuRequestArray() { + return Joi.object({ + sku: Joi.string().allow("").required(), + + productName: Joi.string().allow("").required(), + + creditPurchaseOptionFlag: Joi.string().allow("").required(), + + effectiveDates: Joi.string().allow("").required(), + + organizationId: Joi.string().allow("").required(), + }); + } + + static AddSkuRequest() { + return Joi.object({ + skuDetails: Joi.array().items(this.AddSkuRequestArray()), + }); + } + + static AddSkuResponse() { + return Joi.object({ + message: Joi.string().allow(""), + }); + } + + static RestrictedSkuSchema() { + return Joi.object({ + skuDetails: Joi.array().items(Joi.any()), + }); + } + + static OrganizationIpResponse() { + return Joi.object({ + organizationId: Joi.string().allow("").required(), + + ip: Joi.string().allow("").required(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + id: Joi.string().allow("").required(), + }); + } + + static OrganizationIpDetails() { + return Joi.object({ + organizationIps: Joi.array().items(this.OrganizationIpResponse()), + }); + } + + static RefundSuccess() { + return Joi.object({ + status: Joi.string().allow("").required(), + + message: Joi.number().required(), + + transactionId: Joi.string().allow("").required(), + + refundId: Joi.string().allow("").required(), + }); + } + + static RefundItem() { + return Joi.object({ + items: Joi.array().items(Joi.any()).required(), + }); + } + + static PaymentLinkResponse() { + return Joi.object({ + status: Joi.string().allow(""), + + message: Joi.string().allow(""), + + paymentLink: Joi.string().allow(""), + }); + } + + static ApplicationCutomer() { + return Joi.object({ + countryCode: Joi.string().allow(""), + + mobile: Joi.string().allow("").required(), + + uid: Joi.string().allow(""), + + email: Joi.string().allow(""), + }); + } + + static GeoLocation() { + return Joi.object({ + latitude: Joi.number().required(), + + longitude: Joi.number().required(), + }); + } + + static Address() { + return Joi.object({ + line1: Joi.string().allow(""), + + line2: Joi.string().allow(""), + + city: Joi.string().allow(""), + + state: Joi.string().allow(""), + + country: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + type: Joi.string().allow(""), + + geoLocation: this.GeoLocation(), + }); + } + + static OrderItems() { + return Joi.object({ + category: Joi.string().allow(""), + + sku: Joi.string().allow(""), + + rate: Joi.number(), + + quantity: Joi.number(), + }); + } + + static PaymentLinkRequest() { + return Joi.object({ + autoCapture: Joi.boolean(), + + lenderId: Joi.string().allow(""), + + emiTenure: Joi.number(), + + customer: this.ApplicationCutomer().required(), + + order: this.Order().required(), + + device: this.Device(), + + meta: Joi.object().pattern(/\S/, Joi.any()), + }); + } + + static UpdateLenderStatusSchemaRequest() { + return Joi.object({ + merchantId: Joi.string().allow(""), + + enable: Joi.boolean(), + }); + } + + static UpdateLenderStatusSchemaResponse() { + return Joi.object({ + merchantId: Joi.string().allow(""), + + lenderId: Joi.string().allow(""), + + mid: Joi.string().allow(""), + + enable: Joi.boolean(), + + data: Joi.any(), + }); + } + + static CreateUserRequestSchema() { + return Joi.object({ + mobile: Joi.string().allow("").required(), + + email: Joi.string().allow(""), + + firstName: Joi.string().allow(""), + + lastName: Joi.string().allow(""), + + gender: Joi.string().allow(""), + }); + } + + static CreateUserResponseSchema() { + return Joi.object({ + user: this.UserSchema(), + }); + } } module.exports = {}; diff --git a/sdk/platform/PlatformClient.d.ts b/sdk/platform/PlatformClient.d.ts index 20784a0..d12ed64 100644 --- a/sdk/platform/PlatformClient.d.ts +++ b/sdk/platform/PlatformClient.d.ts @@ -5,12 +5,33 @@ declare class PlatformClient { customer: Customer; credit: Credit; multiKyc: MultiKyc; + merchant: Merchant; application(applicationId: any): PlatformApplicationClient; setExtraHeaders(header: any): void; } declare namespace PlatformClient { - export { UserSchema, count, FilterByDate, LenderCount, LenderSchema, TotalUsersPerLender, TotalUsersPerLenderData, TotalUserByLender, UsersByLender, ErrorResponse, EditProfileRequest, VerifyOtpRequest, SendMobileOtpRequest, ReSendMobileOtpRequest, SendOtpRequest, ApplicationUser, SendOtpResponse, EmailUpdate, UserUpdateRequest, LenderUpdateRequest, ProfileEditSuccess, LoginSuccess, VerifyOtpSuccess, LogoutSuccess, OtpSuccess, SessionListSuccess, VerifyMobileOTPSuccess, Location, OrderAddress, CustomerObject, Order, OrderUid, CustomerMeta, Device, VerifyCustomer, CreateTransaction, ResendPaymentRequest, VerifyCustomerSuccess, CreateTransactionSuccess, SupportDocuments, CreateTicketResponse, CreateTicket, InitiateTransactions, GetMobileFromToken, GetDataFromToken, MerchantDetails, InitiateTransactionsSuccess, RetrieveMobileFromToken, CreateDashboardTemplateRequest, TemplateSections, TemplateComponent, PartnerApplications, Offerings, Banners, Tips, DashboardTemplateResponse, SectionSchema, PartnerApplicationsResponse, OfferingsResponse, BannersResponse, TipsSection, TipsResponse, TipsCategories, ActionSchema, UpdateDashboardTemplateRequest, UpdateTemplateSections, UpdateTemplateComponent, UpdatePartnerApplications, UpdateOfferings, UpdateBanners, UpdateTips, NavigationsMobileResponse, TabsSchema, PageSchema, ProfileSectionSchema, ProfileNavigationSchema, SendPNSRegisterRequest, PNSRegisterResponse, FaqResponse, CategorySchema, QuestionSchema, SupportCategories, SupportCategoriesResponse, SanctionLetterResponse, KfsDocumentResponse, UserWhiteListedResponse, UserConsentRequest, Consents, UserConsentRequestV2, UserConsentResponse, UserKycSteps, CreateKycStepRequest, RemoveKycStepRequest, KycUpdateMessage, MobileFromLinkingRequest, MobileFromLinkingResponse, SessionFromLinkingRequest, SessionFromLinkingResponse, LinkAccount, LinkAccountSuccess, UnlinkAccount, UnlinkAccountSuccess, Refund, Translation, FilterKeys, FilterValues, Filters, PageResponse, UserResponse, UserDetailRequest, UserConsents, CreditScoreSchema, CreditLimitSchema, Screen, UserStateSchema, GetAccessTokenResponse, RefreshTokenResponse, RefreshTokenRequest, Items, RefundStatusList, RefundStatus, CustomerMetricsPivots, CustomerMetricsSubResponse, CustomerMetricsAnalytics, CustomerMetricsFilters, CustomerMetrics, CustomerMetricsResponse, CustomerMetricsRequest, SourceAnalyticsRequest, LenderResponse, CreditLimitObject, BusinessDetails, DocumentItems, VintageItems, EligibilitySuccess, CheckEligibilityRequest, GetSchemesSuccess, DisbursalRequest, WorkflowUser, EligiblePlansRequest, EligiblePlans, EligiblePlansResponse, DisbursalResponse, OrderStatus, DisbursalStatusRequest, Transactions, LenderDetail, TransactionResponse, MerchantTransactions, MerchantTransactionSummary, GetReconciliationFileResponse, ReconFile, UploadReconciliationFileRequest, UploadReconciliationFileResponse, TransactionCount, RefundCount, OrganizationTransactionsCount, OrganizationTransactionsSum, UniqueCustomersInOrg, TransactionAmount, SchemaForOneDayTotal, SumofOneDayTransactions, AverageTransaction, AllTransactionsResponse, TotalRefund, TotalRepayment, TotalOverDue, TotalLoansDisbursed, OrganizationTransactionResponse, TrFilters, TrPageResponse, OrgTransactions, TrFilterKeys, TrFilterValues, KfsRequest, KfsResponse, LenderTransactionState, TransactionStateResponse, Theme, Emi, MetricPivots, TransactionMetricSubResponse, TransactionMetrics, LenderCustomerTransactionMetricsFilters, LenderCustomerTransactionMetrics, LenderCustomerTransactionMetricsResponse, LenderCustomerTransactionMetricsRequest, LenderTheme, Lender, UserLender, SourceCreditReport, Document, UserKycDetail, Form, LenderKycStepMap, UserKycLenderStepMap, ProofOfIdentity, ProofOfAddress, EAadhaarData, Consent, ValidatePanRequest, BankDetails, DocumentData, ConfirmPanRequest, LivelinessDetails, UploadDocumentRequest, UploadDocumentRequestV1, UploadDocumentRequestV3, AadhaarRequest, UploadAadhaarRequest, UploadLivelinessRequest, UploadAadhaarRequestV1, UploadLivelinessRequestV1, UploadAadhaarRequestV2, UploadLivelinessRequestV2, UploadAadhaarRequestV3, UploadLivelinessRequestV3, UploadBankDetailsRequest, InitiateKycRequest, InitiateKycRequestV1, LenderOnboardRequest, UpdateLenderStatusRequest, UpdateProfileRequest, UpdateEntityRequest, CreateKycStepsRequest, CreateLenderPgConfigRequest, CreateLenderStateRequest, UpdateLenderRequest, OtherPolicyFilters, GetPolicyFilters, GetPolicyFilters2, MerchantConfigRequest, PanDetails, AvailableLendersRequest, InitialData, ExecutePolicyRequest, ExecutePolicyRequest2, RegisterGstRequest, PopulateFormRequest, ValidateFormFieldRequest, MerchantMetricFilter, LenderCustomerMetricsRequest, StonewallCustomer, GetLimitRequest, DocumentObject, ManualKycRequest, RetriggerLenderOnboardRequest, EntityMapDto, EntityDto, FindDocResponse, LenderKycStatus, StateResponeDto, KycStateMachineDto, InitiateKycDto, LenderOnboardDto, StepDetails, OnboardStatusDto, LenderFilters, Policy, GetKycDocsResponse, OrganizationLogosObject, MetricSubTypes, MetricTypes, BreApprovedUsersResponse, Metrics, MetricData, ApprovedLenders, BreResultStatus, GetAllUserLendersByEnityId, LenderState, UserLenderState, LenderConfig, Pg, LenderPgConfig, FileUploadResponse, PresignedUrl, PresignedUrlV2, LenderDocument, KycStatusResponse, WorkflowResponse, InitiateKycResponse, UploadDocResponse, LenderOnboardResponse, OnboardingStatusResponse, SignedUrlResponse, SignedUrlV2Response, PresignedUrlV3, SignedUrlV3Response, DigilockerLinkResponse, GetDocumentsResponse, ApprovedLendersTransaction, ApprovedPossibleLenders, AvailableLenders, CreditLimit, CreditLimitResponse, LenderPgConfigResponse, GetLendersResponse, LenderConfigurationResponse, UpsertLenderResponse, UpsertLenderConfigResponse, CreateKycStepsSchema, CreatePaymentGatewaySchema, CreateLenderStateSchema, GetAllPaymentGatewaysSchema, PolicyResponse, CreditCheckBreResponse, MerchantConfigResponse, UserLenderByIdAndStatusResponse, IntgrAvailableCreditLimit, IngtrAvailableLimit, IntgrCreditLimit, PossibleLendersInternal, PossibleLendersInternalResponse, GetTotalKycResponse, GetTotalKycCompletedUsersResponse, GetTotalPendingUsersResponse, GetTotalCreditProvidedResponse, MetaSchemaResponse, MetaSchema, AddMetaSchema, AddMetaSchemaRequest, ValidatePanResponse, ConfirmPanResonse, LenderCountResponse, OnboardStepsDto, OnboardStepsResponse, LenderDocumentResponse, GetUserLendersResponse, CreditReportResponse, KycDetailsReponse, GetDocumentByIdResponse, GetAllFormsResponse, UpsertFormResponse, GstDetails, GstDetailsResponse, RegisterGstResponse, PopulateFormResponse, ValidateFormFieldResponse, LenderCustomerMetricsResponse, ManualKycResponse, BreOutput, CustomerKycDetailsReponse }; + export { RefundResponse, UserSource, UserSchema, count, FilterByDate, LenderCount, LenderSchema, TotalUsersPerLender, TotalUsersPerLenderData, TotalUserByLender, UsersByLender, ErrorResponse, EditProfileRequest, VerifyOtpRequest, SendMobileOtpRequest, ReSendMobileOtpRequest, SendOtpRequest, ApplicationUser, SendOtpResponse, EmailUpdate, UserUpdateRequest, LenderUpdateRequest, ProfileEditSuccess, LoginSuccess, VerifyOtpSuccess, LogoutSuccess, OtpSuccess, SessionListSuccess, VerifyMobileOTPSuccess, Location, OrderAddress, CustomerObject, Order, OrderUid, CustomerMeta, Device, VerifyCustomer, CreateTransaction, ResendPaymentRequest, VerifyCustomerSuccess, CreateTransactionSuccess, SupportDocuments, CreateTicketResponse, CreateTicket, InitiateTransactions, GetMobileFromToken, GetDataFromToken, MerchantDetails, InitiateTransactionsSuccess, RetrieveMobileFromToken, CreateDashboardTemplateRequest, TemplateSections, TemplateComponent, PartnerApplications, Offerings, Banners, Tips, DashboardTemplateResponse, SectionSchema, PartnerApplicationsResponse, OfferingsResponse, BannersResponse, TipsSection, TipsResponse, TipsCategories, ActionSchema, UpdateDashboardTemplateRequest, UpdateTemplateSections, UpdateTemplateComponent, UpdatePartnerApplications, UpdateOfferings, UpdateBanners, UpdateTips, NavigationsMobileResponse, TabsSchema, PageSchema, ProfileSectionSchema, ProfileNavigationSchema, SendPNSRegisterRequest, PNSRegisterResponse, FaqResponse, CategorySchema, QuestionSchema, SupportCategories, SupportCategoriesResponse, SanctionLetterResponse, KfsDocumentResponse, UserWhiteListedResponse, UserConsentRequest, Consents, UserConsentRequestV2, UserConsentResponse, UserKycSteps, CreateKycStepRequest, RemoveKycStepRequest, KycUpdateMessage, MobileFromLinkingRequest, MobileFromLinkingResponse, SessionFromLinkingRequest, SessionFromLinkingResponse, LinkAccount, LinkAccountSuccess, UnlinkAccount, UnlinkAccountSuccess, Refund, Translation, FilterKeys, FilterValues, Filters, PageResponse, UserResponse, UserDetailRequest, UserConsents, CreditScoreSchema, CreditLimitSchema, Screen, UserStateSchema, GetAccessTokenResponse, RefreshTokenResponse, RefreshTokenRequest, Items, RefundStatusList, RefundStatus, GetSchemesSuccess, CustomerMetricsPivots, CustomerMetricsSubResponse, CustomerMetricsAnalytics, CustomerMetricsFilters, CustomerMetrics, SchemeResponse, SchemePaymentOptionsResponse, SchemeEmiPaymentOptionResponse, SchemeEmiScheduleResponse, SchemePayLaterPaymentOptionResponse, LimitResponse, AvailableOrPossibleLender, GetSchemesRequest, CustomerMetricsResponse, CustomerMetricsRequest, SourceAnalyticsRequest, LenderResponse, CreditLimitObject, BusinessDetails, DocumentItems, VintageItems, EligibilitySuccess, CheckEligibilityRequest, EmiSchedule, PaymentOption, PaymentOptions, LenderAndPaymentOption, GetSchemesSuccessOld, PageSchemaResponse, userCountRequest, IntegrationResponseMeta, IntegrationResponseError, IntegrationSuccessResponse, IntegrationErrorResponse, DisbursalRequest, WorkflowUser, EligiblePlansRequest, EligiblePlans, EligiblePlansResponse, DisbursalResponse, OrderStatus, DisbursalStatusRequest, Transactions, LenderDetail, TransactionResponse, GetReconciliationFileResponse, ReconFile, UploadReconciliationFileRequest, UploadReconciliationFileResponse, TransactionCount, RefundCount, OrganizationTransactionsCount, OrganizationTransactionsSum, UniqueCustomersInOrg, TransactionAmount, SchemaForOneDayTotal, SumofOneDayTransactions, AverageTransaction, AllTransactionsResponse, TotalRefund, TotalRepayment, TotalOverDue, TotalLoansDisbursed, OrganizationTransactionResponse, TrFilters, TrPageResponse, OrgTransactions, TrFilterKeys, TrFilterValues, KfsRequest, KfsResponse, LenderTransactionState, TransactionStateResponse, Theme, Emi, MetricPivots, TransactionMetricSubResponse, TransactionMetrics, LenderCustomerTransactionMetricsFilters, LenderCustomerTransactionMetrics, LenderCustomerTransactionMetricsResponse, LenderCustomerTransactionMetricsRequest, TransactionOrder, TransactionMerchant, TransactionLoan, TransactionLender, UserTransaction, Pagination, GetTransactionsData, GetTransactionsResponse, SummaryRequest, Lender, UserLender, SourceCreditReport, Document, UserKycDetail, Form, LenderKycStepMap, UserKycLenderStepMap, ProofOfIdentity, ProofOfAddress, EAadhaarData, EntityMapDto, EntityDto, MerchantSchema, Consent, ValidatePanRequest, BankDetails, DocumentData, ConfirmPanRequest, LivelinessDetails, UploadDocumentRequest, UploadDocumentRequestV1, UploadDocumentRequestV3, AadhaarRequest, UploadAadhaarRequest, UploadLivelinessRequest, UploadAadhaarRequestV1, UploadLivelinessRequestV1, UploadAadhaarRequestV2, UploadLivelinessRequestV2, UploadAadhaarRequestV3, UploadLivelinessRequestV3, UploadBankDetailsRequest, InitiateKycRequest, InitiateKycRequestV1, LenderOnboardRequest, LenderOnboardRequestV1, UpdateLenderStatusRequest, UpdateProfileRequest, UpdateEntityRequest, CreateKycStepsRequest, CreateLenderPgConfigRequest, CreateLenderStateRequest, UpdateLenderRequest, OtherPolicyFilters, GetPolicyFilters, GetPolicyFilters2, MerchantConfigRequest, PanDetails, AvailableLendersRequest, InitialData, ExecutePolicyRequest, ExecutePolicyRequest2, RegisterGstRequest, PopulateFormRequest, ValidateFormFieldRequest, MerchantMetricFilter, LenderCustomerMetricsRequest, StonewallCustomer, GetLimitRequest, DocumentObject, ManualKycRequest, RetriggerLenderOnboardRequest, BusinessDetail, VintageData, DocumentObjects, KycCountByStatus, FindDocResponse, LenderKycStatus, StateResponeDto, KycStateMachineDto, InitiateKycDto, LenderOnboardDto, StepDetails, OnboardStatusDto, LenderFilters, Policy, OrganizationLogosObject, MetricSubTypes, MetricTypes, BreApprovedUsersResponse, Metrics, MetricData, GetAllUserLendersByEnityId, ApprovedLenders, BreResultStatus, LenderState, UserLenderState, LenderConfig, Pg, LenderPgConfig, FileUploadResponse, PresignedUrl, PresignedUrlV2, LenderDocument, KycStatusResponse, WorkflowResponse, Action, InitiateKycResponse, UploadDocResponse, LenderOnboardResponse, OnboardingStatusResponse, SignedUrlResponse, SignedUrlV2Response, PresignedUrlV3, SignedUrlV3Response, DigilockerLinkResponse, GetDocumentsResponse, ApprovedLendersTransaction, ApprovedPossibleLenders, AvailableLenders, CreditLimit, CreditLimitResponse, LenderPgConfigResponse, GetLendersResponse, LenderConfigurationResponse, UpsertLenderResponse, UpsertLenderConfigResponse, CreateKycStepsSchema, CreatePaymentGatewaySchema, CreateLenderStateSchema, GetAllPaymentGatewaysSchema, PolicyResponse, CreditCheckBreResponse, MerchantConfigResponse, UserLenderByIdAndStatusResponse, IntgrAvailableCreditLimit, IngtrAvailableLimit, IntgrCreditLimit, PossibleLendersInternal, PossibleLendersInternalResponse, GetTotalKycResponse, GetTotalKycCompletedUsersResponse, GetTotalPendingUsersResponse, GetTotalCreditProvidedResponse, MetaSchemaResponse, MetaSchema, AddMetaSchema, AddMetaSchemaRequest, ValidatePanResponse, ConfirmPanResonse, LenderCountResponse, OnboardStepsDto, OnboardStepsResponse, LenderDocumentResponse, GetUserLendersResponse, CreditReportResponse, KycDetailsReponse, GetDocumentByIdResponse, GetAllFormsResponse, UpsertFormResponse, GstDetails, GstDetailsResponse, RegisterGstResponse, PopulateFormResponse, ValidateFormFieldResponse, LenderCustomerMetricsResponse, BreOutput, ManualKycResponse, CustomerKycDetailsReponse, BlockUserRequestSchema, EditEmailRequestSchema, SendVerificationLinkMobileRequestSchema, EditMobileRequestSchema, UpdateEmail, EditProfileRequestSchema, EditProfileMobileSchema, SendEmailOtpRequestSchema, VerifyEmailOtpRequestSchema, ReSendMobileOtpRequestSchema, ResetPasswordSuccess, RegisterFormSuccess, VerifyEmailSuccess, BlockUserSuccess, EmailOtpSuccess, VerifyEmailOTPSuccess, SendMobileVerifyLinkSuccess, SendEmailVerifyLinkSuccess, UserSearchResponseSchema, CustomerListResponseSchema, PaginationSchema, UserObjectSchema, CreateOrganization, UpdateLogo, AddMetaSchemaResponse, UpdateOrganization, UpdateFinancials, Documents, FinancialDetails, GetOrganization, OrganizationDetails, Organization, OrganizationList, OrganizationCount, TeamMembers, Member, Profile, AddTeamMember, UpdateTeamMemberRole, RemoveTeamMemberResponse, AddTeamMemberResponse, ApiKey, UpdateApiHook, ApiHookDetails, UpdateApiHookResponse, OrganizationIp, AddOrganizationIpDetails, AddUpdateCsvFileResponse, AddUpdateCsvFileRequest, CsvFile, AddReportCsvFileResponse, AddReportCsvFileRequest, ReportCsvFileResponse, AddReportRequestArray, AddReportRequest, AddReportResponseArray, AddReportResponse, VintageDataResponseObject, VintageDataResponse, AddSkuRequestArray, AddSkuRequest, AddSkuResponse, RestrictedSkuSchema, OrganizationIpResponse, OrganizationIpDetails, RefundSuccess, RefundItem, PaymentLinkResponse, ApplicationCutomer, GeoLocation, Address, OrderItems, PaymentLinkRequest, UpdateLenderStatusSchemaRequest, UpdateLenderStatusSchemaResponse, CreateUserRequestSchema, CreateUserResponseSchema }; } +/** + * @typedef RefundResponse + * @property {string} [status] + * @property {string} [message] + * @property {string} [transactionId] + * @property {string} [refundId] + * @property {Object} [__headers] + */ +/** + * @typedef UserSource + * @property {string} [userId] + * @property {string} [type] + * @property {string} [sourceId] + * @property {Object} [meta] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [app] + * @property {string} [entityId] + * @property {any[]} [userMerchants] + */ /** * @typedef UserSchema * @property {string} [id] @@ -255,7 +276,6 @@ declare namespace PlatformClient { * @typedef Order * @property {number} valueInPaise * @property {string} uid - * @property {number} [emiTenure] * @property {Items[]} [items] * @property {OrderAddress} [shippingAddress] * @property {OrderAddress} [billingAddress] @@ -290,28 +310,32 @@ declare namespace PlatformClient { * @property {Device} device * @property {Object} [meta] * @property {boolean} [fetchLimitOptions] + * @property {boolean} [fetchPlans] */ /** * @typedef CreateTransaction - * @property {boolean} [autoCapture] * @property {string} redirectUrl * @property {CustomerObject} customer * @property {Order} order * @property {Device} device * @property {Object} [meta] + * @property {number} [emiTenure] + * @property {string} [lenderSlug] + * @property {Consents[]} [consents] */ /** * @typedef ResendPaymentRequest - * @property {boolean} [autoCapture] * @property {string} [redirectUrl] * @property {CustomerObject} customer * @property {OrderUid} order */ /** * @typedef VerifyCustomerSuccess - * @property {string} [status] - * @property {string} [userStatus] - * @property {string} [message] + * @property {string} status + * @property {string} userStatus + * @property {string} message + * @property {SchemeResponse[]} [schemes] + * @property {LimitResponse} [limit] * @property {Object} [__headers] */ /** @@ -657,6 +681,7 @@ declare namespace PlatformClient { * @typedef Consents * @property {string} [type] * @property {string} [text] + * @property {string} [purpose] */ /** * @typedef UserConsentRequestV2 @@ -745,11 +770,12 @@ declare namespace PlatformClient { /** * @typedef Refund * @property {string} [fingerprint] - * @property {CustomerObject} customer + * @property {CustomerObject} [customer] * @property {Items[]} [refundItems] * @property {string} orderId * @property {string} refundId * @property {number} refundAmount + * @property {string} [redirectionUrl] */ /** * @typedef Translation @@ -842,7 +868,6 @@ declare namespace PlatformClient { * @property {string} [refreshTokenExpiryAt] * @property {string} [refreshTokenExpiryIn] * @property {string[]} [scope] - * @property {Object} [__headers] */ /** * @typedef RefreshTokenResponse @@ -850,7 +875,6 @@ declare namespace PlatformClient { * @property {string} [accessToken] * @property {string} [tokenExpireAt] * @property {string} [tokenExpiryIn] - * @property {Object} [__headers] */ /** * @typedef RefreshTokenRequest @@ -882,6 +906,12 @@ declare namespace PlatformClient { * @property {RefundStatusList[]} [refund] * @property {Object} [__headers] */ +/** + * @typedef GetSchemesSuccess + * @property {string} [userId] + * @property {SchemeResponse[]} lenders + * @property {Object} [__headers] + */ /** * @typedef CustomerMetricsPivots * @property {string} [date] @@ -915,6 +945,73 @@ declare namespace PlatformClient { * @property {CustomerMetricsFilters[]} [filters] * @property {CustomerMetricsFilters[]} [sort] */ +/** + * @typedef SchemeResponse + * @property {string} slug + * @property {boolean} isDefault + * @property {string} logoUrl + * @property {string} name + * @property {string} title + * @property {string} subtitle + * @property {number} [amount] + * @property {SchemePaymentOptionsResponse} paymentOptions + */ +/** + * @typedef SchemePaymentOptionsResponse + * @property {SchemeEmiPaymentOptionResponse[]} [emis] + * @property {SchemePayLaterPaymentOptionResponse} [payLater] + */ +/** + * @typedef SchemeEmiPaymentOptionResponse + * @property {string} id + * @property {boolean} isDefault + * @property {string} description + * @property {string} title + * @property {string} subtitle + * @property {number} amount + * @property {number} [interest] + * @property {number} processingFee + * @property {number} tenure + * @property {SchemeEmiScheduleResponse[]} emiSchedule + */ +/** + * @typedef SchemeEmiScheduleResponse + * @property {number} installmentNo + * @property {number} installmentAmount + * @property {string} dueDate + */ +/** + * @typedef SchemePayLaterPaymentOptionResponse + * @property {string} id + * @property {string} title + * @property {string} subtitle + * @property {string} description + * @property {number} tenure + * @property {number} interest + * @property {number} processingFee + * @property {number} amount + * @property {boolean} isDefault + */ +/** + * @typedef LimitResponse + * @property {AvailableOrPossibleLender[]} [available] + * @property {AvailableOrPossibleLender[]} [possible] + */ +/** + * @typedef AvailableOrPossibleLender + * @property {number} limit + * @property {string} lenderName + * @property {string} slug + * @property {boolean} isDefault + * @property {string} logo + */ +/** + * @typedef GetSchemesRequest + * @property {CustomerObject} customer + * @property {Order} order + * @property {Device} device + * @property {Object} [meta] + */ /** * @typedef CustomerMetricsResponse * @property {CustomerMetrics} [data] @@ -930,6 +1027,7 @@ declare namespace PlatformClient { /** * @typedef SourceAnalyticsRequest * @property {CustomerMetricsFilters[]} [filters] + * @property {string} [merchantId] */ /** * @typedef LenderResponse @@ -954,9 +1052,9 @@ declare namespace PlatformClient { */ /** * @typedef DocumentItems - * @property {string} [number] + * @property {string} number * @property {string} [category] - * @property {string} [type] + * @property {string} type * @property {string} [name] * @property {string} [issuedOn] * @property {string} [issuedAt] @@ -977,9 +1075,7 @@ declare namespace PlatformClient { * @property {string} [status] * @property {string} [message] * @property {string} [redirectUrl] - * @property {string} [callbackUrl] * @property {CreditLimitObject[]} [creditLimits] - * @property {Object} [__headers] */ /** * @typedef CheckEligibilityRequest @@ -993,10 +1089,83 @@ declare namespace PlatformClient { * @property {boolean} [fetchLimitOptions] */ /** - * @typedef GetSchemesSuccess - * @property {string} [userId] - * @property {undefined[]} lenders - * @property {Object} [__headers] + * @typedef EmiSchedule + * @property {number} [installmentNo] + * @property {number} [installmentAmount] + * @property {string} [dueDate] + */ +/** + * @typedef PaymentOption + * @property {string} [id] + * @property {string} [title] + * @property {string} [subtitle] + * @property {string} [description] + * @property {number} [tenure] + * @property {number} [processingFee] + * @property {number} [amount] + * @property {boolean} [isDefault] + * @property {EmiSchedule[]} [emiSchedule] + */ +/** + * @typedef PaymentOptions + * @property {PaymentOption} [payLater] + * @property {PaymentOption[]} [emis] + */ +/** + * @typedef LenderAndPaymentOption + * @property {string} [id] + * @property {string} name + * @property {string} [title] + * @property {string} [subtitle] + * @property {boolean} [isDefault] + * @property {string} logoUrl + * @property {number} [amount] + * @property {PaymentOptions} [paymentOptions] + */ +/** + * @typedef GetSchemesSuccessOld + * @property {string} userId + * @property {LenderAndPaymentOption[]} [lenders] + */ +/** + * @typedef PageSchemaResponse + * @property {string} [slug] + * @property {string} [description] + * @property {Object} [sections] + * @property {Object} [settings] + */ +/** + * @typedef userCountRequest + * @property {string} [merchantId] + * @property {string} [startDate] + * @property {string} [endDate] + */ +/** + * @typedef IntegrationResponseMeta + * @property {string} timestamp + * @property {string} version + * @property {string} product + * @property {string} [requestId] + */ +/** + * @typedef IntegrationResponseError + * @property {string} code + * @property {string} message + * @property {string} exception + * @property {string} [field] + * @property {string} [in] + */ +/** + * @typedef IntegrationSuccessResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {Object} data + */ +/** + * @typedef IntegrationErrorResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {IntegrationResponseError[]} [errors] */ /** * @typedef DisbursalRequest @@ -1007,6 +1176,9 @@ declare namespace PlatformClient { * @property {boolean} [isDownpaymentRequired] * @property {number} [downpaymentAmount] * @property {number} [loanAmount] + * @property {Object} [data] + * @property {string} [transactionId] + * @property {string} [lenderSlug] */ /** * @typedef WorkflowUser @@ -1037,7 +1209,6 @@ declare namespace PlatformClient { * @property {string} [transactionId] * @property {string} [status] * @property {string} [message] - * @property {Object} [__headers] */ /** * @typedef OrderStatus @@ -1074,7 +1245,6 @@ declare namespace PlatformClient { * @property {string} [lenderName] * @property {string} [lenderLogo] * @property {string} [loanType] - * @property {string} [repaymentTransactionId] * @property {string} [nextDueDate] * @property {number} [paidPercent] * @property {LenderDetail} [lenderDetail] @@ -1100,14 +1270,6 @@ declare namespace PlatformClient { * @property {PageResponse} page * @property {Transactions[]} transactions */ -/** - * @typedef MerchantTransactions - * @property {string} [outstandingAmount] - */ -/** - * @typedef MerchantTransactionSummary - * @property {MerchantTransactions} [merchantOutstandingSummary] - */ /** * @typedef GetReconciliationFileResponse * @property {ReconFile[]} files @@ -1352,13 +1514,71 @@ declare namespace PlatformClient { * @property {number} [pivotPoints] */ /** - * @typedef LenderTheme - * @property {string} logoUrl - * @property {string} iconUrl - * @property {string} landscapeBgUrl - * @property {string} portraitBgUrl + * @typedef TransactionOrder + * @property {string} id + * @property {number} amount + */ +/** + * @typedef TransactionMerchant + * @property {string} name + * @property {string} logo + */ +/** + * @typedef TransactionLoan + * @property {string} number + * @property {number} amount + * @property {string} type + */ +/** + * @typedef TransactionLender + * @property {string} name + * @property {string} slug + * @property {string} logo * @property {string} shortName */ +/** + * @typedef UserTransaction + * @property {string} id + * @property {number} amount + * @property {string} type + * @property {string} status + * @property {string} [settlementUtr] + * @property {string} [refundId] + * @property {string} createdAt + * @property {boolean} isMasked + * @property {TransactionOrder} [order] + * @property {TransactionMerchant} merchant + * @property {TransactionLoan} [loan] + * @property {TransactionLender} [lender] + */ +/** + * @typedef Pagination + * @property {string} [type] + * @property {number} current + * @property {boolean} hasPrevious + * @property {boolean} hasNext + * @property {number} size + * @property {number} itemTotal + */ +/** + * @typedef GetTransactionsData + * @property {UserTransaction[]} transactions + * @property {Pagination} page + */ +/** + * @typedef GetTransactionsResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {GetTransactionsData} data + * @property {Object} [__headers] + */ +/** + * @typedef SummaryRequest + * @property {string} [startDate] + * @property {string} [endDate] + * @property {string} [merchantId] + * @property {string} [type] + */ /** * @typedef Lender * @property {string} [id] @@ -1366,13 +1586,12 @@ declare namespace PlatformClient { * @property {boolean} [active] * @property {string} [imageUrl] * @property {string} [slug] - * @property {LenderTheme} [theme] + * @property {Object} [theme] * @property {boolean} [b2b] * @property {boolean} [b2c] * @property {string} [merchantConfigSchema] * @property {string} [createdAt] * @property {string} [updatedAt] - * @property {number} [approvedLimit] * @property {string} [deletedAt] * @property {Object} [meta] * @property {Object} [metaSchema] @@ -1519,6 +1738,51 @@ declare namespace PlatformClient { * @property {string} [pdf] * @property {string} [address] */ +/** + * @typedef EntityMapDto + * @property {string} id + * @property {string} [merchantId] + * @property {string} [status] + * @property {string} lenderId + * @property {number} [limit] + * @property {string} [creditType] + * @property {string} userId + * @property {string} entityId + */ +/** + * @typedef EntityDto + * @property {string} id + * @property {string} [type] + * @property {string} [address] + * @property {string} [name] + * @property {string} [gender] + * @property {string} [dob] + * @property {string} userId + */ +/** + * @typedef MerchantSchema + * @property {string} id + * @property {string} [name] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [apiHook] + * @property {string} [epikId] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {string} [createdBy] + * @property {boolean} [active] + * @property {string} [category] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + */ /** * @typedef Consent * @property {string} text @@ -1550,6 +1814,7 @@ declare namespace PlatformClient { * @property {string} name * @property {string} [entity] * @property {string} [merchantId] + * @property {string} [onboardingToken] */ /** * @typedef LivelinessDetails @@ -1667,7 +1932,13 @@ declare namespace PlatformClient { * @typedef LenderOnboardRequest * @property {string} [ack] * @property {Object} data - * @property {string} [entityMapId] + * @property {string} [merchantId] + */ +/** + * @typedef LenderOnboardRequestV1 + * @property {string} entityMapId + * @property {string} [ack] + * @property {Object} data * @property {string} [merchantId] */ /** @@ -1768,7 +2039,9 @@ declare namespace PlatformClient { */ /** * @typedef RegisterGstRequest - * @property {string} gstTin + * @property {string} gstin + * @property {boolean} [skipGst] + * @property {string} [onboardingToken] */ /** * @typedef PopulateFormRequest @@ -1838,32 +2111,46 @@ declare namespace PlatformClient { * @property {Object} data */ /** - * @typedef EntityMapDto - * @property {string} id - * @property {string} [merchantId] - * @property {string} [status] - * @property {string} lenderId - * @property {number} [limit] - * @property {string} [creditType] - * @property {string} userId - * @property {string} entityId - */ -/** - * @typedef EntityDto - * @property {string} id - * @property {string} [type] + * @typedef BusinessDetail + * @property {string} category + * @property {string} [shopName] + * @property {string} legalName * @property {string} [address] - * @property {string} [name] - * @property {string} [gender] - * @property {string} [dob] - * @property {string} userId + * @property {string} [type] + * @property {string} [pincode] */ /** - * @typedef FindDocResponse - * @property {string} status - * @property {string} info - * @property {string} number - * @property {Object} [details] + * @typedef VintageData + * @property {number} month + * @property {number} year + * @property {number} totalTransactions + * @property {number} totalTransactionAmount + * @property {number} [totalCancellations] + * @property {number} [totalCancellationAmount] + */ +/** + * @typedef DocumentObjects + * @property {string} number + * @property {string} category + * @property {string} type + * @property {string} [name] + * @property {string} [issuedOn] + * @property {string} [issuedAt] + * @property {string} [issuedBy] + * @property {string} [expiryOn] + */ +/** + * @typedef KycCountByStatus + * @property {string} [startDate] + * @property {string} [endDate] + * @property {string} [merchantId] + * @property {string} [lenderId] + */ +/** + * @typedef FindDocResponse + * @property {string} status + * @property {string} info + * @property {Object} [details] * @property {string} [name] */ /** @@ -1927,6 +2214,9 @@ declare namespace PlatformClient { * @property {string} entityMapId * @property {boolean} actionIsForm * @property {Form} [actionForm] + * @property {string} [merchantId] + * @property {string} [actionName] + * @property {string} [actionDescription] */ /** * @typedef LenderFilters @@ -1955,10 +2245,6 @@ declare namespace PlatformClient { * @property {Object} [updatedAt] * @property {Object} [deletedAt] */ -/** - * @typedef GetKycDocsResponse - * @property {FindDocResponse[]} documents - */ /** * @typedef OrganizationLogosObject * @property {string} id @@ -1997,6 +2283,16 @@ declare namespace PlatformClient { * @property {MerchantMetricFilter[]} filters * @property {MerchantMetricFilter[]} sort */ +/** + * @typedef GetAllUserLendersByEnityId + * @property {string} entityId + * @property {string} entityMapId + * @property {string} userId + * @property {string} status + * @property {Lender} [lender] + * @property {string} [partnerId] + * @property {number} [approvedLimit] + */ /** * @typedef ApprovedLenders * @property {string} status @@ -2007,15 +2303,6 @@ declare namespace PlatformClient { * @property {string} status * @property {BreOutput[]} [approvedLenders] */ -/** - * @typedef GetAllUserLendersByEnityId - * @property {string} entityId - * @property {string} entityMapId - * @property {string} userId - * @property {string} status - * @property {Lender} lender - * @property {string} [partnerId] - */ /** * @typedef LenderState * @property {string} [id] @@ -2129,6 +2416,14 @@ declare namespace PlatformClient { * @typedef WorkflowResponse * @property {Object} [data] */ +/** + * @typedef Action + * @property {string} step + * @property {string} status + * @property {number} index + * @property {boolean} [isForm] + * @property {Form} form + */ /** * @typedef InitiateKycResponse * @property {UserKycDetail} kycResult @@ -2139,6 +2434,7 @@ declare namespace PlatformClient { * @property {string} status * @property {Object} [data] * @property {string} [remark] + * @property {string} reasons * @property {UserKycDetail} kycResult * @property {Action} action */ @@ -2201,7 +2497,7 @@ declare namespace PlatformClient { * @property {string} slug * @property {boolean} active * @property {string} id - * @property {LenderTheme} [theme] + * @property {Object} [theme] */ /** * @typedef AvailableLenders @@ -2294,7 +2590,7 @@ declare namespace PlatformClient { * @property {string} [deletedAt] * @property {number} approvedLimit * @property {string} [slug] - * @property {LenderTheme} [theme] + * @property {Object} [theme] * @property {Object} [name] */ /** @@ -2308,6 +2604,7 @@ declare namespace PlatformClient { /** * @typedef IngtrAvailableLimit * @property {IntgrAvailableCreditLimit[]} available + * @property {IntgrAvailableCreditLimit[]} [possible] */ /** * @typedef IntgrCreditLimit @@ -2427,7 +2724,7 @@ declare namespace PlatformClient { */ /** * @typedef GstDetails - * @property {string} gstTin + * @property {string} gstin * @property {string} businessName */ /** @@ -2455,11 +2752,6 @@ declare namespace PlatformClient { * @property {string} message * @property {MetricData} data */ -/** - * @typedef ManualKycResponse - * @property {string} message - * @property {UserKycLenderStepMap} step - */ /** * @typedef BreOutput * @property {string} id @@ -2476,822 +2768,1891 @@ declare namespace PlatformClient { * @property {string} updatedAt * @property {string} deletedAt */ +/** + * @typedef ManualKycResponse + * @property {string} message + * @property {UserKycLenderStepMap} step + */ /** * @typedef CustomerKycDetailsReponse * @property {UserKycLenderStepMap} data */ -declare class Customer { - constructor(config: any); - config: any; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {VerifyCustomer} arg.body - * @summary: Verify Customer - * @description: Use this API to verify the customer based on mobile number and countryCode. - */ - verify({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {ResendPaymentRequest} arg.body - * @summary: Resend Payment Request - * @description: Use this API to resend payment request to user - */ - resendPaymentRequest({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {CreateTransaction} arg.body - * @summary: Create Order - * @description: Use this API to create transaction for user - */ - createOrder({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {LinkAccount} arg.body - * @summary: Link account - * @description: Use this API to link account with merchant - */ - link({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {UnlinkAccount} arg.body - * @summary: Unlink account - * @description: Use this API to unlink account from merchant - */ - unlink({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @summary: Get Access Token - * @description: Use this API to get access token - */ - getAccessToken({}?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {RefreshTokenRequest} arg.body - * @summary: Renew Access Token - * @description: Use this API to renew access token - */ - renewAccessToken({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {Refund} arg.body - * @summary: Refund customer order amount - * @description: Use this API to verify the refund customer order amount - */ - refund({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {string} [arg.refundId] - This is the refundId - * @param {string} [arg.orderId] - This is the order ID - * @summary: Refund status - * @description: Use this API to fetch the refund status - */ - refundStatus({ refundId, orderId, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {VerifyCustomer} arg.body - * @summary: Fetch schemes - * @description: Use this API to fetch available schemes for user order. - */ - getSchemes({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {CheckEligibilityRequest} arg.body - * @summary: Check Credit Eligibility - * @description: 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. - */ - checkEligibility({ disbursalRequest, session }?: any): Promise; -} -declare class Credit { - constructor(config: any); - config: any; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organization id - * @param {DisbursalRequest} arg.body - * @summary: Disburse the credit - * @description: Use this API to disburse the credit. - */ - disburse({ disbursalRequest, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organization ID - * @param {string} arg.orderId - This is order ID - * @summary: check status of the order - * @description: Use this API to check status the order. - */ - getOrderStatus({ orderId, session }?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organization id - * @param {string} arg.lenderSlug - This is lender slug - * @param {EligiblePlansRequest} arg.body - * @summary: Get eligible plans - * @description: Use this API to Get eligible plans. - */ - getEligiblePlans({ lenderSlug, disbursalRequest, session }?: any): Promise; -} -declare class MultiKyc { - constructor(config: any); - config: any; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {Object} arg.organizationId - - * @summary: Approved lenders - * @description: - */ - approvedLenders({}?: any): Promise; - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - - * @param {GetLimitRequest} arg.body - * @summary: Get limit - * @description: - */ - getLimit({ disbursalRequest, session }?: any): Promise; -} -import PlatformApplicationClient = require("./PlatformApplicationClient"); -type UserSchema = { - id?: string; - firstName?: string; - lastName?: string; - countryCode?: string; - mobile?: string; - email?: string; - gender?: string; - dob?: string; - active?: boolean; - profilePicUrl?: string; - isEmailVerified?: boolean; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; -}; -type count = { - totalUsers?: string; -}; -type FilterByDate = { - startDate?: string; - endDate?: string; -}; -type LenderCount = { - totalLenders?: string; -}; -type LenderSchema = { - id?: string; - name?: string; - active?: boolean; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; -}; -type TotalUsersPerLender = { - filters: Filters[]; - page: PageResponse; - lenderList: TotalUsersPerLenderData[]; -}; -type TotalUsersPerLenderData = { - id?: string; - name?: string; - active?: boolean; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; - totalUsers?: string; -}; -type TotalUserByLender = { - name?: string; - count?: string; -}; -type UsersByLender = { +/** + * @typedef BlockUserRequestSchema + * @property {boolean} [status] + * @property {string[]} [userid] + * @property {string} [reason] + */ +/** + * @typedef EditEmailRequestSchema + * @property {string} [email] + */ +/** + * @typedef SendVerificationLinkMobileRequestSchema + * @property {boolean} [verified] + * @property {boolean} [active] + * @property {string} [countryCode] + * @property {string} [phone] + * @property {boolean} [primary] + */ +/** + * @typedef EditMobileRequestSchema + * @property {string} [countryCode] + * @property {string} [phone] + */ +/** + * @typedef UpdateEmail + * @property {string} email + * @property {any} [additionalProperties] + */ +/** + * @typedef EditProfileRequestSchema + * @property {string} firstName + * @property {string} lastName + * @property {string} [countryCode] + * @property {string} [mobile] + * @property {string} [email] + * @property {string} [gender] + * @property {string} [registrationToken] + */ +/** + * @typedef EditProfileMobileSchema + * @property {string} [phone] + * @property {string} [countryCode] + */ +/** + * @typedef SendEmailOtpRequestSchema + * @property {string} [email] + * @property {string} [action] + * @property {string} [token] + * @property {string} [registerToken] + */ +/** + * @typedef VerifyEmailOtpRequestSchema + * @property {string} [email] + * @property {string} [action] + * @property {string} [registerToken] + * @property {string} [otp] + */ +/** + * @typedef ReSendMobileOtpRequestSchema + * @property {string} [captchaCode] + * @property {string} token + * @property {string} [androidHash] + */ +/** + * @typedef ResetPasswordSuccess + * @property {string} [status] + */ +/** + * @typedef RegisterFormSuccess + * @property {string} [email] + * @property {number} [resendTimer] + * @property {string} [resendToken] + * @property {string} [resendEmailToken] + * @property {string} [registerToken] + * @property {boolean} [success] + * @property {string} [requestId] + * @property {string} [message] + * @property {string} [mobile] + * @property {string} [countryCode] + * @property {boolean} [verifyEmailOtp] + * @property {boolean} [verifyMobileOtp] + * @property {boolean} [userExists] + */ +/** + * @typedef VerifyEmailSuccess + * @property {string} [message] + */ +/** + * @typedef BlockUserSuccess + * @property {boolean} [success] + */ +/** + * @typedef EmailOtpSuccess + * @property {boolean} [success] + */ +/** + * @typedef VerifyEmailOTPSuccess + * @property {UserSchema} [user] + * @property {boolean} [verifyEmailLink] + */ +/** + * @typedef SendMobileVerifyLinkSuccess + * @property {boolean} [verifyMobileLink] + */ +/** + * @typedef SendEmailVerifyLinkSuccess + * @property {boolean} [verifyEmailLink] + */ +/** + * @typedef UserSearchResponseSchema + * @property {UserSchema[]} [users] + */ +/** + * @typedef CustomerListResponseSchema + * @property {UserSchema[]} [items] + * @property {PaginationSchema} [page] + */ +/** + * @typedef PaginationSchema + * @property {number} [size] + * @property {number} [itemTotal] + * @property {boolean} [hasNext] + * @property {string} [type] + * @property {number} [current] + */ +/** + * @typedef UserObjectSchema + * @property {UserSchema} [user] + */ +/** + * @typedef CreateOrganization + * @property {string} [name] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + * @property {string} [docType] + * @property {string} [docNumber] + * @property {string} [organizationId] + */ +/** + * @typedef UpdateLogo + * @property {string} [logo] + */ +/** + * @typedef AddMetaSchemaResponse + * @property {string} [merchantId] + * @property {string} [lenderId] + * @property {string} [mid] + * @property {Object} [data] + */ +/** + * @typedef UpdateOrganization + * @property {string} id + * @property {Object} [name] + * @property {Object} [logo] + * @property {Object} [website] + * @property {Object} [disbursementAccountHolderName] + * @property {Object} [disbursementAccountNumber] + * @property {Object} [disbursementIfsc] + * @property {boolean} [active] + */ +/** + * @typedef UpdateFinancials + * @property {string} disbursementAccountHolderName + * @property {string} disbursementAccountNumber + * @property {string} disbursementIfsc + */ +/** + * @typedef Documents + * @property {string} docType + * @property {string} docNumber + */ +/** + * @typedef FinancialDetails + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {Documents[]} [documents] + */ +/** + * @typedef GetOrganization + * @property {string} [organizationId] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {boolean} [isAdmin] + * @property {string} [name] + * @property {boolean} [isActive] + */ +/** + * @typedef OrganizationDetails + * @property {string} [name] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {boolean} [isActive] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + */ +/** + * @typedef Organization + * @property {string} [id] + * @property {string} [name] + * @property {boolean} [active] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ +/** + * @typedef OrganizationList + * @property {string} [name] + * @property {string} [logo] + * @property {boolean} [id] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {boolean} [isActive] + * @property {string} [epikId] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + */ +/** + * @typedef OrganizationCount + * @property {string} [count] + */ +/** + * @typedef TeamMembers + * @property {Member[]} [members] + */ +/** + * @typedef Member + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {Profile} [profile] + */ +/** + * @typedef Profile + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ +/** + * @typedef AddTeamMember + * @property {string} [countryCode] + * @property {string} [mobile] + * @property {string} [email] + * @property {boolean} [userIsAdmin] + */ +/** + * @typedef UpdateTeamMemberRole + * @property {boolean} [userIsAdmin] + * @property {string} [userId] + */ +/** + * @typedef RemoveTeamMemberResponse + * @property {boolean} [success] + */ +/** + * @typedef AddTeamMemberResponse + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ +/** + * @typedef ApiKey + * @property {string} [key] + * @property {string} [secret] + */ +/** + * @typedef UpdateApiHook + * @property {string} apiKey + * @property {string} url + * @property {Object} [customHeaders] + */ +/** + * @typedef ApiHookDetails + * @property {string} apiKey + * @property {string} url + * @property {Object} [customHeaders] + * @property {string} [createdAt] + * @property {string} [updatedAt] + */ +/** + * @typedef UpdateApiHookResponse + * @property {boolean} [success] + */ +/** + * @typedef OrganizationIp + * @property {string} [id] + * @property {string} ip + */ +/** + * @typedef AddOrganizationIpDetails + * @property {OrganizationIp[]} [organizationIps] + * @property {string} [delete] + */ +/** + * @typedef AddUpdateCsvFileResponse + * @property {string} [message] + */ +/** + * @typedef AddUpdateCsvFileRequest + * @property {string} [csv] + * @property {string} [organizationId] + */ +/** + * @typedef CsvFile + * @property {string} [csv] + */ +/** + * @typedef AddReportCsvFileResponse + * @property {string} [message] + */ +/** + * @typedef AddReportCsvFileRequest + * @property {string} [csv] + * @property {string} [organizationId] + * @property {string} [name] + * @property {string} [type] + */ +/** + * @typedef ReportCsvFileResponse + * @property {string} [csv] + */ +/** + * @typedef AddReportRequestArray + * @property {string} [mobile] + * @property {string} [merchantId] + * @property {string} [category] + * @property {string} [shopName] + * @property {string} [legalName] + * @property {string} [firstName] + * @property {string} [middleName] + * @property {string} [lastName] + * @property {string} [aadhaar] + * @property {string} [nameOnPan] + * @property {string} [gstNumber] + * @property {string} [gstBusinessName] + * @property {string} [panNumber] + * @property {string} [udyam] + * @property {string} [ownershipType] + * @property {string} [address] + * @property {string} [pincode] + * @property {string} [license1Type] + * @property {string} [license1] + * @property {string} [license2Type] + * @property {string} [license2] + */ +/** + * @typedef AddReportRequest + * @property {Object[]} [businessDetails] + */ +/** + * @typedef AddReportResponseArray + * @property {string} [mobile] + * @property {string} [merchantId] + * @property {string} [anchorId] + * @property {string} [category] + * @property {string} [shopName] + * @property {string} [legalName] + * @property {string} [firstName] + * @property {string} [middleName] + * @property {string} [lastName] + * @property {string} [aadhaar] + * @property {string} [nameOnPan] + * @property {string} [gstNumber] + * @property {string} [gstBusinessName] + * @property {string} [panNumber] + * @property {string} [udyam] + * @property {string} [ownershipType] + * @property {string} [address] + * @property {string} [pincode] + * @property {string} [license1Type] + * @property {string} [license1] + * @property {string} [license2Type] + * @property {string} [license2] + */ +/** + * @typedef AddReportResponse + * @property {AddReportResponseArray[]} [businessDetails] + */ +/** + * @typedef VintageDataResponseObject + * @property {string} [month] + * @property {number} [year] + * @property {string} [revenue] + * @property {string} [businessId] + * @property {string} [createdBy] + * @property {string} [id] + * @property {string} [createdAt] + * @property {string} [updatedBy] + * @property {string} [updatedAt] + */ +/** + * @typedef VintageDataResponse + * @property {VintageDataResponseObject[]} [vintageData] + */ +/** + * @typedef AddSkuRequestArray + * @property {string} sku + * @property {string} productName + * @property {string} creditPurchaseOptionFlag + * @property {string} effectiveDates + * @property {string} organizationId + */ +/** + * @typedef AddSkuRequest + * @property {AddSkuRequestArray[]} [skuDetails] + */ +/** + * @typedef AddSkuResponse + * @property {string} [message] + */ +/** + * @typedef RestrictedSkuSchema + * @property {Object[]} [skuDetails] + */ +/** + * @typedef OrganizationIpResponse + * @property {string} organizationId + * @property {string} ip + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} id + */ +/** + * @typedef OrganizationIpDetails + * @property {OrganizationIpResponse[]} [organizationIps] + */ +/** + * @typedef RefundSuccess + * @property {string} status + * @property {number} message + * @property {string} transactionId + * @property {string} refundId + */ +/** + * @typedef RefundItem + * @property {Object[]} items + */ +/** + * @typedef PaymentLinkResponse + * @property {string} [status] + * @property {string} [message] + * @property {string} [paymentLink] + */ +/** + * @typedef ApplicationCutomer + * @property {string} [countryCode] + * @property {string} mobile + * @property {string} [uid] + * @property {string} [email] + */ +/** + * @typedef GeoLocation + * @property {number} latitude + * @property {number} longitude + */ +/** + * @typedef Address + * @property {string} [line1] + * @property {string} [line2] + * @property {string} [city] + * @property {string} [state] + * @property {string} [country] + * @property {string} [pincode] + * @property {string} [type] + * @property {GeoLocation} [geoLocation] + */ +/** + * @typedef OrderItems + * @property {string} [category] + * @property {string} [sku] + * @property {number} [rate] + * @property {number} [quantity] + */ +/** + * @typedef PaymentLinkRequest + * @property {boolean} [autoCapture] + * @property {string} [lenderId] + * @property {number} [emiTenure] + * @property {ApplicationCutomer} customer + * @property {Order} order + * @property {Device} [device] + * @property {Object} [meta] + */ +/** + * @typedef UpdateLenderStatusSchemaRequest + * @property {string} [merchantId] + * @property {boolean} [enable] + */ +/** + * @typedef UpdateLenderStatusSchemaResponse + * @property {string} [merchantId] + * @property {string} [lenderId] + * @property {string} [mid] + * @property {boolean} [enable] + * @property {Object} [data] + */ +/** + * @typedef CreateUserRequestSchema + * @property {string} mobile + * @property {string} [email] + * @property {string} [firstName] + * @property {string} [lastName] + * @property {string} [gender] + */ +/** + * @typedef CreateUserResponseSchema + * @property {UserSchema} [user] + */ +declare class Customer { + constructor(config: any); + config: any; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {VerifyCustomer} arg.body + * @summary: Verify Customer + * @description: Use this API to verify the customer based on mobile number and countryCode. + */ + verify({ body, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {ResendPaymentRequest} arg.body + * @summary: Resend Payment Request + * @description: Use this API to resend payment request to user + */ + resendPaymentRequest({ body, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {CreateTransaction} arg.body + * @summary: Create Order + * @description: Use this API to create transaction for user + */ + createOrder({ body, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {LinkAccount} arg.body + * @summary: Link account + * @description: Use this API to link account with merchant + */ + link({ body, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {UnlinkAccount} arg.body + * @summary: Unlink account + * @description: Use this API to unlink account from merchant + */ + unlink({ body, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {Refund} arg.body + * @summary: Refund customer order amount + * @description: Use this API to verify the refund customer order amount + */ + refund({ body, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {string} [arg.refundId] - This is the refund ID + * @param {string} [arg.orderId] - This is the order ID + * @summary: Refund status + * @description: Use this API to fetch the refund status + */ + refundStatus({ refundId, orderId, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {GetSchemesRequest} arg.body + * @summary: Fetch schemes + * @description: Use this API to fetch available schemes for user order. + */ + getSchemes({ body, session }?: any): Promise; +} +declare class Credit { + constructor(config: any); + config: any; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organization ID + * @param {string} arg.orderId - This is order ID + * @summary: check status of the order + * @description: Use this API to check status the order. + */ + getOrderStatus({ orderId, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organization id + * @param {string} arg.lenderSlug - This is lender slug + * @param {EligiblePlansRequest} arg.body + * @summary: Get eligible plans + * @description: Use this API to Get eligible plans. + */ + getEligiblePlans({ lenderSlug, body, session }?: any): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - The unique identifier of the organization + * @param {number} [arg.page] - The page number of the transaction list + * @param {Object} [arg.type] - The transaction type + * @param {Object} [arg.status] - The transaction status + * @param {number} [arg.limit] - The number of transactions to fetch + * @param {string} [arg.countryCode] - The country code of the user's mobile number. + * @param {string} arg.mobile - The mobile number of the user + * @param {string} [arg.orderId] - The order ID + * @param {string} [arg.transactionId] - The transaction ID + * @param {boolean} [arg.onlySelf] - Set this flag to true to fetch + * transactions exclusively for your organization, excluding other organizations. + * @summary: Get list of user transactions + * @description: 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. + */ + getTransactions({ mobile, page, type, status, limit, countryCode, orderId, transactionId, onlySelf, session, }?: any): Promise; +} +declare class MultiKyc { + constructor(config: any); + config: any; + /** + * @param {Object} arg - Arg object. + * @param {Object} arg.organizationId - + * @summary: Approved lenders + * @description: + */ + approvedLenders({}?: { + organizationId: any; + }): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - + * @param {GetLimitRequest} arg.body + * @summary: Get limit + * @description: + */ + getLimit({ body, session }?: any): Promise; +} +declare class Merchant { + constructor(config: any); + config: any; + /** + * @param {Object} arg - Arg object. + * @param {string} arg.organizationId - This is organizationId + * @summary: Get Access Token + * @description: Use this API to get access token + */ + getAccessToken({}?: { + organizationId: string; + }): Promise; + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {RefreshTokenRequest} arg.body + * @summary: Renew Access Token + * @description: Use this API to renew access token + */ + renewAccessToken({ body, session }?: any): Promise; +} +import PlatformApplicationClient = require("./PlatformApplicationClient"); +type RefundResponse = { + status?: string; + message?: string; + transactionId?: string; + refundId?: string; + __headers?: any; +}; +type UserSource = { + userId?: string; + type?: string; + sourceId?: string; + meta?: any; + createdAt?: string; + updatedAt?: string; + app?: string; + entityId?: string; + userMerchants?: any[]; +}; +type UserSchema = { + id?: string; firstName?: string; lastName?: string; + countryCode?: string; + mobile?: string; + email?: string; + gender?: string; + dob?: string; + active?: boolean; + profilePicUrl?: string; + isEmailVerified?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; +}; +type count = { + totalUsers?: string; +}; +type FilterByDate = { + startDate?: string; + endDate?: string; +}; +type LenderCount = { + totalLenders?: string; +}; +type LenderSchema = { + id?: string; + name?: string; + active?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; +}; +type TotalUsersPerLender = { + filters: Filters[]; + page: PageResponse; + lenderList: TotalUsersPerLenderData[]; +}; +type TotalUsersPerLenderData = { + id?: string; + name?: string; + active?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + totalUsers?: string; +}; +type TotalUserByLender = { + name?: string; + count?: string; +}; +type UsersByLender = { + firstName?: string; + lastName?: string; + mobile?: string; + email?: string; + name?: string; +}; +type ErrorResponse = { + message?: string; + info?: string; + code?: string; + requestId?: string; + meta?: any; +}; +type EditProfileRequest = { + firstName?: string; + lastName?: string; + countryCode?: string; + mobile?: string; + email?: string; + gender?: string; + dob?: string; + registrationToken?: string; +}; +type VerifyOtpRequest = { + requestId: string; + otp: string; + captchaCode?: string; + androidHash?: string; + referralCode?: string; + onboardingToken?: string; +}; +type SendMobileOtpRequest = { + countryCode: string; + mobile: string; + captchaCode?: string; + androidHash?: string; + force?: string; +}; +type ReSendMobileOtpRequest = { + captchaCode?: string; + token: string; + androidHash?: string; +}; +type SendOtpRequest = { + countryCode?: string; + captchaCode?: string; + mobile?: string; +}; +type ApplicationUser = { + user?: UserSchema; +}; +type SendOtpResponse = { + resendTimer?: number; + resendToken?: string; + success?: boolean; + requestId?: string; + message?: string; + mobile?: string; + countryCode?: string; + email?: string; + resendEmailToken?: string; + registerToken?: string; + verifyEmailOtp?: boolean; + verifyMobileOtp?: boolean; + userExists?: boolean; +}; +type EmailUpdate = { + email?: string; +}; +type UserUpdateRequest = { + firstName?: any; + lastName?: any; + countryCode: string; + mobile: string; + email?: any; + gender?: any; + dob?: any; + active?: boolean; + profilePictureUrl?: any; + isEmailVerified?: boolean; +}; +type LenderUpdateRequest = { + id: string; + name?: string; + active?: boolean; +}; +type ProfileEditSuccess = { + user?: UserSchema; + registerToken?: string; + resendEmailToken?: string; + userExists?: boolean; + verifyEmailLink?: boolean; + verifyEmailOtp?: boolean; + verifyMobileOtp?: boolean; + email?: string; + requestId?: string; + countryCode?: string; + mobile?: string; + success?: boolean; + message?: string; + resendTimer?: number; + resendToken?: string; +}; +type LoginSuccess = { + user?: UserSchema; + requestId?: string; + registerToken?: string; +}; +type VerifyOtpSuccess = { + user?: UserSchema; + userExists?: boolean; + isNew?: boolean; +}; +type LogoutSuccess = { + logout?: boolean; +}; +type OtpSuccess = { + resendTimer?: number; + resendToken?: string; + registerToken?: string; + success?: boolean; + requestId?: string; + message?: string; mobile?: string; + isNew?: boolean; + countryCode?: string; + otpLength?: number; +}; +type SessionListSuccess = { + sessions?: string[]; +}; +type VerifyMobileOTPSuccess = { + user?: UserSchema; +}; +type Location = { + latitude?: number; + longitude?: number; +}; +type OrderAddress = { + line1?: string; + line2?: string; + city?: string; + state?: string; + country?: string; + pincode?: string; + type?: string; + geoLocation?: Location; +}; +type CustomerObject = { + countryCode?: string; + mobile: string; + uid: string; email?: string; + firstname?: string; + middleName?: string; + lastName?: string; +}; +type Order = { + valueInPaise: number; + uid: string; + items?: Items[]; + shippingAddress?: OrderAddress; + billingAddress?: OrderAddress; +}; +type OrderUid = { + valueInPaise?: number; + uid: string; + items?: Items[]; + shippingAddress?: OrderAddress; + billingAddress?: OrderAddress; +}; +type CustomerMeta = { + ip: string; + appVersion: string; + appIdentifier?: string; + customerUserAgent?: string; + deviceId: string; +}; +type Device = { + ipAddress: string; + userAgent: string; + latitude?: number; + longitude?: number; +}; +type VerifyCustomer = { + customer: CustomerObject; + order: Order; + device: Device; + meta?: any; + fetchLimitOptions?: boolean; + fetchPlans?: boolean; +}; +type CreateTransaction = { + redirectUrl: string; + customer: CustomerObject; + order: Order; + device: Device; + meta?: any; + emiTenure?: number; + lenderSlug?: string; + consents?: Consents[]; +}; +type ResendPaymentRequest = { + redirectUrl?: string; + customer: CustomerObject; + order: OrderUid; +}; +type VerifyCustomerSuccess = { + status: string; + userStatus: string; + message: string; + schemes?: SchemeResponse[]; + limit?: LimitResponse; + __headers?: any; +}; +type CreateTransactionSuccess = { + chargeToken?: string; + redirectUrl?: string; + message: string; + transactionId?: string; + status?: string; + userStatus?: string; + __headers?: any; +}; +type SupportDocuments = { + fileName?: string; + fileUrl?: string; +}; +type CreateTicketResponse = { + serviceRequestId?: string; + message?: string; +}; +type CreateTicket = { + category: string; + transactionId?: string; + description: string; + documents?: SupportDocuments[]; +}; +type InitiateTransactions = { + token: string; +}; +type GetMobileFromToken = { + token: string; +}; +type GetDataFromToken = { + token: string; +}; +type MerchantDetails = { + name?: string; + website?: string; + logo?: string; +}; +type InitiateTransactionsSuccess = { + chargeToken: string; + session?: string; + expiry?: string; + hash?: string; + order?: Order; + isAsp?: boolean; + merchant?: MerchantDetails; +}; +type RetrieveMobileFromToken = { + countryCode: string; + mobile: string; +}; +type CreateDashboardTemplateRequest = { + name: string; + version: string; + isDefault?: boolean; + sections: TemplateSections[]; +}; +type TemplateSections = { + sequence: number; + isAvailableInMobile: boolean; + isAvailableInDesktop: boolean; + component: TemplateComponent; +}; +type TemplateComponent = { + name: string; + description: string; + isAvailableInDesktop?: boolean; + partnerApplications?: PartnerApplications[]; + banners?: Banners[]; + tips?: Tips[]; +}; +type PartnerApplications = { + name: string; + description?: string; + urlPath?: string; + urlTarget?: string; + imageUrl: string; + sequence?: number; +}; +type Offerings = { + name: string; + description?: string; + urlPath?: string; + urlTarget?: string; + imageUrl: string; + sequence?: number; + gradient: string[]; +}; +type Banners = { + imageUrl: string; + action?: ActionSchema; +}; +type Tips = { + name?: string; + description?: string; + urlPath: string; + urlTarget?: string; + imageUrl?: string; + sequence?: number; +}; +type DashboardTemplateResponse = { + id?: string; name?: string; + version?: string; + active?: boolean; + sections: SectionSchema[]; +}; +type SectionSchema = { + type: string; + title?: string; + description?: string; + partners?: PartnerApplicationsResponse[]; + banners?: BannersResponse[]; + tips?: TipsResponse[]; +}; +type PartnerApplicationsResponse = { + id?: string; + name: string; + description?: string; + action: ActionSchema; + imageUrl: string; +}; +type OfferingsResponse = { + id?: string; + name: string; + description?: string; + action: ActionSchema; + imageUrl: string; + gradient: string[]; }; -type ErrorResponse = { - message?: string; - info?: string; - code?: string; - requestId?: string; - meta?: any; +type BannersResponse = { + action?: ActionSchema; + imageUrl: string; }; -type EditProfileRequest = { - firstName?: string; - lastName?: string; - countryCode?: string; - mobile?: string; - email?: string; - gender?: string; - dob?: string; - registrationToken?: string; +type TipsSection = { + tips?: TipsResponse[]; + categories?: TipsCategories[]; + action?: ActionSchema; }; -type VerifyOtpRequest = { - requestId: string; - otp: string; - captchaCode?: string; - androidHash?: string; - referralCode?: string; - onboardingToken?: string; +type TipsResponse = { + name?: string; + category?: string; + description?: string; + action: ActionSchema; + imageUrl?: string; }; -type SendMobileOtpRequest = { - countryCode: string; - mobile: string; - captchaCode?: string; - androidHash?: string; - force?: string; +type TipsCategories = { + id: string; + title: string; }; -type ReSendMobileOtpRequest = { - captchaCode?: string; - token: string; - androidHash?: string; +type ActionSchema = { + type?: string; + page?: PageSchema; + popup?: PageSchema; }; -type SendOtpRequest = { - countryCode?: string; - captchaCode?: string; - mobile?: string; +type UpdateDashboardTemplateRequest = { + id: string; + name?: string; + version?: string; + isDefault?: boolean; + active?: boolean; + sections?: UpdateTemplateSections[]; }; -type ApplicationUser = { - user?: UserSchema; +type UpdateTemplateSections = { + id: string; + sequence?: number; + isAvailableInMobile?: boolean; + isAvailableInDesktop?: boolean; + active?: boolean; + component?: UpdateTemplateComponent; }; -type SendOtpResponse = { - resendTimer?: number; - resendToken?: string; - success?: boolean; - requestId?: string; - message?: string; - mobile?: string; - countryCode?: string; - email?: string; - resendEmailToken?: string; - registerToken?: string; - verifyEmailOtp?: boolean; - verifyMobileOtp?: boolean; - userExists?: boolean; +type UpdateTemplateComponent = { + id: string; + name?: string; + description?: string; + isAvailableInDesktop?: boolean; + active?: boolean; + partners?: UpdatePartnerApplications[]; + banners?: UpdateBanners[]; + tips?: UpdateTips[]; }; -type EmailUpdate = { - email?: string; +type UpdatePartnerApplications = { + id: string; + name?: string; + description?: string; + action?: any; + imageUrl?: string; + sequence?: number; + active?: boolean; }; -type UserUpdateRequest = { - firstName?: any; - lastName?: any; - countryCode: string; - mobile: string; - email?: any; - gender?: any; - dob?: any; +type UpdateOfferings = { + id: string; + name?: string; + description?: string; + urlPath?: string; + urlTarget?: string; + imageUrl?: string; + sequence?: number; + gradient?: string[]; +}; +type UpdateBanners = { + id: string; + imageUrl?: string; + action?: any; + sequence?: number; active?: boolean; - profilePictureUrl?: any; - isEmailVerified?: boolean; }; -type LenderUpdateRequest = { +type UpdateTips = { id: string; name?: string; + description?: string; + imageUrl?: string; + action?: any; + sequence?: number; active?: boolean; }; -type ProfileEditSuccess = { - user?: UserSchema; - registerToken?: string; - resendEmailToken?: string; - userExists?: boolean; - verifyEmailLink?: boolean; - verifyEmailOtp?: boolean; - verifyMobileOtp?: boolean; - email?: string; - requestId?: string; - countryCode?: string; - mobile?: string; - success?: boolean; +type NavigationsMobileResponse = { + tabs: TabsSchema[]; + profileSections: ProfileSectionSchema[]; +}; +type TabsSchema = { + title: string; + page: PageSchema; + icon: string; + activeIcon: string; + active: boolean; +}; +type PageSchema = { + link?: string; + type?: any; + params?: any; + query?: any; +}; +type ProfileSectionSchema = { + title: string; + navigations: ProfileNavigationSchema[]; + active: boolean; +}; +type ProfileNavigationSchema = { + title: string; + description?: string; + icon: string; + type: string; + action?: ActionSchema; + active?: boolean; +}; +type SendPNSRegisterRequest = { + deviceId: string; + deviceType: string; + token: string; +}; +type PNSRegisterResponse = { + status?: boolean; message?: string; - resendTimer?: number; - resendToken?: string; }; -type LoginSuccess = { - user?: UserSchema; - requestId?: string; - registerToken?: string; +type FaqResponse = { + categories?: CategorySchema[]; }; -type VerifyOtpSuccess = { - user?: UserSchema; - userExists?: boolean; - isNew?: boolean; +type CategorySchema = { + uid: string; + title?: string; + description?: string; + logo?: string; + questions?: QuestionSchema[]; }; -type LogoutSuccess = { - logout?: boolean; +type QuestionSchema = { + uid: string; + title?: string; + description?: string; + displayOrder?: number; + canRaiseRequest?: boolean; }; -type OtpSuccess = { - resendTimer?: number; - resendToken?: string; - registerToken?: string; +type SupportCategories = { + kind?: string; + display?: string; +}; +type SupportCategoriesResponse = { + categories?: SupportCategories[]; +}; +type SanctionLetterResponse = { + sanctionedLetterFileUrl: string; +}; +type KfsDocumentResponse = { + kfsFileUrl: string; +}; +type UserWhiteListedResponse = { + status?: string; +}; +type UserConsentRequest = { + consents?: string[]; +}; +type Consents = { + type?: string; + text?: string; + purpose?: string; +}; +type UserConsentRequestV2 = { + consents?: Consents[]; +}; +type UserConsentResponse = { success?: boolean; - requestId?: string; - message?: string; - mobile?: string; - isNew?: boolean; - countryCode?: string; - otpLength?: number; }; -type SessionListSuccess = { - sessions?: string[]; +type UserKycSteps = { + id?: string; + index?: string; + name?: string; + rules?: any; + active?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; +}; +type CreateKycStepRequest = { + name: string; + index: string; + active: boolean; + rules?: any; }; -type VerifyMobileOTPSuccess = { - user?: UserSchema; +type RemoveKycStepRequest = { + name?: string; + index: string; + active?: boolean; + rules?: any; }; -type Location = { - latitude?: number; - longitude?: number; +type KycUpdateMessage = { + message?: string; }; -type OrderAddress = { - line1?: string; - line2?: string; - city?: string; - state?: string; - country?: string; - pincode?: string; - type?: string; - geoLocation?: Location; +type MobileFromLinkingRequest = { + token: string; }; -type CustomerObject = { - countryCode?: string; +type MobileFromLinkingResponse = { + countryCode: string; mobile: string; - uid: string; - email?: string; - firstname?: string; - middleName?: string; - lastName?: string; -}; -type Order = { - valueInPaise: number; - uid: string; - emiTenure?: number; - items?: Items[]; - shippingAddress?: OrderAddress; - billingAddress?: OrderAddress; -}; -type OrderUid = { - valueInPaise?: number; - uid: string; - items?: Items[]; - shippingAddress?: OrderAddress; - billingAddress?: OrderAddress; }; -type CustomerMeta = { - ip: string; - appVersion: string; - appIdentifier?: string; - customerUserAgent?: string; - deviceId: string; +type SessionFromLinkingRequest = { + token: string; }; -type Device = { - ipAddress: string; - userAgent: string; - latitude?: number; - longitude?: number; +type SessionFromLinkingResponse = { + session: string; + expiry: number; }; -type VerifyCustomer = { +type LinkAccount = { customer: CustomerObject; - order: Order; - device: Device; - meta?: any; - fetchLimitOptions?: boolean; -}; -type CreateTransaction = { - autoCapture?: boolean; redirectUrl: string; - customer: CustomerObject; - order: Order; device: Device; - meta?: any; }; -type ResendPaymentRequest = { - autoCapture?: boolean; +type LinkAccountSuccess = { redirectUrl?: string; - customer: CustomerObject; - order: OrderUid; -}; -type VerifyCustomerSuccess = { + statusCode?: number; status?: string; - userStatus?: string; message?: string; + errorCode?: string; __headers?: any; }; -type CreateTransactionSuccess = { - chargeToken?: string; - redirectUrl?: string; +type UnlinkAccount = { + customer: CustomerObject; + device: Device; +}; +type UnlinkAccountSuccess = { + status: string; message: string; - transactionId?: string; - status?: string; + statusCode: number; userStatus?: string; + errorCode?: string; __headers?: any; }; -type SupportDocuments = { - fileName?: string; - fileUrl?: string; +type Refund = { + fingerprint?: string; + customer?: CustomerObject; + refundItems?: Items[]; + orderId: string; + refundId: string; + refundAmount: number; + redirectionUrl?: string; }; -type CreateTicketResponse = { - serviceRequestId?: string; - message?: string; +type Translation = { + content?: any; }; -type CreateTicket = { - category: string; - transactionId?: string; - description: string; - documents?: SupportDocuments[]; +type FilterKeys = { + display?: string; + name?: string; + kind?: string; }; -type InitiateTransactions = { - token: string; +type FilterValues = { + display?: string; + isSelected?: boolean; + value?: string; }; -type GetMobileFromToken = { - token: string; +type Filters = { + key?: FilterKeys; + values?: FilterValues[]; }; -type GetDataFromToken = { - token: string; +type PageResponse = { + type: string; + current: number; + hasPrevious: boolean; + hasNext: boolean; + size: number; + itemTotal: number; }; -type MerchantDetails = { +type UserResponse = { + filters: Filters[]; + page: PageResponse; + listOfUsers: UserSchema[]; +}; +type UserDetailRequest = { + id: string; +}; +type UserConsents = { + id?: string; + userId?: string; + ipAddress?: string; + text?: string; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; +}; +type CreditScoreSchema = { + id?: string; + userId?: string; + cibil?: number; + finbox?: string; + systemAwarded?: string; + isActive?: boolean; + deletedAt?: string; + updatedAt?: string; + createdAt?: string; +}; +type CreditLimitSchema = { + id?: string; + userId?: string; + creditLimit?: string; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; +}; +type Screen = { + screenType?: string; name?: string; - website?: string; - logo?: string; + link?: string; }; -type InitiateTransactionsSuccess = { - chargeToken: string; - session?: string; - expiry?: string; - hash?: string; - order?: Order; - isAsp?: boolean; - merchant?: MerchantDetails; +type UserStateSchema = { + screen?: Screen; }; -type RetrieveMobileFromToken = { - countryCode: string; - mobile: string; +type GetAccessTokenResponse = { + success?: boolean; + accessToken?: string; + refreshToken?: string; + tokenExpireAt?: string; + tokenExpiryIn?: string; + refreshTokenExpiryAt?: string; + refreshTokenExpiryIn?: string; + scope?: string[]; }; -type CreateDashboardTemplateRequest = { - name: string; - version: string; - isDefault?: boolean; - sections: TemplateSections[]; +type RefreshTokenResponse = { + success?: boolean; + accessToken?: string; + tokenExpireAt?: string; + tokenExpiryIn?: string; }; -type TemplateSections = { - sequence: number; - isAvailableInMobile: boolean; - isAvailableInDesktop: boolean; - component: TemplateComponent; +type RefreshTokenRequest = { + token: string; }; -type TemplateComponent = { - name: string; - description: string; - isAvailableInDesktop?: boolean; - partnerApplications?: PartnerApplications[]; - banners?: Banners[]; - tips?: Tips[]; +type Items = { + category?: string; + sku?: string; + rate?: number; + quantity?: number; }; -type PartnerApplications = { - name: string; - description?: string; - urlPath?: string; - urlTarget?: string; - imageUrl: string; - sequence?: number; +type RefundStatusList = { + id?: string; + orderItems?: Items[]; + amount?: number; + status?: string; + createdAt?: string; + processedDate?: string; }; -type Offerings = { - name: string; - description?: string; - urlPath?: string; - urlTarget?: string; - imageUrl: string; - sequence?: number; - gradient: string[]; +type RefundStatus = { + orderId?: string; + userId?: string; + merchantId?: string; + lenderId?: string; + loanAccountNumber?: string; + refund?: RefundStatusList[]; + __headers?: any; }; -type Banners = { - imageUrl: string; - action?: ActionSchema; +type GetSchemesSuccess = { + userId?: string; + lenders: SchemeResponse[]; + __headers?: any; }; -type Tips = { - name?: string; +type CustomerMetricsPivots = { + date?: string; + sum?: number; +}; +type CustomerMetricsSubResponse = { + total?: string; + pivots?: CustomerMetricsPivots[]; + title?: string; description?: string; - urlPath: string; - urlTarget?: string; - imageUrl?: string; - sequence?: number; + valueFormat?: string; + logo?: string; }; -type DashboardTemplateResponse = { - id?: string; - name?: string; - version?: string; - active?: boolean; - sections: SectionSchema[]; +type CustomerMetricsAnalytics = { + totalCustomers?: CustomerMetricsSubResponse; + source?: CustomerMetricsSubResponse; }; -type SectionSchema = { +type CustomerMetricsFilters = { type: string; - title?: string; - description?: string; - partners?: PartnerApplicationsResponse[]; - banners?: BannersResponse[]; - tips?: TipsResponse[]; + display: string; + value: string[]; + isSelected?: boolean; + isActive: boolean; }; -type PartnerApplicationsResponse = { - id?: string; - name: string; - description?: string; - action: ActionSchema; - imageUrl: string; +type CustomerMetrics = { + metrics?: CustomerMetricsAnalytics; + filters?: CustomerMetricsFilters[]; + sort?: CustomerMetricsFilters[]; }; -type OfferingsResponse = { - id?: string; +type SchemeResponse = { + slug: string; + isDefault: boolean; + logoUrl: string; name: string; - description?: string; - action: ActionSchema; - imageUrl: string; - gradient: string[]; + title: string; + subtitle: string; + amount?: number; + paymentOptions: SchemePaymentOptionsResponse; }; -type BannersResponse = { - action?: ActionSchema; - imageUrl: string; +type SchemePaymentOptionsResponse = { + emis?: SchemeEmiPaymentOptionResponse[]; + payLater?: SchemePayLaterPaymentOptionResponse; }; -type TipsSection = { - tips?: TipsResponse[]; - categories?: TipsCategories[]; - action?: ActionSchema; +type SchemeEmiPaymentOptionResponse = { + id: string; + isDefault: boolean; + description: string; + title: string; + subtitle: string; + amount: number; + interest?: number; + processingFee: number; + tenure: number; + emiSchedule: SchemeEmiScheduleResponse[]; }; -type TipsResponse = { - name?: string; - category?: string; - description?: string; - action: ActionSchema; - imageUrl?: string; +type SchemeEmiScheduleResponse = { + installmentNo: number; + installmentAmount: number; + dueDate: string; }; -type TipsCategories = { +type SchemePayLaterPaymentOptionResponse = { id: string; title: string; + subtitle: string; + description: string; + tenure: number; + interest: number; + processingFee: number; + amount: number; + isDefault: boolean; }; -type ActionSchema = { - type?: string; - page?: PageSchema; - popup?: PageSchema; +type LimitResponse = { + available?: AvailableOrPossibleLender[]; + possible?: AvailableOrPossibleLender[]; }; -type UpdateDashboardTemplateRequest = { - id: string; - name?: string; - version?: string; - isDefault?: boolean; - active?: boolean; - sections?: UpdateTemplateSections[]; +type AvailableOrPossibleLender = { + limit: number; + lenderName: string; + slug: string; + isDefault: boolean; + logo: string; }; -type UpdateTemplateSections = { - id: string; - sequence?: number; - isAvailableInMobile?: boolean; - isAvailableInDesktop?: boolean; - active?: boolean; - component?: UpdateTemplateComponent; +type GetSchemesRequest = { + customer: CustomerObject; + order: Order; + device: Device; + meta?: any; }; -type UpdateTemplateComponent = { - id: string; - name?: string; - description?: string; - isAvailableInDesktop?: boolean; - active?: boolean; - partners?: UpdatePartnerApplications[]; - banners?: UpdateBanners[]; - tips?: UpdateTips[]; +type CustomerMetricsResponse = { + data?: CustomerMetrics; }; -type UpdatePartnerApplications = { - id: string; - name?: string; - description?: string; - action?: any; - imageUrl?: string; - sequence?: number; - active?: boolean; +type CustomerMetricsRequest = { + filters?: CustomerMetricsFilters[]; + sort?: CustomerMetricsFilters[]; + merchantId?: string; + lenderId?: string; + pivotPoints?: number; }; -type UpdateOfferings = { - id: string; +type SourceAnalyticsRequest = { + filters?: CustomerMetricsFilters[]; + merchantId?: string; +}; +type LenderResponse = { + slug?: string; name?: string; - description?: string; - urlPath?: string; - urlTarget?: string; - imageUrl?: string; - sequence?: number; - gradient?: string[]; + logo?: string; }; -type UpdateBanners = { - id: string; - imageUrl?: string; - action?: any; - sequence?: number; - active?: boolean; +type CreditLimitObject = { + availableLimit?: number; + possibleLimit?: number; + lender?: LenderResponse; }; -type UpdateTips = { - id: string; +type BusinessDetails = { + category: string; + shopName?: string; + legalName: string; + address?: string; + type?: string; + pincode?: string; +}; +type DocumentItems = { + number: string; + category?: string; + type: string; name?: string; - description?: string; - imageUrl?: string; - action?: any; - sequence?: number; - active?: boolean; + issuedOn?: string; + issuedAt?: string; + issuedBy?: string; + expiryOn?: string; }; -type NavigationsMobileResponse = { - tabs: TabsSchema[]; - profileSections: ProfileSectionSchema[]; +type VintageItems = { + month: number; + year: number; + totalTransactions: number; + totalTransactionAmount: number; + totalCancellations?: number; + totalCancellationAmount?: number; }; -type TabsSchema = { - title: string; - page: PageSchema; - icon: string; - activeIcon: string; - active: boolean; +type EligibilitySuccess = { + status?: string; + message?: string; + redirectUrl?: string; + creditLimits?: CreditLimitObject[]; }; -type PageSchema = { - link?: string; - type?: any; - params?: any; - query?: any; +type CheckEligibilityRequest = { + customer: CustomerObject; + order?: Order; + businessDetails?: BusinessDetails; + documents?: DocumentItems[]; + device: Device; + vintage?: VintageItems[]; + meta?: any; + fetchLimitOptions?: boolean; +}; +type EmiSchedule = { + installmentNo?: number; + installmentAmount?: number; + dueDate?: string; +}; +type PaymentOption = { + id?: string; + title?: string; + subtitle?: string; + description?: string; + tenure?: number; + processingFee?: number; + amount?: number; + isDefault?: boolean; + emiSchedule?: EmiSchedule[]; +}; +type PaymentOptions = { + payLater?: PaymentOption; + emis?: PaymentOption[]; +}; +type LenderAndPaymentOption = { + id?: string; + name: string; + title?: string; + subtitle?: string; + isDefault?: boolean; + logoUrl: string; + amount?: number; + paymentOptions?: PaymentOptions; }; -type ProfileSectionSchema = { - title: string; - navigations: ProfileNavigationSchema[]; - active: boolean; +type GetSchemesSuccessOld = { + userId: string; + lenders?: LenderAndPaymentOption[]; }; -type ProfileNavigationSchema = { - title: string; +type PageSchemaResponse = { + slug?: string; description?: string; - icon: string; - type: string; - action?: ActionSchema; - active?: boolean; + sections?: any; + settings?: any; }; -type SendPNSRegisterRequest = { - deviceId: string; - deviceType: string; - token: string; +type userCountRequest = { + merchantId?: string; + startDate?: string; + endDate?: string; }; -type PNSRegisterResponse = { - status?: boolean; - message?: string; +type IntegrationResponseMeta = { + timestamp: string; + version: string; + product: string; + requestId?: string; }; -type FaqResponse = { - categories?: CategorySchema[]; +type IntegrationResponseError = { + code: string; + message: string; + exception: string; + field?: string; + in?: string; }; -type CategorySchema = { - uid: string; - title?: string; - description?: string; - logo?: string; - questions?: QuestionSchema[]; +type IntegrationSuccessResponse = { + message: string; + meta: IntegrationResponseMeta; + data: any; }; -type QuestionSchema = { - uid: string; - title?: string; - description?: string; - displayOrder?: number; - canRaiseRequest?: boolean; +type IntegrationErrorResponse = { + message: string; + meta: IntegrationResponseMeta; + errors?: IntegrationResponseError[]; }; -type SupportCategories = { - kind?: string; - display?: string; +type DisbursalRequest = { + fingerprint?: string; + chargeToken: string; + loanTypeId?: number; + emiTenure?: number; + isDownpaymentRequired?: boolean; + downpaymentAmount?: number; + loanAmount?: number; + data?: any; + transactionId?: string; + lenderSlug?: string; }; -type SupportCategoriesResponse = { - categories?: SupportCategories[]; +type WorkflowUser = { + mobile?: string; }; -type SanctionLetterResponse = { - sanctionedLetterFileUrl: string; +type EligiblePlansRequest = { + chargeToken?: string; }; -type KfsDocumentResponse = { - kfsFileUrl: string; +type EligiblePlans = { + name?: string; + displayName?: string; + description?: string; + brokenInterest?: number; + noOfEmi?: number; + emiAmount?: number; + processingFee?: number; + installmentInterestRate?: number; }; -type UserWhiteListedResponse = { - status?: string; +type EligiblePlansResponse = { + eligiblePlans?: EligiblePlans[]; + __headers?: any; }; -type UserConsentRequest = { - consents?: string[]; +type DisbursalResponse = { + transactionId?: string; + status?: string; + message?: string; }; -type Consents = { - type?: string; - text?: string; +type OrderStatus = { + orderId: string; + transactionId?: string; + status: string; + message: string; + __headers?: any; }; -type UserConsentRequestV2 = { - consents?: Consents[]; +type DisbursalStatusRequest = { + fingerprint?: string; + transactionId: string; }; -type UserConsentResponse = { - success?: boolean; +type Transactions = { + id: string; + userId: string; + partnerId?: string; + partner?: string; + partnerLogo?: string; + status: string; + type?: string; + remark?: string; + amount: number; + loanAccountNumber?: string; + kfs?: string; + utr?: string; + sanctionLetter?: string; + orderId?: string; + refundId?: string; + createdAt: string; + lenderId?: string; + lenderName?: string; + lenderLogo?: string; + loanType?: string; + nextDueDate?: string; + paidPercent?: number; + lenderDetail?: LenderDetail; + emis?: Emi[]; }; -type UserKycSteps = { +type LenderDetail = { id?: string; - index?: string; name?: string; - rules?: any; + imageUrl?: string; + slug?: string; active?: boolean; + b2b?: boolean; + b2c?: boolean; + theme?: Theme; createdAt?: string; updatedAt?: string; deletedAt?: string; }; -type CreateKycStepRequest = { +type TransactionResponse = { + filters: Filters[]; + page: PageResponse; + transactions: Transactions[]; +}; +type GetReconciliationFileResponse = { + files: ReconFile[]; +}; +type ReconFile = { + base64: string; name: string; - index: string; - active: boolean; - rules?: any; }; -type RemoveKycStepRequest = { - name?: string; - index: string; - active?: boolean; - rules?: any; +type UploadReconciliationFileRequest = { + base64File: string; + format?: string; + lenderId?: string; }; -type KycUpdateMessage = { - message?: string; +type UploadReconciliationFileResponse = { + success?: boolean; }; -type MobileFromLinkingRequest = { - token: string; +type TransactionCount = { + totalTransactions?: string; }; -type MobileFromLinkingResponse = { - countryCode: string; - mobile: string; +type RefundCount = { + refundTransactions?: string; }; -type SessionFromLinkingRequest = { - token: string; +type OrganizationTransactionsCount = { + count?: number; }; -type SessionFromLinkingResponse = { - session: string; - expiry: number; +type OrganizationTransactionsSum = { + sum?: number; }; -type LinkAccount = { - customer: CustomerObject; - redirectUrl: string; - device: Device; +type UniqueCustomersInOrg = { + count?: number; }; -type LinkAccountSuccess = { - redirectUrl?: string; - statusCode?: number; - status?: string; - message?: string; - errorCode?: string; - __headers?: any; +type TransactionAmount = { + totalTransactionAmount?: string; }; -type UnlinkAccount = { - customer: CustomerObject; - device: Device; +type SchemaForOneDayTotal = { + orgId?: string; + createdAt?: string; + count?: number; + sum?: string; + refund?: string; + difference?: string; }; -type UnlinkAccountSuccess = { - status: string; - message: string; - statusCode: number; - userStatus?: string; - errorCode?: string; - __headers?: any; +type SumofOneDayTransactions = { + dayTotal?: SchemaForOneDayTotal[]; }; -type Refund = { - fingerprint?: string; - customer: CustomerObject; - refundItems?: Items[]; - orderId: string; - refundId: string; - refundAmount: number; +type AverageTransaction = { + average?: number; }; -type Translation = { - content?: any; +type AllTransactionsResponse = { + id?: string; + userId?: string; + partnerId?: string; + status?: string; + type?: string; + remark?: string; + amount?: number; + loanAccountNumber?: string; + createdAt?: string; }; -type FilterKeys = { - display?: string; - name?: string; - kind?: string; +type TotalRefund = { + totalRefund?: string; }; -type FilterValues = { - display?: string; - isSelected?: boolean; - value?: string; +type TotalRepayment = { + totalRepayment?: string; +}; +type TotalOverDue = { + totalDue?: string; +}; +type TotalLoansDisbursed = { + totalLoansDisbursed?: string; +}; +type OrganizationTransactionResponse = { + filters: TrFilters[]; + page: TrPageResponse; + transactions: OrgTransactions[]; }; -type Filters = { - key?: FilterKeys; - values?: FilterValues[]; +type TrFilters = { + key?: TrFilterKeys; + values?: TrFilterValues[]; }; -type PageResponse = { +type TrPageResponse = { type: string; current: number; hasPrevious: boolean; @@ -3299,1468 +4660,1684 @@ type PageResponse = { size: number; itemTotal: number; }; -type UserResponse = { - filters: Filters[]; - page: PageResponse; - listOfUsers: UserSchema[]; -}; -type UserDetailRequest = { +type OrgTransactions = { id: string; + userId: string; + userName?: string; + partnerId?: string; + partner?: string; + partnerLogo?: string; + status: string; + type?: string; + remark?: string; + amount: number; + orderId?: string; + loanAccountNumber?: string; + kfs?: string; + sanctionLetter?: string; + createdAt: string; }; -type UserConsents = { - id?: string; - userId?: string; - ipAddress?: string; - text?: string; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; +type TrFilterKeys = { + display?: string; + name?: string; + kind?: string; }; -type CreditScoreSchema = { - id?: string; - userId?: string; - cibil?: number; - finbox?: string; - systemAwarded?: string; - isActive?: boolean; - deletedAt?: string; - updatedAt?: string; - createdAt?: string; +type TrFilterValues = { + display?: string; + isSelected?: boolean; + value?: string; }; -type CreditLimitSchema = { +type KfsRequest = { + loanTypeId?: number; + chargeToken?: string; +}; +type KfsResponse = { + kfsTable?: string; +}; +type LenderTransactionState = { id?: string; - userId?: string; - creditLimit?: string; + stepIndex?: number; + lenderId?: string; + workflowId?: string; + workflowName?: string; + parentStateId?: string; + workflowUrl?: string; + isInternal?: boolean; + active?: boolean; + ttl?: number; + name?: string; + type?: string; + inputData?: any; createdAt?: string; updatedAt?: string; deletedAt?: string; }; -type Screen = { - screenType?: string; - name?: string; - link?: string; -}; -type UserStateSchema = { - screen?: Screen; -}; -type GetAccessTokenResponse = { - success?: boolean; - accessToken?: string; - refreshToken?: string; - tokenExpireAt?: string; - tokenExpiryIn?: string; - refreshTokenExpiryAt?: string; - refreshTokenExpiryIn?: string; - scope?: string[]; - __headers?: any; -}; -type RefreshTokenResponse = { - success?: boolean; - accessToken?: string; - tokenExpireAt?: string; - tokenExpiryIn?: string; - __headers?: any; -}; -type RefreshTokenRequest = { - token: string; +type TransactionStateResponse = { + transactionState?: LenderTransactionState[]; }; -type Items = { - category?: string; - sku?: string; - rate?: number; - quantity?: number; +type Theme = { + logoUrl?: string; + iconUrl?: string; + landscapeBgUrl?: string; + portraitBgUrl?: string; + shortName?: string; }; -type RefundStatusList = { +type Emi = { id?: string; - orderItems?: Items[]; - amount?: number; - status?: string; - createdAt?: string; - processedDate?: string; -}; -type RefundStatus = { - orderId?: string; userId?: string; - merchantId?: string; - lenderId?: string; + installmentno?: number; loanAccountNumber?: string; - refund?: RefundStatusList[]; - __headers?: any; + amount?: number; + dueDate?: string; + referenceTransactionId?: string; + remark?: string; + createdAt?: string; + updatedAt?: string; + entityId?: string; + paid?: boolean; + overdue?: boolean; + repaymentDate?: string; }; -type CustomerMetricsPivots = { +type MetricPivots = { date?: string; sum?: number; }; -type CustomerMetricsSubResponse = { +type TransactionMetricSubResponse = { total?: string; - pivots?: CustomerMetricsPivots[]; + pivots?: MetricPivots[]; title?: string; description?: string; valueFormat?: string; logo?: string; }; -type CustomerMetricsAnalytics = { - totalCustomers?: CustomerMetricsSubResponse; - source?: CustomerMetricsSubResponse; +type TransactionMetrics = { + totalDisbursement?: TransactionMetricSubResponse; + totalOverdue?: TransactionMetricSubResponse; + totalRepayment?: TransactionMetricSubResponse; }; -type CustomerMetricsFilters = { +type LenderCustomerTransactionMetricsFilters = { type: string; display: string; value: string[]; isSelected?: boolean; isActive: boolean; }; -type CustomerMetrics = { - metrics?: CustomerMetricsAnalytics; - filters?: CustomerMetricsFilters[]; - sort?: CustomerMetricsFilters[]; +type LenderCustomerTransactionMetrics = { + metrics?: TransactionMetrics; + filters?: LenderCustomerTransactionMetricsFilters[]; + sort?: LenderCustomerTransactionMetricsFilters[]; }; -type CustomerMetricsResponse = { - data?: CustomerMetrics; +type LenderCustomerTransactionMetricsResponse = { + data?: any; }; -type CustomerMetricsRequest = { - filters?: CustomerMetricsFilters[]; - sort?: CustomerMetricsFilters[]; +type LenderCustomerTransactionMetricsRequest = { + filters?: LenderCustomerTransactionMetricsFilters[]; + sort?: LenderCustomerTransactionMetricsFilters[]; + startDate?: string; + endDate?: string; merchantId?: string; lenderId?: string; pivotPoints?: number; }; -type SourceAnalyticsRequest = { - filters?: CustomerMetricsFilters[]; +type TransactionOrder = { + id: string; + amount: number; }; -type LenderResponse = { - slug?: string; +type TransactionMerchant = { + name: string; + logo: string; +}; +type TransactionLoan = { + number: string; + amount: number; + type: string; +}; +type TransactionLender = { + name: string; + slug: string; + logo: string; + shortName: string; +}; +type UserTransaction = { + id: string; + amount: number; + type: string; + status: string; + settlementUtr?: string; + refundId?: string; + createdAt: string; + isMasked: boolean; + order?: TransactionOrder; + merchant: TransactionMerchant; + loan?: TransactionLoan; + lender?: TransactionLender; +}; +type Pagination = { + type?: string; + current: number; + hasPrevious: boolean; + hasNext: boolean; + size: number; + itemTotal: number; +}; +type GetTransactionsData = { + transactions: UserTransaction[]; + page: Pagination; +}; +type GetTransactionsResponse = { + message: string; + meta: IntegrationResponseMeta; + data: GetTransactionsData; + __headers?: any; +}; +type SummaryRequest = { + startDate?: string; + endDate?: string; + merchantId?: string; + type?: string; +}; +type Lender = { + id?: string; name?: string; - logo?: string; + active?: boolean; + imageUrl?: string; + slug?: string; + theme?: any; + b2b?: boolean; + b2c?: boolean; + merchantConfigSchema?: string; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + meta?: any; + metaSchema?: any; +}; +type UserLender = { + id: string; + userId: string; + lenderId: string; + active?: boolean; + status: string; + createdAt: string; + updatedAt: string; + deletedAt?: string; + approvedLimit: number; + entityId?: string; + entityMapId?: string; +}; +type SourceCreditReport = { + id: string; + userId: string; + pan: string; + name: string; + mobile: string; + bureau: string; + score: string; + report: string; + createdAt?: string; }; -type CreditLimitObject = { - availableLimit?: number; - possibleLimit?: number; - lender?: LenderResponse; +type Document = { + id: string; + userId: string; + imageUrl: string; + number: string; + detail: any; + valid: boolean; + createdAt: string; + updatedAt: string; + deletedAt?: string; + entityId?: string; }; -type BusinessDetails = { - category: string; - shopName?: string; - legalName: string; - address?: string; - type?: string; - pincode?: string; +type UserKycDetail = { + id: string; + userId: string; + status: string; + type: string; + remark: string; + profileType: string; + active: boolean; + expiryDate?: string; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + lenderId: string; + lender?: Lender; + entityMapId?: string; + entityId?: string; }; -type DocumentItems = { - number?: string; - category?: string; - type?: string; +type Form = { + id?: string; name?: string; - issuedOn?: string; - issuedAt?: string; - issuedBy?: string; - expiryOn?: string; + title?: string; + subtitle?: string; + action?: string; + form?: any; + uiSchema?: any; + workflowId?: string; }; -type VintageItems = { - month: number; - year: number; - totalTransactions: number; - totalTransactionAmount: number; - totalCancellations?: number; - totalCancellationAmount?: number; +type LenderKycStepMap = { + id?: string; + step: string; + stepIndex: number; + lenderId: string; + active: boolean; + rules: any; + profileType: string; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + name: string; + description: string; + iconUrl: string; + isInteractive: boolean; + formId?: string; + merchantId?: string; + form: Form; + docSchema: any; }; -type EligibilitySuccess = { - status?: string; - message?: string; - redirectUrl?: string; - callbackUrl?: string; - creditLimits?: CreditLimitObject[]; - __headers?: any; +type UserKycLenderStepMap = { + id: string; + userId: string; + lenderKycStepMapId: string; + userKycDetailId: string; + lenderId: string; + ruleState: any; + active: boolean; + status: string; + documentId?: string; + createdAt: string; + updatedAt: string; + deletedAt?: string; + lenderKycStepMap?: LenderKycStepMap; + entityMapId?: string; + entityId?: string; + updatedBy?: string; }; -type CheckEligibilityRequest = { - customer: CustomerObject; - order?: Order; - businessDetails?: BusinessDetails; - documents?: DocumentItems[]; - device: Device; - vintage?: VintageItems[]; - meta?: any; - fetchLimitOptions?: boolean; +type ProofOfIdentity = { + dob: string; + hashedEmail: string; + gender: string; + hashedMobileNumber: string; + name: string; }; -type GetSchemesSuccess = { - userId?: string; - lenders: undefined[]; - __headers?: any; +type ProofOfAddress = { + careOf: string; + country: string; + district: string; + house: string; + landmark: string; + locality: string; + pincode: string; + postOffice: string; + state: string; + street: string; + subDistrict: string; + vtc: string; }; -type DisbursalRequest = { - fingerprint?: string; - chargeToken: string; - loanTypeId?: number; - emiTenure?: number; - isDownpaymentRequired?: boolean; - downpaymentAmount?: number; - loanAmount?: number; +type EAadhaarData = { + aadhaarReferenceNumber: string; + aadhaarUid: string; + image: string; + proofOfIdentity: ProofOfIdentity; + proofOfAddress: ProofOfAddress; + xml?: string; + pdf?: string; + address?: string; }; -type WorkflowUser = { - mobile?: string; +type EntityMapDto = { + id: string; + merchantId?: string; + status?: string; + lenderId: string; + limit?: number; + creditType?: string; + userId: string; + entityId: string; }; -type EligiblePlansRequest = { - chargeToken?: string; +type EntityDto = { + id: string; + type?: string; + address?: string; + name?: string; + gender?: string; + dob?: string; + userId: string; }; -type EligiblePlans = { +type MerchantSchema = { + id: string; name?: string; - displayName?: string; - description?: string; - brokenInterest?: number; - noOfEmi?: number; - emiAmount?: number; - processingFee?: number; - installmentInterestRate?: number; + logo?: string; + website?: string; + apiHook?: string; + epikId?: string; + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; + createdBy?: string; + active?: boolean; + category?: string; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + businessName?: string; + email?: string; + businessAddress?: string; + pincode?: string; + b2b?: boolean; + b2c?: boolean; }; -type EligiblePlansResponse = { - eligiblePlans?: EligiblePlans[]; - __headers?: any; +type Consent = { + text: string; + type: string; }; -type DisbursalResponse = { - transactionId?: string; - status?: string; - message?: string; - __headers?: any; +type ValidatePanRequest = { + pan: string; + consents: Consent[]; }; -type OrderStatus = { - orderId: string; - transactionId?: string; - status: string; - message: string; - __headers?: any; +type BankDetails = { + accountType: string; + bankName: string; + ifsc: string; + accountNumber: string; + accountHolderName: string; }; -type DisbursalStatusRequest = { - fingerprint?: string; - transactionId: string; +type DocumentData = { + selfie?: string; + video?: string; + digilockerCode?: string; + bankDetails?: BankDetails; }; -type Transactions = { - id: string; - userId: string; - partnerId?: string; - partner?: string; - partnerLogo?: string; - status: string; - type?: string; - remark?: string; - amount: number; - loanAccountNumber?: string; - kfs?: string; - utr?: string; - sanctionLetter?: string; - orderId?: string; - refundId?: string; - createdAt: string; - lenderId?: string; - lenderName?: string; - lenderLogo?: string; - loanType?: string; - repaymentTransactionId?: string; - nextDueDate?: string; - paidPercent?: number; - lenderDetail?: LenderDetail; - emis?: Emi[]; +type ConfirmPanRequest = { + pan: string; + name: string; + entity?: string; + merchantId?: string; + onboardingToken?: string; }; -type LenderDetail = { - id?: string; - name?: string; - imageUrl?: string; - slug?: string; - active?: boolean; - b2b?: boolean; - b2c?: boolean; - theme?: Theme; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; +type LivelinessDetails = { + selfie: string; + video: string; }; -type TransactionResponse = { - filters: Filters[]; - page: PageResponse; - transactions: Transactions[]; +type UploadDocumentRequest = { + user?: any; + documentData?: any; + lenderSlug: string; + kycStep: string; + merchantId?: string; + entityMapId?: string; }; -type MerchantTransactions = { - outstandingAmount?: string; +type UploadDocumentRequestV1 = { + kycStep: string; + entityMapId: string; + documentData: any; }; -type MerchantTransactionSummary = { - merchantOutstandingSummary?: MerchantTransactions; +type UploadDocumentRequestV3 = { + kycStep: string; + entityMapId: string; + documentData: any; }; -type GetReconciliationFileResponse = { - files: ReconFile[]; +type AadhaarRequest = { + digilockerCode?: string; }; -type ReconFile = { - base64: string; - name: string; +type UploadAadhaarRequest = { + documentData?: AadhaarRequest; + user?: any; + lenderSlug: string; + kycStep: string; + merchantId?: string; + entityMapId?: string; }; -type UploadReconciliationFileRequest = { - base64File: string; - format?: string; - lenderId?: string; +type UploadLivelinessRequest = { + documentData?: LivelinessDetails; + user?: any; + lenderSlug: string; + kycStep: string; + merchantId?: string; + entityMapId?: string; }; -type UploadReconciliationFileResponse = { - success?: boolean; +type UploadAadhaarRequestV1 = { + documentData: AadhaarRequest; + kycStep: string; + entityMapId: string; }; -type TransactionCount = { - totalTransactions?: string; +type UploadLivelinessRequestV1 = { + documentData: LivelinessDetails; + kycStep: string; + entityMapId: string; }; -type RefundCount = { - refundTransactions?: string; +type UploadAadhaarRequestV2 = { + documentData?: AadhaarRequest; + user?: any; + lenderSlug: string; + kycStep: string; + merchantId?: string; + entityMapId?: string; }; -type OrganizationTransactionsCount = { - count?: number; +type UploadLivelinessRequestV2 = { + documentData?: LivelinessDetails; + user?: any; + lenderSlug: string; + kycStep: string; + merchantId?: string; + entityMapId?: string; }; -type OrganizationTransactionsSum = { - sum?: number; +type UploadAadhaarRequestV3 = { + documentData: AadhaarRequest; + kycStep: string; + entityMapId: string; }; -type UniqueCustomersInOrg = { - count?: number; +type UploadLivelinessRequestV3 = { + documentData: LivelinessDetails; + kycStep: string; + entityMapId: string; }; -type TransactionAmount = { - totalTransactionAmount?: string; +type UploadBankDetailsRequest = { + documentData?: BankDetails; + user?: any; + lenderSlug: string; + kycStep: string; + merchantId?: string; + entityMapId?: string; }; -type SchemaForOneDayTotal = { - orgId?: string; - createdAt?: string; - count?: number; - sum?: string; - refund?: string; - difference?: string; +type InitiateKycRequest = { + kycType: string; + kycId?: string; + merchantId?: string; }; -type SumofOneDayTransactions = { - dayTotal?: SchemaForOneDayTotal[]; +type InitiateKycRequestV1 = { + entityMapId: string; + kycType: string; + kycId?: string; + merchantId?: string; }; -type AverageTransaction = { - average?: number; +type LenderOnboardRequest = { + ack?: string; + data: any; + merchantId?: string; }; -type AllTransactionsResponse = { - id?: string; - userId?: string; - partnerId?: string; - status?: string; - type?: string; - remark?: string; - amount?: number; - loanAccountNumber?: string; - createdAt?: string; +type LenderOnboardRequestV1 = { + entityMapId: string; + ack?: string; + data: any; + merchantId?: string; }; -type TotalRefund = { - totalRefund?: string; +type UpdateLenderStatusRequest = { + status: string; + payload: any; + data: any; + action: boolean; }; -type TotalRepayment = { - totalRepayment?: string; +type UpdateProfileRequest = { + firstName?: string; + lastName?: string; + gender?: string; + dob?: string; + userId: string; + isOnboarded?: boolean; + address?: string; }; -type TotalOverDue = { - totalDue?: string; +type UpdateEntityRequest = { + name?: string; + gender?: string; + dob?: string; + isDefault?: boolean; + address?: ProofOfAddress; }; -type TotalLoansDisbursed = { - totalLoansDisbursed?: string; +type CreateKycStepsRequest = { + data: any; }; -type OrganizationTransactionResponse = { - filters: TrFilters[]; - page: TrPageResponse; - transactions: OrgTransactions[]; +type CreateLenderPgConfigRequest = { + mid: string; + clientId: string; + secret: string; + active: boolean; + pgId: string; + lenderId: string; }; -type TrFilters = { - key?: TrFilterKeys; - values?: TrFilterValues[]; +type CreateLenderStateRequest = { + data: any; }; -type TrPageResponse = { - type: string; - current: number; - hasPrevious: boolean; - hasNext: boolean; - size: number; - itemTotal: number; +type UpdateLenderRequest = { + data: any; + lenderId: string; }; -type OrgTransactions = { +type OtherPolicyFilters = { + orderBy?: any[]; +}; +type GetPolicyFilters = { + policyType?: string; + lenderIds?: any[]; + merchantIds?: any[]; + orderBy?: any[]; +}; +type GetPolicyFilters2 = { + breType?: string; + lenderId?: any[]; + merchantId?: any[]; + loanType?: string; + journeyType?: string; + subType?: string; +}; +type MerchantConfigRequest = { id: string; + merchantConfigSchema: any; +}; +type PanDetails = { + name: string; + idNumber: string; +}; +type AvailableLendersRequest = { + chargeToken: string; +}; +type InitialData = { userId: string; - userName?: string; - partnerId?: string; - partner?: string; - partnerLogo?: string; - status: string; - type?: string; - remark?: string; - amount: number; - orderId?: string; - loanAccountNumber?: string; - kfs?: string; - sanctionLetter?: string; - createdAt: string; + entityId: string; +}; +type ExecutePolicyRequest = { + policyFilters?: GetPolicyFilters; + initialData: InitialData; +}; +type ExecutePolicyRequest2 = { + policyFilters?: GetPolicyFilters2; + initialData: InitialData; }; -type TrFilterKeys = { - display?: string; - name?: string; - kind?: string; +type RegisterGstRequest = { + gstin: string; + skipGst?: boolean; + onboardingToken?: string; }; -type TrFilterValues = { - display?: string; - isSelected?: boolean; - value?: string; +type PopulateFormRequest = { + form: any; + lenderId?: string; + merchantId?: string; }; -type KfsRequest = { - loanTypeId?: number; - chargeToken?: string; +type ValidateFormFieldRequest = { + workflowName: string; + userId?: string; + entityId?: string; + entityMapId?: string; + lenderId?: string; + merchantId?: string; + fields: any; }; -type KfsResponse = { - kfsTable?: string; +type MerchantMetricFilter = { + type: string; + display: string; + value: any[]; + isSelected?: boolean; + isActive?: boolean; }; -type LenderTransactionState = { - id?: string; - stepIndex?: number; +type LenderCustomerMetricsRequest = { + sort?: MerchantMetricFilter[]; + filters?: MerchantMetricFilter[]; + merchantId?: string; lenderId?: string; - workflowId?: string; - workflowName?: string; - parentStateId?: string; - workflowUrl?: string; - isInternal?: boolean; - active?: boolean; - ttl?: number; - name?: string; - type?: string; - inputData?: any; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; + pivotPoints?: number; }; -type TransactionStateResponse = { - transactionState?: LenderTransactionState[]; +type StonewallCustomer = { + mobile?: string; + uid?: string; }; -type Theme = { - logoUrl?: string; - iconUrl?: string; - landscapeBgUrl?: string; - portraitBgUrl?: string; - shortName?: string; +type GetLimitRequest = { + lenderSlugs?: any[]; + onlyDefaultLender?: boolean; + customer: StonewallCustomer; }; -type Emi = { +type DocumentObject = { id?: string; userId?: string; - installmentno?: number; - loanAccountNumber?: string; - amount?: number; - dueDate?: string; - referenceTransactionId?: string; - remark?: string; - createdAt?: string; - updatedAt?: string; + name?: string; + imageUrl?: string; + number: string; + detail: any; + valid?: boolean; entityId?: string; - paid?: boolean; - overdue?: boolean; - repaymentDate?: string; -}; -type MetricPivots = { - date?: string; - sum?: number; }; -type TransactionMetricSubResponse = { - total?: string; - pivots?: MetricPivots[]; - title?: string; - description?: string; - valueFormat?: string; - logo?: string; +type ManualKycRequest = { + remark: any; + status: string; + stepId: string; + entityMapId: string; + documentData?: DocumentObject; }; -type TransactionMetrics = { - totalDisbursement?: TransactionMetricSubResponse; - totalOverdue?: TransactionMetricSubResponse; - totalRepayment?: TransactionMetricSubResponse; +type RetriggerLenderOnboardRequest = { + stepId: string; + data: any; }; -type LenderCustomerTransactionMetricsFilters = { - type: string; - display: string; - value: string[]; - isSelected?: boolean; - isActive: boolean; +type BusinessDetail = { + category: string; + shopName?: string; + legalName: string; + address?: string; + type?: string; + pincode?: string; }; -type LenderCustomerTransactionMetrics = { - metrics?: TransactionMetrics; - filters?: LenderCustomerTransactionMetricsFilters[]; - sort?: LenderCustomerTransactionMetricsFilters[]; +type VintageData = { + month: number; + year: number; + totalTransactions: number; + totalTransactionAmount: number; + totalCancellations?: number; + totalCancellationAmount?: number; }; -type LenderCustomerTransactionMetricsResponse = { - data?: any; +type DocumentObjects = { + number: string; + category: string; + type: string; + name?: string; + issuedOn?: string; + issuedAt?: string; + issuedBy?: string; + expiryOn?: string; }; -type LenderCustomerTransactionMetricsRequest = { - filters?: LenderCustomerTransactionMetricsFilters[]; - sort?: LenderCustomerTransactionMetricsFilters[]; +type KycCountByStatus = { startDate?: string; endDate?: string; merchantId?: string; lenderId?: string; - pivotPoints?: number; -}; -type LenderTheme = { - logoUrl: string; - iconUrl: string; - landscapeBgUrl: string; - portraitBgUrl: string; - shortName: string; }; -type Lender = { - id?: string; +type FindDocResponse = { + status: string; + info: string; + details?: any; name?: string; - active?: boolean; - imageUrl?: string; - slug?: string; - theme?: LenderTheme; - b2b?: boolean; - b2c?: boolean; - merchantConfigSchema?: string; - createdAt?: string; - updatedAt?: string; - approvedLimit?: number; - deletedAt?: string; - meta?: any; - metaSchema?: any; }; -type UserLender = { - id: string; - userId: string; +type LenderKycStatus = { + status: string; + lenderId?: string; + lenderName?: string; + kycType?: string; +}; +type StateResponeDto = { + step: UserKycLenderStepMap; + isStepCompleted: boolean; +}; +type KycStateMachineDto = { + kycResult: UserKycDetail; + action?: UserKycLenderStepMap; +}; +type InitiateKycDto = { + kycType: string; lenderId: string; - active?: boolean; + user: any; + kycId?: string; + entityRelation?: EntityMapDto; +}; +type LenderOnboardDto = { + lender?: Lender; + user: any; + userLenderDetail?: UserLender; + payload: LenderOnboardRequest; + entityRelation?: EntityMapDto; + ipAddress: string; + overrideTtl?: boolean; +}; +type StepDetails = { + name?: string; + description?: string; + iconUrl?: string; status: string; - createdAt: string; - updatedAt: string; - deletedAt?: string; + step: string; + order: number; +}; +type OnboardStatusDto = { + onboardStep: string; + onboardingId: string; + status: string; + action: string; + actionStatus: string; + lender: Lender; + navigation?: string; approvedLimit: number; - entityId?: string; - entityMapId?: string; + proposedLimit: number; + actionData?: any; + steps?: StepDetails[]; + entityId: string; + entityMapId: string; + actionIsForm: boolean; + actionForm?: Form; + merchantId?: string; + actionName?: string; + actionDescription?: string; +}; +type LenderFilters = { + includeStatus?: any[]; + excludeStatus?: any[]; + allowDisabledLender?: any; +}; +type Policy = { + id?: string; + name?: string; + url?: string; + data?: any; + version?: string; + active?: boolean; + type?: any; + index?: number; + lenderId?: string; + merchantId?: string; + workflowId?: string; + schemaRef?: any[]; + masterVariableRef?: any[]; + customVariable?: any; + subType?: string; + createdAt?: any; + updatedAt?: any; + deletedAt?: any; }; -type SourceCreditReport = { +type OrganizationLogosObject = { id: string; - userId: string; - pan: string; name: string; - mobile: string; - bureau: string; - score: string; - report: string; - createdAt?: string; + logo: string; + active: boolean; }; -type Document = { - id: string; - userId: string; - imageUrl: string; - number: string; - detail: any; - valid: boolean; - createdAt: string; - updatedAt: string; - deletedAt?: string; - entityId?: string; +type MetricSubTypes = { + date: string; + count?: string; + sum?: string; }; -type UserKycDetail = { - id: string; +type MetricTypes = { + pivots: MetricSubTypes[]; + total?: string; + description: string; + title: string; + valueFormat: string; + logo: string; +}; +type BreApprovedUsersResponse = { + data: MetricTypes; +}; +type Metrics = { + lenderApprovedUsers: MetricTypes; + breApprovedUsers: MetricTypes; + totalCreditLine: MetricTypes; +}; +type MetricData = { + metrics: Metrics; + filters: MerchantMetricFilter[]; + sort: MerchantMetricFilter[]; +}; +type GetAllUserLendersByEnityId = { + entityId: string; + entityMapId: string; userId: string; status: string; - type: string; - remark: string; - profileType: string; - active: boolean; - expiryDate?: string; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; - lenderId: string; lender?: Lender; - entityMapId?: string; - entityId?: string; + partnerId?: string; + approvedLimit?: number; }; -type Form = { - id?: string; - name?: string; - title?: string; - subtitle?: string; - action?: string; - form?: any; - uiSchema?: any; - workflowId?: string; +type ApprovedLenders = { + status: string; + lenders: BreOutput[]; }; -type LenderKycStepMap = { +type BreResultStatus = { + status: string; + approvedLenders?: BreOutput[]; +}; +type LenderState = { id?: string; - step: string; - stepIndex: number; + name: string; lenderId: string; + index: number; + workflowName: string; + workflowUrl?: string; active: boolean; - rules: any; - profileType: string; createdAt?: string; updatedAt?: string; deletedAt?: string; - name: string; - description: string; - iconUrl: string; + lender?: Lender; + parentStateId?: string; + ttl: number; + displayName?: string; + description?: string; + iconUrl?: string; isInteractive: boolean; - formId?: string; - merchantId?: string; - form: Form; - docSchema: any; + schema?: any; }; -type UserKycLenderStepMap = { +type UserLenderState = { id: string; - userId: string; - lenderKycStepMapId: string; - userKycDetailId: string; + lenderStateId: string; lenderId: string; - ruleState: any; - active: boolean; + userId: string; status: string; - documentId?: string; - createdAt: string; - updatedAt: string; + userLenderId: string; + remark: string; + active: boolean; + lenderState?: LenderState; + data?: any; + createdAt?: string; + updatedAt?: string; deletedAt?: string; - lenderKycStepMap?: LenderKycStepMap; - entityMapId?: string; entityId?: string; + entityMapId?: string; updatedBy?: string; }; -type ProofOfIdentity = { - dob: string; - hashedEmail: string; - gender: string; - hashedMobileNumber: string; - name: string; -}; -type ProofOfAddress = { - careOf: string; - country: string; - district: string; - house: string; - landmark: string; - locality: string; - pincode: string; - postOffice: string; - state: string; - street: string; - subDistrict: string; - vtc: string; -}; -type EAadhaarData = { - aadhaarReferenceNumber: string; - aadhaarUid: string; - image: string; - proofOfIdentity: ProofOfIdentity; - proofOfAddress: ProofOfAddress; - xml?: string; - pdf?: string; - address?: string; -}; -type Consent = { - text: string; - type: string; -}; -type ValidatePanRequest = { - pan: string; - consents: Consent[]; -}; -type BankDetails = { - accountType: string; - bankName: string; - ifsc: string; - accountNumber: string; - accountHolderName: string; -}; -type DocumentData = { - selfie?: string; - video?: string; - digilockerCode?: string; - bankDetails?: BankDetails; +type LenderConfig = { + id?: string; + baseUrl: string; + accessToken?: string; + secret?: string; + data: any; + lenderId: string; + active?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; }; -type ConfirmPanRequest = { - pan: string; +type Pg = { + id: string; name: string; - entity?: string; - merchantId?: string; -}; -type LivelinessDetails = { - selfie: string; - video: string; -}; -type UploadDocumentRequest = { - user?: any; - documentData?: any; - lenderSlug: string; - kycStep: string; - merchantId?: string; - entityMapId?: string; -}; -type UploadDocumentRequestV1 = { - kycStep: string; - entityMapId: string; - documentData: any; -}; -type UploadDocumentRequestV3 = { - kycStep: string; - entityMapId: string; - documentData: any; -}; -type AadhaarRequest = { - digilockerCode?: string; -}; -type UploadAadhaarRequest = { - documentData?: AadhaarRequest; - user?: any; - lenderSlug: string; - kycStep: string; - merchantId?: string; - entityMapId?: string; -}; -type UploadLivelinessRequest = { - documentData?: LivelinessDetails; - user?: any; - lenderSlug: string; - kycStep: string; - merchantId?: string; - entityMapId?: string; -}; -type UploadAadhaarRequestV1 = { - documentData: AadhaarRequest; - kycStep: string; - entityMapId: string; -}; -type UploadLivelinessRequestV1 = { - documentData: LivelinessDetails; - kycStep: string; - entityMapId: string; -}; -type UploadAadhaarRequestV2 = { - documentData?: AadhaarRequest; - user?: any; - lenderSlug: string; - kycStep: string; - merchantId?: string; - entityMapId?: string; + active: boolean; }; -type UploadLivelinessRequestV2 = { - documentData?: LivelinessDetails; - user?: any; - lenderSlug: string; - kycStep: string; - merchantId?: string; - entityMapId?: string; +type LenderPgConfig = { + id?: string; + mid: string; + clientId: string; + secret: string; + lenderId: string; + pgId: string; + active: boolean; }; -type UploadAadhaarRequestV3 = { - documentData: AadhaarRequest; - kycStep: string; - entityMapId: string; +type FileUploadResponse = { + fileId: string; + name: string; + path: string; + format: string; + size: number; + access: string; + tags: string; + metadata: string; + url: string; + thumbnail: string; }; -type UploadLivelinessRequestV3 = { - documentData: LivelinessDetails; - kycStep: string; - entityMapId: string; +type PresignedUrl = { + url: string; + fields: any; }; -type UploadBankDetailsRequest = { - documentData?: BankDetails; - user?: any; - lenderSlug: string; - kycStep: string; - merchantId?: string; - entityMapId?: string; +type PresignedUrlV2 = { + url: string; + fields: any; }; -type InitiateKycRequest = { - kycType: string; - kycId?: string; - merchantId?: string; +type LenderDocument = { + id?: string; + lenderId?: string; + type?: string; + document?: any; + active?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; }; -type InitiateKycRequestV1 = { - entityMapId: string; - kycType: string; - kycId?: string; - merchantId?: string; +type KycStatusResponse = { + isKycInitiated: boolean; + userId: string; + kycStatuses: LenderKycStatus[]; }; -type LenderOnboardRequest = { - ack?: string; - data: any; - entityMapId?: string; - merchantId?: string; +type WorkflowResponse = { + data?: any; }; -type UpdateLenderStatusRequest = { +type Action = { + step: string; status: string; - payload: any; - data: any; - action: boolean; + index: number; + isForm?: boolean; + form: Form; }; -type UpdateProfileRequest = { - firstName?: string; - lastName?: string; - gender?: string; - dob?: string; - userId: string; - isOnboarded?: boolean; - address?: string; +type InitiateKycResponse = { + kycResult: UserKycDetail; + action: Action; }; -type UpdateEntityRequest = { - name?: string; - gender?: string; - dob?: string; - isDefault?: boolean; - address?: ProofOfAddress; +type UploadDocResponse = { + status: string; + data?: any; + remark?: string; + reasons: string; + kycResult: UserKycDetail; + action: Action; }; -type CreateKycStepsRequest = { +type LenderOnboardResponse = { + result: UserLender; + action: UserLenderState; data: any; }; -type CreateLenderPgConfigRequest = { - mid: string; - clientId: string; - secret: string; - active: boolean; - pgId: string; - lenderId: string; +type OnboardingStatusResponse = { + onboardStatuses: OnboardStatusDto[]; }; -type CreateLenderStateRequest = { - data: any; +type SignedUrlResponse = { + signedUrl: PresignedUrl; + fileUrl: string; }; -type UpdateLenderRequest = { - data: any; - lenderId: string; +type SignedUrlV2Response = { + signedUrl: PresignedUrlV2; + fileUrl: string; }; -type OtherPolicyFilters = { - orderBy?: any[]; +type PresignedUrlV3 = { + signedUrl: string; + provider: any; }; -type GetPolicyFilters = { - policyType?: string; - lenderIds?: any[]; - merchantIds?: any[]; - orderBy?: any[]; +type SignedUrlV3Response = { + signedDetails: PresignedUrlV3; + fileUrl: string; }; -type GetPolicyFilters2 = { - breType?: string; - lenderId?: any[]; - merchantId?: any[]; - loanType?: string; - journeyType?: string; - subType?: string; +type DigilockerLinkResponse = { + authorizationUrl: string; }; -type MerchantConfigRequest = { - id: string; - merchantConfigSchema: any; +type GetDocumentsResponse = { + documents: FindDocResponse[]; }; -type PanDetails = { +type ApprovedLendersTransaction = { name: string; - idNumber: string; + slug: string; + imageUrl: string; + status: string; + active: boolean; + proposedLimit: number; + createdAt: any; + updatedAt: any; + deletedAt?: any; + isDefault?: boolean; + __headers?: any; }; -type AvailableLendersRequest = { - chargeToken: string; +type ApprovedPossibleLenders = { + limit: number; + name: string; + slug: string; + active: boolean; + id: string; + theme?: any; }; -type InitialData = { - userId: string; - entityId: string; +type AvailableLenders = { + approvedLenders: ApprovedPossibleLenders[]; + possibleLenders: ApprovedPossibleLenders[]; }; -type ExecutePolicyRequest = { - policyFilters?: GetPolicyFilters; - initialData: InitialData; +type CreditLimit = { + availableLimit: number; + approvedLimit: number; }; -type ExecutePolicyRequest2 = { - policyFilters?: GetPolicyFilters2; - initialData: InitialData; +type CreditLimitResponse = { + status: string; + message: string; + action: boolean; + credit: CreditLimit; }; -type RegisterGstRequest = { - gstTin: string; +type LenderPgConfigResponse = { + id: string; + mid: string; + clientId: string; + secret: string; + lenderId: string; + pgId: string; + active: boolean; + pgName: string; + pgActive: boolean; }; -type PopulateFormRequest = { - form: any; - lenderId?: string; - merchantId?: string; +type GetLendersResponse = { + data: Lender[]; }; -type ValidateFormFieldRequest = { - workflowName: string; - userId?: string; - entityId?: string; - entityMapId?: string; - lenderId?: string; - merchantId?: string; - fields: any; +type LenderConfigurationResponse = { + lender: Lender; + lenderPgConfig: LenderPgConfig; + lenderConfig: LenderConfig; + lenderState: LenderState[]; + lenderKycStepMap: LenderKycStepMap[]; }; -type MerchantMetricFilter = { - type: string; - display: string; - value: any[]; - isSelected?: boolean; - isActive?: boolean; +type UpsertLenderResponse = { + data: any; }; -type LenderCustomerMetricsRequest = { - sort?: MerchantMetricFilter[]; - filters?: MerchantMetricFilter[]; - merchantId?: string; - lenderId?: string; - pivotPoints?: number; +type UpsertLenderConfigResponse = { + data: any; }; -type StonewallCustomer = { - mobile?: string; - uid?: string; +type CreateKycStepsSchema = { + data: LenderKycStepMap[]; }; -type GetLimitRequest = { - lenderSlugs?: any[]; - onlyDefaultLender?: boolean; - customer: StonewallCustomer; +type CreatePaymentGatewaySchema = { + data: LenderPgConfig[]; +}; +type CreateLenderStateSchema = { + data: LenderState[]; }; -type DocumentObject = { - id?: string; - userId?: string; - name?: string; - imageUrl?: string; - number: string; - detail: any; - valid?: boolean; - entityId?: string; +type GetAllPaymentGatewaysSchema = { + data: Pg[]; }; -type ManualKycRequest = { - remark: any; - status: string; - stepId: string; - entityMapId: string; - documentData?: DocumentObject; +type PolicyResponse = { + policies: Policy[]; }; -type RetriggerLenderOnboardRequest = { - stepId: string; - data: any; +type CreditCheckBreResponse = { + newLenderAssigned: boolean; + breStatus: string; }; -type EntityMapDto = { +type MerchantConfigResponse = { id: string; - merchantId?: string; - status?: string; - lenderId: string; - limit?: number; - creditType?: string; - userId: string; - entityId: string; + merhantConfigSchema: string; }; -type EntityDto = { +type UserLenderByIdAndStatusResponse = { id: string; - type?: string; - address?: string; - name?: string; - gender?: string; - dob?: string; userId: string; -}; -type FindDocResponse = { + lenderId: string; + active?: boolean; status: string; - info: string; - number: string; - details?: any; - name?: string; + createdAt: string; + updatedAt: string; + deletedAt?: string; + approvedLimit: number; + slug?: string; + theme?: any; + name?: any; }; -type LenderKycStatus = { - status: string; - lenderId?: string; - lenderName?: string; - kycType?: string; +type IntgrAvailableCreditLimit = { + limit: number; + lenderName: string; + slug: string; + isDefault: boolean; + logoUrl: string; }; -type StateResponeDto = { - step: UserKycLenderStepMap; - isStepCompleted: boolean; +type IngtrAvailableLimit = { + available: IntgrAvailableCreditLimit[]; + possible?: IntgrAvailableCreditLimit[]; }; -type KycStateMachineDto = { - kycResult: UserKycDetail; - action?: UserKycLenderStepMap; +type IntgrCreditLimit = { + limit: IngtrAvailableLimit; + __headers?: any; }; -type InitiateKycDto = { - kycType: string; +type PossibleLendersInternal = { + limit: boolean; + lenderName: string; + slug: string; + isDefault: boolean; + logo: string; lenderId: string; - user: any; - kycId?: string; - entityRelation?: EntityMapDto; }; -type LenderOnboardDto = { - lender?: Lender; - user: any; - userLenderDetail?: UserLender; - payload: LenderOnboardRequest; - entityRelation?: EntityMapDto; - ipAddress: string; - overrideTtl?: boolean; +type PossibleLendersInternalResponse = { + lenders: PossibleLendersInternal[]; }; -type StepDetails = { - name?: string; - description?: string; - iconUrl?: string; - status: string; - step: string; - order: number; +type GetTotalKycResponse = { + totalKyc: string; }; -type OnboardStatusDto = { - onboardStep: string; - onboardingId: string; +type GetTotalKycCompletedUsersResponse = { + totalKycCompletedUsers: string; +}; +type GetTotalPendingUsersResponse = { + totalPendingKyc: string; +}; +type GetTotalCreditProvidedResponse = { + totalCreditLimit: string; +}; +type MetaSchemaResponse = { + title: string; + name: string; + required: string[]; + type: string; + properties: any; +}; +type MetaSchema = { + metaSchema: MetaSchemaResponse; +}; +type AddMetaSchema = { + lenderSlug: string; + merchantId: string; + schema: any; +}; +type AddMetaSchemaRequest = { + merchantId: string; + schema: any; +}; +type ValidatePanResponse = { + panName: string; + isPanValid: string; + pan: string; + isProprietor: boolean; + panType: string; + errorCode?: string; + status?: string; + errorMessage?: string; +}; +type ConfirmPanResonse = { status: string; - action: string; - actionStatus: string; + statusCode: string; + message: string; +}; +type LenderCountResponse = { + active: number; + inActive: number; +}; +type OnboardStepsDto = { + steps: StepDetails[]; lender: Lender; - navigation?: string; - approvedLimit: number; - proposedLimit: number; - actionData?: any; - steps?: StepDetails[]; - entityId: string; - entityMapId: string; - actionIsForm: boolean; - actionForm?: Form; }; -type LenderFilters = { - includeStatus?: any[]; - excludeStatus?: any[]; - allowDisabledLender?: any; +type OnboardStepsResponse = { + stepDetails: OnboardStepsDto[]; }; -type Policy = { - id?: string; - name?: string; - url?: string; - data?: any; - version?: string; - active?: boolean; - type?: any; - index?: number; - lenderId?: string; - merchantId?: string; - workflowId?: string; - schemaRef?: any[]; - masterVariableRef?: any[]; - customVariable?: any; - subType?: string; - createdAt?: any; - updatedAt?: any; - deletedAt?: any; +type LenderDocumentResponse = { + data: LenderDocument; }; -type GetKycDocsResponse = { - documents: FindDocResponse[]; +type GetUserLendersResponse = { + data: UserLender[]; }; -type OrganizationLogosObject = { - id: string; - name: string; - logo: string; - active: boolean; +type CreditReportResponse = { + data: SourceCreditReport; }; -type MetricSubTypes = { - date: string; - count?: string; - sum?: string; +type KycDetailsReponse = { + data: UserKycLenderStepMap; }; -type MetricTypes = { - pivots: MetricSubTypes[]; - total?: string; - description: string; - title: string; - valueFormat: string; - logo: string; +type GetDocumentByIdResponse = { + data: Document; }; -type BreApprovedUsersResponse = { - data: MetricTypes; +type GetAllFormsResponse = { + data: any; }; -type Metrics = { - lenderApprovedUsers: MetricTypes; - breApprovedUsers: MetricTypes; - totalCreditLine: MetricTypes; +type UpsertFormResponse = { + data: any; }; -type MetricData = { - metrics: Metrics; - filters: MerchantMetricFilter[]; - sort: MerchantMetricFilter[]; +type GstDetails = { + gstin: string; + businessName: string; }; -type ApprovedLenders = { - status: string; - lenders: BreOutput[]; +type GstDetailsResponse = { + gstDetails: GstDetails[]; }; -type BreResultStatus = { +type RegisterGstResponse = { + gstDocDetails: Document; status: string; - approvedLenders?: BreOutput[]; }; -type GetAllUserLendersByEnityId = { - entityId: string; - entityMapId: string; - userId: string; +type PopulateFormResponse = { + form: any; +}; +type ValidateFormFieldResponse = { status: string; - lender: Lender; - partnerId?: string; + message: string; + data: any; }; -type LenderState = { - id?: string; - name: string; - lenderId: string; - index: number; - workflowName: string; - workflowUrl?: string; - active: boolean; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; - lender?: Lender; - parentStateId?: string; - ttl: number; - displayName?: string; - description?: string; - iconUrl?: string; - isInteractive: boolean; - schema?: any; +type LenderCustomerMetricsResponse = { + status: string; + message: string; + data: MetricData; }; -type UserLenderState = { +type BreOutput = { id: string; - lenderStateId: string; - lenderId: string; userId: string; + entityId: string; + lenderId?: string; + merchantId?: string; + policyName: string; + category: string; + type: string; + output: any; status: string; - userLenderId: string; - remark: string; - active: boolean; - lenderState?: LenderState; - data?: any; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; - entityId?: string; - entityMapId?: string; - updatedBy?: string; + createdAt: string; + updatedAt: string; + deletedAt: string; }; -type LenderConfig = { - id?: string; - baseUrl: string; - accessToken?: string; - secret?: string; - data: any; - lenderId: string; - active?: boolean; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; +type ManualKycResponse = { + message: string; + step: UserKycLenderStepMap; }; -type Pg = { - id: string; - name: string; - active: boolean; +type CustomerKycDetailsReponse = { + data: UserKycLenderStepMap; }; -type LenderPgConfig = { - id?: string; - mid: string; - clientId: string; - secret: string; - lenderId: string; - pgId: string; - active: boolean; +type BlockUserRequestSchema = { + status?: boolean; + userid?: string[]; + reason?: string; }; -type FileUploadResponse = { - fileId: string; - name: string; - path: string; - format: string; - size: number; - access: string; - tags: string; - metadata: string; - url: string; - thumbnail: string; +type EditEmailRequestSchema = { + email?: string; }; -type PresignedUrl = { - url: string; - fields: any; +type SendVerificationLinkMobileRequestSchema = { + verified?: boolean; + active?: boolean; + countryCode?: string; + phone?: string; + primary?: boolean; }; -type PresignedUrlV2 = { - url: string; - fields: any; +type EditMobileRequestSchema = { + countryCode?: string; + phone?: string; }; -type LenderDocument = { - id?: string; - lenderId?: string; - type?: string; - document?: any; - active?: boolean; - createdAt?: string; - updatedAt?: string; - deletedAt?: string; +type UpdateEmail = { + email: string; + additionalProperties?: any; }; -type KycStatusResponse = { - isKycInitiated: boolean; - userId: string; - kycStatuses: LenderKycStatus[]; +type EditProfileRequestSchema = { + firstName: string; + lastName: string; + countryCode?: string; + mobile?: string; + email?: string; + gender?: string; + registrationToken?: string; }; -type WorkflowResponse = { - data?: any; +type EditProfileMobileSchema = { + phone?: string; + countryCode?: string; }; -type InitiateKycResponse = { - kycResult: UserKycDetail; - action: any; +type SendEmailOtpRequestSchema = { + email?: string; + action?: string; + token?: string; + registerToken?: string; }; -type UploadDocResponse = { - status: string; - data?: any; - remark?: string; - kycResult: UserKycDetail; - action: any; +type VerifyEmailOtpRequestSchema = { + email?: string; + action?: string; + registerToken?: string; + otp?: string; }; -type LenderOnboardResponse = { - result: UserLender; - action: UserLenderState; - data: any; +type ReSendMobileOtpRequestSchema = { + captchaCode?: string; + token: string; + androidHash?: string; }; -type OnboardingStatusResponse = { - onboardStatuses: OnboardStatusDto[]; +type ResetPasswordSuccess = { + status?: string; }; -type SignedUrlResponse = { - signedUrl: PresignedUrl; - fileUrl: string; +type RegisterFormSuccess = { + email?: string; + resendTimer?: number; + resendToken?: string; + resendEmailToken?: string; + registerToken?: string; + success?: boolean; + requestId?: string; + message?: string; + mobile?: string; + countryCode?: string; + verifyEmailOtp?: boolean; + verifyMobileOtp?: boolean; + userExists?: boolean; }; -type SignedUrlV2Response = { - signedUrl: PresignedUrlV2; - fileUrl: string; +type VerifyEmailSuccess = { + message?: string; }; -type PresignedUrlV3 = { - signedUrl: string; - provider: any; +type BlockUserSuccess = { + success?: boolean; }; -type SignedUrlV3Response = { - signedDetails: PresignedUrlV3; - fileUrl: string; +type EmailOtpSuccess = { + success?: boolean; }; -type DigilockerLinkResponse = { - authorizationUrl: string; +type VerifyEmailOTPSuccess = { + user?: UserSchema; + verifyEmailLink?: boolean; }; -type GetDocumentsResponse = { - documents: FindDocResponse[]; +type SendMobileVerifyLinkSuccess = { + verifyMobileLink?: boolean; }; -type ApprovedLendersTransaction = { - name: string; - slug: string; - imageUrl: string; - status: string; - active: boolean; - proposedLimit: number; - createdAt: any; - updatedAt: any; - deletedAt?: any; - isDefault?: boolean; - __headers?: any; +type SendEmailVerifyLinkSuccess = { + verifyEmailLink?: boolean; }; -type ApprovedPossibleLenders = { - limit: number; - name: string; - slug: string; - active: boolean; - id: string; - theme?: LenderTheme; +type UserSearchResponseSchema = { + users?: UserSchema[]; }; -type AvailableLenders = { - approvedLenders: ApprovedPossibleLenders[]; - possibleLenders: ApprovedPossibleLenders[]; +type CustomerListResponseSchema = { + items?: UserSchema[]; + page?: PaginationSchema; }; -type CreditLimit = { - availableLimit: number; - approvedLimit: number; +type PaginationSchema = { + size?: number; + itemTotal?: number; + hasNext?: boolean; + type?: string; + current?: number; }; -type CreditLimitResponse = { - status: string; - message: string; - action: boolean; - credit: CreditLimit; +type UserObjectSchema = { + user?: UserSchema; }; -type LenderPgConfigResponse = { - id: string; - mid: string; - clientId: string; - secret: string; - lenderId: string; - pgId: string; - active: boolean; - pgName: string; - pgActive: boolean; +type CreateOrganization = { + name?: string; + logo?: string; + website?: string; + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; + businessName?: string; + email?: string; + businessAddress?: string; + pincode?: string; + b2b?: boolean; + b2c?: boolean; + docType?: string; + docNumber?: string; + organizationId?: string; }; -type GetLendersResponse = { - data: Lender[]; +type UpdateLogo = { + logo?: string; }; -type LenderConfigurationResponse = { - lender: Lender; - lenderPgConfig: LenderPgConfig; - lenderConfig: LenderConfig; - lenderState: LenderState[]; - lenderKycStepMap: LenderKycStepMap[]; +type AddMetaSchemaResponse = { + merchantId?: string; + lenderId?: string; + mid?: string; + data?: any; }; -type UpsertLenderResponse = { - data: any; +type UpdateOrganization = { + id: string; + name?: any; + logo?: any; + website?: any; + disbursementAccountHolderName?: any; + disbursementAccountNumber?: any; + disbursementIfsc?: any; + active?: boolean; }; -type UpsertLenderConfigResponse = { - data: any; +type UpdateFinancials = { + disbursementAccountHolderName: string; + disbursementAccountNumber: string; + disbursementIfsc: string; }; -type CreateKycStepsSchema = { - data: LenderKycStepMap[]; +type Documents = { + docType: string; + docNumber: string; +}; +type FinancialDetails = { + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; + b2b?: boolean; + b2c?: boolean; + businessName?: string; + email?: string; + businessAddress?: string; + pincode?: string; + documents?: Documents[]; }; -type CreatePaymentGatewaySchema = { - data: LenderPgConfig[]; +type GetOrganization = { + organizationId?: string; + createdAt?: string; + updatedAt?: string; + isAdmin?: boolean; + name?: string; + isActive?: boolean; }; -type CreateLenderStateSchema = { - data: LenderState[]; +type OrganizationDetails = { + name?: string; + organizationId?: string; + isAdmin?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + isActive?: boolean; + logo?: string; + website?: string; + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; }; -type GetAllPaymentGatewaysSchema = { - data: Pg[]; +type Organization = { + id?: string; + name?: string; + active?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; }; -type PolicyResponse = { - policies: Policy[]; +type OrganizationList = { + name?: string; + logo?: string; + id?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; + isActive?: boolean; + epikId?: string; + website?: string; + disbursementAccountHolderName?: string; + disbursementAccountNumber?: string; + disbursementIfsc?: string; }; -type CreditCheckBreResponse = { - newLenderAssigned: boolean; - breStatus: string; +type OrganizationCount = { + count?: string; }; -type MerchantConfigResponse = { - id: string; - merhantConfigSchema: string; +type TeamMembers = { + members?: Member[]; }; -type UserLenderByIdAndStatusResponse = { - id: string; - userId: string; - lenderId: string; - active?: boolean; - status: string; - createdAt: string; - updatedAt: string; +type Member = { + id?: string; + userId?: string; + organizationId?: string; + isAdmin?: boolean; + createdAt?: string; + updatedAt?: string; deletedAt?: string; - approvedLimit: number; - slug?: string; - theme?: LenderTheme; - name?: any; + profile?: Profile; }; -type IntgrAvailableCreditLimit = { - limit: number; - lenderName: string; - slug: string; - isDefault: boolean; - logoUrl: string; +type Profile = { + id?: string; + userId?: string; + organizationId?: string; + isAdmin?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; }; -type IngtrAvailableLimit = { - available: IntgrAvailableCreditLimit[]; +type AddTeamMember = { + countryCode?: string; + mobile?: string; + email?: string; + userIsAdmin?: boolean; }; -type IntgrCreditLimit = { - limit: IngtrAvailableLimit; - __headers?: any; +type UpdateTeamMemberRole = { + userIsAdmin?: boolean; + userId?: string; }; -type PossibleLendersInternal = { - limit: boolean; - lenderName: string; - slug: string; - isDefault: boolean; - logo: string; - lenderId: string; +type RemoveTeamMemberResponse = { + success?: boolean; }; -type PossibleLendersInternalResponse = { - lenders: PossibleLendersInternal[]; +type AddTeamMemberResponse = { + id?: string; + userId?: string; + organizationId?: string; + isAdmin?: boolean; + createdAt?: string; + updatedAt?: string; + deletedAt?: string; }; -type GetTotalKycResponse = { - totalKyc: string; +type ApiKey = { + key?: string; + secret?: string; }; -type GetTotalKycCompletedUsersResponse = { - totalKycCompletedUsers: string; +type UpdateApiHook = { + apiKey: string; + url: string; + customHeaders?: any; }; -type GetTotalPendingUsersResponse = { - totalPendingKyc: string; +type ApiHookDetails = { + apiKey: string; + url: string; + customHeaders?: any; + createdAt?: string; + updatedAt?: string; }; -type GetTotalCreditProvidedResponse = { - totalCreditLimit: string; +type UpdateApiHookResponse = { + success?: boolean; }; -type MetaSchemaResponse = { - title: string; - name: string; - required: string[]; - type: string; - properties: any; +type OrganizationIp = { + id?: string; + ip: string; }; -type MetaSchema = { - metaSchema: MetaSchemaResponse; +type AddOrganizationIpDetails = { + organizationIps?: OrganizationIp[]; + delete?: string; }; -type AddMetaSchema = { - lenderSlug: string; - merchantId: string; - schema: any; +type AddUpdateCsvFileResponse = { + message?: string; }; -type AddMetaSchemaRequest = { - merchantId: string; - schema: any; +type AddUpdateCsvFileRequest = { + csv?: string; + organizationId?: string; }; -type ValidatePanResponse = { - panName: string; - isPanValid: string; - pan: string; - isProprietor: boolean; - panType: string; - errorCode?: string; - status?: string; - errorMessage?: string; +type CsvFile = { + csv?: string; }; -type ConfirmPanResonse = { - status: string; - statusCode: string; - message: string; +type AddReportCsvFileResponse = { + message?: string; }; -type LenderCountResponse = { - active: number; - inActive: number; +type AddReportCsvFileRequest = { + csv?: string; + organizationId?: string; + name?: string; + type?: string; }; -type OnboardStepsDto = { - steps: StepDetails[]; - lender: Lender; +type ReportCsvFileResponse = { + csv?: string; }; -type OnboardStepsResponse = { - stepDetails: OnboardStepsDto[]; +type AddReportRequestArray = { + mobile?: string; + merchantId?: string; + category?: string; + shopName?: string; + legalName?: string; + firstName?: string; + middleName?: string; + lastName?: string; + aadhaar?: string; + nameOnPan?: string; + gstNumber?: string; + gstBusinessName?: string; + panNumber?: string; + udyam?: string; + ownershipType?: string; + address?: string; + pincode?: string; + license1Type?: string; + license1?: string; + license2Type?: string; + license2?: string; }; -type LenderDocumentResponse = { - data: LenderDocument; +type AddReportRequest = { + businessDetails?: any[]; }; -type GetUserLendersResponse = { - data: UserLender[]; +type AddReportResponseArray = { + mobile?: string; + merchantId?: string; + anchorId?: string; + category?: string; + shopName?: string; + legalName?: string; + firstName?: string; + middleName?: string; + lastName?: string; + aadhaar?: string; + nameOnPan?: string; + gstNumber?: string; + gstBusinessName?: string; + panNumber?: string; + udyam?: string; + ownershipType?: string; + address?: string; + pincode?: string; + license1Type?: string; + license1?: string; + license2Type?: string; + license2?: string; +}; +type AddReportResponse = { + businessDetails?: AddReportResponseArray[]; +}; +type VintageDataResponseObject = { + month?: string; + year?: number; + revenue?: string; + businessId?: string; + createdBy?: string; + id?: string; + createdAt?: string; + updatedBy?: string; + updatedAt?: string; }; -type CreditReportResponse = { - data: SourceCreditReport; +type VintageDataResponse = { + vintageData?: VintageDataResponseObject[]; }; -type KycDetailsReponse = { - data: UserKycLenderStepMap; +type AddSkuRequestArray = { + sku: string; + productName: string; + creditPurchaseOptionFlag: string; + effectiveDates: string; + organizationId: string; }; -type GetDocumentByIdResponse = { - data: Document; +type AddSkuRequest = { + skuDetails?: AddSkuRequestArray[]; }; -type GetAllFormsResponse = { - data: any; +type AddSkuResponse = { + message?: string; }; -type UpsertFormResponse = { - data: any; +type RestrictedSkuSchema = { + skuDetails?: any[]; }; -type GstDetails = { - gstTin: string; - businessName: string; +type OrganizationIpResponse = { + organizationId: string; + ip: string; + createdAt?: string; + updatedAt?: string; + id: string; }; -type GstDetailsResponse = { - gstDetails: GstDetails[]; +type OrganizationIpDetails = { + organizationIps?: OrganizationIpResponse[]; }; -type RegisterGstResponse = { - gstDocDetails: Document; +type RefundSuccess = { status: string; + message: number; + transactionId: string; + refundId: string; }; -type PopulateFormResponse = { - form: any; +type RefundItem = { + items: any[]; }; -type ValidateFormFieldResponse = { - status: string; - message: string; - data: any; +type PaymentLinkResponse = { + status?: string; + message?: string; + paymentLink?: string; }; -type LenderCustomerMetricsResponse = { - status: string; - message: string; - data: MetricData; +type ApplicationCutomer = { + countryCode?: string; + mobile: string; + uid?: string; + email?: string; }; -type ManualKycResponse = { - message: string; - step: UserKycLenderStepMap; +type GeoLocation = { + latitude: number; + longitude: number; }; -type BreOutput = { - id: string; - userId: string; - entityId: string; +type Address = { + line1?: string; + line2?: string; + city?: string; + state?: string; + country?: string; + pincode?: string; + type?: string; + geoLocation?: GeoLocation; +}; +type OrderItems = { + category?: string; + sku?: string; + rate?: number; + quantity?: number; +}; +type PaymentLinkRequest = { + autoCapture?: boolean; lenderId?: string; + emiTenure?: number; + customer: ApplicationCutomer; + order: Order; + device?: Device; + meta?: any; +}; +type UpdateLenderStatusSchemaRequest = { merchantId?: string; - policyName: string; - category: string; - type: string; - output: any; - status: string; - createdAt: string; - updatedAt: string; - deletedAt: string; + enable?: boolean; }; -type CustomerKycDetailsReponse = { - data: UserKycLenderStepMap; +type UpdateLenderStatusSchemaResponse = { + merchantId?: string; + lenderId?: string; + mid?: string; + enable?: boolean; + data?: any; +}; +type CreateUserRequestSchema = { + mobile: string; + email?: string; + firstName?: string; + lastName?: string; + gender?: string; +}; +type CreateUserResponseSchema = { + user?: UserSchema; }; diff --git a/sdk/platform/PlatformClient.js b/sdk/platform/PlatformClient.js index 48c5089..e3efded 100644 --- a/sdk/platform/PlatformClient.js +++ b/sdk/platform/PlatformClient.js @@ -2,6 +2,7 @@ const { CustomerValidator, CreditValidator, MultiKycValidator, + MerchantValidator, } = require("./PlatformModels"); const PlatformApplicationClient = require("./PlatformApplicationClient"); const Paginator = require("../common/Paginator"); @@ -14,6 +15,7 @@ class PlatformClient { this.customer = new Customer(config); this.credit = new Credit(config); this.multiKyc = new MultiKyc(config); + this.merchant = new Merchant(config); } application(applicationId) { if (typeof applicationId == "string") { @@ -33,6 +35,28 @@ class PlatformClient { } } +/** + * @typedef RefundResponse + * @property {string} [status] + * @property {string} [message] + * @property {string} [transactionId] + * @property {string} [refundId] + * @property {Object} [__headers] + */ + +/** + * @typedef UserSource + * @property {string} [userId] + * @property {string} [type] + * @property {string} [sourceId] + * @property {Object} [meta] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [app] + * @property {string} [entityId] + * @property {any[]} [userMerchants] + */ + /** * @typedef UserSchema * @property {string} [id] @@ -307,7 +331,6 @@ class PlatformClient { * @typedef Order * @property {number} valueInPaise * @property {string} uid - * @property {number} [emiTenure] * @property {Items[]} [items] * @property {OrderAddress} [shippingAddress] * @property {OrderAddress} [billingAddress] @@ -346,21 +369,23 @@ class PlatformClient { * @property {Device} device * @property {Object} [meta] * @property {boolean} [fetchLimitOptions] + * @property {boolean} [fetchPlans] */ /** * @typedef CreateTransaction - * @property {boolean} [autoCapture] * @property {string} redirectUrl * @property {CustomerObject} customer * @property {Order} order * @property {Device} device * @property {Object} [meta] + * @property {number} [emiTenure] + * @property {string} [lenderSlug] + * @property {Consents[]} [consents] */ /** * @typedef ResendPaymentRequest - * @property {boolean} [autoCapture] * @property {string} [redirectUrl] * @property {CustomerObject} customer * @property {OrderUid} order @@ -368,9 +393,11 @@ class PlatformClient { /** * @typedef VerifyCustomerSuccess - * @property {string} [status] - * @property {string} [userStatus] - * @property {string} [message] + * @property {string} status + * @property {string} userStatus + * @property {string} message + * @property {SchemeResponse[]} [schemes] + * @property {LimitResponse} [limit] * @property {Object} [__headers] */ @@ -766,6 +793,7 @@ class PlatformClient { * @typedef Consents * @property {string} [type] * @property {string} [text] + * @property {string} [purpose] */ /** @@ -869,11 +897,12 @@ class PlatformClient { /** * @typedef Refund * @property {string} [fingerprint] - * @property {CustomerObject} customer + * @property {CustomerObject} [customer] * @property {Items[]} [refundItems] * @property {string} orderId * @property {string} refundId * @property {number} refundAmount + * @property {string} [redirectionUrl] */ /** @@ -979,7 +1008,6 @@ class PlatformClient { * @property {string} [refreshTokenExpiryAt] * @property {string} [refreshTokenExpiryIn] * @property {string[]} [scope] - * @property {Object} [__headers] */ /** @@ -988,7 +1016,6 @@ class PlatformClient { * @property {string} [accessToken] * @property {string} [tokenExpireAt] * @property {string} [tokenExpiryIn] - * @property {Object} [__headers] */ /** @@ -1025,6 +1052,13 @@ class PlatformClient { * @property {Object} [__headers] */ +/** + * @typedef GetSchemesSuccess + * @property {string} [userId] + * @property {SchemeResponse[]} lenders + * @property {Object} [__headers] + */ + /** * @typedef CustomerMetricsPivots * @property {string} [date] @@ -1063,6 +1097,81 @@ class PlatformClient { * @property {CustomerMetricsFilters[]} [sort] */ +/** + * @typedef SchemeResponse + * @property {string} slug + * @property {boolean} isDefault + * @property {string} logoUrl + * @property {string} name + * @property {string} title + * @property {string} subtitle + * @property {number} [amount] + * @property {SchemePaymentOptionsResponse} paymentOptions + */ + +/** + * @typedef SchemePaymentOptionsResponse + * @property {SchemeEmiPaymentOptionResponse[]} [emis] + * @property {SchemePayLaterPaymentOptionResponse} [payLater] + */ + +/** + * @typedef SchemeEmiPaymentOptionResponse + * @property {string} id + * @property {boolean} isDefault + * @property {string} description + * @property {string} title + * @property {string} subtitle + * @property {number} amount + * @property {number} [interest] + * @property {number} processingFee + * @property {number} tenure + * @property {SchemeEmiScheduleResponse[]} emiSchedule + */ + +/** + * @typedef SchemeEmiScheduleResponse + * @property {number} installmentNo + * @property {number} installmentAmount + * @property {string} dueDate + */ + +/** + * @typedef SchemePayLaterPaymentOptionResponse + * @property {string} id + * @property {string} title + * @property {string} subtitle + * @property {string} description + * @property {number} tenure + * @property {number} interest + * @property {number} processingFee + * @property {number} amount + * @property {boolean} isDefault + */ + +/** + * @typedef LimitResponse + * @property {AvailableOrPossibleLender[]} [available] + * @property {AvailableOrPossibleLender[]} [possible] + */ + +/** + * @typedef AvailableOrPossibleLender + * @property {number} limit + * @property {string} lenderName + * @property {string} slug + * @property {boolean} isDefault + * @property {string} logo + */ + +/** + * @typedef GetSchemesRequest + * @property {CustomerObject} customer + * @property {Order} order + * @property {Device} device + * @property {Object} [meta] + */ + /** * @typedef CustomerMetricsResponse * @property {CustomerMetrics} [data] @@ -1080,6 +1189,7 @@ class PlatformClient { /** * @typedef SourceAnalyticsRequest * @property {CustomerMetricsFilters[]} [filters] + * @property {string} [merchantId] */ /** @@ -1108,9 +1218,9 @@ class PlatformClient { /** * @typedef DocumentItems - * @property {string} [number] + * @property {string} number * @property {string} [category] - * @property {string} [type] + * @property {string} type * @property {string} [name] * @property {string} [issuedOn] * @property {string} [issuedAt] @@ -1133,9 +1243,7 @@ class PlatformClient { * @property {string} [status] * @property {string} [message] * @property {string} [redirectUrl] - * @property {string} [callbackUrl] * @property {CreditLimitObject[]} [creditLimits] - * @property {Object} [__headers] */ /** @@ -1151,10 +1259,93 @@ class PlatformClient { */ /** - * @typedef GetSchemesSuccess - * @property {string} [userId] - * @property {undefined[]} lenders - * @property {Object} [__headers] + * @typedef EmiSchedule + * @property {number} [installmentNo] + * @property {number} [installmentAmount] + * @property {string} [dueDate] + */ + +/** + * @typedef PaymentOption + * @property {string} [id] + * @property {string} [title] + * @property {string} [subtitle] + * @property {string} [description] + * @property {number} [tenure] + * @property {number} [processingFee] + * @property {number} [amount] + * @property {boolean} [isDefault] + * @property {EmiSchedule[]} [emiSchedule] + */ + +/** + * @typedef PaymentOptions + * @property {PaymentOption} [payLater] + * @property {PaymentOption[]} [emis] + */ + +/** + * @typedef LenderAndPaymentOption + * @property {string} [id] + * @property {string} name + * @property {string} [title] + * @property {string} [subtitle] + * @property {boolean} [isDefault] + * @property {string} logoUrl + * @property {number} [amount] + * @property {PaymentOptions} [paymentOptions] + */ + +/** + * @typedef GetSchemesSuccessOld + * @property {string} userId + * @property {LenderAndPaymentOption[]} [lenders] + */ + +/** + * @typedef PageSchemaResponse + * @property {string} [slug] + * @property {string} [description] + * @property {Object} [sections] + * @property {Object} [settings] + */ + +/** + * @typedef userCountRequest + * @property {string} [merchantId] + * @property {string} [startDate] + * @property {string} [endDate] + */ + +/** + * @typedef IntegrationResponseMeta + * @property {string} timestamp + * @property {string} version + * @property {string} product + * @property {string} [requestId] + */ + +/** + * @typedef IntegrationResponseError + * @property {string} code + * @property {string} message + * @property {string} exception + * @property {string} [field] + * @property {string} [in] + */ + +/** + * @typedef IntegrationSuccessResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {Object} data + */ + +/** + * @typedef IntegrationErrorResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {IntegrationResponseError[]} [errors] */ /** @@ -1166,6 +1357,9 @@ class PlatformClient { * @property {boolean} [isDownpaymentRequired] * @property {number} [downpaymentAmount] * @property {number} [loanAmount] + * @property {Object} [data] + * @property {string} [transactionId] + * @property {string} [lenderSlug] */ /** @@ -1201,7 +1395,6 @@ class PlatformClient { * @property {string} [transactionId] * @property {string} [status] * @property {string} [message] - * @property {Object} [__headers] */ /** @@ -1241,7 +1434,6 @@ class PlatformClient { * @property {string} [lenderName] * @property {string} [lenderLogo] * @property {string} [loanType] - * @property {string} [repaymentTransactionId] * @property {string} [nextDueDate] * @property {number} [paidPercent] * @property {LenderDetail} [lenderDetail] @@ -1270,16 +1462,6 @@ class PlatformClient { * @property {Transactions[]} transactions */ -/** - * @typedef MerchantTransactions - * @property {string} [outstandingAmount] - */ - -/** - * @typedef MerchantTransactionSummary - * @property {MerchantTransactions} [merchantOutstandingSummary] - */ - /** * @typedef GetReconciliationFileResponse * @property {ReconFile[]} files @@ -1561,14 +1743,80 @@ class PlatformClient { */ /** - * @typedef LenderTheme - * @property {string} logoUrl - * @property {string} iconUrl - * @property {string} landscapeBgUrl - * @property {string} portraitBgUrl + * @typedef TransactionOrder + * @property {string} id + * @property {number} amount + */ + +/** + * @typedef TransactionMerchant + * @property {string} name + * @property {string} logo + */ + +/** + * @typedef TransactionLoan + * @property {string} number + * @property {number} amount + * @property {string} type + */ + +/** + * @typedef TransactionLender + * @property {string} name + * @property {string} slug + * @property {string} logo * @property {string} shortName */ +/** + * @typedef UserTransaction + * @property {string} id + * @property {number} amount + * @property {string} type + * @property {string} status + * @property {string} [settlementUtr] + * @property {string} [refundId] + * @property {string} createdAt + * @property {boolean} isMasked + * @property {TransactionOrder} [order] + * @property {TransactionMerchant} merchant + * @property {TransactionLoan} [loan] + * @property {TransactionLender} [lender] + */ + +/** + * @typedef Pagination + * @property {string} [type] + * @property {number} current + * @property {boolean} hasPrevious + * @property {boolean} hasNext + * @property {number} size + * @property {number} itemTotal + */ + +/** + * @typedef GetTransactionsData + * @property {UserTransaction[]} transactions + * @property {Pagination} page + */ + +/** + * @typedef GetTransactionsResponse + * @property {string} message + * @property {IntegrationResponseMeta} meta + * @property {GetTransactionsData} data + * @property {Object} [__headers] + */ + +/** + * @typedef SummaryRequest + * @property {string} [startDate] + * @property {string} [endDate] + * @property {string} [merchantId] + * @property {string} [type] + */ + /** * @typedef Lender * @property {string} [id] @@ -1576,13 +1824,12 @@ class PlatformClient { * @property {boolean} [active] * @property {string} [imageUrl] * @property {string} [slug] - * @property {LenderTheme} [theme] + * @property {Object} [theme] * @property {boolean} [b2b] * @property {boolean} [b2c] * @property {string} [merchantConfigSchema] * @property {string} [createdAt] * @property {string} [updatedAt] - * @property {number} [approvedLimit] * @property {string} [deletedAt] * @property {Object} [meta] * @property {Object} [metaSchema] @@ -1740,6 +1987,54 @@ class PlatformClient { * @property {string} [address] */ +/** + * @typedef EntityMapDto + * @property {string} id + * @property {string} [merchantId] + * @property {string} [status] + * @property {string} lenderId + * @property {number} [limit] + * @property {string} [creditType] + * @property {string} userId + * @property {string} entityId + */ + +/** + * @typedef EntityDto + * @property {string} id + * @property {string} [type] + * @property {string} [address] + * @property {string} [name] + * @property {string} [gender] + * @property {string} [dob] + * @property {string} userId + */ + +/** + * @typedef MerchantSchema + * @property {string} id + * @property {string} [name] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [apiHook] + * @property {string} [epikId] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {string} [createdBy] + * @property {boolean} [active] + * @property {string} [category] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + */ + /** * @typedef Consent * @property {string} text @@ -1775,6 +2070,7 @@ class PlatformClient { * @property {string} name * @property {string} [entity] * @property {string} [merchantId] + * @property {string} [onboardingToken] */ /** @@ -1909,12 +2205,19 @@ class PlatformClient { * @typedef LenderOnboardRequest * @property {string} [ack] * @property {Object} data - * @property {string} [entityMapId] * @property {string} [merchantId] */ /** - * @typedef UpdateLenderStatusRequest + * @typedef LenderOnboardRequestV1 + * @property {string} entityMapId + * @property {string} [ack] + * @property {Object} data + * @property {string} [merchantId] + */ + +/** + * @typedef UpdateLenderStatusRequest * @property {string} status * @property {Object} payload * @property {Object} data @@ -2027,7 +2330,9 @@ class PlatformClient { /** * @typedef RegisterGstRequest - * @property {string} gstTin + * @property {string} gstin + * @property {boolean} [skipGst] + * @property {string} [onboardingToken] */ /** @@ -2107,33 +2412,49 @@ class PlatformClient { */ /** - * @typedef EntityMapDto - * @property {string} id - * @property {string} [merchantId] - * @property {string} [status] - * @property {string} lenderId - * @property {number} [limit] - * @property {string} [creditType] - * @property {string} userId - * @property {string} entityId + * @typedef BusinessDetail + * @property {string} category + * @property {string} [shopName] + * @property {string} legalName + * @property {string} [address] + * @property {string} [type] + * @property {string} [pincode] */ /** - * @typedef EntityDto - * @property {string} id - * @property {string} [type] - * @property {string} [address] + * @typedef VintageData + * @property {number} month + * @property {number} year + * @property {number} totalTransactions + * @property {number} totalTransactionAmount + * @property {number} [totalCancellations] + * @property {number} [totalCancellationAmount] + */ + +/** + * @typedef DocumentObjects + * @property {string} number + * @property {string} category + * @property {string} type * @property {string} [name] - * @property {string} [gender] - * @property {string} [dob] - * @property {string} userId + * @property {string} [issuedOn] + * @property {string} [issuedAt] + * @property {string} [issuedBy] + * @property {string} [expiryOn] + */ + +/** + * @typedef KycCountByStatus + * @property {string} [startDate] + * @property {string} [endDate] + * @property {string} [merchantId] + * @property {string} [lenderId] */ /** * @typedef FindDocResponse * @property {string} status * @property {string} info - * @property {string} number * @property {Object} [details] * @property {string} [name] */ @@ -2205,6 +2526,9 @@ class PlatformClient { * @property {string} entityMapId * @property {boolean} actionIsForm * @property {Form} [actionForm] + * @property {string} [merchantId] + * @property {string} [actionName] + * @property {string} [actionDescription] */ /** @@ -2236,11 +2560,6 @@ class PlatformClient { * @property {Object} [deletedAt] */ -/** - * @typedef GetKycDocsResponse - * @property {FindDocResponse[]} documents - */ - /** * @typedef OrganizationLogosObject * @property {string} id @@ -2286,25 +2605,26 @@ class PlatformClient { */ /** - * @typedef ApprovedLenders + * @typedef GetAllUserLendersByEnityId + * @property {string} entityId + * @property {string} entityMapId + * @property {string} userId * @property {string} status - * @property {BreOutput[]} lenders + * @property {Lender} [lender] + * @property {string} [partnerId] + * @property {number} [approvedLimit] */ /** - * @typedef BreResultStatus + * @typedef ApprovedLenders * @property {string} status - * @property {BreOutput[]} [approvedLenders] + * @property {BreOutput[]} lenders */ /** - * @typedef GetAllUserLendersByEnityId - * @property {string} entityId - * @property {string} entityMapId - * @property {string} userId + * @typedef BreResultStatus * @property {string} status - * @property {Lender} lender - * @property {string} [partnerId] + * @property {BreOutput[]} [approvedLenders] */ /** @@ -2431,6 +2751,15 @@ class PlatformClient { * @property {Object} [data] */ +/** + * @typedef Action + * @property {string} step + * @property {string} status + * @property {number} index + * @property {boolean} [isForm] + * @property {Form} form + */ + /** * @typedef InitiateKycResponse * @property {UserKycDetail} kycResult @@ -2442,6 +2771,7 @@ class PlatformClient { * @property {string} status * @property {Object} [data] * @property {string} [remark] + * @property {string} reasons * @property {UserKycDetail} kycResult * @property {Action} action */ @@ -2514,7 +2844,7 @@ class PlatformClient { * @property {string} slug * @property {boolean} active * @property {string} id - * @property {LenderTheme} [theme] + * @property {Object} [theme] */ /** @@ -2623,7 +2953,7 @@ class PlatformClient { * @property {string} [deletedAt] * @property {number} approvedLimit * @property {string} [slug] - * @property {LenderTheme} [theme] + * @property {Object} [theme] * @property {Object} [name] */ @@ -2639,6 +2969,7 @@ class PlatformClient { /** * @typedef IngtrAvailableLimit * @property {IntgrAvailableCreditLimit[]} available + * @property {IntgrAvailableCreditLimit[]} [possible] */ /** @@ -2782,7 +3113,7 @@ class PlatformClient { /** * @typedef GstDetails - * @property {string} gstTin + * @property {string} gstin * @property {string} businessName */ @@ -2816,12 +3147,6 @@ class PlatformClient { * @property {MetricData} data */ -/** - * @typedef ManualKycResponse - * @property {string} message - * @property {UserKycLenderStepMap} step - */ - /** * @typedef BreOutput * @property {string} id @@ -2839,152 +3164,655 @@ class PlatformClient { * @property {string} deletedAt */ +/** + * @typedef ManualKycResponse + * @property {string} message + * @property {UserKycLenderStepMap} step + */ + /** * @typedef CustomerKycDetailsReponse * @property {UserKycLenderStepMap} data */ -class Customer { - constructor(config) { - this.config = config; - } +/** + * @typedef BlockUserRequestSchema + * @property {boolean} [status] + * @property {string[]} [userid] + * @property {string} [reason] + */ - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {VerifyCustomer} arg.body - * @summary: Verify Customer - * @description: Use this API to verify the customer based on mobile number and countryCode. - */ - verify({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.verify().validate( - { - disbursalRequest, - }, - { abortEarly: false } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } +/** + * @typedef EditEmailRequestSchema + * @property {string} [email] + */ - const query_params = {}; +/** + * @typedef SendVerificationLinkMobileRequestSchema + * @property {boolean} [verified] + * @property {boolean} [active] + * @property {string} [countryCode] + * @property {string} [phone] + * @property {boolean} [primary] + */ - return PlatformAPIClient.execute( - this.config, - "post", - `/service/integration/user/authentication/${this.config.companyId}/validate-customer`, - query_params, - disbursalRequest, - session - ); - } +/** + * @typedef EditMobileRequestSchema + * @property {string} [countryCode] + * @property {string} [phone] + */ - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {ResendPaymentRequest} arg.body - * @summary: Resend Payment Request - * @description: Use this API to resend payment request to user - */ - resendPaymentRequest({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.resendPaymentRequest().validate( - { - disbursalRequest, - }, - { abortEarly: false } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } +/** + * @typedef UpdateEmail + * @property {string} email + * @property {any} [additionalProperties] + */ - const query_params = {}; +/** + * @typedef EditProfileRequestSchema + * @property {string} firstName + * @property {string} lastName + * @property {string} [countryCode] + * @property {string} [mobile] + * @property {string} [email] + * @property {string} [gender] + * @property {string} [registrationToken] + */ - return PlatformAPIClient.execute( - this.config, - "post", - `/service/integration/user/authentication/${this.config.companyId}/transaction/resend`, - query_params, - disbursalRequest, - session - ); - } +/** + * @typedef EditProfileMobileSchema + * @property {string} [phone] + * @property {string} [countryCode] + */ - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {CreateTransaction} arg.body - * @summary: Create Order - * @description: Use this API to create transaction for user - */ - createOrder({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.createOrder().validate( - { - disbursalRequest, - }, - { abortEarly: false } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } +/** + * @typedef SendEmailOtpRequestSchema + * @property {string} [email] + * @property {string} [action] + * @property {string} [token] + * @property {string} [registerToken] + */ - const query_params = {}; +/** + * @typedef VerifyEmailOtpRequestSchema + * @property {string} [email] + * @property {string} [action] + * @property {string} [registerToken] + * @property {string} [otp] + */ - return PlatformAPIClient.execute( - this.config, - "post", - `/service/integration/user/authentication/${this.config.companyId}/transaction`, - query_params, - disbursalRequest, - session - ); - } +/** + * @typedef ReSendMobileOtpRequestSchema + * @property {string} [captchaCode] + * @property {string} token + * @property {string} [androidHash] + */ - /** - * @param {Object} arg - Arg object. - * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organizationId - * @param {LinkAccount} arg.body - * @summary: Link account - * @description: Use this API to link account with merchant - */ - link({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.link().validate( - { - disbursalRequest, - }, - { abortEarly: false } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } +/** + * @typedef ResetPasswordSuccess + * @property {string} [status] + */ - const query_params = {}; +/** + * @typedef RegisterFormSuccess + * @property {string} [email] + * @property {number} [resendTimer] + * @property {string} [resendToken] + * @property {string} [resendEmailToken] + * @property {string} [registerToken] + * @property {boolean} [success] + * @property {string} [requestId] + * @property {string} [message] + * @property {string} [mobile] + * @property {string} [countryCode] + * @property {boolean} [verifyEmailOtp] + * @property {boolean} [verifyMobileOtp] + * @property {boolean} [userExists] + */ - return PlatformAPIClient.execute( - this.config, - "post", - `/service/integration/user/authentication/${this.config.companyId}/account/link`, - query_params, - disbursalRequest, - session - ); +/** + * @typedef VerifyEmailSuccess + * @property {string} [message] + */ + +/** + * @typedef BlockUserSuccess + * @property {boolean} [success] + */ + +/** + * @typedef EmailOtpSuccess + * @property {boolean} [success] + */ + +/** + * @typedef VerifyEmailOTPSuccess + * @property {UserSchema} [user] + * @property {boolean} [verifyEmailLink] + */ + +/** + * @typedef SendMobileVerifyLinkSuccess + * @property {boolean} [verifyMobileLink] + */ + +/** + * @typedef SendEmailVerifyLinkSuccess + * @property {boolean} [verifyEmailLink] + */ + +/** + * @typedef UserSearchResponseSchema + * @property {UserSchema[]} [users] + */ + +/** + * @typedef CustomerListResponseSchema + * @property {UserSchema[]} [items] + * @property {PaginationSchema} [page] + */ + +/** + * @typedef PaginationSchema + * @property {number} [size] + * @property {number} [itemTotal] + * @property {boolean} [hasNext] + * @property {string} [type] + * @property {number} [current] + */ + +/** + * @typedef UserObjectSchema + * @property {UserSchema} [user] + */ + +/** + * @typedef CreateOrganization + * @property {string} [name] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + * @property {string} [docType] + * @property {string} [docNumber] + * @property {string} [organizationId] + */ + +/** + * @typedef UpdateLogo + * @property {string} [logo] + */ + +/** + * @typedef AddMetaSchemaResponse + * @property {string} [merchantId] + * @property {string} [lenderId] + * @property {string} [mid] + * @property {Object} [data] + */ + +/** + * @typedef UpdateOrganization + * @property {string} id + * @property {Object} [name] + * @property {Object} [logo] + * @property {Object} [website] + * @property {Object} [disbursementAccountHolderName] + * @property {Object} [disbursementAccountNumber] + * @property {Object} [disbursementIfsc] + * @property {boolean} [active] + */ + +/** + * @typedef UpdateFinancials + * @property {string} disbursementAccountHolderName + * @property {string} disbursementAccountNumber + * @property {string} disbursementIfsc + */ + +/** + * @typedef Documents + * @property {string} docType + * @property {string} docNumber + */ + +/** + * @typedef FinancialDetails + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + * @property {boolean} [b2b] + * @property {boolean} [b2c] + * @property {string} [businessName] + * @property {string} [email] + * @property {string} [businessAddress] + * @property {string} [pincode] + * @property {Documents[]} [documents] + */ + +/** + * @typedef GetOrganization + * @property {string} [organizationId] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {boolean} [isAdmin] + * @property {string} [name] + * @property {boolean} [isActive] + */ + +/** + * @typedef OrganizationDetails + * @property {string} [name] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {boolean} [isActive] + * @property {string} [logo] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + */ + +/** + * @typedef Organization + * @property {string} [id] + * @property {string} [name] + * @property {boolean} [active] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ + +/** + * @typedef OrganizationList + * @property {string} [name] + * @property {string} [logo] + * @property {boolean} [id] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {boolean} [isActive] + * @property {string} [epikId] + * @property {string} [website] + * @property {string} [disbursementAccountHolderName] + * @property {string} [disbursementAccountNumber] + * @property {string} [disbursementIfsc] + */ + +/** + * @typedef OrganizationCount + * @property {string} [count] + */ + +/** + * @typedef TeamMembers + * @property {Member[]} [members] + */ + +/** + * @typedef Member + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + * @property {Profile} [profile] + */ + +/** + * @typedef Profile + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ + +/** + * @typedef AddTeamMember + * @property {string} [countryCode] + * @property {string} [mobile] + * @property {string} [email] + * @property {boolean} [userIsAdmin] + */ + +/** + * @typedef UpdateTeamMemberRole + * @property {boolean} [userIsAdmin] + * @property {string} [userId] + */ + +/** + * @typedef RemoveTeamMemberResponse + * @property {boolean} [success] + */ + +/** + * @typedef AddTeamMemberResponse + * @property {string} [id] + * @property {string} [userId] + * @property {string} [organizationId] + * @property {boolean} [isAdmin] + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} [deletedAt] + */ + +/** + * @typedef ApiKey + * @property {string} [key] + * @property {string} [secret] + */ + +/** + * @typedef UpdateApiHook + * @property {string} apiKey + * @property {string} url + * @property {Object} [customHeaders] + */ + +/** + * @typedef ApiHookDetails + * @property {string} apiKey + * @property {string} url + * @property {Object} [customHeaders] + * @property {string} [createdAt] + * @property {string} [updatedAt] + */ + +/** + * @typedef UpdateApiHookResponse + * @property {boolean} [success] + */ + +/** + * @typedef OrganizationIp + * @property {string} [id] + * @property {string} ip + */ + +/** + * @typedef AddOrganizationIpDetails + * @property {OrganizationIp[]} [organizationIps] + * @property {string} [delete] + */ + +/** + * @typedef AddUpdateCsvFileResponse + * @property {string} [message] + */ + +/** + * @typedef AddUpdateCsvFileRequest + * @property {string} [csv] + * @property {string} [organizationId] + */ + +/** + * @typedef CsvFile + * @property {string} [csv] + */ + +/** + * @typedef AddReportCsvFileResponse + * @property {string} [message] + */ + +/** + * @typedef AddReportCsvFileRequest + * @property {string} [csv] + * @property {string} [organizationId] + * @property {string} [name] + * @property {string} [type] + */ + +/** + * @typedef ReportCsvFileResponse + * @property {string} [csv] + */ + +/** + * @typedef AddReportRequestArray + * @property {string} [mobile] + * @property {string} [merchantId] + * @property {string} [category] + * @property {string} [shopName] + * @property {string} [legalName] + * @property {string} [firstName] + * @property {string} [middleName] + * @property {string} [lastName] + * @property {string} [aadhaar] + * @property {string} [nameOnPan] + * @property {string} [gstNumber] + * @property {string} [gstBusinessName] + * @property {string} [panNumber] + * @property {string} [udyam] + * @property {string} [ownershipType] + * @property {string} [address] + * @property {string} [pincode] + * @property {string} [license1Type] + * @property {string} [license1] + * @property {string} [license2Type] + * @property {string} [license2] + */ + +/** + * @typedef AddReportRequest + * @property {Object[]} [businessDetails] + */ + +/** + * @typedef AddReportResponseArray + * @property {string} [mobile] + * @property {string} [merchantId] + * @property {string} [anchorId] + * @property {string} [category] + * @property {string} [shopName] + * @property {string} [legalName] + * @property {string} [firstName] + * @property {string} [middleName] + * @property {string} [lastName] + * @property {string} [aadhaar] + * @property {string} [nameOnPan] + * @property {string} [gstNumber] + * @property {string} [gstBusinessName] + * @property {string} [panNumber] + * @property {string} [udyam] + * @property {string} [ownershipType] + * @property {string} [address] + * @property {string} [pincode] + * @property {string} [license1Type] + * @property {string} [license1] + * @property {string} [license2Type] + * @property {string} [license2] + */ + +/** + * @typedef AddReportResponse + * @property {AddReportResponseArray[]} [businessDetails] + */ + +/** + * @typedef VintageDataResponseObject + * @property {string} [month] + * @property {number} [year] + * @property {string} [revenue] + * @property {string} [businessId] + * @property {string} [createdBy] + * @property {string} [id] + * @property {string} [createdAt] + * @property {string} [updatedBy] + * @property {string} [updatedAt] + */ + +/** + * @typedef VintageDataResponse + * @property {VintageDataResponseObject[]} [vintageData] + */ + +/** + * @typedef AddSkuRequestArray + * @property {string} sku + * @property {string} productName + * @property {string} creditPurchaseOptionFlag + * @property {string} effectiveDates + * @property {string} organizationId + */ + +/** + * @typedef AddSkuRequest + * @property {AddSkuRequestArray[]} [skuDetails] + */ + +/** + * @typedef AddSkuResponse + * @property {string} [message] + */ + +/** + * @typedef RestrictedSkuSchema + * @property {Object[]} [skuDetails] + */ + +/** + * @typedef OrganizationIpResponse + * @property {string} organizationId + * @property {string} ip + * @property {string} [createdAt] + * @property {string} [updatedAt] + * @property {string} id + */ + +/** + * @typedef OrganizationIpDetails + * @property {OrganizationIpResponse[]} [organizationIps] + */ + +/** + * @typedef RefundSuccess + * @property {string} status + * @property {number} message + * @property {string} transactionId + * @property {string} refundId + */ + +/** + * @typedef RefundItem + * @property {Object[]} items + */ + +/** + * @typedef PaymentLinkResponse + * @property {string} [status] + * @property {string} [message] + * @property {string} [paymentLink] + */ + +/** + * @typedef ApplicationCutomer + * @property {string} [countryCode] + * @property {string} mobile + * @property {string} [uid] + * @property {string} [email] + */ + +/** + * @typedef GeoLocation + * @property {number} latitude + * @property {number} longitude + */ + +/** + * @typedef Address + * @property {string} [line1] + * @property {string} [line2] + * @property {string} [city] + * @property {string} [state] + * @property {string} [country] + * @property {string} [pincode] + * @property {string} [type] + * @property {GeoLocation} [geoLocation] + */ + +/** + * @typedef OrderItems + * @property {string} [category] + * @property {string} [sku] + * @property {number} [rate] + * @property {number} [quantity] + */ + +/** + * @typedef PaymentLinkRequest + * @property {boolean} [autoCapture] + * @property {string} [lenderId] + * @property {number} [emiTenure] + * @property {ApplicationCutomer} customer + * @property {Order} order + * @property {Device} [device] + * @property {Object} [meta] + */ + +/** + * @typedef UpdateLenderStatusSchemaRequest + * @property {string} [merchantId] + * @property {boolean} [enable] + */ + +/** + * @typedef UpdateLenderStatusSchemaResponse + * @property {string} [merchantId] + * @property {string} [lenderId] + * @property {string} [mid] + * @property {boolean} [enable] + * @property {Object} [data] + */ + +/** + * @typedef CreateUserRequestSchema + * @property {string} mobile + * @property {string} [email] + * @property {string} [firstName] + * @property {string} [lastName] + * @property {string} [gender] + */ + +/** + * @typedef CreateUserResponseSchema + * @property {UserSchema} [user] + */ + +class Customer { + constructor(config) { + this.config = config; } /** * @param {Object} arg - Arg object. * @param {String} session - Session of the user * @param {string} arg.organizationId - This is organizationId - * @param {UnlinkAccount} arg.body - * @summary: Unlink account - * @description: Use this API to unlink account from merchant + * @param {VerifyCustomer} arg.body + * @summary: Verify Customer + * @description: Use this API to verify the customer based on mobile number and countryCode. */ - unlink({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.unlink().validate( + verify({ body, session } = {}) { + const { error } = CustomerValidator.verify().validate( { - disbursalRequest, + body, }, { abortEarly: false } ); @@ -2997,9 +3825,9 @@ class Customer { return PlatformAPIClient.execute( this.config, "post", - `/service/integration/user/authentication/${this.config.companyId}/account/unlink`, + `/service/integration/user/authentication/${this.config.companyId}/validate-customer`, query_params, - disbursalRequest, + body, session ); } @@ -3008,12 +3836,15 @@ class Customer { * @param {Object} arg - Arg object. * @param {String} session - Session of the user * @param {string} arg.organizationId - This is organizationId - * @summary: Get Access Token - * @description: Use this API to get access token + * @param {ResendPaymentRequest} arg.body + * @summary: Resend Payment Request + * @description: Use this API to resend payment request to user */ - getAccessToken({} = {}) { - const { error } = CustomerValidator.getAccessToken().validate( - {}, + resendPaymentRequest({ body, session } = {}) { + const { error } = CustomerValidator.resendPaymentRequest().validate( + { + body, + }, { abortEarly: false } ); if (error) { @@ -3025,9 +3856,9 @@ class Customer { return PlatformAPIClient.execute( this.config, "post", - `/service/integration/user/authentication/${this.config.companyId}/authorize`, + `/service/integration/user/authentication/${this.config.companyId}/transaction/resend`, query_params, - undefined, + body, session ); } @@ -3036,14 +3867,14 @@ class Customer { * @param {Object} arg - Arg object. * @param {String} session - Session of the user * @param {string} arg.organizationId - This is organizationId - * @param {RefreshTokenRequest} arg.body - * @summary: Renew Access Token - * @description: Use this API to renew access token + * @param {CreateTransaction} arg.body + * @summary: Create Order + * @description: Use this API to create transaction for user */ - renewAccessToken({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.renewAccessToken().validate( + createOrder({ body, session } = {}) { + const { error } = CustomerValidator.createOrder().validate( { - disbursalRequest, + body, }, { abortEarly: false } ); @@ -3056,9 +3887,9 @@ class Customer { return PlatformAPIClient.execute( this.config, "post", - `/service/integration/user/authentication/${this.config.companyId}/token`, + `/service/integration/user/authentication/${this.config.companyId}/transaction`, query_params, - disbursalRequest, + body, session ); } @@ -3067,14 +3898,14 @@ class Customer { * @param {Object} arg - Arg object. * @param {String} session - Session of the user * @param {string} arg.organizationId - This is organizationId - * @param {Refund} arg.body - * @summary: Refund customer order amount - * @description: Use this API to verify the refund customer order amount + * @param {LinkAccount} arg.body + * @summary: Link account + * @description: Use this API to link account with merchant */ - refund({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.refund().validate( + link({ body, session } = {}) { + const { error } = CustomerValidator.link().validate( { - disbursalRequest, + body, }, { abortEarly: false } ); @@ -3087,9 +3918,9 @@ class Customer { return PlatformAPIClient.execute( this.config, "post", - `/service/integration/user/authentication/${this.config.companyId}/refund`, + `/service/integration/user/authentication/${this.config.companyId}/account/link`, query_params, - disbursalRequest, + body, session ); } @@ -3098,16 +3929,14 @@ class Customer { * @param {Object} arg - Arg object. * @param {String} session - Session of the user * @param {string} arg.organizationId - This is organizationId - * @param {string} [arg.refundId] - This is the refundId - * @param {string} [arg.orderId] - This is the order ID - * @summary: Refund status - * @description: Use this API to fetch the refund status + * @param {UnlinkAccount} arg.body + * @summary: Unlink account + * @description: Use this API to unlink account from merchant */ - refundStatus({ refundId, orderId, session } = {}) { - const { error } = CustomerValidator.refundStatus().validate( + unlink({ body, session } = {}) { + const { error } = CustomerValidator.unlink().validate( { - refundId, - orderId, + body, }, { abortEarly: false } ); @@ -3116,15 +3945,13 @@ class Customer { } const query_params = {}; - query_params["refundId"] = refundId; - query_params["orderId"] = orderId; return PlatformAPIClient.execute( this.config, - "get", - `/service/integration/user/authentication/${this.config.companyId}/refund/status`, + "post", + `/service/integration/user/authentication/${this.config.companyId}/account/unlink`, query_params, - undefined, + body, session ); } @@ -3133,14 +3960,14 @@ class Customer { * @param {Object} arg - Arg object. * @param {String} session - Session of the user * @param {string} arg.organizationId - This is organizationId - * @param {VerifyCustomer} arg.body - * @summary: Fetch schemes - * @description: Use this API to fetch available schemes for user order. + * @param {Refund} arg.body + * @summary: Refund customer order amount + * @description: Use this API to verify the refund customer order amount */ - getSchemes({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.getSchemes().validate( + refund({ body, session } = {}) { + const { error } = CustomerValidator.refund().validate( { - disbursalRequest, + body, }, { abortEarly: false } ); @@ -3153,9 +3980,9 @@ class Customer { return PlatformAPIClient.execute( this.config, "post", - `/service/integration/user/authentication/${this.config.companyId}/schemes`, + `/service/integration/user/authentication/${this.config.companyId}/refund`, query_params, - disbursalRequest, + body, session ); } @@ -3164,14 +3991,16 @@ class Customer { * @param {Object} arg - Arg object. * @param {String} session - Session of the user * @param {string} arg.organizationId - This is organizationId - * @param {CheckEligibilityRequest} arg.body - * @summary: Check Credit Eligibility - * @description: 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. + * @param {string} [arg.refundId] - This is the refund ID + * @param {string} [arg.orderId] - This is the order ID + * @summary: Refund status + * @description: Use this API to fetch the refund status */ - checkEligibility({ disbursalRequest, session } = {}) { - const { error } = CustomerValidator.checkEligibility().validate( + refundStatus({ refundId, orderId, session } = {}) { + const { error } = CustomerValidator.refundStatus().validate( { - disbursalRequest, + refundId, + orderId, }, { abortEarly: false } ); @@ -3180,35 +4009,31 @@ class Customer { } const query_params = {}; + query_params["refundId"] = refundId; + query_params["orderId"] = orderId; return PlatformAPIClient.execute( this.config, - "post", - `/service/integration/user/authentication/${this.config.companyId}/eligibility`, + "get", + `/service/integration/user/authentication/${this.config.companyId}/refund/status`, query_params, - disbursalRequest, + undefined, session ); } -} - -class Credit { - constructor(config) { - this.config = config; - } /** * @param {Object} arg - Arg object. * @param {String} session - Session of the user - * @param {string} arg.organizationId - This is organization id - * @param {DisbursalRequest} arg.body - * @summary: Disburse the credit - * @description: Use this API to disburse the credit. + * @param {string} arg.organizationId - This is organizationId + * @param {GetSchemesRequest} arg.body + * @summary: Fetch schemes + * @description: Use this API to fetch available schemes for user order. */ - disburse({ disbursalRequest, session } = {}) { - const { error } = CreditValidator.disburse().validate( + getSchemes({ body, session } = {}) { + const { error } = CustomerValidator.getSchemes().validate( { - disbursalRequest, + body, }, { abortEarly: false } ); @@ -3221,12 +4046,18 @@ class Credit { return PlatformAPIClient.execute( this.config, "post", - `/service/integration/credit/credit/${this.config.companyId}/disburse`, + `/service/integration/user/authentication/${this.config.companyId}/schemes`, query_params, - disbursalRequest, + body, session ); } +} + +class Credit { + constructor(config) { + this.config = config; + } /** * @param {Object} arg - Arg object. @@ -3268,11 +4099,11 @@ class Credit { * @summary: Get eligible plans * @description: Use this API to Get eligible plans. */ - getEligiblePlans({ lenderSlug, disbursalRequest, session } = {}) { + getEligiblePlans({ lenderSlug, body, session } = {}) { const { error } = CreditValidator.getEligiblePlans().validate( { lenderSlug, - disbursalRequest, + body, }, { abortEarly: false } ); @@ -3287,7 +4118,75 @@ class Credit { "post", `/service/integration/credit/credit/${this.config.companyId}/${lenderSlug}/plans`, query_params, - disbursalRequest, + body, + session + ); + } + + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - The unique identifier of the organization + * @param {number} [arg.page] - The page number of the transaction list + * @param {Object} [arg.type] - The transaction type + * @param {Object} [arg.status] - The transaction status + * @param {number} [arg.limit] - The number of transactions to fetch + * @param {string} [arg.countryCode] - The country code of the user's mobile number. + * @param {string} arg.mobile - The mobile number of the user + * @param {string} [arg.orderId] - The order ID + * @param {string} [arg.transactionId] - The transaction ID + * @param {boolean} [arg.onlySelf] - Set this flag to true to fetch + * transactions exclusively for your organization, excluding other organizations. + * @summary: Get list of user transactions + * @description: 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. + */ + getTransactions({ + mobile, + page, + type, + status, + limit, + countryCode, + orderId, + transactionId, + onlySelf, + session, + } = {}) { + const { error } = CreditValidator.getTransactions().validate( + { + mobile, + page, + type, + status, + limit, + countryCode, + orderId, + transactionId, + onlySelf, + }, + { abortEarly: false } + ); + if (error) { + return Promise.reject(new FDKClientValidationError(error)); + } + + const query_params = {}; + query_params["page"] = page; + query_params["type"] = type; + query_params["status"] = status; + query_params["limit"] = limit; + query_params["countryCode"] = countryCode; + query_params["mobile"] = mobile; + query_params["orderId"] = orderId; + query_params["transactionId"] = transactionId; + query_params["onlySelf"] = onlySelf; + + return PlatformAPIClient.execute( + this.config, + "get", + `/service/integration/credit/summary/organization/${this.config.companyId}/transactions`, + query_params, + undefined, session ); } @@ -3300,7 +4199,6 @@ class MultiKyc { /** * @param {Object} arg - Arg object. - * @param {String} session - Session of the user * @param {Object} arg.organizationId - * @summary: Approved lenders * @description: @@ -3321,8 +4219,7 @@ class MultiKyc { "get", `/service/integration/kyc-onboarding/bre/${this.config.companyId}/approved-lenders`, query_params, - undefined, - session + undefined ); } @@ -3334,10 +4231,10 @@ class MultiKyc { * @summary: Get limit * @description: */ - getLimit({ disbursalRequest, session } = {}) { + getLimit({ body, session } = {}) { const { error } = MultiKycValidator.getLimit().validate( { - disbursalRequest, + body, }, { abortEarly: false } ); @@ -3352,7 +4249,70 @@ class MultiKyc { "post", `/service/integration/kyc-onboarding/credit/${this.config.companyId}/limit`, query_params, - disbursalRequest, + body, + session + ); + } +} + +class Merchant { + constructor(config) { + this.config = config; + } + + /** + * @param {Object} arg - Arg object. + * @param {string} arg.organizationId - This is organizationId + * @summary: Get Access Token + * @description: Use this API to get access token + */ + getAccessToken({} = {}) { + const { error } = MerchantValidator.getAccessToken().validate( + {}, + { abortEarly: false } + ); + if (error) { + return Promise.reject(new FDKClientValidationError(error)); + } + + const query_params = {}; + + return PlatformAPIClient.execute( + this.config, + "post", + `/service/integration/staff/authentication/oauth/${this.config.companyId}/authorize`, + query_params, + undefined + ); + } + + /** + * @param {Object} arg - Arg object. + * @param {String} session - Session of the user + * @param {string} arg.organizationId - This is organizationId + * @param {RefreshTokenRequest} arg.body + * @summary: Renew Access Token + * @description: Use this API to renew access token + */ + renewAccessToken({ body, session } = {}) { + const { error } = MerchantValidator.renewAccessToken().validate( + { + body, + }, + { abortEarly: false } + ); + if (error) { + return Promise.reject(new FDKClientValidationError(error)); + } + + const query_params = {}; + + return PlatformAPIClient.execute( + this.config, + "post", + `/service/integration/staff/authentication/oauth/${this.config.companyId}/token`, + query_params, + body, session ); } diff --git a/sdk/platform/PlatformConfig.js b/sdk/platform/PlatformConfig.js index c856ea7..568d3c2 100644 --- a/sdk/platform/PlatformConfig.js +++ b/sdk/platform/PlatformConfig.js @@ -12,7 +12,7 @@ class PlatformConfig { constructor(config) { this.companyId = config.companyId; this.organizationId = config.organizationId; - this.domain = config.domain || "https://api.potlee.co.in"; + this.domain = config.domain || "https://api.settle.club"; this.apiKey = config.key; this.apiSecret = config.token; this.topSecret = config.secret; diff --git a/sdk/platform/PlatformModels.d.ts b/sdk/platform/PlatformModels.d.ts index bc45502..a33116b 100644 --- a/sdk/platform/PlatformModels.d.ts +++ b/sdk/platform/PlatformModels.d.ts @@ -4,19 +4,20 @@ export class CustomerValidator { static createOrder(): any; static link(): any; static unlink(): any; - static getAccessToken(): any; - static renewAccessToken(): any; static refund(): any; static refundStatus(): any; static getSchemes(): any; - static checkEligibility(): any; } export class CreditValidator { - static disburse(): any; static getOrderStatus(): any; static getEligiblePlans(): any; + static getTransactions(): any; } export class MultiKycValidator { static approvedLenders(): any; static getLimit(): any; } +export class MerchantValidator { + static getAccessToken(): any; + static renewAccessToken(): any; +} diff --git a/sdk/platform/PlatformModels.js b/sdk/platform/PlatformModels.js index 35b5061..841af40 100644 --- a/sdk/platform/PlatformModels.js +++ b/sdk/platform/PlatformModels.js @@ -1,5 +1,41 @@ const Joi = require("joi"); class Validator { + static RefundResponse() { + return Joi.object({ + status: Joi.string().allow(""), + + message: Joi.string().allow(""), + + transactionId: Joi.string().allow(""), + + refundId: Joi.string().allow(""), + + __headers: Joi.any(), + }); + } + + static UserSource() { + return Joi.object({ + userId: Joi.string().allow(""), + + type: Joi.string().allow(""), + + sourceId: Joi.string().allow(""), + + meta: Joi.any(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + app: Joi.string().allow(""), + + entityId: Joi.string().allow(""), + + userMerchants: Joi.array().items(Joi.string().allow("")), + }); + } + static UserSchema() { return Joi.object({ id: Joi.string().allow(""), @@ -426,8 +462,6 @@ class Validator { uid: Joi.string().allow("").required(), - emiTenure: Joi.number(), - items: Joi.array().items(this.Items()), shippingAddress: this.OrderAddress(), @@ -487,13 +521,13 @@ class Validator { meta: Joi.any(), fetchLimitOptions: Joi.boolean(), + + fetchPlans: Joi.boolean(), }); } static CreateTransaction() { return Joi.object({ - autoCapture: Joi.boolean(), - redirectUrl: Joi.string().allow("").required(), customer: this.CustomerObject().required(), @@ -503,13 +537,17 @@ class Validator { device: this.Device().required(), meta: Joi.any(), + + emiTenure: Joi.number(), + + lenderSlug: Joi.string().allow(""), + + consents: Joi.array().items(this.Consents()), }); } static ResendPaymentRequest() { return Joi.object({ - autoCapture: Joi.boolean(), - redirectUrl: Joi.string().allow(""), customer: this.CustomerObject().required(), @@ -520,11 +558,15 @@ class Validator { static VerifyCustomerSuccess() { return Joi.object({ - status: Joi.string().allow(""), + status: Joi.string().allow("").required(), - userStatus: Joi.string().allow(""), + userStatus: Joi.string().allow("").required(), - message: Joi.string().allow(""), + message: Joi.string().allow("").required(), + + schemes: Joi.array().items(this.SchemeResponse()), + + limit: this.LimitResponse(), __headers: Joi.any(), }); @@ -1120,6 +1162,8 @@ class Validator { type: Joi.string().allow(""), text: Joi.string().allow(""), + + purpose: Joi.string().allow(""), }); } @@ -1267,7 +1311,7 @@ class Validator { return Joi.object({ fingerprint: Joi.string().allow(""), - customer: this.CustomerObject().required(), + customer: this.CustomerObject(), refundItems: Joi.array().items(this.Items()), @@ -1276,6 +1320,8 @@ class Validator { refundId: Joi.string().allow("").required(), refundAmount: Joi.number().required(), + + redirectionUrl: Joi.string().allow(""), }); } @@ -1434,8 +1480,6 @@ class Validator { refreshTokenExpiryIn: Joi.string().allow(""), scope: Joi.array().items(Joi.string().allow("")), - - __headers: Joi.any(), }); } @@ -1448,8 +1492,6 @@ class Validator { tokenExpireAt: Joi.string().allow(""), tokenExpiryIn: Joi.string().allow(""), - - __headers: Joi.any(), }); } @@ -1505,6 +1547,16 @@ class Validator { }); } + static GetSchemesSuccess() { + return Joi.object({ + userId: Joi.string().allow(""), + + lenders: Joi.array().items(this.SchemeResponse()).required(), + + __headers: Joi.any(), + }); + } + static CustomerMetricsPivots() { return Joi.object({ date: Joi.string().allow(""), @@ -1561,6 +1613,126 @@ class Validator { }); } + static SchemeResponse() { + return Joi.object({ + slug: Joi.string().allow("").required(), + + isDefault: Joi.boolean().required(), + + logoUrl: Joi.string().allow("").required(), + + name: Joi.string().allow("").required(), + + title: Joi.string().allow("").required(), + + subtitle: Joi.string().allow("").required(), + + amount: Joi.number(), + + paymentOptions: this.SchemePaymentOptionsResponse().required(), + }); + } + + static SchemePaymentOptionsResponse() { + return Joi.object({ + emis: Joi.array().items(this.SchemeEmiPaymentOptionResponse()), + + payLater: this.SchemePayLaterPaymentOptionResponse(), + }); + } + + static SchemeEmiPaymentOptionResponse() { + return Joi.object({ + id: Joi.string().allow("").required(), + + isDefault: Joi.boolean().required(), + + description: Joi.string().allow("").required(), + + title: Joi.string().allow("").required(), + + subtitle: Joi.string().allow("").required(), + + amount: Joi.number().required(), + + interest: Joi.number(), + + processingFee: Joi.number().required(), + + tenure: Joi.number().required(), + + emiSchedule: Joi.array() + .items(this.SchemeEmiScheduleResponse()) + .required(), + }); + } + + static SchemeEmiScheduleResponse() { + return Joi.object({ + installmentNo: Joi.number().required(), + + installmentAmount: Joi.number().required(), + + dueDate: Joi.string().allow("").required(), + }); + } + + static SchemePayLaterPaymentOptionResponse() { + return Joi.object({ + id: Joi.string().allow("").required(), + + title: Joi.string().allow("").required(), + + subtitle: Joi.string().allow("").required(), + + description: Joi.string().allow("").required(), + + tenure: Joi.number().required(), + + interest: Joi.number().required(), + + processingFee: Joi.number().required(), + + amount: Joi.number().required(), + + isDefault: Joi.boolean().required(), + }); + } + + static LimitResponse() { + return Joi.object({ + available: Joi.array().items(this.AvailableOrPossibleLender()), + + possible: Joi.array().items(this.AvailableOrPossibleLender()), + }); + } + + static AvailableOrPossibleLender() { + return Joi.object({ + limit: Joi.number().required(), + + lenderName: Joi.string().allow("").required(), + + slug: Joi.string().allow("").required(), + + isDefault: Joi.boolean().required(), + + logo: Joi.string().allow("").required(), + }); + } + + static GetSchemesRequest() { + return Joi.object({ + customer: this.CustomerObject().required(), + + order: this.Order().required(), + + device: this.Device().required(), + + meta: Joi.any(), + }); + } + static CustomerMetricsResponse() { return Joi.object({ data: this.CustomerMetrics(), @@ -1584,6 +1756,8 @@ class Validator { static SourceAnalyticsRequest() { return Joi.object({ filters: Joi.array().items(this.CustomerMetricsFilters()), + + merchantId: Joi.string().allow(""), }); } @@ -1625,11 +1799,11 @@ class Validator { static DocumentItems() { return Joi.object({ - number: Joi.string().allow(""), + number: Joi.string().allow("").required(), category: Joi.string().allow(""), - type: Joi.string().allow(""), + type: Joi.string().allow("").required(), name: Joi.string().allow(""), @@ -1667,11 +1841,7 @@ class Validator { redirectUrl: Joi.string().allow(""), - callbackUrl: Joi.string().allow(""), - creditLimits: Joi.array().items(this.CreditLimitObject()), - - __headers: Joi.any(), }); } @@ -1695,13 +1865,93 @@ class Validator { }); } - static GetSchemesSuccess() { + static EmiSchedule() { return Joi.object({ - userId: Joi.string().allow(""), + installmentNo: Joi.number(), - lenders: Joi.array().items(undefined).required(), + installmentAmount: Joi.number(), - __headers: Joi.any(), + dueDate: Joi.string().allow(""), + }); + } + + static PaymentOption() { + return Joi.object({ + id: Joi.string().allow(""), + + title: Joi.string().allow(""), + + subtitle: Joi.string().allow(""), + + description: Joi.string().allow(""), + + tenure: Joi.number(), + + processingFee: Joi.number(), + + amount: Joi.number(), + + isDefault: Joi.boolean(), + + emiSchedule: Joi.array().items(this.EmiSchedule()), + }); + } + + static PaymentOptions() { + return Joi.object({ + payLater: this.PaymentOption(), + + emis: Joi.array().items(this.PaymentOption()), + }); + } + + static LenderAndPaymentOption() { + return Joi.object({ + id: Joi.string().allow(""), + + name: Joi.string().allow("").required(), + + title: Joi.string().allow(""), + + subtitle: Joi.string().allow(""), + + isDefault: Joi.boolean(), + + logoUrl: Joi.string().allow("").required(), + + amount: Joi.number(), + + paymentOptions: this.PaymentOptions(), + }); + } + + static GetSchemesSuccessOld() { + return Joi.object({ + userId: Joi.string().allow("").required(), + + lenders: Joi.array().items(this.LenderAndPaymentOption()), + }); + } + + static PageSchemaResponse() { + return Joi.object({ + slug: Joi.string().allow(""), + + description: Joi.string().allow(""), + + sections: Joi.any(), + + settings: Joi.any(), + }); + } + + static userCountRequest() { + return Joi.object({ + merchantId: Joi.string().allow(""), + + startDate: Joi.string().allow(""), + + endDate: Joi.string().allow(""), }); } @@ -1773,27 +2023,79 @@ class Validator { ); } - static DisbursalRequest() { + static IntegrationResponseMeta() { return Joi.object({ - fingerprint: Joi.string().allow(""), - - chargeToken: Joi.string().allow("").required(), - - loanTypeId: Joi.number(), - - emiTenure: Joi.number(), + timestamp: Joi.string().allow("").required(), - isDownpaymentRequired: Joi.boolean(), + version: Joi.string().allow("").required(), - downpaymentAmount: Joi.number(), + product: Joi.string().allow("").required(), - loanAmount: Joi.number(), + requestId: Joi.string().allow("").allow(null), }); } - static WorkflowUser() { + static IntegrationResponseError() { return Joi.object({ - mobile: Joi.string().allow(""), + code: Joi.string().allow("").required(), + + message: Joi.string().allow("").required(), + + exception: Joi.string().allow("").required(), + + field: Joi.string().allow("").allow(null), + + in: Joi.string().allow("").allow(null), + }); + } + + static IntegrationSuccessResponse() { + return Joi.object({ + message: Joi.string().allow("").required(), + + meta: this.IntegrationResponseMeta().required(), + + data: Joi.any().required(), + }); + } + + static IntegrationErrorResponse() { + return Joi.object({ + message: Joi.string().allow("").required(), + + meta: this.IntegrationResponseMeta().required(), + + errors: Joi.array().items(this.IntegrationResponseError()), + }); + } + + static DisbursalRequest() { + return Joi.object({ + fingerprint: Joi.string().allow(""), + + chargeToken: Joi.string().allow("").required(), + + loanTypeId: Joi.number(), + + emiTenure: Joi.number(), + + isDownpaymentRequired: Joi.boolean(), + + downpaymentAmount: Joi.number(), + + loanAmount: Joi.number(), + + data: Joi.any(), + + transactionId: Joi.string().allow(""), + + lenderSlug: Joi.string().allow(""), + }); + } + + static WorkflowUser() { + return Joi.object({ + mobile: Joi.string().allow(""), }); } @@ -1838,8 +2140,6 @@ class Validator { status: Joi.string().allow(""), message: Joi.string().allow(""), - - __headers: Joi.any(), }); } @@ -1907,8 +2207,6 @@ class Validator { loanType: Joi.string().allow(""), - repaymentTransactionId: Joi.string().allow(""), - nextDueDate: Joi.string().allow(""), paidPercent: Joi.number(), @@ -1955,18 +2253,6 @@ class Validator { }); } - static MerchantTransactions() { - return Joi.object({ - outstandingAmount: Joi.string().allow(""), - }); - } - - static MerchantTransactionSummary() { - return Joi.object({ - merchantOutstandingSummary: this.MerchantTransactions(), - }); - } - static GetReconciliationFileResponse() { return Joi.object({ files: Joi.array().items(this.ReconFile()).required(), @@ -2383,20 +2669,120 @@ class Validator { }); } - static LenderTheme() { + static TransactionOrder() { return Joi.object({ - logoUrl: Joi.string().allow("").required(), + id: Joi.string().allow("").required(), - iconUrl: Joi.string().allow("").required(), + amount: Joi.number().required(), + }); + } + + static TransactionMerchant() { + return Joi.object({ + name: Joi.string().allow("").required(), - landscapeBgUrl: Joi.string().allow("").required(), + logo: Joi.string().allow("").required(), + }); + } + + static TransactionLoan() { + return Joi.object({ + number: Joi.string().allow("").required(), + + amount: Joi.number().required(), + + type: Joi.string().allow("").required(), + }); + } + + static TransactionLender() { + return Joi.object({ + name: Joi.string().allow("").required(), + + slug: Joi.string().allow("").required(), - portraitBgUrl: Joi.string().allow("").required(), + logo: Joi.string().allow("").required(), shortName: Joi.string().allow("").required(), }); } + static UserTransaction() { + return Joi.object({ + id: Joi.string().allow("").required(), + + amount: Joi.number().required(), + + type: Joi.string().allow("").required(), + + status: Joi.string().allow("").required(), + + settlementUtr: Joi.string().allow("").allow(null), + + refundId: Joi.string().allow("").allow(null), + + createdAt: Joi.string().allow("").required(), + + isMasked: Joi.boolean().required(), + + order: this.TransactionOrder(), + + merchant: this.TransactionMerchant().required(), + + loan: this.TransactionLoan(), + + lender: this.TransactionLender(), + }); + } + + static Pagination() { + return Joi.object({ + type: Joi.string().allow(""), + + current: Joi.number().required(), + + hasPrevious: Joi.boolean().required(), + + hasNext: Joi.boolean().required(), + + size: Joi.number().required(), + + itemTotal: Joi.number().required(), + }); + } + + static GetTransactionsData() { + return Joi.object({ + transactions: Joi.array().items(this.UserTransaction()).required(), + + page: this.Pagination().required(), + }); + } + + static GetTransactionsResponse() { + return Joi.object({ + message: Joi.string().allow("").required(), + + meta: this.IntegrationResponseMeta().required(), + + data: this.GetTransactionsData().required(), + + __headers: Joi.any(), + }); + } + + static SummaryRequest() { + return Joi.object({ + startDate: Joi.string().allow(""), + + endDate: Joi.string().allow(""), + + merchantId: Joi.string().allow(""), + + type: Joi.string().allow(""), + }); + } + static Lender() { return Joi.object({ id: Joi.string().allow(""), @@ -2409,7 +2795,7 @@ class Validator { slug: Joi.string().allow(""), - theme: this.LenderTheme(), + theme: Joi.any(), b2b: Joi.boolean(), @@ -2421,8 +2807,6 @@ class Validator { updatedAt: Joi.string().allow(""), - approvedLimit: Joi.number(), - deletedAt: Joi.string().allow(""), meta: Joi.any(), @@ -2695,6 +3079,90 @@ class Validator { }); } + static EntityMapDto() { + return Joi.object({ + id: Joi.string().allow("").required(), + + merchantId: Joi.string().allow(""), + + status: Joi.string().allow(""), + + lenderId: Joi.string().allow("").required(), + + limit: Joi.number(), + + creditType: Joi.string().allow(""), + + userId: Joi.string().allow("").required(), + + entityId: Joi.string().allow("").required(), + }); + } + + static EntityDto() { + return Joi.object({ + id: Joi.string().allow("").required(), + + type: Joi.string().allow(""), + + address: Joi.string().allow(""), + + name: Joi.string().allow(""), + + gender: Joi.string().allow(""), + + dob: Joi.string().allow(""), + + userId: Joi.string().allow("").required(), + }); + } + + static MerchantSchema() { + return Joi.object({ + id: Joi.string().allow("").required(), + + name: Joi.string().allow(""), + + logo: Joi.string().allow(""), + + website: Joi.string().allow(""), + + apiHook: Joi.string().allow(""), + + epikId: Joi.string().allow(""), + + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + + createdBy: Joi.string().allow(""), + + active: Joi.boolean(), + + category: Joi.string().allow(""), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + + businessName: Joi.string().allow(""), + + email: Joi.string().allow(""), + + businessAddress: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + b2b: Joi.boolean(), + + b2c: Joi.boolean(), + }); + } + static Consent() { return Joi.object({ text: Joi.string().allow("").required(), @@ -2746,6 +3214,8 @@ class Validator { entity: Joi.string().allow(""), merchantId: Joi.string().allow(""), + + onboardingToken: Joi.string().allow(""), }); } @@ -2947,7 +3417,17 @@ class Validator { data: Joi.any().required(), - entityMapId: Joi.string().allow(""), + merchantId: Joi.string().allow(""), + }); + } + + static LenderOnboardRequestV1() { + return Joi.object({ + entityMapId: Joi.string().allow("").required(), + + ack: Joi.string().allow(""), + + data: Joi.any().required(), merchantId: Joi.string().allow(""), }); @@ -3115,7 +3595,11 @@ class Validator { static RegisterGstRequest() { return Joi.object({ - gstTin: Joi.string().allow("").required(), + gstin: Joi.string().allow("").required(), + + skipGst: Joi.boolean(), + + onboardingToken: Joi.string().allow(""), }); } @@ -3235,41 +3719,67 @@ class Validator { }); } - static EntityMapDto() { + static BusinessDetail() { return Joi.object({ - id: Joi.string().allow("").required(), - - merchantId: Joi.string().allow(""), - - status: Joi.string().allow(""), + category: Joi.string().allow("").required(), - lenderId: Joi.string().allow("").required(), + shopName: Joi.string().allow(""), - limit: Joi.number(), + legalName: Joi.string().allow("").required(), - creditType: Joi.string().allow(""), + address: Joi.string().allow(""), - userId: Joi.string().allow("").required(), + type: Joi.string().allow(""), - entityId: Joi.string().allow("").required(), + pincode: Joi.string().allow(""), }); } - static EntityDto() { + static VintageData() { return Joi.object({ - id: Joi.string().allow("").required(), + month: Joi.number().required(), - type: Joi.string().allow(""), + year: Joi.number().required(), - address: Joi.string().allow(""), + totalTransactions: Joi.number().required(), + + totalTransactionAmount: Joi.number().required(), + + totalCancellations: Joi.number(), + + totalCancellationAmount: Joi.number(), + }); + } + + static DocumentObjects() { + return Joi.object({ + number: Joi.string().allow("").required(), + + category: Joi.string().allow("").required(), + + type: Joi.string().allow("").required(), name: Joi.string().allow(""), - gender: Joi.string().allow(""), + issuedOn: Joi.string().allow(""), - dob: Joi.string().allow(""), + issuedAt: Joi.string().allow(""), - userId: Joi.string().allow("").required(), + issuedBy: Joi.string().allow(""), + + expiryOn: Joi.string().allow(""), + }); + } + + static KycCountByStatus() { + return Joi.object({ + startDate: Joi.string().allow(""), + + endDate: Joi.string().allow(""), + + merchantId: Joi.string().allow(""), + + lenderId: Joi.string().allow(""), }); } @@ -3279,8 +3789,6 @@ class Validator { info: Joi.string().allow("").required(), - number: Joi.string().allow("").required(), - details: Joi.any(), name: Joi.string().allow(""), @@ -3394,6 +3902,12 @@ class Validator { actionIsForm: Joi.boolean().required(), actionForm: this.Form(), + + merchantId: Joi.string().allow(""), + + actionName: Joi.string().allow(""), + + actionDescription: Joi.string().allow(""), }); } @@ -3447,12 +3961,6 @@ class Validator { }); } - static GetKycDocsResponse() { - return Joi.object({ - documents: Joi.array().items(this.FindDocResponse()).required(), - }); - } - static OrganizationLogosObject() { return Joi.object({ id: Joi.string().allow("").required(), @@ -3517,35 +4025,37 @@ class Validator { }); } - static ApprovedLenders() { + static GetAllUserLendersByEnityId() { return Joi.object({ + entityId: Joi.string().allow("").required(), + + entityMapId: Joi.string().allow("").required(), + + userId: Joi.string().allow("").required(), + status: Joi.string().allow("").required(), - lenders: Joi.array().items(this.BreOutput()).required(), + lender: this.Lender(), + + partnerId: Joi.string().allow(""), + + approvedLimit: Joi.number(), }); } - static BreResultStatus() { + static ApprovedLenders() { return Joi.object({ status: Joi.string().allow("").required(), - approvedLenders: Joi.array().items(this.BreOutput()), + lenders: Joi.array().items(this.BreOutput()).required(), }); } - static GetAllUserLendersByEnityId() { + static BreResultStatus() { return Joi.object({ - entityId: Joi.string().allow("").required(), - - entityMapId: Joi.string().allow("").required(), - - userId: Joi.string().allow("").required(), - status: Joi.string().allow("").required(), - lender: this.Lender().required(), - - partnerId: Joi.string().allow(""), + approvedLenders: Joi.array().items(this.BreOutput()), }); } @@ -3753,6 +4263,20 @@ class Validator { }); } + static Action() { + return Joi.object({ + step: Joi.string().allow("").required(), + + status: Joi.string().allow("").required(), + + index: Joi.number().required(), + + isForm: Joi.boolean(), + + form: this.Form().required(), + }); + } + static InitiateKycResponse() { return Joi.object({ kycResult: this.UserKycDetail().required(), @@ -3769,6 +4293,8 @@ class Validator { remark: Joi.string().allow(""), + reasons: Joi.string().allow("").required(), + kycResult: this.UserKycDetail().required(), action: this.Action().required(), @@ -3873,7 +4399,7 @@ class Validator { id: Joi.string().allow("").required(), - theme: this.LenderTheme(), + theme: Joi.any(), }); } @@ -4031,7 +4557,7 @@ class Validator { slug: Joi.string().allow(""), - theme: this.LenderTheme(), + theme: Joi.any(), name: Joi.any(), }); @@ -4054,6 +4580,8 @@ class Validator { static IngtrAvailableLimit() { return Joi.object({ available: Joi.array().items(this.IntgrAvailableCreditLimit()).required(), + + possible: Joi.array().items(this.IntgrAvailableCreditLimit()), }); } @@ -4245,7 +4773,7 @@ class Validator { static GstDetails() { return Joi.object({ - gstTin: Joi.string().allow("").required(), + gstin: Joi.string().allow("").required(), businessName: Joi.string().allow("").required(), }); @@ -4291,14 +4819,6 @@ class Validator { }); } - static ManualKycResponse() { - return Joi.object({ - message: Joi.string().allow("").required(), - - step: this.UserKycLenderStepMap().required(), - }); - } - static BreOutput() { return Joi.object({ id: Joi.string().allow("").required(), @@ -4329,109 +4849,1055 @@ class Validator { }); } + static ManualKycResponse() { + return Joi.object({ + message: Joi.string().allow("").required(), + + step: this.UserKycLenderStepMap().required(), + }); + } + static CustomerKycDetailsReponse() { return Joi.object({ data: this.UserKycLenderStepMap().required(), }); } -} -class CustomerValidator { - static verify() { + static BlockUserRequestSchema() { return Joi.object({ - disbursalRequest: Validator.VerifyCustomer().required(), - }).required(); + status: Joi.boolean(), + + userid: Joi.array().items(Joi.string().allow("")), + + reason: Joi.string().allow(""), + }); } - static resendPaymentRequest() { + static EditEmailRequestSchema() { return Joi.object({ - disbursalRequest: Validator.ResendPaymentRequest().required(), - }).required(); + email: Joi.string().allow(""), + }); } - static createOrder() { + static SendVerificationLinkMobileRequestSchema() { return Joi.object({ - disbursalRequest: Validator.CreateTransaction().required(), - }).required(); + verified: Joi.boolean(), + + active: Joi.boolean(), + + countryCode: Joi.string().allow(""), + + phone: Joi.string().allow(""), + + primary: Joi.boolean(), + }); } - static link() { + static EditMobileRequestSchema() { return Joi.object({ - disbursalRequest: Validator.LinkAccount().required(), - }).required(); + countryCode: Joi.string().allow(""), + + phone: Joi.string().allow(""), + }); } - static unlink() { + static UpdateEmail() { return Joi.object({ - disbursalRequest: Validator.UnlinkAccount().required(), - }).required(); + email: Joi.string().allow("").required(), + + additionalProperties: Joi.string().allow(""), + }); } - static getAccessToken() { - return Joi.object({}).required(); + static EditProfileRequestSchema() { + return Joi.object({ + firstName: Joi.string().allow("").required(), + + lastName: Joi.string().allow("").required(), + + countryCode: Joi.string().allow(""), + + mobile: Joi.string().allow(""), + + email: Joi.string().allow(""), + + gender: Joi.string().allow(""), + + registrationToken: Joi.string().allow(""), + }); } - static renewAccessToken() { + static EditProfileMobileSchema() { return Joi.object({ - disbursalRequest: Validator.RefreshTokenRequest().required(), - }).required(); + phone: Joi.string().allow(""), + + countryCode: Joi.string().allow(""), + }); } - static refund() { + static SendEmailOtpRequestSchema() { return Joi.object({ - disbursalRequest: Validator.Refund().required(), - }).required(); + email: Joi.string().allow(""), + + action: Joi.string().allow(""), + + token: Joi.string().allow(""), + + registerToken: Joi.string().allow(""), + }); } - static refundStatus() { + static VerifyEmailOtpRequestSchema() { return Joi.object({ - refundId: Joi.string().allow(""), - orderId: Joi.string().allow(""), - }).required(); + email: Joi.string().allow(""), + + action: Joi.string().allow(""), + + registerToken: Joi.string().allow(""), + + otp: Joi.string().allow(""), + }); } - static getSchemes() { + static ReSendMobileOtpRequestSchema() { return Joi.object({ - disbursalRequest: Validator.VerifyCustomer().required(), - }).required(); + captchaCode: Joi.string().allow(""), + + token: Joi.string().allow("").required(), + + androidHash: Joi.string().allow(""), + }); } - static checkEligibility() { + static ResetPasswordSuccess() { return Joi.object({ - disbursalRequest: Validator.CheckEligibilityRequest().required(), - }).required(); + status: Joi.string().allow(""), + }); } -} -class CreditValidator { - static disburse() { + static RegisterFormSuccess() { return Joi.object({ - disbursalRequest: Validator.DisbursalRequest().required(), - }).required(); + email: Joi.string().allow(""), + + resendTimer: Joi.number(), + + resendToken: Joi.string().allow(""), + + resendEmailToken: Joi.string().allow(""), + + registerToken: Joi.string().allow(""), + + success: Joi.boolean(), + + requestId: Joi.string().allow(""), + + message: Joi.string().allow(""), + + mobile: Joi.string().allow(""), + + countryCode: Joi.string().allow(""), + + verifyEmailOtp: Joi.boolean(), + + verifyMobileOtp: Joi.boolean(), + + userExists: Joi.boolean(), + }); } - static getOrderStatus() { + static VerifyEmailSuccess() { return Joi.object({ - orderId: Joi.string().allow("").required(), - }).required(); + message: Joi.string().allow(""), + }); } - static getEligiblePlans() { + static BlockUserSuccess() { return Joi.object({ - lenderSlug: Joi.string().allow("").required(), - disbursalRequest: Validator.EligiblePlansRequest().required(), - }).required(); + success: Joi.boolean(), + }); } -} -class MultiKycValidator { - static approvedLenders() { - return Joi.object({}).required(); + static EmailOtpSuccess() { + return Joi.object({ + success: Joi.boolean(), + }); } - static getLimit() { + static VerifyEmailOTPSuccess() { + return Joi.object({ + user: this.UserSchema(), + + verifyEmailLink: Joi.boolean(), + }); + } + + static SendMobileVerifyLinkSuccess() { + return Joi.object({ + verifyMobileLink: Joi.boolean(), + }); + } + + static SendEmailVerifyLinkSuccess() { + return Joi.object({ + verifyEmailLink: Joi.boolean(), + }); + } + + static UserSearchResponseSchema() { + return Joi.object({ + users: Joi.array().items(this.UserSchema()), + }); + } + + static CustomerListResponseSchema() { + return Joi.object({ + items: Joi.array().items(this.UserSchema()), + + page: this.PaginationSchema(), + }); + } + + static PaginationSchema() { + return Joi.object({ + size: Joi.number(), + + itemTotal: Joi.number(), + + hasNext: Joi.boolean(), + + type: Joi.string().allow(""), + + current: Joi.number(), + }); + } + + static UserObjectSchema() { + return Joi.object({ + user: this.UserSchema(), + }); + } + + static CreateOrganization() { + return Joi.object({ + name: Joi.string().allow(""), + + logo: Joi.string().allow(""), + + website: Joi.string().allow(""), + + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + + businessName: Joi.string().allow(""), + + email: Joi.string().allow(""), + + businessAddress: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + b2b: Joi.boolean(), + + b2c: Joi.boolean(), + + docType: Joi.string().allow(""), + + docNumber: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + }); + } + + static UpdateLogo() { + return Joi.object({ + logo: Joi.string().allow(""), + }); + } + + static AddMetaSchemaResponse() { + return Joi.object({ + merchantId: Joi.string().allow(""), + + lenderId: Joi.string().allow(""), + + mid: Joi.string().allow(""), + + data: Joi.any(), + }); + } + + static UpdateOrganization() { + return Joi.object({ + id: Joi.string().allow("").required(), + + name: Joi.any(), + + logo: Joi.any(), + + website: Joi.any(), + + disbursementAccountHolderName: Joi.any(), + + disbursementAccountNumber: Joi.any(), + + disbursementIfsc: Joi.any(), + + active: Joi.boolean(), + }); + } + + static UpdateFinancials() { + return Joi.object({ + disbursementAccountHolderName: Joi.string().allow("").required(), + + disbursementAccountNumber: Joi.string().allow("").required(), + + disbursementIfsc: Joi.string().allow("").required(), + }); + } + + static Documents() { + return Joi.object({ + docType: Joi.string().allow("").required(), + + docNumber: Joi.string().allow("").required(), + }); + } + + static FinancialDetails() { + return Joi.object({ + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + + b2b: Joi.boolean(), + + b2c: Joi.boolean(), + + businessName: Joi.string().allow(""), + + email: Joi.string().allow(""), + + businessAddress: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + documents: Joi.array().items(this.Documents()), + }); + } + + static GetOrganization() { + return Joi.object({ + organizationId: Joi.string().allow(""), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + name: Joi.string().allow(""), + + isActive: Joi.boolean(), + }); + } + + static OrganizationDetails() { + return Joi.object({ + name: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + + isActive: Joi.boolean(), + + logo: Joi.string().allow(""), + + website: Joi.string().allow(""), + + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + }); + } + + static Organization() { + return Joi.object({ + id: Joi.string().allow(""), + + name: Joi.string().allow(""), + + active: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + }); + } + + static OrganizationList() { + return Joi.object({ + name: Joi.string().allow(""), + + logo: Joi.string().allow(""), + + id: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + + isActive: Joi.boolean(), + + epikId: Joi.string().allow(""), + + website: Joi.string().allow(""), + + disbursementAccountHolderName: Joi.string().allow(""), + + disbursementAccountNumber: Joi.string().allow(""), + + disbursementIfsc: Joi.string().allow(""), + }); + } + + static OrganizationCount() { + return Joi.object({ + count: Joi.string().allow(""), + }); + } + + static TeamMembers() { + return Joi.object({ + members: Joi.array().items(this.Member()), + }); + } + + static Member() { + return Joi.object({ + id: Joi.string().allow(""), + + userId: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + + profile: this.Profile(), + }); + } + + static Profile() { + return Joi.object({ + id: Joi.string().allow(""), + + userId: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + }); + } + + static AddTeamMember() { + return Joi.object({ + countryCode: Joi.string().allow(""), + + mobile: Joi.string().allow(""), + + email: Joi.string().allow(""), + + userIsAdmin: Joi.boolean(), + }); + } + + static UpdateTeamMemberRole() { + return Joi.object({ + userIsAdmin: Joi.boolean(), + + userId: Joi.string().allow(""), + }); + } + + static RemoveTeamMemberResponse() { + return Joi.object({ + success: Joi.boolean(), + }); + } + + static AddTeamMemberResponse() { + return Joi.object({ + id: Joi.string().allow(""), + + userId: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + isAdmin: Joi.boolean(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + deletedAt: Joi.string().allow(""), + }); + } + + static ApiKey() { + return Joi.object({ + key: Joi.string().allow(""), + + secret: Joi.string().allow(""), + }); + } + + static UpdateApiHook() { + return Joi.object({ + apiKey: Joi.string().allow("").required(), + + url: Joi.string().allow("").required(), + + customHeaders: Joi.any(), + }); + } + + static ApiHookDetails() { + return Joi.object({ + apiKey: Joi.string().allow("").required(), + + url: Joi.string().allow("").required(), + + customHeaders: Joi.any(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + }); + } + + static UpdateApiHookResponse() { + return Joi.object({ + success: Joi.boolean(), + }); + } + + static OrganizationIp() { + return Joi.object({ + id: Joi.string().allow(""), + + ip: Joi.string().allow("").required(), + }); + } + + static AddOrganizationIpDetails() { + return Joi.object({ + organizationIps: Joi.array().items(this.OrganizationIp()), + + delete: Joi.string().allow(""), + }); + } + + static AddUpdateCsvFileResponse() { + return Joi.object({ + message: Joi.string().allow(""), + }); + } + + static AddUpdateCsvFileRequest() { + return Joi.object({ + csv: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + }); + } + + static CsvFile() { + return Joi.object({ + csv: Joi.string().allow(""), + }); + } + + static AddReportCsvFileResponse() { + return Joi.object({ + message: Joi.string().allow(""), + }); + } + + static AddReportCsvFileRequest() { + return Joi.object({ + csv: Joi.string().allow(""), + + organizationId: Joi.string().allow(""), + + name: Joi.string().allow(""), + + type: Joi.string().allow(""), + }); + } + + static ReportCsvFileResponse() { + return Joi.object({ + csv: Joi.string().allow(""), + }); + } + + static AddReportRequestArray() { + return Joi.object({ + mobile: Joi.string().allow(""), + + merchantId: Joi.string().allow(""), + + category: Joi.string().allow(""), + + shopName: Joi.string().allow(""), + + legalName: Joi.string().allow(""), + + firstName: Joi.string().allow(""), + + middleName: Joi.string().allow(""), + + lastName: Joi.string().allow(""), + + aadhaar: Joi.string().allow(""), + + nameOnPan: Joi.string().allow(""), + + gstNumber: Joi.string().allow(""), + + gstBusinessName: Joi.string().allow(""), + + panNumber: Joi.string().allow(""), + + udyam: Joi.string().allow(""), + + ownershipType: Joi.string().allow(""), + + address: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + license1Type: Joi.string().allow(""), + + license1: Joi.string().allow(""), + + license2Type: Joi.string().allow(""), + + license2: Joi.string().allow(""), + }); + } + + static AddReportRequest() { + return Joi.object({ + businessDetails: Joi.array().items(Joi.any()), + }); + } + + static AddReportResponseArray() { + return Joi.object({ + mobile: Joi.string().allow(""), + + merchantId: Joi.string().allow(""), + + anchorId: Joi.string().allow(""), + + category: Joi.string().allow(""), + + shopName: Joi.string().allow(""), + + legalName: Joi.string().allow(""), + + firstName: Joi.string().allow(""), + + middleName: Joi.string().allow(""), + + lastName: Joi.string().allow(""), + + aadhaar: Joi.string().allow(""), + + nameOnPan: Joi.string().allow(""), + + gstNumber: Joi.string().allow(""), + + gstBusinessName: Joi.string().allow(""), + + panNumber: Joi.string().allow(""), + + udyam: Joi.string().allow(""), + + ownershipType: Joi.string().allow(""), + + address: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + license1Type: Joi.string().allow(""), + + license1: Joi.string().allow(""), + + license2Type: Joi.string().allow(""), + + license2: Joi.string().allow(""), + }); + } + + static AddReportResponse() { + return Joi.object({ + businessDetails: Joi.array().items(this.AddReportResponseArray()), + }); + } + + static VintageDataResponseObject() { + return Joi.object({ + month: Joi.string().allow(""), + + year: Joi.number(), + + revenue: Joi.string().allow(""), + + businessId: Joi.string().allow(""), + + createdBy: Joi.string().allow(""), + + id: Joi.string().allow(""), + + createdAt: Joi.string().allow(""), + + updatedBy: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + }); + } + + static VintageDataResponse() { + return Joi.object({ + vintageData: Joi.array().items(this.VintageDataResponseObject()), + }); + } + + static AddSkuRequestArray() { + return Joi.object({ + sku: Joi.string().allow("").required(), + + productName: Joi.string().allow("").required(), + + creditPurchaseOptionFlag: Joi.string().allow("").required(), + + effectiveDates: Joi.string().allow("").required(), + + organizationId: Joi.string().allow("").required(), + }); + } + + static AddSkuRequest() { + return Joi.object({ + skuDetails: Joi.array().items(this.AddSkuRequestArray()), + }); + } + + static AddSkuResponse() { + return Joi.object({ + message: Joi.string().allow(""), + }); + } + + static RestrictedSkuSchema() { + return Joi.object({ + skuDetails: Joi.array().items(Joi.any()), + }); + } + + static OrganizationIpResponse() { + return Joi.object({ + organizationId: Joi.string().allow("").required(), + + ip: Joi.string().allow("").required(), + + createdAt: Joi.string().allow(""), + + updatedAt: Joi.string().allow(""), + + id: Joi.string().allow("").required(), + }); + } + + static OrganizationIpDetails() { + return Joi.object({ + organizationIps: Joi.array().items(this.OrganizationIpResponse()), + }); + } + + static RefundSuccess() { + return Joi.object({ + status: Joi.string().allow("").required(), + + message: Joi.number().required(), + + transactionId: Joi.string().allow("").required(), + + refundId: Joi.string().allow("").required(), + }); + } + + static RefundItem() { + return Joi.object({ + items: Joi.array().items(Joi.any()).required(), + }); + } + + static PaymentLinkResponse() { + return Joi.object({ + status: Joi.string().allow(""), + + message: Joi.string().allow(""), + + paymentLink: Joi.string().allow(""), + }); + } + + static ApplicationCutomer() { + return Joi.object({ + countryCode: Joi.string().allow(""), + + mobile: Joi.string().allow("").required(), + + uid: Joi.string().allow(""), + + email: Joi.string().allow(""), + }); + } + + static GeoLocation() { + return Joi.object({ + latitude: Joi.number().required(), + + longitude: Joi.number().required(), + }); + } + + static Address() { + return Joi.object({ + line1: Joi.string().allow(""), + + line2: Joi.string().allow(""), + + city: Joi.string().allow(""), + + state: Joi.string().allow(""), + + country: Joi.string().allow(""), + + pincode: Joi.string().allow(""), + + type: Joi.string().allow(""), + + geoLocation: this.GeoLocation(), + }); + } + + static OrderItems() { + return Joi.object({ + category: Joi.string().allow(""), + + sku: Joi.string().allow(""), + + rate: Joi.number(), + + quantity: Joi.number(), + }); + } + + static PaymentLinkRequest() { + return Joi.object({ + autoCapture: Joi.boolean(), + + lenderId: Joi.string().allow(""), + + emiTenure: Joi.number(), + + customer: this.ApplicationCutomer().required(), + + order: this.Order().required(), + + device: this.Device(), + + meta: Joi.object().pattern(/\S/, Joi.any()), + }); + } + + static UpdateLenderStatusSchemaRequest() { + return Joi.object({ + merchantId: Joi.string().allow(""), + + enable: Joi.boolean(), + }); + } + + static UpdateLenderStatusSchemaResponse() { + return Joi.object({ + merchantId: Joi.string().allow(""), + + lenderId: Joi.string().allow(""), + + mid: Joi.string().allow(""), + + enable: Joi.boolean(), + + data: Joi.any(), + }); + } + + static CreateUserRequestSchema() { + return Joi.object({ + mobile: Joi.string().allow("").required(), + + email: Joi.string().allow(""), + + firstName: Joi.string().allow(""), + + lastName: Joi.string().allow(""), + + gender: Joi.string().allow(""), + }); + } + + static CreateUserResponseSchema() { + return Joi.object({ + user: this.UserSchema(), + }); + } +} + +class CustomerValidator { + static verify() { + return Joi.object({ + body: Validator.VerifyCustomer().required(), + }).required(); + } + + static resendPaymentRequest() { + return Joi.object({ + body: Validator.ResendPaymentRequest().required(), + }).required(); + } + + static createOrder() { + return Joi.object({ + body: Validator.CreateTransaction().required(), + }).required(); + } + + static link() { + return Joi.object({ + body: Validator.LinkAccount().required(), + }).required(); + } + + static unlink() { + return Joi.object({ + body: Validator.UnlinkAccount().required(), + }).required(); + } + + static refund() { + return Joi.object({ + body: Validator.Refund().required(), + }).required(); + } + + static refundStatus() { + return Joi.object({ + refundId: Joi.string().allow(""), + orderId: Joi.string().allow(""), + }).required(); + } + + static getSchemes() { + return Joi.object({ + body: Validator.GetSchemesRequest().required(), + }).required(); + } +} + +class CreditValidator { + static getOrderStatus() { + return Joi.object({ + orderId: Joi.string().allow("").required(), + }).required(); + } + + static getEligiblePlans() { + return Joi.object({ + lenderSlug: Joi.string().allow("").required(), + body: Validator.EligiblePlansRequest().required(), + }).required(); + } + + static getTransactions() { + return Joi.object({ + page: Joi.number(), + type: Joi.any(), + status: Joi.any(), + limit: Joi.number(), + countryCode: Joi.string().allow(""), + mobile: Joi.string().allow("").required(), + orderId: Joi.string().allow(""), + transactionId: Joi.string().allow(""), + onlySelf: Joi.boolean(), + }).required(); + } +} + +class MultiKycValidator { + static approvedLenders() { + return Joi.object({}).required(); + } + + static getLimit() { + return Joi.object({ + body: Validator.GetLimitRequest().required(), + }).required(); + } +} + +class MerchantValidator { + static getAccessToken() { + return Joi.object({}).required(); + } + + static renewAccessToken() { return Joi.object({ - disbursalRequest: Validator.GetLimitRequest().required(), + body: Validator.RefreshTokenRequest().required(), }).required(); } } @@ -4440,4 +5906,5 @@ module.exports = { CustomerValidator, CreditValidator, MultiKycValidator, + MerchantValidator, };