Customer Self Service - Phase 2

Target release15.12
EpicCustomer Self Service Portal
Document statusDRAFT
Document ownerAdi Raju
Designer
Adi Raju
Developers
Adi Raju
QA
SSN

 

Overview

As part of Phase 1 (Q4 2015), APIs for managing Customer Self Service users, view loan accounts, view savings accounts and fund transfers within own accounts were provided.

As part of Phase 2 (Q1 2016), APIs for creating loan application and fund transfers to others' accounts would be provided.

Business Requirements

  • Loan Application
    • CSS user should be able to retrieve template for loan application
    • CSS user should be able to submit new loan application
    • CSS user should be able to edit loan application
    • CSS user should be able to delete loan application
  • Fund transfers to others' account
    • Administrator user should be able to set daily limits(amount) for fund transfers to others' accounts
    • CSS user should be able to add/edit/delete Third Party Transfer beneficiaries and set sub-limit for each beneficiary
    • CSS user should be able to retrieve template for TPT fund transfers
    • CSS user should be able to initiate fund transfer to TPT beneficiary
    • Fund transfer shall be from own savings accounts to any type of TPT account (savings/loans)

APIs

Loan Application

Use CaseAPIHTTP Method
Retrieve Template to choose Loan Product/api/v1/self/loans/template?templateType=individual&clientId={clientId}GET
Retrieve Template for a given Loan Product/api/v1/self/loans/template?templateType=individual&clientId=1&productId=1GET
Submit new Loan Application/api/v1/self/loansPOST
Update Loan Application/api/v1/self/loans/{loanId}PUT
Delete Loan Application/api/v1/self/loans/{loanId}DELETE

Fund Transfers to others' account

Use CaseAPIHTTP MethodFields/Sample
Set daily TPT fund transfer limit

existing Global configuration APIs to be used

configuration name would be "daily-tpt-limit"

default would be enabled=false (no limit)

  
Retreive template for TPT beneficiary/api/v1/self/tptbeneficiaries/templateGET

Only account type enum will be sent, user expected to know other details of TPT account

        "accountTypeOptions":[

     {

             "id": 2,

            "code": "accountType.savings",

            "value": "Savings Account"

      },

     {

             "id": 1,

            "code": "accountType.loan",

            "value": "Loan Account"

      }

    ]

Add TPT beneficiary/api/v1/self/tptbeneficiariesPOST

name (mandatory, nickname for display purpose)

officeId (mandatory)

clientId (mandatory)

accountType (mandatory)

accountId (mandatory)

transferLimit (optional)

Edit TPT beneficiary/api/v1/self/tptbeneficiaries/{beneficiaryId}PUT

name (mandatory, nickname for display purpose)

transferLimit (optional)

Delete TPT beneficiary/api/v1/self/tptbeneficiaries/{beneficiaryId}DELETE 
List TPT beneficiaries/api/v1/self/tptbeneficiariesGET 
Retrieve Template for TPT transfer/api/v1/self/accounttransfers/template?type=tptGET

"fromAccountOptions" : [

    {

        "accountId": 1,

        "accountNo": 00001,

        "accountType": {

             "id": 2,

            "code": "accountType.savings",

            "value": "Savings Account"

        },

        "clientId": 1,

        "clientName": "ABC",

        "officeId": 1,

        "officeName": "HEAD OFFICE"

    }

],

"toAccountOptions" : [

    {

        "accountId": 2,

        "accountNo": 00002,

        "accountType": {

             "id": 2,

            "code": "accountType.savings",

            "value": "Savings Account"

        },

        "clientId": 2,

        "clientName": "XYZ",

        "officeId": 1,

        "officeName": "HEAD OFFICE"

    }

]

 Initiate TPT transfer /api/v1/self/accounttransfers?type=tpt POST

 {

    "fromOfficeId": 1,

    "fromClientId": 1,

    "fromAccountType": 2,

    "fromAccountId": 1,

    "toOfficeId": 1,

    "toClientId": 1,

    "toAccountType": 2,

    "toAccountId": 2,

    "dateFormat": "dd MMMM yyyy",

    "locale": "en",

    "transferDate": "01 August 2011",

    "transferAmount": "112.45",

    "transferDescription": "A description of the transfer"

}