post https://api.juspay.in/v3/offer/generateOffersResponse
This API is invoked by the lender informing the borrower regarding the various loan offers that have been generated corresponding to each of the loan applications. This is a bulk API, where multiple loan offers can be sent to the borrower in one shot.
Response Parameters for the Generate Offers Response API: (click to view)
Parameter | Type | Description |
---|---|---|
ack:wwwwwwww {error, traceId, timestamp} | Object | JSON object for acknowlegement |
Parameters for the
ack
object: Parameter | Type | Description |
---|---|---|
error | String | Errors in the current request received. If no errors are found, error = 0. |
traceId | String | Identification for tracing |
timestamp | Time- stamp | YYYY-MM-DDThh:mm:ssZ+/-hh:mm (eg 1997-07-16T19:20:30+05:30) Z +/- hh:mm = time zone designator (Z) followed by time zone difference from GMT in hours and minutes. THIS IS OPTIONAL. If not provided, it is assumed to be IST (+5.30) |
The request for this API contains an array for Loan Applications, which contains an array for Offers, which includes objects for Terms, Disbursement, and Repayment (Disbursement and Repayment objects both contain an array for Plans). (click to open tables)
Parameter | Type | Description | |
---|---|---|---|
metadata:wwwwwwiww {param1, param2,...} | * | Object Strings | Metadata specific to each API response |
Parameters for the metadata
object: click to open)
Field | Type | Description | |
---|---|---|---|
version | String | OCEN Version | |
timestamp | Time- stamp | YYYY-MM-DDThh:mm:ssZ+/-hh:mm (eg 1997-07-16T19:20:30+05:30) Z +/- hh:mm = time zone designator (Z) followed by time zone difference from GMT in hours and minutes. THIS IS OPTIONAL. If not provided, it is assumed to be IST (+5.30) | |
traceId | String | Identification for tracing | |
orgId | String | Origin ID |
response: {error} | Object | Status of response. Object contains only one string parameter for "error". If no errors are found, error = "0". For example, if a mandatory attribute is missing, error code should capture that. | |
requestId | * | String | Unique reference ID for the Generate Offers Request (UUID used to tie request and response and for idempotency) |
loanApplications:wwww [{...},{...},..] * | Array of Objects | Array of loan applications and corresponding offers |
Parameters for each object in the loanApplications
array:
(click to open)
loanApplicationIdwww | * | String | Unique reference ID (UUID) for the loan application (used to tie request and response and for idempotency) |
rejectionDetails: [{...},{...},..] | Array of Objects | Details on why the lender has decided not to make a loan offer to the borrower |
Parameters for each object in the rejectionDetails
array:
(click to open)
reason | String | Reason why the lender has decided not to make a loan offer to the borrower | |
description | String | Detailed description of the reason for rejection | |
url | String | For any new data that needs to be passed as a link | |
extensibleData | JSON | For any new data that needs to be added |
actionRequired:wwww [{...},{...},..] | Array of Objects | Details on the type of action expected from the borrower |
Parameters for each object in the actionRequired
array:
(click to open)
actionType | String | Type of action expected from the borrower | |
description | String | Detailed description of the expected action | |
reference | String | Reference to any documents uploaded as part of the loan request indicating the document where action is required | |
url | String | For any new data that needs to be passed as a link | |
extensibleData | JSON | For any new data that needs to be added |
offers:wwwwtwwwww [{...},{...},..] | * | Array of Objects | Array of offers corresponding to given loan application |
Parameters for each object in the offers
array:
(click to open)
id | * | String | Unique identifier for the offer in the lending system |
description | String | A short description of the offer. | |
validTill | String | Time till which the offer from the lender is available | |
terms:wwwwwwwtw {...,{...},{...},[...],..} | Object | Details about the terms of the loan offer |
Parameters for the terms
object: {click to open)
requestedAmount | String | Amount - 2 digits precision | |
description | String | Description of the loan terms | |
currency | Object | ISO string of the currency. Use INR for Indian Rupee. Among other accepted values are EUR, USD, GBP. Default value: INR | |
sanctionedAmount | String | Loan Amount Approved by lender | |
interestType | String | Flag indicating if the interest rate is fixed or floating | |
interestRate | String | Interest Rate for the loan. 2 digits precision | |
interestAmount | String | Interest Amount for the duration specified in tenure | |
totalAmount | String | Total amount for repayment | |
tenure: {duration, unit} | Object Strings | Tenure details:duration String unit String (DAY, MONTH, etc.) | |
legalAgreement: {type, date} | Object Strings | Loan Agreement:type String agreement is shared directly as text or needs to be fetched from a url. data String | |
documents:www [{...},{...},..] | Array of Objects | Additional documents related to the terms. If no data is there to be sent, an empty array block can be passed. |
Parameters for each object in the documents
array:
(click to open)
format | String | Format of document data to be sent | |
reference | String | Unique identifier for a document which can be used by other objects for referencing a document. In case where isDataInline is false, reference number can be used to hit an external API to get the data. | |
source | String | Source system from where data is coming. Source can be from AA ecosystem or from USER | |
sourceIdentifiern | String | If source is in AA ecosystem, sourceIdentifier is the identifier in central registry. In case of User, it will be his unique identifier | |
type | String | Expandable enum. Includes fiTypes in AA ecosystem and any additional type of documents that can be added to the system later | |
isDataInline | Boolean | Indicates whether the data is actually present in the document block. If Yes, data field contains base 64 encoded version of the data. | |
data | String | Data to be sent for document instance (Base64 encoded string) |
charges:wwwwww {(...},{...},...} | Object | Penalties levied for issues with repayments |
Parameters for the charges
object: (click to open)
prepayment:ww {....,{...}} | Object | Prepayment (use Charge Details object parameters below) | |
bounce: {....,{...}} | Object | Bounce (use Charge Details object parameters below) | |
latePayment: {....,{...}} | Object | Details of the charges levied when the borrower makes a late payment (use Charge Details object parameters below) | |
processing: {....,{...}} | Object | Processing fees charged by the lender (use Charge Details object parameters below) |
Parameters for the chargeDetails
object: (click to open)
chargeType | String | This field indicates whether the penalty is fixed or varies | |
description | String | Description of charge calculation | |
data | Object | Details of charge:rate String applicableParameter String data applies amount String applicableParameter . | |
url | String | For any new data that needs to be passed as a link | |
extensibleData | String | For any new data that needs to be added |
url | String | For any new data that needs to be passed as a link. | |
extensibleDatawtw | JSON | For any new data that needs to be added |
disbursement:wwiw { [{...},..], [{...},..] } | Object Arrays | Details about the disbursement provided by lender. |
Parameters for the disbursement
object:
{click to open)
plans: [{...},{...},..] wwwwwwwwwiww | Array of Objects | Disbursement plans selected for the loan |
Parameters for each object in the plans
array:
(click to open)
id | String | Unique id for the disbursement plan in the lender system | |
title | String | Title of the disbursement plan | |
shortDescription | String | Short description for the disbursement plan | |
description | String | Detailed description of the disbursement plan | |
url | String | URL of the payment page provided by the lender to show disbursement plans | |
automatic | Boolean | Flag indicating whether disbursement is automatic or user initiated | |
payNowAllowed | Boolean | Flag indicates if the lender can make an immediate payment with this disbursement plan | |
editPlanAllowed | Boolean | This flag indicates if the configurations of the current disbursement plan can be changed by the borrower | |
changeMethodAllowed | Boolean | This field indicates if the borrower can choose a different disbursement method for the plan | |
scheduleType | String | Type of schedule - can be ONE_TIME, AS_PRESENTED or RECURRING | |
frequency | String | In case of a recurring payment, this field indicates how often the payment is disbursed | |
noOfInstallments | String | Number of installments for the chosen disbursement plan. Will be 1 for ONE_TIME schedule type | |
tenure:wwwwwinww {duration, unit} | Object Strings | Tenure associated with the disbursement plan. This value will be less than or equal to the tenure in loan terms.Tenure details:duration String unit String (DAY, MONTH, etc.) | |
principal | String | Principal - up to 2 digits precision | |
interestAmount | String | Interest component for the duration specified in plan - up to 2 digits precision | |
penalty | String | Penalty component for the duration specified in loan - up to 2 digits precision | |
startDate | String | The first date on which the borrower chooses to make payment/wishes to get the disbursement credited. | |
status | String | Flag indicating if the plan is ACTIVE or INACTIVE | |
totalAmount | String | Total amount of loan |
accountDetails:wn [{...},{...},..] | Array of Objects | Details on accounts where the amounts will be disbursed by the lender. |
Parameters for each object in the accountDetails
array:
(click to open)
id | String | Unique id. Mandatory if object is coming from lender | |
description | String | Description of the account | |
status | String | This field captures the status of whether the account has been linked to a loan or not | |
accountDataType | String | This suggests what kind of data is expected for account details in the data object | |
url | String | For any new data that needs to be passed as a link. | |
extensibleDatawwwwt | JSON | For any new data that needs to be added | |
data: {param1, param2,...} | Object | This object captures details of the account as suggested by the accountDataType parameter (Parameters are variable). |
repayment:wwwwiw { [{...},..] } | Object Array | Details about repayment plans provided by lender. |
Parameters for the repayment
object:
{click to open)
plans: [{...},{...},..] wwwwwwwwwiww | Array of Objects | Repayment plans selected for the loan |
Parameters for each object in the plans
array:
(click to open)
id | String | Unique id for the repayment plan in the lender system | |
title | String | Title of the repayment plan | |
shortDescription | String | Short description for the repayment plan | |
description | String | Detailed description of the payment plan | |
paymentUrl | String | URL of the payment page provided by the lender to show repayment details | |
automatic | Boolean | Flag indicating whether payment is automatic or user initiated | |
payNowAllowed | Boolean | Flag indicates if the borrower can make an immediate payment with this repayment plan | |
editPlanAllowed | Boolean | This flag indicates if the configurations of the current repayment plan can be changed by the borrower | |
changeMethodAllowed | Boolean | This field indicates if the borrower can choose a different payment method for the plan | |
scheduleType | String | Type of schedule - can be ONE_TIME, AS_PRESENTED or RECURRING | |
frequency | String | In case of a recurring payment, this field indicates how often the payment is disbursed | |
noOfInstallments | String | Number of installments for the chosen repayment plan. Will be 1 for ONE_TIME schedule type | |
tenure:wwwwwinww {duration, unit} | Object Strings | Tenure associated with the repayment plan. This value will be less than or equal to the tenure in loan terms.Tenure details:duration String unit String (DAY, MONTH, etc.) | |
principal | String | Principal - up tp to 2 digits precision | |
interestAmount | String | Interest component for the duration specified in plan - up to 2 digits precision | |
penalty | String | Penalty component for the duration specified in loan - up to 2 digits precision | |
startDate | String | The first date on which the borrower chooses to make payment/wishes to get the disbursement credited. | |
status | String | Flag indicating if the plan is active or inactive | |
totalAmount | String | Total amount of loan |
documents:wwwww [{...},{...},..] | Array of Objects | Any other additional documents provided by the lender as part of the offer. If no data is there to be sent, an empty array block can be passed. |
Parameters for each object in the documents
array:
(click to open)
format | String | Format of document data to be sent | |
reference | String | Unique identifier for a document which can be used by other objects for referencing a document. In case where isDataInline is false, reference number can be used to hit an external API to get the data. | |
source | String | Source system from where data is coming. Source can be from AA ecosystem or from USER | |
sourceIdentifierww | String | If source is in AA ecosystem, sourceIdentifier is the identifier in central registry. In case of User, it will be his unique identifier | |
type | String | Expandable enum. Includes fiTypes in AA ecosystem and any additional type of documents that can be added to the system later | |
isDataInline | Boolean | Indicates whether the data is actually present in the document block. If Yes, data field contains base 64 encoded version of the data. | |
data | String | Data to be sent for document instance (Base64 encoded string) |
url | String | For any new data that needs to be passed as a link. | |
extensibleDatawwnw | JSON | For any new data that needs to be added |
loanApplicationStatus | String | Status of loan application Example: "OFFERED"wwwwwwnnw |
* = Required