GetSelfServiceLoanProductsQuery
Overview​
Retrieves all available loan products for the organisation. Reads from the YAML loanProductConfiguration platform config first; falls back to the SelfServiceLoanProduct database table if no YAML config is found.
Command Structure​
{
"cmd": "GetSelfServiceLoanProductsQuery",
"data": "{}"
}
Parameters​
No parameters required.
Response​
{
"ok": true,
"statusCode": "00",
"message": "Loan products retrieved successfully.",
"outData": [
{
"Name": "Personal Loan",
"Code": "PERSONAL",
"CurrencyCode": "NGN",
"InterestRate": 3.5,
"InterestCalculation": "Monthly",
"DisbursementFee": 1.5,
"DisbursementFeeCalculation": "Percentage of Loan Amount",
"MinimumAmount": 50000,
"MaximumAmount": 5000000,
"MaximumTenorInDays": 365,
"UnderwritingProcessKey": "standard_underwriting",
"IsDirect": false
}
]
}
Response Fields​
| Field | Description |
|---|---|
Name | Product display name |
Code | Unique product code |
CurrencyCode | ISO currency code |
InterestRate | Interest rate percentage |
InterestCalculation | Rate period — Daily, Weekly, Monthly, Yearly |
DisbursementFee | Fee amount or percentage |
DisbursementFeeCalculation | Fee type — Flat, Percentage of Loan Amount, Percentage of Disbursed Amount |
MinimumAmount | Minimum eligible loan amount |
MaximumAmount | Maximum eligible loan amount |
MaximumTenorInDays | Maximum loan duration |
UnderwritingProcessKey | Workflow process key for underwriting (null if direct) |
IsDirect | true if no underwriting workflow is required |
Configuration​
Products are primarily configured via YAML stored in the ConfigDefinition table (Code = "loanProductConfiguration"). Each product can optionally specify an underwriting.process override; otherwise the app-level application.underwriting.defaultProcess is used.