Microservice for bank statement parsing/transforming
Version 1.0

_______________________________________________________________________________________________
1. Description:
This microservice is responible for transforming any bank statement file to a unified json structure.

_______________________________________________________________________________________________
2. Methods:

Documentation:
GET /
Parameters: none
Response: text
Description: Displays this info

GET /list
Parameters: none
Description: Returns an array of implemented banks/parsers

Bank info:
GET /{bank_name}
Parameters: none
Response: text
Example: /mbank
Description: Presents basic information about bank implementation

Bank test:
GET /{bank_name}/test
Parameters: none
Response: JSON collection of transaction object
Example: /mbank/test
Description: Generates JSON output based on example file embeded in the implementation

Bank parser
POST /{bank_name}
Parameters: content
- content - bank statement text data
Response: JSON collection of transaction object
Example: /mbank
content = ":20:ST050112CYC/1
:25:PL58114020200000111111001002
:28C:8/1
:60F:C050112EUR0,00
:61:0501120112CR10000,00NFEXNONE//FX0501200004
306-TRANSAKCJA WYMIANY WALUT
:86:306 TRANSAKCJA WYMIANY WALUT; KURS: 4.09; TNR: 145271016138277.000001
:61:0501120112DR10000,00NTRFTOW789//FT05012999000010
983-POLECENIE WYPŁATY MT
:86: 983 Polecenie wypłaty wychodzące CompanyNet; na rach.: 35109010560000000006093440; dla:
Nazwa Adres; tyt.: ST 1.53; waluta: EUR; kwota: 1,53; kurs: 3,8649; prow. zagr.: PLN25,00; data
NOSTRO: 11.10.2007; ref. MT103: FT07282102000031; TNR: 145270005844139.000003
:62F:C050112EUR0,00
:64:C050112EUR0,00 "
Description: Generates JSON output for date pased in content field

_______________________________________________________________________________________________
3. Transaction object

Microservice returns a collection of transation objects that contains:

id - TNR - transaction number
date - transaction date, format yyyy-mm-dd
value - transaction value
currency - transaction currency code {PLN, USD, EUR ...}
acount - customer iban account number
customer - customer details
title - transaction description
description - bank transaction description
details - unparsed bank statement data or its subset

Example:
_______________________________________________________________________________________________
4. Implemented providers:

Name: mBank
Endpoint: /mbank
Parser: Mt940->transaction collection

Name: Ban
Endpoint: /bank
Parser: Default empty implementation