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.

Copy
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.
  • firstName
Mandatory. The first name of the individual customer.
  • lastName
Mandatory. The last name of the individual customer.
  • UniqueID
Mandatory. The unique number of the customer.
  • email
Mandatory. The email address of the customer.
  • mobilePhone
Mandatory. The mobile phone number of the customer.
  • pin
Mandatory. The personal identification number of the customer.
customerLimit Mandatory section, containing information about the new limit of the customer.
  • currencyCode
Mandatory. The currency code of the limit. Check the Dependencies page for possible values.
  • limitType
Mandatory. The type of the limit. Check the Dependencies page for possible values.
  • expirePeriodType
Mandatory. The type of period for limit expiration. Check the Dependencies page for possible values.
  • limitDate
Mandatory. The limit activation date, in yyyy-mm-dd format.
  • expirePeriod
Mandatory. The number of periods for limit expiration.
  • reviewDate
Mandatory. The date when the limit has to be reviewed, in yyyy-mm-dd format.
  • limitAmount
Mandatory. The amount of the limit.
settlementAccount Mandatory section, containing information about the customer's new settlement account (their current account contract).
  • productCode
Mandatory. The code of the banking product used for the current account contract.
  • startDate
Mandatory. The start date of the current account contract, in yyyy-mm-dd format.
  • totalInterestRate
Mandatory. The total interest rate of the current account contract.
  • contractPeriod
Mandatory. The contract period.
  • currencyCode
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.
  • productCode
Mandatory. The code of the banking product used for the term loan contract.
  • startDate
Mandatory. The start date of the term loan contract, in yyyy-mm-dd format.
  • totalInterestRate
Mandatory. The total interest rate of the term loan contract.
  • amountDue
Mandatory. The loan contract's due amount.
  • advanceAmountPercentage
Mandatory. The advance percentage for a loan contract.
  • advanceAmountValue
Mandatory. The advance amount value for a loan contract.
  • productInterest
Mandatory. The term loan banking product's interest rate.
  • referenceRateDate
Mandatory. The interest's reference rate date, in yyyy-mm-dd format.
  • referenceRate
Mandatory. The interest's reference rate.
  • margin
Mandatory. The interest's margin.
  • paymentScheduleType
Mandatory. The loan contract's repayment schedule type.
  • periodicityType
Mandatory. The loan contract's schedule periodicity type.
  • contractPeriod
Mandatory. The loan contract period.
  • installmentDay
Mandatory. The installment day specified in the repayment schedule.
  • installmentMethod
Mandatory. The installment method specified in the repayment schedule.
  • managingBranch
Mandatory. The branch of the financial institution which manages the contract.
  • destinationBankAccount
Mandatory. The destination bank account number.
  • reviewInterestDate
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.
  • eventValue
Mandatory. The value of the top up event.
  • sourceAccount
Mandatory. The source account number for the top up amount. This can be the self account number from the banking product definition.
  • externalIdentifier
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:
  • createCustomer
  • createLimit
  • approveLimit
  • createSettlementAccount
  • approveSettlement
  • createTopUp
  • approveTopUp
  • createLoanContract
  • approveLoanContract

Start the loan submission process by sending the createCustomer value for the nextStage parameter.

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