FTOS_CB_StartLoanSubmissionFlow_AsyncEngine
The FTOS_CB_StartLoanSubmissionFlow_AsyncEngine endpoint is designed to be used for external request processing by the async engine. It initiates the complex process of loan origination, which consists of the following distinct actions: creating a customer record, adding and approving a customer limit record, adding and then approving a settlement account (a current account contract), then adding and approving a top-up transaction, and ending with creating and approving a loan contract.
Behind the scenes, the async engine automatically uses the FTOS_CB_LoanSubmission_AsyncEngine endpoint to continue the process of loan submission, with no further action is required on your part.
The endpoint is available starting with Loan Management v24.0.
Syntax
The FTOS_CB_StartLoanSubmissionFlow_AsyncEngine custom endpoint is called from within the Endpoint API endpoint. Visit the Endpoint API page for more details.
POST <host_address>/ftosapi/automation-processors/actions/FTOS_CB_StartLoanSubmissionFlow_AsyncEngine
Content-Type: application/json
{
"customerInfo": {
"firstName": "<customer_first_name>",
"lastName": "<customer_last_name>",
"UniqueID": "<customer_uniqueID>",
"email": "<customer_email_address>",
"mobilePhone": "<customer_mobile_phone>",
"pin": "<customer_personal_identification_number>"
},
"customerLimit": {
"currencyCode": "<limit_currency_code>",
"limitType": "<limit_type>",
"expirePeriodType": "<limit_expiration_period_type>",
"limitDate": "<limit_creation_date_yyyy-mm-dd>",
"expirePeriod": "<limit_expiration_period_number>",
"reviewDate": "<limit_review_date_yyyy-mm-dd>",
"limitAmount": "<limit_amount>"
},
"settlementAccount": {
"productCode": "<current_account_product_code>",
"startDate": "<current_account_start_date_yyyy_mm_dd>",
"totalInterestRate": <current_account_total_interest_rate>,
"contractPeriod": <current_account_period_in_months>,
"currencyCode": "<current_account_currency_code>"
},
"termLoanContract": {
"productCode": "<loan_contract_product_code>",
"startDate": "<loan_contract_start_date_yyyy_mm_dd>",
"totalInterestRate": <loan_contract_total_interest_rate>,
"amountDue": <loan_contract_due_amount>,
"advanceAmountPercentage": <loan_contract_advance_amount_percentage>,
"advanceAmountValue": <loan_contract_advance_amount_value>,
"productInterest": "<loan_product_interest_rate>",
"referenceRateDate": "<loan_product_reference_rate_date_yyyy_mm_dd>",
"referenceRate": <loan_product_reference_rate>,
"margin": <loan_contract_margin>,
"paymentScheduleType": "<loan_contract_payment_schedule_type>",
"periodicityType": "<loan_contract_payment_periodicity_type>",
"contractPeriod": <loan_contract_period>,
"installmentDay": <loan_contract_installment_due_day>,
"installmentMethod": "<loan_contract_installment_method>",
"managingBranch": "<financial_institution_branch_name>",
"destinationBankAccount": "<loan_destination_bank_account>",
"reviewInterestDate": "<loan_contract_review_interest_date_yyyy_mm_dd>"
},
"topUp": {
"eventValue": "<top_up_transaction_value>",
"sourceAccount": "<top_up_transaction_source_account>",
"externalIdentifier": "<top_up_transaction_external_identifier>"
},
"nextStage": "<value_of_next_stage_for_loan_submission_process>"
}
Here's a list of the available parameters:
| Parameter | Description |
|---|---|
| host_address | URL of the FintechOS Platform server. |
| customerInfo | Mandatory section, containing information about the customer who requests the loan. |
|
Mandatory. The first name of the individual customer. |
|
Mandatory. The last name of the individual customer. |
|
Mandatory. The unique number of the customer. |
|
|
Mandatory. The email address of the customer. |
|
Mandatory. The mobile phone number of the customer. |
|
Mandatory. The personal identification number of the customer. |
| customerLimit | Mandatory section, containing information about the new limit of the customer. |
|
Mandatory. The currency code of the limit. Check the Dependencies page for possible values. |
|
Mandatory. The type of the limit. Check the Dependencies page for possible values. |
|
Mandatory. The type of period for limit expiration. Check the Dependencies page for possible values. |
|
Mandatory. The limit activation date, in yyyy-mm-dd format. |
|
Mandatory. The number of periods for limit expiration. |
|
Mandatory. The date when the limit has to be reviewed, in yyyy-mm-dd format. |
|
Mandatory. The amount of the limit. |
| settlementAccount | Mandatory section, containing information about the customer's new settlement account (their current account contract). |
|
Mandatory. The code of the banking product used for the current account contract. |
|
Mandatory. The start date of the current account contract, in yyyy-mm-dd format. |
|
Mandatory. The total interest rate of the current account contract. |
|
Mandatory. The contract period. |
|
Mandatory. The currency code of the current account. Check the Dependencies page for possible values. |
| termLoanContract | Mandatory section, containing information about the customer's requested loan account. |
|
Mandatory. The code of the banking product used for the term loan contract. |
|
Mandatory. The start date of the term loan contract, in yyyy-mm-dd format. |
|
Mandatory. The total interest rate of the term loan contract. |
|
Mandatory. The loan contract's due amount. |
|
Mandatory. The advance percentage for a loan contract. |
|
Mandatory. The advance amount value for a loan contract. |
|
Mandatory. The term loan banking product's interest rate. |
|
Mandatory. The interest's reference rate date, in yyyy-mm-dd format. |
|
Mandatory. The interest's reference rate. |
|
Mandatory. The interest's margin. |
|
Mandatory. The loan contract's repayment schedule type. |
|
Mandatory. The loan contract's schedule periodicity type. |
|
Mandatory. The loan contract period. |
|
Mandatory. The installment day specified in the repayment schedule. |
|
Mandatory. The installment method specified in the repayment schedule. |
|
Mandatory. The branch of the financial institution which manages the contract. |
|
Mandatory. The destination bank account number. |
|
Mandatory. The date when the interest should be reviewed, in yyyy-mm-dd format. This date must be between Activation Date and Maturity Date, otherwise, an error is displayed. |
| topUp | Mandatory section, containing information about a top-up transaction performed to the settlement account. |
|
Mandatory. The value of the top up event. |
|
Mandatory. The source account number for the top up amount. This can be the self account number from the banking product definition. |
|
Mandatory. The external identifier of the transaction. |
| nextStage | Mandatory. This parameter signals which operation should be performed by the FTOS_CB_LoanSubmission_AsyncEngine endpoint within the loan submission process. The following values are defined:
Start the loan submission process by sending the |
Response
The response indicates the result of the code execution. If the record is created or updated successfully, the same information you sent in the request is returned.
Example
To start the process of loan submission for a new customer, send values for the required parameters within each of the customerInfo, settlementAccount, topUp, customerlimit, and termLoanContract sections. Make sure that you send the createCustomer value for the nextStage parameter, thus specifying that the first step in the process is to create a customer record.
Request
POST https://FintechOSStudio/ftosapi/automation-processors/actions/FTOS_CB_StartLoanSubmissionFlow_AsyncEngine
Content-Type: application/json
{
"customerInfo": {
"firstName": "Mimi",
"lastName": "Smith",
"UniqueID": "290",
"email": "testcustomer@yahoo.com",
"mobilePhone": "111-111-1111",
"pin": "1111111111"
},
"settlementAccount": {
"productCode": "CA_EUR_REG",
"startDate": "2023-10-06",
"totalInterestRate": 0,
"contractPeriod": 500,
"currencyCode": "EUR"
},
"topUp": {
"eventValue": "2000",
"sourceAccount": "MyExternalAccount",
"externalIdentifier": "TopUpSubmission"
},
"customerLimit": {
"currencyCode": "EUR",
"limitType": "Total Exposure",
"expirePeriodType": "Years",
"limitDate": "2023-10-06",
"expirePeriod": "10",
"reviewDate": "2023-12-21",
"limitAmount": "60000"
},
"termLoanContract": {
"productCode": "TL_REG_EUR",
"startDate": "2023-10-06",
"totalInterestRate": 5,
"amountDue": 10000,
"advanceAmountPercentage": 10,
"advanceAmountValue": 1000,
"productInterest": "Regression EUR Fix",
"referenceRateDate": "2023-10-06",
"referenceRate": 5,
"margin": 5,
"paymentScheduleType": "Equal Installment Monthly 360",
"periodicityType": "Monthly",
"contractPeriod": 12,
"installmentDay": 26,
"installmentMethod": "NextMonth",
"managingBranch": "root",
"destinationBankAccount": "GeneralMerchantBA",
"reviewInterestDate": ""
},
"nextStage": "createCustomer"
}
Response
{
"customerInfo": {
"firstName": "Mimi",
"lastName": "Smith",
"UniqueID": "290",
"email": "testcustomer@yahoo.com",
"mobilePhone": "111-111-1111",
"pin": "1111111111"
},
"settlementAccount": {
"productCode": "CA_EUR_REG",
"startDate": "2023-10-06",
"totalInterestRate": 0,
"contractPeriod": 500,
"currencyCode": "EUR"
},
"topUp": {
"eventValue": "2000",
"sourceAccount": "MyExternalAccount",
"externalIdentifier": "TopUpSubmission"
},
"customerLimit": {
"currencyCode": "EUR",
"limitType": "Total Exposure",
"expirePeriodType": "Years",
"limitDate": "2023-10-06",
"expirePeriod": "10",
"reviewDate": "2023-12-21",
"limitAmount": "60000"
},
"termLoanContract": {
"productCode": "TL_REG_EUR",
"startDate": "2023-10-06",
"totalInterestRate": 5,
"amountDue": 10000,
"advanceAmountPercentage": 10,
"advanceAmountValue": 1000,
"productInterest": "Regression EUR Fix",
"referenceRateDate": "2023-10-06",
"referenceRate": 5,
"margin": 5,
"paymentScheduleType": "Equal Installment Monthly 360",
"periodicityType": "Monthly",
"contractPeriod": 12,
"installmentDay": 26,
"installmentMethod": "NextMonth",
"managingBranch": "root",
"destinationBankAccount": "GeneralMerchantBA",
"reviewInterestDate": ""
},
"nextStage": "createCustomer"
}