Customer Self Service - Phase 2
Target release | 15.12 |
|---|---|
Epic | Customer Self Service Portal |
Document status | DRAFT |
Document owner | @Adi Raju |
Designer |
|
Developers |
|
QA |
|
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 Case | API | HTTP 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=1 | GET |
Submit new Loan Application | /api/v1/self/loans | POST |
Update Loan Application | /api/v1/self/loans/{loanId} | PUT |
Delete Loan Application | /api/v1/self/loans/{loanId} | DELETE |
Fund Transfers to others' account
Use Case | API | HTTP Method | Fields/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/template | GET | 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/tptbeneficiaries | POST | 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/tptbeneficiaries | GET |
|
Retrieve Template for TPT transfer | /api/v1/self/accounttransfers/template?type=tpt | GET | "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" } |