Skip to content

iKnock/accountmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Accountmanager API

Description

Accountmanager api is an API which perform three main operations based on the Fabrick API on a user account. The Operations are Get Balance of an account, List of transactions and Transfer.

Technologies

  • Spring Boot
  • Redis
  • Mongo DB
  • Maven

Architecture


How To Use

Installation

  • Install and Start MongoDb
  • Install and Start Redis
  • Install Maven
  • Build and run account manager

API Reference


Section One


One of the services of the Account Manager API is to setup the API for further usage. Using this Section one can add API information (operations), Update existing API information, Search existing API Information and remove API Information In order to use the API correctly, its necessary to add the three API information into the configuration of the AccountManager API. Using the below endpoint information and the subsequent json body, its possible to configure the three operations to use throught the Account Manager API.

  1. Add API Information/Configuration

Request:

GET: /api/fabrick/info/v1.0/add

Request Body:

- For account-balance use the following json body
{
    "operationName": "account-balance",
    "domain": "https://sandbox.platfr.io",
    "endpoint": "/api/gbs/banking/v4.0/accounts/{accountId}/balance",
    "method": "GET",
    "uriParam": [
        "accountId"
    ],
    "uriQuery": [
    ],
    "httpHeader": [
        {
            "headerName": "Auth-Schema",
            "headerValue": "Put auth schema here",
            "mandatory": true
        },
        {
            "headerName": "Api-Key",
            "headerValue": "Put api key here",
            "mandatory": true
        }
    ]
}

- or For list-transactions use the following json body

{
    "operationName": "list-transactions",
    "domain": "https://sandbox.platfr.io",
    "endpoint": "/api/gbs/banking/v4.0/accounts/{accountId}/transactions",
    "method": "GET",
    "uriParam": [
        "accountId"
    ],
    "uriQuery": [
        "fromAccountingDate",
        "toAccountingDate"
    ],
    "httpHeader": [
        {
            "headerName": "Auth-Schema",
            "headerValue": "Put auth schema here",
            "isHeaderMandatory": true
        },
        {
            "headerName": "Api-Key",
            "headerValue": "Put api key here",
            "isHeaderMandatory": true
        }
    ]
}

- Or For transfer use the following json body

{
   "operationName":"transfer",
   "domain":"https://sandbox.platfr.io",
   "endpoint":"/api/gbs/banking/v4.0/accounts/{accountId}/payments/money-transfers",
   "method":"POST",
   "uriParam":[
      "accountId"
   ],
   "uriQuery":[
      
   ],
   "httpHeader":[
      {
         "headerName":"Auth-Schema",
         "headerValue":"Put auth schema here",
         "mandatory":true
      },
      {
         "headerName":"Api-Key",
         "headerValue":"Put api key here",
         "mandatory":true
      },
      {
         "headerName":"X-Time-Zone",
         "headerValue":"Europe/Rome",
         "mandatory":true
      }
   ]
}

Section Two


  1. Read Balance

GET: /api/fabrick/account/v1.0/balance/{accountId}?operationName=account-balance

Request:
    Uri Param: accountId
    URI Variables: operationName=account-balance
  1. List Transaction

GET: api/fabrick/account/v1.0/transaction/{accountId}?operationName=list-transactions&fromAccountingDate=2019-01-01&toAccountingDate=2019-04-01

Request: 
    URI Param: accountId
    URI Variables: operationName=list-transaction,fromAccountingDate=2019-11-11, 
    toAccountingDate=2019-12-11
  1. Transfer

POST: /api/fabrick/account/v1.0/transfer/{accountId}?operationName=transfer

Request: 
    URI Param: accountId
    URI Variables: operationName=transfer
    Request Body:
    

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages