Interface LoanProductsApi


public interface LoanProductsApi
  • Method Details

    • createLoanProduct

      @Headers("Content-Type:application/json") @POST("v1/loanproducts") retrofit2.Call<PostLoanProductsResponse> createLoanProduct(@Body PostLoanProductsRequest postLoanProductsRequest)
      Create a Loan Product Depending of the Accounting Rule (accountingRule) selected, additional fields with details of the appropriate Ledger Account identifiers would need to be passed in. Refer MifosX Accounting Specs Draft for more details regarding the significance of the selected accounting rule Mandatory Fields: name, shortName, currencyCode, digitsAfterDecimal, inMultiplesOf, principal, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyCode, accountingRule, isInterestRecalculationEnabled, daysInYearType, daysInMonthType Optional Fields: inArrearsTolerance, graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, graceOnArrearsAgeing, charges, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, chargeOffReasonToExpenseAccountMappings, includeInBorrowerCycle, useBorrowerCycle,principalVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, multiDisburseLoan,maxTrancheCount, outstandingLoanBalance,overdueDaysForNPA,holdGuaranteeFunds, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf, allowAttributeOverrides, allowPartialPeriodInterestCalcualtion,dueDaysForRepaymentEvent,overDueDaysForRepaymentEvent,enableDownPayment,disbursedAmountPercentageDownPayment,enableAutoRepaymentForDownPayment,repaymentStartDateType,enableBuyDownFee Additional Mandatory Fields for Cash(2) based accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields for periodic (3) and upfront (4)accrual accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, receivableInterestAccountId, receivableFeeAccountId, receivablePenaltyAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields if interest recalculation is enabled(true): interestRecalculationCompoundingMethod, rescheduleStrategyMethod, recalculationRestFrequencyType Additional Optional Fields if interest recalculation is enabled(true): isArrearsBasedOnOriginalSchedule, preClosureInterestCalculationStrategy Additional Optional Fields if interest recalculation is enabled(true) and recalculationRestFrequencyType is not same as repayment period: recalculationRestFrequencyInterval, recalculationRestFrequencyDate Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled: recalculationCompoundingFrequencyType Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled and recalculationCompoundingFrequencyType is not same as repayment period: recalculationCompoundingFrequencyInterval, recalculationCompoundingFrequencyDate Additional Mandatory Fields if Hold Guarantee funds is enabled(true): mandatoryGuarantee Additional Optional Fields if Hold Guarantee funds is enabled(true): minimumGuaranteeFromOwnFunds,minimumGuaranteeFromGuarantor
      Parameters:
      postLoanProductsRequest - (required)
      Returns:
      Call<PostLoanProductsResponse>
    • retrieveAllLoanProducts

      @GET("v1/loanproducts") retrofit2.Call<List<GetLoanProductsResponse>> retrieveAllLoanProducts()
      List Loan Products Lists Loan Products Example Requests: loanproducts loanproducts?fields=name,description,interestRateFrequencyType,amortizationType
      Returns:
      Call<List<GetLoanProductsResponse>>
    • retrieveLoanProductDetails

      @GET("v1/loanproducts/{productId}") retrofit2.Call<GetLoanProductsProductIdResponse> retrieveLoanProductDetails(@Path("productId") Long productId)
      Retrieve a Loan Product Retrieves a Loan Product Example Requests: loanproducts/1 loanproducts/1?template=true loanproducts/1?fields=name,description,numberOfRepayments
      Parameters:
      productId - productId (required)
      Returns:
      Call<GetLoanProductsProductIdResponse>
    • retrieveLoanProductDetails1

      @GET("v1/loanproducts/external-id/{externalProductId}") retrofit2.Call<GetLoanProductsProductIdResponse> retrieveLoanProductDetails1(@Path("externalProductId") String externalProductId)
      Retrieve a Loan Product Retrieves a Loan Product Example Requests: loanproducts/external-id/2075e308-d4a8-44d9-8203-f5a947b8c2f4 loanproducts/external-id/2075e308-d4a8-44d9-8203-f5a947b8c2f4?template=true loanproducts/external-id/2075e308-d4a8-44d9-8203-f5a947b8c2f4?fields=name,description,numberOfRepayments
      Parameters:
      externalProductId - externalProductId (required)
      Returns:
      Call<GetLoanProductsProductIdResponse>
    • retrieveTemplate11

      @GET("v1/loanproducts/template") retrofit2.Call<GetLoanProductsTemplateResponse> retrieveTemplate11(@Query("isProductMixTemplate") Boolean isProductMixTemplate)
      Retrieve Loan Product Details Template This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed description Lists Example Request: loanproducts/template
      Parameters:
      isProductMixTemplate - isProductMixTemplate (optional)
      Returns:
      Call<GetLoanProductsTemplateResponse>
    • updateLoanProduct

      @Headers("Content-Type:application/json") @PUT("v1/loanproducts/{productId}") retrofit2.Call<PutLoanProductsProductIdResponse> updateLoanProduct(@Path("productId") Long productId, @Body PutLoanProductsProductIdRequest putLoanProductsProductIdRequest)
      Update a Loan Product Updates a Loan Product
      Parameters:
      productId - productId (required)
      putLoanProductsProductIdRequest - (required)
      Returns:
      Call<PutLoanProductsProductIdResponse>
    • updateLoanProduct1

      @Headers("Content-Type:application/json") @PUT("v1/loanproducts/external-id/{externalProductId}") retrofit2.Call<PutLoanProductsProductIdResponse> updateLoanProduct1(@Path("externalProductId") String externalProductId, @Body PutLoanProductsProductIdRequest putLoanProductsProductIdRequest)
      Update a Loan Product Updates a Loan Product
      Parameters:
      externalProductId - externalProductId (required)
      putLoanProductsProductIdRequest - (required)
      Returns:
      Call<PutLoanProductsProductIdResponse>
    • createLoanProduct

      @Headers("Content-Type:application/json") @POST("v1/loanproducts") retrofit2.Call<PostLoanProductsResponse> createLoanProduct(@Body PostLoanProductsRequest postLoanProductsRequest, @HeaderMap Map<String,String> headers)
      Create a Loan Product Depending of the Accounting Rule (accountingRule) selected, additional fields with details of the appropriate Ledger Account identifiers would need to be passed in. Refer MifosX Accounting Specs Draft for more details regarding the significance of the selected accounting rule Mandatory Fields: name, shortName, currencyCode, digitsAfterDecimal, inMultiplesOf, principal, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyCode, accountingRule, isInterestRecalculationEnabled, daysInYearType, daysInMonthType Optional Fields: inArrearsTolerance, graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, graceOnArrearsAgeing, charges, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, chargeOffReasonToExpenseAccountMappings, includeInBorrowerCycle, useBorrowerCycle,principalVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, multiDisburseLoan,maxTrancheCount, outstandingLoanBalance,overdueDaysForNPA,holdGuaranteeFunds, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf, allowAttributeOverrides, allowPartialPeriodInterestCalcualtion,dueDaysForRepaymentEvent,overDueDaysForRepaymentEvent,enableDownPayment,disbursedAmountPercentageDownPayment,enableAutoRepaymentForDownPayment,repaymentStartDateType,enableBuyDownFee Additional Mandatory Fields for Cash(2) based accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields for periodic (3) and upfront (4)accrual accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, receivableInterestAccountId, receivableFeeAccountId, receivablePenaltyAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId Additional Mandatory Fields if interest recalculation is enabled(true): interestRecalculationCompoundingMethod, rescheduleStrategyMethod, recalculationRestFrequencyType Additional Optional Fields if interest recalculation is enabled(true): isArrearsBasedOnOriginalSchedule, preClosureInterestCalculationStrategy Additional Optional Fields if interest recalculation is enabled(true) and recalculationRestFrequencyType is not same as repayment period: recalculationRestFrequencyInterval, recalculationRestFrequencyDate Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled: recalculationCompoundingFrequencyType Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled and recalculationCompoundingFrequencyType is not same as repayment period: recalculationCompoundingFrequencyInterval, recalculationCompoundingFrequencyDate Additional Mandatory Fields if Hold Guarantee funds is enabled(true): mandatoryGuarantee Additional Optional Fields if Hold Guarantee funds is enabled(true): minimumGuaranteeFromOwnFunds,minimumGuaranteeFromGuarantor
      Parameters:
      postLoanProductsRequest - (required)
      Returns:
      Call<PostLoanProductsResponse>
    • retrieveAllLoanProducts

      @GET("v1/loanproducts") retrofit2.Call<List<GetLoanProductsResponse>> retrieveAllLoanProducts(@HeaderMap Map<String,String> headers)
      List Loan Products Lists Loan Products Example Requests: loanproducts loanproducts?fields=name,description,interestRateFrequencyType,amortizationType
      Returns:
      Call<List<GetLoanProductsResponse>>
    • retrieveLoanProductDetails

      @GET("v1/loanproducts/{productId}") retrofit2.Call<GetLoanProductsProductIdResponse> retrieveLoanProductDetails(@Path("productId") Long productId, @HeaderMap Map<String,String> headers)
      Retrieve a Loan Product Retrieves a Loan Product Example Requests: loanproducts/1 loanproducts/1?template=true loanproducts/1?fields=name,description,numberOfRepayments
      Parameters:
      productId - productId (required)
      Returns:
      Call<GetLoanProductsProductIdResponse>
    • retrieveLoanProductDetails1

      @GET("v1/loanproducts/external-id/{externalProductId}") retrofit2.Call<GetLoanProductsProductIdResponse> retrieveLoanProductDetails1(@Path("externalProductId") String externalProductId, @HeaderMap Map<String,String> headers)
      Retrieve a Loan Product Retrieves a Loan Product Example Requests: loanproducts/external-id/2075e308-d4a8-44d9-8203-f5a947b8c2f4 loanproducts/external-id/2075e308-d4a8-44d9-8203-f5a947b8c2f4?template=true loanproducts/external-id/2075e308-d4a8-44d9-8203-f5a947b8c2f4?fields=name,description,numberOfRepayments
      Parameters:
      externalProductId - externalProductId (required)
      Returns:
      Call<GetLoanProductsProductIdResponse>
    • retrieveTemplate11

      @GET("v1/loanproducts/template") retrofit2.Call<GetLoanProductsTemplateResponse> retrieveTemplate11(@Query("isProductMixTemplate") Boolean isProductMixTemplate, @HeaderMap Map<String,String> headers)
      Retrieve Loan Product Details Template This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults Allowed description Lists Example Request: loanproducts/template
      Parameters:
      isProductMixTemplate - isProductMixTemplate (optional)
      Returns:
      Call<GetLoanProductsTemplateResponse>
    • updateLoanProduct

      @Headers("Content-Type:application/json") @PUT("v1/loanproducts/{productId}") retrofit2.Call<PutLoanProductsProductIdResponse> updateLoanProduct(@Path("productId") Long productId, @Body PutLoanProductsProductIdRequest putLoanProductsProductIdRequest, @HeaderMap Map<String,String> headers)
      Update a Loan Product Updates a Loan Product
      Parameters:
      productId - productId (required)
      putLoanProductsProductIdRequest - (required)
      Returns:
      Call<PutLoanProductsProductIdResponse>
    • updateLoanProduct1

      @Headers("Content-Type:application/json") @PUT("v1/loanproducts/external-id/{externalProductId}") retrofit2.Call<PutLoanProductsProductIdResponse> updateLoanProduct1(@Path("externalProductId") String externalProductId, @Body PutLoanProductsProductIdRequest putLoanProductsProductIdRequest, @HeaderMap Map<String,String> headers)
      Update a Loan Product Updates a Loan Product
      Parameters:
      externalProductId - externalProductId (required)
      putLoanProductsProductIdRequest - (required)
      Returns:
      Call<PutLoanProductsProductIdResponse>